From 98babde4e50a39648e6618b79d256074f451754d Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 25 Nov 2019 12:44:01 -0800 Subject: [PATCH] Release v1.25.42 (2019-11-25) (#2977) Release v1.25.42 (2019-11-25) === ### Service Client Updates * `service/alexaforbusiness`: Updates service API and documentation * `service/appconfig`: Adds new service * `service/application-autoscaling`: Updates service API and documentation * `service/application-insights`: Updates service API, documentation, and paginators * `service/athena`: Updates service API and documentation * This release adds additional query lifecycle metrics to the QueryExecutionStatistics object in GetQueryExecution response. * `service/ce`: Updates service API and documentation * `service/codebuild`: Updates service API and documentation * CodeBuild adds support for test reporting * `service/cognito-idp`: Updates service API * `service/comprehend`: Updates service API and documentation * `service/dlm`: Updates service API and documentation * `service/ec2`: Updates service API and documentation * This release adds two new APIs: 1. ModifyDefaultCreditSpecification, which allows you to set default credit specification at the account level per AWS Region, per burstable performance instance family, so that all new burstable performance instances in the account launch using the new default credit specification. 2. GetDefaultCreditSpecification, which allows you to get current default credit specification per AWS Region, per burstable performance instance family. This release also adds new client exceptions for StartInstances and StopInstances. * `service/elasticloadbalancingv2`: Updates service API and documentation * `service/greengrass`: Updates service API and documentation * IoT Greengrass supports machine learning resources in 'No container' mode. * `service/iot`: Updates service API and documentation * This release adds: 1) APIs for fleet provisioning claim and template, 2) endpoint configuration and custom domains, 3) support for enhanced custom authentication, d) support for 4 additional audit checks: Device and CA certificate key quality checks, IoT role alias over-permissive check and IoT role alias access to unused services check, 5) extended capability of AWS IoT Rules Engine to support IoT SiteWise rule action. The IoT SiteWise rule action lets you send messages from IoT sensors and applications to IoT SiteWise asset properties * `service/iotsecuretunneling`: Adds new service * `service/kinesisanalyticsv2`: Updates service API and documentation * `service/kms`: Updates service API and documentation * AWS Key Management Service (KMS) now enables creation and use of asymmetric Customer Master Keys (CMKs) and the generation of asymmetric data key pairs. * `service/lambda`: Updates service API, documentation, waiters, and paginators * Added the function state and update status to the output of GetFunctionConfiguration and other actions. Check the state information to ensure that a function is ready before you perform operations on it. Functions take time to become ready when you connect them to a VPC.Added the EventInvokeConfig type and operations to configure error handling options for asynchronous invocation. Use PutFunctionEventInvokeConfig to configure the number of retries and the maximum age of events when you invoke the function asynchronously.Added on-failure and on-success destination settings for asynchronous invocation. Configure destinations to send an invocation record to an SNS topic, an SQS queue, an EventBridge event bus, or a Lambda function.Added error handling options to event source mappings. This enables you to configure the number of retries, configure the maximum age of records, or retry with smaller batches when an error occurs when a function processes a Kinesis or DynamoDB stream.Added the on-failure destination setting to event source mappings. This enables you to send discarded events to an SNS topic or SQS queue when all retries fail or when the maximum record age is exceeded when a function processes a Kinesis or DynamoDB stream.Added the ParallelizationFactor option to event source mappings to increase concurrency per shard when a function processes a Kinesis or DynamoDB stream. * `service/mediaconvert`: Updates service API and documentation * AWS Elemental MediaConvert SDK has added support for 8K outputs and support for QuickTime Animation Codec (RLE) inputs. * `service/medialive`: Updates service API, documentation, waiters, and paginators * AWS Elemental MediaLive now supports the ability to create a multiple program transport stream (MPTS). * `service/mediapackage-vod`: Updates service API and documentation * `service/monitoring`: Updates service API, documentation, and paginators * This release adds a new feature called "Contributor Insights". "Contributor Insights" supports the following 6 new APIs (PutInsightRule, DeleteInsightRules, EnableInsightRules, DisableInsightRules, DescribeInsightRules and GetInsightRuleReport). * `service/ram`: Updates service API and documentation * `service/rds`: Updates service API and documentation * Cluster Endpoints can now be tagged by using --tags in the create-db-cluster-endpoint API * `service/redshift`: Updates service API, documentation, and paginators * This release contains changes for 1. Redshift Scheduler 2. Update to the DescribeNodeConfigurationOptions to include a new action type recommend-node-config * `service/runtime.lex`: Updates service API and documentation * `service/sesv2`: Updates service API, documentation, and paginators * `service/ssm`: Updates service API and documentation * AWS Systems Manager Documents now supports more Document Types: ApplicationConfiguration, ApplicationConfigurationSchema and DeploymentStrategy. This release also extends Document Permissions capabilities and introduces a new Force flag for DeleteDocument API. ### SDK Enhancements * `aws/credentials/processcreds`: Increase the default max buffer size ([#2957](https://github.com/aws/aws-sdk-go/pull/2957)) * Fixes [#2875](https://github.com/aws/aws-sdk-go/issues/2875) --- CHANGELOG.md | 50 + CHANGELOG_PENDING.md | 2 - aws/endpoints/defaults.go | 2 + aws/version.go | 2 +- .../alexaforbusiness/2017-11-09/api-2.json | 134 +- .../alexaforbusiness/2017-11-09/docs-2.json | 136 +- models/apis/appconfig/2019-10-09/api-2.json | 1391 ++ models/apis/appconfig/2019-10-09/docs-2.json | 643 + .../apis/appconfig/2019-10-09/examples-1.json | 5 + .../appconfig/2019-10-09/paginators-1.json | 29 + .../2016-02-06/api-2.json | 10 +- .../2016-02-06/docs-2.json | 62 +- .../2018-11-25/api-2.json | 444 +- .../2018-11-25/docs-2.json | 246 +- .../2018-11-25/paginators-1.json | 10 + models/apis/athena/2017-05-18/api-2.json | 6 +- models/apis/athena/2017-05-18/docs-2.json | 12 +- models/apis/ce/2017-10-25/api-2.json | 250 +- models/apis/ce/2017-10-25/docs-2.json | 165 +- models/apis/codebuild/2016-10-06/api-2.json | 445 +- models/apis/codebuild/2016-10-06/docs-2.json | 332 +- models/apis/cognito-idp/2016-04-18/api-2.json | 1 + models/apis/comprehend/2017-11-27/api-2.json | 265 + models/apis/comprehend/2017-11-27/docs-2.json | 182 +- models/apis/dlm/2018-01-12/api-2.json | 21 +- models/apis/dlm/2018-01-12/docs-2.json | 19 +- models/apis/ec2/2016-11-15/api-2.json | 77 + models/apis/ec2/2016-11-15/docs-2.json | 59 +- .../2015-12-01/api-2.json | 7 +- .../2015-12-01/docs-2.json | 21 +- models/apis/greengrass/2017-06-07/api-2.json | 24 +- models/apis/greengrass/2017-06-07/docs-2.json | 13 +- models/apis/iot/2015-05-28/api-2.json | 929 +- models/apis/iot/2015-05-28/docs-2.json | 634 +- .../iotsecuretunneling/2018-10-05/api-2.json | 388 + .../iotsecuretunneling/2018-10-05/docs-2.json | 283 + .../2018-10-05/examples-1.json | 5 + .../2018-10-05/paginators-1.json | 9 + .../kinesisanalyticsv2/2018-05-23/api-2.json | 154 +- .../kinesisanalyticsv2/2018-05-23/docs-2.json | 165 +- models/apis/kms/2014-11-01/api-2.json | 323 +- models/apis/kms/2014-11-01/docs-2.json | 289 +- models/apis/lambda/2015-03-31/api-2.json | 346 +- models/apis/lambda/2015-03-31/docs-2.json | 247 +- .../apis/lambda/2015-03-31/paginators-1.json | 6 + models/apis/lambda/2015-03-31/waiters-2.json | 52 + .../apis/mediaconvert/2017-08-29/api-2.json | 34 +- .../apis/mediaconvert/2017-08-29/docs-2.json | 30 +- models/apis/medialive/2017-10-14/api-2.json | 1802 +- models/apis/medialive/2017-10-14/docs-2.json | 351 +- .../medialive/2017-10-14/paginators-1.json | 12 + .../apis/medialive/2017-10-14/waiters-2.json | 106 + .../mediapackage-vod/2018-11-07/api-2.json | 12 + .../mediapackage-vod/2018-11-07/docs-2.json | 1 + models/apis/monitoring/2010-08-01/api-2.json | 341 + models/apis/monitoring/2010-08-01/docs-2.json | 297 +- .../monitoring/2010-08-01/paginators-1.json | 5 + models/apis/ram/2018-01-04/api-2.json | 255 +- models/apis/ram/2018-01-04/docs-2.json | 157 +- models/apis/rds/2014-10-31/api-2.json | 3 +- models/apis/rds/2014-10-31/docs-2.json | 9 +- models/apis/redshift/2012-12-01/api-2.json | 278 +- models/apis/redshift/2012-12-01/docs-2.json | 162 +- .../redshift/2012-12-01/paginators-1.json | 6 + models/apis/runtime.lex/2016-11-28/api-2.json | 10 +- .../apis/runtime.lex/2016-11-28/docs-2.json | 2 + models/apis/sesv2/2019-09-27/api-2.json | 279 +- models/apis/sesv2/2019-09-27/docs-2.json | 159 +- .../apis/sesv2/2019-09-27/paginators-1.json | 5 + models/apis/ssm/2014-11-06/api-2.json | 53 +- models/apis/ssm/2014-11-06/docs-2.json | 42 +- models/endpoints/endpoints.json | 2 + service/alexaforbusiness/api.go | 725 +- service/appconfig/api.go | 7115 +++++++ service/appconfig/appconfigiface/interface.go | 195 + service/appconfig/doc.go | 65 + service/appconfig/errors.go | 31 + service/appconfig/service.go | 101 + service/applicationautoscaling/api.go | 200 +- service/applicationautoscaling/doc.go | 2 + service/applicationinsights/api.go | 2320 ++- .../applicationinsightsiface/interface.go | 42 + service/applicationinsights/errors.go | 13 + service/athena/api.go | 65 +- service/cloudwatch/api.go | 1883 +- .../cloudwatch/cloudwatchiface/interface.go | 27 + service/codebuild/api.go | 2667 ++- service/codebuild/codebuildiface/interface.go | 40 + service/codebuild/doc.go | 26 +- service/cognitoidentityprovider/api.go | 3 + service/comprehend/api.go | 1385 +- .../comprehend/comprehendiface/interface.go | 24 + service/costexplorer/api.go | 1463 +- .../costexploreriface/interface.go | 24 +- service/costexplorer/errors.go | 13 + service/dlm/api.go | 82 +- service/ec2/api.go | 424 +- service/ec2/ec2iface/interface.go | 8 + service/elbv2/api.go | 58 +- service/greengrass/api.go | 135 +- service/iot/api.go | 3848 +++- service/iot/iotiface/interface.go | 60 + service/iotsecuretunneling/api.go | 1581 ++ service/iotsecuretunneling/doc.go | 32 + service/iotsecuretunneling/errors.go | 18 + .../iotsecuretunnelingiface/interface.go | 95 + service/iotsecuretunneling/service.go | 103 + service/kinesisanalyticsv2/api.go | 869 +- .../kinesisanalyticsv2iface/interface.go | 8 + service/kms/api.go | 3638 +++- service/kms/errors.go | 46 +- service/kms/examples_test.go | 6 + service/kms/kmsiface/interface.go | 20 + service/lambda/api.go | 2180 +- service/lambda/errors.go | 24 +- service/lambda/examples_test.go | 12 + service/lambda/lambdaiface/interface.go | 29 + service/lambda/waiters.go | 112 + service/lexruntimeservice/api.go | 18 + service/mediaconvert/api.go | 48 + service/medialive/api.go | 16630 ++++++++++------ service/medialive/medialiveiface/interface.go | 66 + service/medialive/waiters.go | 229 + service/mediapackagevod/api.go | 25 + service/ram/api.go | 1544 +- service/ram/ramiface/interface.go | 24 + service/rds/api.go | 25 +- service/redshift/api.go | 1508 +- service/redshift/errors.go | 30 + service/redshift/redshiftiface/interface.go | 19 + service/sesv2/api.go | 1287 +- service/sesv2/errors.go | 7 + service/sesv2/sesv2iface/interface.go | 27 + service/ssm/api.go | 179 +- 134 files changed, 57784 insertions(+), 9007 deletions(-) create mode 100644 models/apis/appconfig/2019-10-09/api-2.json create mode 100644 models/apis/appconfig/2019-10-09/docs-2.json create mode 100644 models/apis/appconfig/2019-10-09/examples-1.json create mode 100644 models/apis/appconfig/2019-10-09/paginators-1.json create mode 100644 models/apis/iotsecuretunneling/2018-10-05/api-2.json create mode 100644 models/apis/iotsecuretunneling/2018-10-05/docs-2.json create mode 100644 models/apis/iotsecuretunneling/2018-10-05/examples-1.json create mode 100644 models/apis/iotsecuretunneling/2018-10-05/paginators-1.json create mode 100644 service/appconfig/api.go create mode 100644 service/appconfig/appconfigiface/interface.go create mode 100644 service/appconfig/doc.go create mode 100644 service/appconfig/errors.go create mode 100644 service/appconfig/service.go create mode 100644 service/iotsecuretunneling/api.go create mode 100644 service/iotsecuretunneling/doc.go create mode 100644 service/iotsecuretunneling/errors.go create mode 100644 service/iotsecuretunneling/iotsecuretunnelingiface/interface.go create mode 100644 service/iotsecuretunneling/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index d992f9c2e99..1bd0e668a91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,53 @@ +Release v1.25.42 (2019-11-25) +=== + +### Service Client Updates +* `service/alexaforbusiness`: Updates service API and documentation +* `service/appconfig`: Adds new service +* `service/application-autoscaling`: Updates service API and documentation +* `service/application-insights`: Updates service API, documentation, and paginators +* `service/athena`: Updates service API and documentation + * This release adds additional query lifecycle metrics to the QueryExecutionStatistics object in GetQueryExecution response. +* `service/ce`: Updates service API and documentation +* `service/codebuild`: Updates service API and documentation + * CodeBuild adds support for test reporting +* `service/cognito-idp`: Updates service API +* `service/comprehend`: Updates service API and documentation +* `service/dlm`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * This release adds two new APIs: 1. ModifyDefaultCreditSpecification, which allows you to set default credit specification at the account level per AWS Region, per burstable performance instance family, so that all new burstable performance instances in the account launch using the new default credit specification. 2. GetDefaultCreditSpecification, which allows you to get current default credit specification per AWS Region, per burstable performance instance family. This release also adds new client exceptions for StartInstances and StopInstances. +* `service/elasticloadbalancingv2`: Updates service API and documentation +* `service/greengrass`: Updates service API and documentation + * IoT Greengrass supports machine learning resources in 'No container' mode. +* `service/iot`: Updates service API and documentation + * This release adds: 1) APIs for fleet provisioning claim and template, 2) endpoint configuration and custom domains, 3) support for enhanced custom authentication, d) support for 4 additional audit checks: Device and CA certificate key quality checks, IoT role alias over-permissive check and IoT role alias access to unused services check, 5) extended capability of AWS IoT Rules Engine to support IoT SiteWise rule action. The IoT SiteWise rule action lets you send messages from IoT sensors and applications to IoT SiteWise asset properties +* `service/iotsecuretunneling`: Adds new service +* `service/kinesisanalyticsv2`: Updates service API and documentation +* `service/kms`: Updates service API and documentation + * AWS Key Management Service (KMS) now enables creation and use of asymmetric Customer Master Keys (CMKs) and the generation of asymmetric data key pairs. +* `service/lambda`: Updates service API, documentation, waiters, and paginators + * Added the function state and update status to the output of GetFunctionConfiguration and other actions. Check the state information to ensure that a function is ready before you perform operations on it. Functions take time to become ready when you connect them to a VPC.Added the EventInvokeConfig type and operations to configure error handling options for asynchronous invocation. Use PutFunctionEventInvokeConfig to configure the number of retries and the maximum age of events when you invoke the function asynchronously.Added on-failure and on-success destination settings for asynchronous invocation. Configure destinations to send an invocation record to an SNS topic, an SQS queue, an EventBridge event bus, or a Lambda function.Added error handling options to event source mappings. This enables you to configure the number of retries, configure the maximum age of records, or retry with smaller batches when an error occurs when a function processes a Kinesis or DynamoDB stream.Added the on-failure destination setting to event source mappings. This enables you to send discarded events to an SNS topic or SQS queue when all retries fail or when the maximum record age is exceeded when a function processes a Kinesis or DynamoDB stream.Added the ParallelizationFactor option to event source mappings to increase concurrency per shard when a function processes a Kinesis or DynamoDB stream. +* `service/mediaconvert`: Updates service API and documentation + * AWS Elemental MediaConvert SDK has added support for 8K outputs and support for QuickTime Animation Codec (RLE) inputs. +* `service/medialive`: Updates service API, documentation, waiters, and paginators + * AWS Elemental MediaLive now supports the ability to create a multiple program transport stream (MPTS). +* `service/mediapackage-vod`: Updates service API and documentation +* `service/monitoring`: Updates service API, documentation, and paginators + * This release adds a new feature called "Contributor Insights". "Contributor Insights" supports the following 6 new APIs (PutInsightRule, DeleteInsightRules, EnableInsightRules, DisableInsightRules, DescribeInsightRules and GetInsightRuleReport). +* `service/ram`: Updates service API and documentation +* `service/rds`: Updates service API and documentation + * Cluster Endpoints can now be tagged by using --tags in the create-db-cluster-endpoint API +* `service/redshift`: Updates service API, documentation, and paginators + * This release contains changes for 1. Redshift Scheduler 2. Update to the DescribeNodeConfigurationOptions to include a new action type recommend-node-config +* `service/runtime.lex`: Updates service API and documentation +* `service/sesv2`: Updates service API, documentation, and paginators +* `service/ssm`: Updates service API and documentation + * AWS Systems Manager Documents now supports more Document Types: ApplicationConfiguration, ApplicationConfigurationSchema and DeploymentStrategy. This release also extends Document Permissions capabilities and introduces a new Force flag for DeleteDocument API. + +### SDK Enhancements +* `aws/credentials/processcreds`: Increase the default max buffer size ([#2957](https://github.com/aws/aws-sdk-go/pull/2957)) + * Fixes [#2875](https://github.com/aws/aws-sdk-go/issues/2875) + Release v1.25.41 (2019-11-22) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index a3b7357018f..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,7 +1,5 @@ ### SDK Features ### SDK Enhancements -* `aws/credentials/processcreds`: Increase the default max buffer size ([#2957](https://github.com/aws/aws-sdk-go/pull/2957)) - * Fixes [#2875](https://github.com/aws/aws-sdk-go/issues/2875) ### SDK Bugs diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 0f77e9caeab..a66735d9fc0 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -2857,6 +2857,7 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -3927,6 +3928,7 @@ var awsPartition = partition{ }, Endpoints: endpoints{ "ap-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, diff --git a/aws/version.go b/aws/version.go index f094e263e18..9703e20a697 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.25.41" +const SDKVersion = "1.25.42" diff --git a/models/apis/alexaforbusiness/2017-11-09/api-2.json b/models/apis/alexaforbusiness/2017-11-09/api-2.json index 21abeec0960..f9acdfcf927 100644 --- a/models/apis/alexaforbusiness/2017-11-09/api-2.json +++ b/models/apis/alexaforbusiness/2017-11-09/api-2.json @@ -1368,7 +1368,8 @@ "type":"string", "enum":[ "ONE_DAY", - "ONE_WEEK" + "ONE_WEEK", + "THIRTY_DAYS" ] }, "BusinessReportRecurrence":{ @@ -1643,6 +1644,19 @@ "ContactArn":{"shape":"Arn"} } }, + "CreateEndOfMeetingReminder":{ + "type":"structure", + "required":[ + "ReminderAtMinutes", + "ReminderType", + "Enabled" + ], + "members":{ + "ReminderAtMinutes":{"shape":"EndOfMeetingReminderMinutesList"}, + "ReminderType":{"shape":"EndOfMeetingReminderType"}, + "Enabled":{"shape":"Boolean"} + } + }, "CreateGatewayGroupRequest":{ "type":"structure", "required":[ @@ -1664,6 +1678,26 @@ "GatewayGroupArn":{"shape":"Arn"} } }, + "CreateInstantBooking":{ + "type":"structure", + "required":[ + "DurationInMinutes", + "Enabled" + ], + "members":{ + "DurationInMinutes":{"shape":"Minutes"}, + "Enabled":{"shape":"Boolean"} + } + }, + "CreateMeetingRoomConfiguration":{ + "type":"structure", + "members":{ + "RoomUtilizationMetricsEnabled":{"shape":"Boolean"}, + "EndOfMeetingReminder":{"shape":"CreateEndOfMeetingReminder"}, + "InstantBooking":{"shape":"CreateInstantBooking"}, + "RequireCheckIn":{"shape":"CreateRequireCheckIn"} + } + }, "CreateNetworkProfileRequest":{ "type":"structure", "required":[ @@ -1718,7 +1752,8 @@ }, "SetupModeDisabled":{"shape":"Boolean"}, "MaxVolumeLimit":{"shape":"MaxVolumeLimit"}, - "PSTNEnabled":{"shape":"Boolean"} + "PSTNEnabled":{"shape":"Boolean"}, + "MeetingRoomConfiguration":{"shape":"CreateMeetingRoomConfiguration"} } }, "CreateProfileResponse":{ @@ -1727,6 +1762,17 @@ "ProfileArn":{"shape":"Arn"} } }, + "CreateRequireCheckIn":{ + "type":"structure", + "required":[ + "ReleaseAfterMinutes", + "Enabled" + ], + "members":{ + "ReleaseAfterMinutes":{"shape":"Minutes"}, + "Enabled":{"shape":"Boolean"} + } + }, "CreateRoomRequest":{ "type":"structure", "required":["RoomName"], @@ -2226,6 +2272,29 @@ "PENDING" ] }, + "EndOfMeetingReminder":{ + "type":"structure", + "members":{ + "ReminderAtMinutes":{"shape":"EndOfMeetingReminderMinutesList"}, + "ReminderType":{"shape":"EndOfMeetingReminderType"}, + "Enabled":{"shape":"Boolean"} + } + }, + "EndOfMeetingReminderMinutesList":{ + "type":"list", + "member":{"shape":"Minutes"}, + "max":1, + "min":1 + }, + "EndOfMeetingReminderType":{ + "type":"string", + "enum":[ + "ANNOUNCEMENT_TIME_CHECK", + "ANNOUNCEMENT_VARIABLE_TIME_LEFT", + "CHIME", + "KNOCK" + ] + }, "EndUserLicenseAgreement":{"type":"string"}, "Endpoint":{ "type":"string", @@ -2565,6 +2634,13 @@ } }, "IconUrl":{"type":"string"}, + "InstantBooking":{ + "type":"structure", + "members":{ + "DurationInMinutes":{"shape":"Minutes"}, + "Enabled":{"shape":"Boolean"} + } + }, "InvalidCertificateAuthorityException":{ "type":"structure", "members":{ @@ -2776,6 +2852,15 @@ "min":1 }, "MaxVolumeLimit":{"type":"integer"}, + "MeetingRoomConfiguration":{ + "type":"structure", + "members":{ + "RoomUtilizationMetricsEnabled":{"shape":"Boolean"}, + "EndOfMeetingReminder":{"shape":"EndOfMeetingReminder"}, + "InstantBooking":{"shape":"InstantBooking"}, + "RequireCheckIn":{"shape":"RequireCheckIn"} + } + }, "MeetingSetting":{ "type":"structure", "required":["RequirePin"], @@ -2783,6 +2868,7 @@ "RequirePin":{"shape":"RequirePin"} } }, + "Minutes":{"type":"integer"}, "NameInUseException":{ "type":"structure", "members":{ @@ -2958,7 +3044,8 @@ "SetupModeDisabled":{"shape":"Boolean"}, "MaxVolumeLimit":{"shape":"MaxVolumeLimit"}, "PSTNEnabled":{"shape":"Boolean"}, - "AddressBookArn":{"shape":"Arn"} + "AddressBookArn":{"shape":"Arn"}, + "MeetingRoomConfiguration":{"shape":"MeetingRoomConfiguration"} } }, "ProfileData":{ @@ -3093,6 +3180,13 @@ } }, "ReleaseDate":{"type":"string"}, + "RequireCheckIn":{ + "type":"structure", + "members":{ + "ReleaseAfterMinutes":{"shape":"Minutes"}, + "Enabled":{"shape":"Boolean"} + } + }, "RequirePin":{ "type":"string", "enum":[ @@ -3844,6 +3938,14 @@ "members":{ } }, + "UpdateEndOfMeetingReminder":{ + "type":"structure", + "members":{ + "ReminderAtMinutes":{"shape":"EndOfMeetingReminderMinutesList"}, + "ReminderType":{"shape":"EndOfMeetingReminderType"}, + "Enabled":{"shape":"Boolean"} + } + }, "UpdateGatewayGroupRequest":{ "type":"structure", "required":["GatewayGroupArn"], @@ -3873,6 +3975,22 @@ "members":{ } }, + "UpdateInstantBooking":{ + "type":"structure", + "members":{ + "DurationInMinutes":{"shape":"Minutes"}, + "Enabled":{"shape":"Boolean"} + } + }, + "UpdateMeetingRoomConfiguration":{ + "type":"structure", + "members":{ + "RoomUtilizationMetricsEnabled":{"shape":"Boolean"}, + "EndOfMeetingReminder":{"shape":"UpdateEndOfMeetingReminder"}, + "InstantBooking":{"shape":"UpdateInstantBooking"}, + "RequireCheckIn":{"shape":"UpdateRequireCheckIn"} + } + }, "UpdateNetworkProfileRequest":{ "type":"structure", "required":["NetworkProfileArn"], @@ -3905,7 +4023,8 @@ "Locale":{"shape":"DeviceLocale"}, "SetupModeDisabled":{"shape":"Boolean"}, "MaxVolumeLimit":{"shape":"MaxVolumeLimit"}, - "PSTNEnabled":{"shape":"Boolean"} + "PSTNEnabled":{"shape":"Boolean"}, + "MeetingRoomConfiguration":{"shape":"UpdateMeetingRoomConfiguration"} } }, "UpdateProfileResponse":{ @@ -3913,6 +4032,13 @@ "members":{ } }, + "UpdateRequireCheckIn":{ + "type":"structure", + "members":{ + "ReleaseAfterMinutes":{"shape":"Minutes"}, + "Enabled":{"shape":"Boolean"} + } + }, "UpdateRoomRequest":{ "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 f8cee2517ee..407d697bca0 100644 --- a/models/apis/alexaforbusiness/2017-11-09/docs-2.json +++ b/models/apis/alexaforbusiness/2017-11-09/docs-2.json @@ -52,7 +52,7 @@ "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.

", - "ListBusinessReportSchedules": "

Lists the details of the schedules that a user configured.

", + "ListBusinessReportSchedules": "

Lists the details of the schedules that a user configured. A download URL of the report associated with each schedule is returned every time this action is called. A new download URL is returned each time, and is valid for 24 hours.

", "ListConferenceProviders": "

Lists conference providers under a specific AWS account.

", "ListDeviceEvents": "

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

", "ListGatewayGroups": "

Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve details of a specific gateway group.

", @@ -259,7 +259,7 @@ "GetSkillGroupRequest$SkillGroupArn": "

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

", "ListDeviceEventsRequest$DeviceArn": "

The ARN of a device.

", "ListGatewaysRequest$GatewayGroupArn": "

The gateway group ARN for which to list gateways.

", - "ListSkillsRequest$SkillGroupArn": "

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

", + "ListSkillsRequest$SkillGroupArn": "

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

", "ListSmartHomeAppliancesRequest$RoomArn": "

The room that the appliances are associated with.

", "ListTagsRequest$Arn": "

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

", "NetworkProfile$NetworkProfileArn": "

The ARN of the network profile associated with a device.

", @@ -390,15 +390,27 @@ "Boolean": { "base": null, "refs": { + "CreateEndOfMeetingReminder$Enabled": "

Whether an end of meeting reminder is enabled or not.

", + "CreateInstantBooking$Enabled": "

Whether instant booking is enabled or not.

", + "CreateMeetingRoomConfiguration$RoomUtilizationMetricsEnabled": "

Whether room utilization metrics are enabled or not.

", "CreateProfileRequest$SetupModeDisabled": "

Whether room profile setup is enabled.

", "CreateProfileRequest$PSTNEnabled": "

Whether PSTN calling is enabled.

", + "CreateRequireCheckIn$Enabled": "

Whether require check in is enabled or not.

", + "EndOfMeetingReminder$Enabled": "

Whether an end of meeting reminder is enabled or not.

", + "InstantBooking$Enabled": "

Whether instant booking is enabled or not.

", + "MeetingRoomConfiguration$RoomUtilizationMetricsEnabled": "

Whether room utilization metrics are enabled or not.

", "Profile$IsDefault": "

Retrieves if the profile is default or not.

", "Profile$SetupModeDisabled": "

The setup mode of a room profile.

", "Profile$PSTNEnabled": "

The PSTN setting of a room profile.

", "ProfileData$IsDefault": "

Retrieves if the profile data is default or not.

", + "RequireCheckIn$Enabled": "

Whether require check in is enabled or not.

", + "UpdateEndOfMeetingReminder$Enabled": "

Whether an end of meeting reminder is enabled or not.

", + "UpdateInstantBooking$Enabled": "

Whether instant booking is enabled or not.

", + "UpdateMeetingRoomConfiguration$RoomUtilizationMetricsEnabled": "

Whether room utilization metrics are enabled or not.

", "UpdateProfileRequest$IsDefault": "

Sets the profile as default if selected. If this is missing, no update is done to the default status.

", "UpdateProfileRequest$SetupModeDisabled": "

Whether the setup mode of the profile is enabled.

", - "UpdateProfileRequest$PSTNEnabled": "

Whether the PSTN setting of the room profile is enabled.

" + "UpdateProfileRequest$PSTNEnabled": "

Whether the PSTN setting of the room profile is enabled.

", + "UpdateRequireCheckIn$Enabled": "

Whether require check in is enabled or not.

" } }, "BulletPoint": { @@ -698,6 +710,12 @@ "refs": { } }, + "CreateEndOfMeetingReminder": { + "base": "

Creates settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

", + "refs": { + "CreateMeetingRoomConfiguration$EndOfMeetingReminder": null + } + }, "CreateGatewayGroupRequest": { "base": null, "refs": { @@ -708,6 +726,18 @@ "refs": { } }, + "CreateInstantBooking": { + "base": "

Creates settings for the instant booking feature that are applied to a room profile. When users start their meeting with Alexa, Alexa automatically books the room for the configured duration if the room is available.

", + "refs": { + "CreateMeetingRoomConfiguration$InstantBooking": "

Settings to automatically book a room for a configured duration if it's free when joining a meeting with Alexa.

" + } + }, + "CreateMeetingRoomConfiguration": { + "base": "

Creates meeting room settings of a room profile.

", + "refs": { + "CreateProfileRequest$MeetingRoomConfiguration": "

The meeting room settings of a room profile.

" + } + }, "CreateNetworkProfileRequest": { "base": null, "refs": { @@ -728,6 +758,12 @@ "refs": { } }, + "CreateRequireCheckIn": { + "base": "

Creates settings for the require check in feature that are applied to a room profile. Require check in allows a meeting room’s Alexa or AVS device to prompt the user to check in; otherwise, the room will be released.

", + "refs": { + "CreateMeetingRoomConfiguration$RequireCheckIn": "

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

" + } + }, "CreateRoomRequest": { "base": null, "refs": { @@ -985,10 +1021,10 @@ "DeviceLocale": { "base": null, "refs": { - "CreateProfileRequest$Locale": "

The locale of the room profile.

", - "Profile$Locale": "

The locale of a room profile.

", - "ProfileData$Locale": "

The locale of a room profile.

", - "UpdateProfileRequest$Locale": "

The updated locale for the room profile.

" + "CreateProfileRequest$Locale": "

The locale of the room profile. (This is currently only available to a limited preview audience.)

", + "Profile$Locale": "

The locale of a room profile. (This is currently available only to a limited preview audience.)

", + "ProfileData$Locale": "

The locale of a room profile. (This is currently available only to a limited preview audience.)

", + "UpdateProfileRequest$Locale": "

The updated locale for the room profile. (This is currently only available to a limited preview audience.)

" } }, "DeviceName": { @@ -1146,7 +1182,29 @@ "EnablementTypeFilter": { "base": null, "refs": { - "ListSkillsRequest$EnablementType": "

Whether the skill is enabled under the user's account, or if it requires linking to be used.

" + "ListSkillsRequest$EnablementType": "

Whether the skill is enabled under the user's account.

" + } + }, + "EndOfMeetingReminder": { + "base": "

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

", + "refs": { + "MeetingRoomConfiguration$EndOfMeetingReminder": "

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + } + }, + "EndOfMeetingReminderMinutesList": { + "base": null, + "refs": { + "CreateEndOfMeetingReminder$ReminderAtMinutes": "

A range of 3 to 15 minutes that determines when the reminder begins.

", + "EndOfMeetingReminder$ReminderAtMinutes": "

A range of 3 to 15 minutes that determines when the reminder begins.

", + "UpdateEndOfMeetingReminder$ReminderAtMinutes": "

Updates settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + } + }, + "EndOfMeetingReminderType": { + "base": null, + "refs": { + "CreateEndOfMeetingReminder$ReminderType": "

The type of sound that users hear during the end of meeting reminder.

", + "EndOfMeetingReminder$ReminderType": "

The type of sound that users hear during the end of meeting reminder.

", + "UpdateEndOfMeetingReminder$ReminderType": "

The type of sound that users hear during the end of meeting reminder.

" } }, "EndUserLicenseAgreement": { @@ -1490,6 +1548,12 @@ "SkillsStoreSkill$IconUrl": "

The URL where the skill icon resides.

" } }, + "InstantBooking": { + "base": "

Settings for the instant booking feature that are applied to a room profile. When users start their meeting with Alexa, Alexa automatically books the room for the configured duration if the room is available.

", + "refs": { + "MeetingRoomConfiguration$InstantBooking": "

Settings to automatically book the room if available for a configured duration when joining a meeting with Alexa.

" + } + }, "InvalidCertificateAuthorityException": { "base": "

The Certificate Authority can't issue or revoke a certificate.

", "refs": { @@ -1676,6 +1740,12 @@ "UpdateProfileRequest$MaxVolumeLimit": "

The updated maximum volume limit for the room profile.

" } }, + "MeetingRoomConfiguration": { + "base": "

Meeting room settings of a room profile.

", + "refs": { + "Profile$MeetingRoomConfiguration": "

Meeting room settings of a room profile.

" + } + }, "MeetingSetting": { "base": "

The values that indicate whether a pin is always required (YES), never required (NO), or OPTIONAL.

", "refs": { @@ -1684,6 +1754,18 @@ "UpdateConferenceProviderRequest$MeetingSetting": "

The meeting settings for the conference provider.

" } }, + "Minutes": { + "base": null, + "refs": { + "CreateInstantBooking$DurationInMinutes": "

Duration between 15 and 240 minutes at increments of 15 that determines how long to book an available room when a meeting is started with Alexa.

", + "CreateRequireCheckIn$ReleaseAfterMinutes": "

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

", + "EndOfMeetingReminderMinutesList$member": null, + "InstantBooking$DurationInMinutes": "

Duration between 15 and 240 minutes at increments of 15 that determines how long to book an available room when a meeting is started with Alexa.

", + "RequireCheckIn$ReleaseAfterMinutes": "

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

", + "UpdateInstantBooking$DurationInMinutes": "

Duration between 15 and 240 minutes at increments of 15 that determines how long to book an available room when a meeting is started with Alexa.

", + "UpdateRequireCheckIn$ReleaseAfterMinutes": "

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

" + } + }, "NameInUseException": { "base": "

The name sent in the request is already in use.

", "refs": { @@ -1769,7 +1851,7 @@ "ListGatewayGroupsResponse$NextToken": "

The token used to paginate though multiple pages of gateway group summaries.

", "ListGatewaysRequest$NextToken": "

The token used to paginate though multiple pages of gateway summaries.

", "ListGatewaysResponse$NextToken": "

The token used to paginate though multiple pages of gateway summaries.

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

", + "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.

", "ListSkillsResponse$NextToken": "

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

", "ListSkillsStoreCategoriesRequest$NextToken": "

The tokens used for pagination.

", "ListSkillsStoreCategoriesResponse$NextToken": "

The tokens used for pagination.

", @@ -1995,6 +2077,12 @@ "SkillDetails$ReleaseDate": "

The date when the skill was released.

" } }, + "RequireCheckIn": { + "base": "

Settings for the require check in feature that are applied to a room profile. Require check in allows a meeting room’s Alexa or AVS device to prompt the user to check in; otherwise, the room will be released.

", + "refs": { + "MeetingRoomConfiguration$RequireCheckIn": "

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into. This makes the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

" + } + }, "RequirePin": { "base": null, "refs": { @@ -2334,7 +2422,7 @@ "SkillListMaxResults": { "base": null, "refs": { - "ListSkillsRequest$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. Required.

", + "ListSkillsRequest$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.

", "ListSkillsStoreSkillsByCategoryRequest$MaxResults": "

The maximum number of skills returned per paginated calls.

" } }, @@ -2527,7 +2615,7 @@ "TagValue": { "base": null, "refs": { - "Tag$Value": "

The value of a tag. Tag values are case-sensitive and can be null.

" + "Tag$Value": "

The value of a tag. Tag values are case sensitive and can be null.

" } }, "TemperatureUnit": { @@ -2568,7 +2656,7 @@ "refs": { "CreateProfileRequest$Timezone": "

The time zone used by a room profile.

", "Profile$Timezone": "

The time zone of a room profile.

", - "ProfileData$Timezone": "

The timezone of a room profile.

", + "ProfileData$Timezone": "

The time zone of a room profile.

", "UpdateProfileRequest$Timezone": "

The updated timezone for the room profile.

" } }, @@ -2664,6 +2752,12 @@ "refs": { } }, + "UpdateEndOfMeetingReminder": { + "base": "

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

", + "refs": { + "UpdateMeetingRoomConfiguration$EndOfMeetingReminder": "

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + } + }, "UpdateGatewayGroupRequest": { "base": null, "refs": { @@ -2684,6 +2778,18 @@ "refs": { } }, + "UpdateInstantBooking": { + "base": "

Updates settings for the instant booking feature that are applied to a room profile. If instant booking is enabled, Alexa automatically reserves a room if it is free when a user joins a meeting with Alexa.

", + "refs": { + "UpdateMeetingRoomConfiguration$InstantBooking": "

Settings to automatically book an available room available for a configured duration when joining a meeting with Alexa.

" + } + }, + "UpdateMeetingRoomConfiguration": { + "base": "

Updates meeting room settings of a room profile.

", + "refs": { + "UpdateProfileRequest$MeetingRoomConfiguration": "

The updated meeting room settings of a room profile.

" + } + }, "UpdateNetworkProfileRequest": { "base": null, "refs": { @@ -2704,6 +2810,12 @@ "refs": { } }, + "UpdateRequireCheckIn": { + "base": "

Updates settings for the require check in feature that are applied to a room profile. Require check in allows a meeting room’s Alexa or AVS device to prompt the user to check in; otherwise, the room will be released.

", + "refs": { + "UpdateMeetingRoomConfiguration$RequireCheckIn": "

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

" + } + }, "UpdateRoomRequest": { "base": null, "refs": { diff --git a/models/apis/appconfig/2019-10-09/api-2.json b/models/apis/appconfig/2019-10-09/api-2.json new file mode 100644 index 00000000000..ce492d03653 --- /dev/null +++ b/models/apis/appconfig/2019-10-09/api-2.json @@ -0,0 +1,1391 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-10-09", + "endpointPrefix":"appconfig", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AppConfig", + "serviceFullName":"Amazon AppConfig", + "serviceId":"AppConfig", + "signatureVersion":"v4", + "signingName":"appconfig", + "uid":"appconfig-2019-10-09" + }, + "operations":{ + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/applications", + "responseCode":201 + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"Application"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ] + }, + "CreateConfigurationProfile":{ + "name":"CreateConfigurationProfile", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/configurationprofiles", + "responseCode":201 + }, + "input":{"shape":"CreateConfigurationProfileRequest"}, + "output":{"shape":"ConfigurationProfile"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "CreateDeploymentStrategy":{ + "name":"CreateDeploymentStrategy", + "http":{ + "method":"POST", + "requestUri":"/deploymentstrategies", + "responseCode":201 + }, + "input":{"shape":"CreateDeploymentStrategyRequest"}, + "output":{"shape":"DeploymentStrategy"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "CreateEnvironment":{ + "name":"CreateEnvironment", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/environments", + "responseCode":201 + }, + "input":{"shape":"CreateEnvironmentRequest"}, + "output":{"shape":"Environment"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"} + ] + }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}", + "responseCode":204 + }, + "input":{"shape":"DeleteApplicationRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "DeleteConfigurationProfile":{ + "name":"DeleteConfigurationProfile", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + "responseCode":204 + }, + "input":{"shape":"DeleteConfigurationProfileRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "DeleteDeploymentStrategy":{ + "name":"DeleteDeploymentStrategy", + "http":{ + "method":"DELETE", + "requestUri":"/deployementstrategies/{DeploymentStrategyId}", + "responseCode":204 + }, + "input":{"shape":"DeleteDeploymentStrategyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "DeleteEnvironment":{ + "name":"DeleteEnvironment", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}", + "responseCode":204 + }, + "input":{"shape":"DeleteEnvironmentRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "GetApplication":{ + "name":"GetApplication", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}", + "responseCode":200 + }, + "input":{"shape":"GetApplicationRequest"}, + "output":{"shape":"Application"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "GetConfiguration":{ + "name":"GetConfiguration", + "http":{ + "method":"GET", + "requestUri":"/applications/{Application}/environments/{Environment}/configurations/{Configuration}", + "responseCode":200 + }, + "input":{"shape":"GetConfigurationRequest"}, + "output":{"shape":"Configuration"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"} + ] + }, + "GetConfigurationProfile":{ + "name":"GetConfigurationProfile", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + "responseCode":200 + }, + "input":{"shape":"GetConfigurationProfileRequest"}, + "output":{"shape":"ConfigurationProfile"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "GetDeployment":{ + "name":"GetDeployment", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", + "responseCode":200 + }, + "input":{"shape":"GetDeploymentRequest"}, + "output":{"shape":"Deployment"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "GetDeploymentStrategy":{ + "name":"GetDeploymentStrategy", + "http":{ + "method":"GET", + "requestUri":"/deploymentstrategies/{DeploymentStrategyId}", + "responseCode":200 + }, + "input":{"shape":"GetDeploymentStrategyRequest"}, + "output":{"shape":"DeploymentStrategy"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "GetEnvironment":{ + "name":"GetEnvironment", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentRequest"}, + "output":{"shape":"Environment"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"GET", + "requestUri":"/applications", + "responseCode":200 + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"Applications"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "ListConfigurationProfiles":{ + "name":"ListConfigurationProfiles", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/configurationprofiles", + "responseCode":200 + }, + "input":{"shape":"ListConfigurationProfilesRequest"}, + "output":{"shape":"ConfigurationProfiles"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "ListDeploymentStrategies":{ + "name":"ListDeploymentStrategies", + "http":{ + "method":"GET", + "requestUri":"/deploymentstrategies", + "responseCode":200 + }, + "input":{"shape":"ListDeploymentStrategiesRequest"}, + "output":{"shape":"DeploymentStrategies"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "ListDeployments":{ + "name":"ListDeployments", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", + "responseCode":200 + }, + "input":{"shape":"ListDeploymentsRequest"}, + "output":{"shape":"Deployments"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "ListEnvironments":{ + "name":"ListEnvironments", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments", + "responseCode":200 + }, + "input":{"shape":"ListEnvironmentsRequest"}, + "output":{"shape":"Environments"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ResourceTags"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ] + }, + "StartDeployment":{ + "name":"StartDeployment", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", + "responseCode":201 + }, + "input":{"shape":"StartDeploymentRequest"}, + "output":{"shape":"Deployment"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, + "StopDeployment":{ + "name":"StopDeployment", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", + "responseCode":202 + }, + "input":{"shape":"StopDeploymentRequest"}, + "output":{"shape":"Deployment"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{ApplicationId}", + "responseCode":200 + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"Application"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateConfigurationProfile":{ + "name":"UpdateConfigurationProfile", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + "responseCode":200 + }, + "input":{"shape":"UpdateConfigurationProfileRequest"}, + "output":{"shape":"ConfigurationProfile"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateDeploymentStrategy":{ + "name":"UpdateDeploymentStrategy", + "http":{ + "method":"PATCH", + "requestUri":"/deploymentstrategies/{DeploymentStrategyId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDeploymentStrategyRequest"}, + "output":{"shape":"DeploymentStrategy"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateEnvironment":{ + "name":"UpdateEnvironment", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}", + "responseCode":200 + }, + "input":{"shape":"UpdateEnvironmentRequest"}, + "output":{"shape":"Environment"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "ValidateConfiguration":{ + "name":"ValidateConfiguration", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators", + "responseCode":204 + }, + "input":{"shape":"ValidateConfigurationRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + } + }, + "shapes":{ + "Application":{ + "type":"structure", + "members":{ + "Id":{"shape":"Id"}, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"} + } + }, + "ApplicationList":{ + "type":"list", + "member":{"shape":"Application"} + }, + "Applications":{ + "type":"structure", + "members":{ + "Items":{"shape":"ApplicationList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "Blob":{"type":"blob"}, + "Configuration":{ + "type":"structure", + "members":{ + "Content":{"shape":"Blob"}, + "ConfigurationVersion":{ + "shape":"Version", + "location":"header", + "locationName":"Configuration-Version" + }, + "ContentType":{ + "shape":"String", + "location":"header", + "locationName":"Content-Type" + } + }, + "payload":"Content" + }, + "ConfigurationProfile":{ + "type":"structure", + "members":{ + "ApplicationId":{"shape":"Id"}, + "Id":{"shape":"Id"}, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "LocationUri":{"shape":"Uri"}, + "RetrievalRoleArn":{"shape":"Arn"}, + "Validators":{"shape":"ValidatorList"} + } + }, + "ConfigurationProfileSummary":{ + "type":"structure", + "members":{ + "ApplicationId":{"shape":"Id"}, + "Id":{"shape":"Id"}, + "Name":{"shape":"Name"}, + "LocationUri":{"shape":"Uri"}, + "ValidatorTypes":{"shape":"ValidatorTypeList"} + } + }, + "ConfigurationProfileSummaryList":{ + "type":"list", + "member":{"shape":"ConfigurationProfileSummary"} + }, + "ConfigurationProfiles":{ + "type":"structure", + "members":{ + "Items":{"shape":"ConfigurationProfileSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateApplicationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "Tags":{"shape":"TagMap"} + } + }, + "CreateConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "Name", + "LocationUri", + "RetrievalRoleArn" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "LocationUri":{"shape":"Uri"}, + "RetrievalRoleArn":{"shape":"Arn"}, + "Validators":{"shape":"ValidatorList"}, + "Tags":{"shape":"TagMap"} + } + }, + "CreateDeploymentStrategyRequest":{ + "type":"structure", + "required":[ + "Name", + "DeploymentDurationInMinutes", + "GrowthFactor", + "ReplicateTo" + ], + "members":{ + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "DeploymentDurationInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "box":true + }, + "FinalBakeTimeInMinutes":{"shape":"MinutesBetween0And24Hours"}, + "GrowthFactor":{ + "shape":"GrowthFactor", + "box":true + }, + "GrowthType":{"shape":"GrowthType"}, + "ReplicateTo":{"shape":"ReplicateTo"}, + "Tags":{"shape":"TagMap"} + } + }, + "CreateEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "Name" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "Monitors":{"shape":"MonitorList"}, + "Tags":{"shape":"TagMap"} + } + }, + "DeleteApplicationRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + } + } + }, + "DeleteConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "location":"uri", + "locationName":"ConfigurationProfileId" + } + } + }, + "DeleteDeploymentStrategyRequest":{ + "type":"structure", + "required":["DeploymentStrategyId"], + "members":{ + "DeploymentStrategyId":{ + "shape":"DeploymentStrategyId", + "location":"uri", + "locationName":"DeploymentStrategyId" + } + } + }, + "DeleteEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "location":"uri", + "locationName":"EnvironmentId" + } + } + }, + "Deployment":{ + "type":"structure", + "members":{ + "ApplicationId":{"shape":"Id"}, + "EnvironmentId":{"shape":"Id"}, + "DeploymentStrategyId":{"shape":"Id"}, + "ConfigurationProfileId":{"shape":"Id"}, + "DeploymentNumber":{"shape":"Integer"}, + "ConfigurationName":{"shape":"Name"}, + "ConfigurationLocationUri":{"shape":"Uri"}, + "ConfigurationVersion":{"shape":"Version"}, + "Description":{"shape":"Description"}, + "DeploymentDurationInMinutes":{"shape":"MinutesBetween0And24Hours"}, + "GrowthType":{"shape":"GrowthType"}, + "GrowthFactor":{"shape":"Percentage"}, + "FinalBakeTimeInMinutes":{"shape":"MinutesBetween0And24Hours"}, + "State":{"shape":"DeploymentState"}, + "PercentageComplete":{"shape":"Percentage"}, + "StartedAt":{"shape":"Iso8601DateTime"}, + "CompletedAt":{"shape":"Iso8601DateTime"} + } + }, + "DeploymentList":{ + "type":"list", + "member":{"shape":"DeploymentSummary"} + }, + "DeploymentState":{ + "type":"string", + "enum":[ + "BAKING", + "VALIDATING", + "DEPLOYING", + "COMPLETE", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "DeploymentStrategies":{ + "type":"structure", + "members":{ + "Items":{"shape":"DeploymentStrategyList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DeploymentStrategy":{ + "type":"structure", + "members":{ + "Id":{"shape":"Id"}, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "DeploymentDurationInMinutes":{"shape":"MinutesBetween0And24Hours"}, + "GrowthType":{"shape":"GrowthType"}, + "GrowthFactor":{"shape":"Percentage"}, + "FinalBakeTimeInMinutes":{"shape":"MinutesBetween0And24Hours"}, + "ReplicateTo":{"shape":"ReplicateTo"} + } + }, + "DeploymentStrategyId":{ + "type":"string", + "pattern":"([a-z0-9]{4,7}|arn:aws.*)" + }, + "DeploymentStrategyList":{ + "type":"list", + "member":{"shape":"DeploymentStrategy"} + }, + "DeploymentSummary":{ + "type":"structure", + "members":{ + "DeploymentNumber":{"shape":"Integer"}, + "ConfigurationName":{"shape":"Name"}, + "ConfigurationVersion":{"shape":"Version"}, + "DeploymentDurationInMinutes":{"shape":"MinutesBetween0And24Hours"}, + "GrowthType":{"shape":"GrowthType"}, + "GrowthFactor":{"shape":"Percentage"}, + "FinalBakeTimeInMinutes":{"shape":"MinutesBetween0And24Hours"}, + "State":{"shape":"DeploymentState"}, + "PercentageComplete":{"shape":"Percentage"}, + "StartedAt":{"shape":"Iso8601DateTime"}, + "CompletedAt":{"shape":"Iso8601DateTime"} + } + }, + "Deployments":{ + "type":"structure", + "members":{ + "Items":{"shape":"DeploymentList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "Description":{ + "type":"string", + "max":1024, + "min":0 + }, + "Environment":{ + "type":"structure", + "members":{ + "ApplicationId":{"shape":"Id"}, + "Id":{"shape":"Id"}, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "State":{"shape":"EnvironmentState"}, + "Monitors":{"shape":"MonitorList"} + } + }, + "EnvironmentList":{ + "type":"list", + "member":{"shape":"Environment"} + }, + "EnvironmentState":{ + "type":"string", + "enum":[ + "READY_FOR_DEPLOYMENT", + "DEPLOYING", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "Environments":{ + "type":"structure", + "members":{ + "Items":{"shape":"EnvironmentList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "GetApplicationRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + } + } + }, + "GetConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "location":"uri", + "locationName":"ConfigurationProfileId" + } + } + }, + "GetConfigurationRequest":{ + "type":"structure", + "required":[ + "Application", + "Environment", + "Configuration", + "ClientId" + ], + "members":{ + "Application":{ + "shape":"StringWithLengthBetween1And64", + "location":"uri", + "locationName":"Application" + }, + "Environment":{ + "shape":"StringWithLengthBetween1And64", + "location":"uri", + "locationName":"Environment" + }, + "Configuration":{ + "shape":"StringWithLengthBetween1And64", + "location":"uri", + "locationName":"Configuration" + }, + "ClientId":{ + "shape":"StringWithLengthBetween1And64", + "location":"querystring", + "locationName":"client_id" + }, + "ClientConfigurationVersion":{ + "shape":"Version", + "location":"querystring", + "locationName":"client_configuration_version" + } + } + }, + "GetDeploymentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId", + "DeploymentNumber" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "location":"uri", + "locationName":"EnvironmentId" + }, + "DeploymentNumber":{ + "shape":"Integer", + "box":true, + "location":"uri", + "locationName":"DeploymentNumber" + } + } + }, + "GetDeploymentStrategyRequest":{ + "type":"structure", + "required":["DeploymentStrategyId"], + "members":{ + "DeploymentStrategyId":{ + "shape":"DeploymentStrategyId", + "location":"uri", + "locationName":"DeploymentStrategyId" + } + } + }, + "GetEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "location":"uri", + "locationName":"EnvironmentId" + } + } + }, + "GrowthFactor":{ + "type":"float", + "max":100.0, + "min":1.0 + }, + "GrowthType":{ + "type":"string", + "enum":["LINEAR"] + }, + "Id":{ + "type":"string", + "pattern":"[a-z0-9]{4,7}" + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Iso8601DateTime":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListConfigurationProfilesRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "MaxResults":{ + "shape":"MaxResults", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListDeploymentStrategiesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListDeploymentsRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "location":"uri", + "locationName":"EnvironmentId" + }, + "MaxResults":{ + "shape":"MaxResults", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListEnvironmentsRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "MaxResults":{ + "shape":"MaxResults", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "MinutesBetween0And24Hours":{ + "type":"integer", + "max":1440, + "min":0 + }, + "Monitor":{ + "type":"structure", + "members":{ + "AlarmArn":{"shape":"Arn"}, + "AlarmRoleArn":{"shape":"Arn"} + } + }, + "MonitorList":{ + "type":"list", + "member":{"shape":"Monitor"}, + "max":5, + "min":0 + }, + "Name":{ + "type":"string", + "max":64, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "Percentage":{ + "type":"float", + "max":100.0, + "min":1.0 + }, + "ReplicateTo":{ + "type":"string", + "enum":[ + "NONE", + "SSM_DOCUMENT" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceName":{"shape":"String"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceTags":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagMap"} + } + }, + "StartDeploymentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId", + "DeploymentStrategyId", + "ConfigurationProfileId", + "ConfigurationVersion" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "location":"uri", + "locationName":"EnvironmentId" + }, + "DeploymentStrategyId":{"shape":"DeploymentStrategyId"}, + "ConfigurationProfileId":{"shape":"Id"}, + "ConfigurationVersion":{"shape":"Version"}, + "Description":{"shape":"Description"}, + "Tags":{"shape":"TagMap"} + } + }, + "StopDeploymentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId", + "DeploymentNumber" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "location":"uri", + "locationName":"EnvironmentId" + }, + "DeploymentNumber":{ + "shape":"Integer", + "box":true, + "location":"uri", + "locationName":"DeploymentNumber" + } + } + }, + "String":{"type":"string"}, + "StringWithLengthBetween0And32768":{ + "type":"string", + "max":32768, + "min":0 + }, + "StringWithLengthBetween1And64":{ + "type":"string", + "max":64, + "min":1 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{"shape":"TagMap"} + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"} + } + }, + "UpdateConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "location":"uri", + "locationName":"ConfigurationProfileId" + }, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "RetrievalRoleArn":{"shape":"Arn"}, + "Validators":{"shape":"ValidatorList"} + } + }, + "UpdateDeploymentStrategyRequest":{ + "type":"structure", + "required":["DeploymentStrategyId"], + "members":{ + "DeploymentStrategyId":{ + "shape":"DeploymentStrategyId", + "location":"uri", + "locationName":"DeploymentStrategyId" + }, + "Description":{"shape":"Description"}, + "DeploymentDurationInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "box":true + }, + "FinalBakeTimeInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "box":true + }, + "GrowthFactor":{ + "shape":"GrowthFactor", + "box":true + }, + "GrowthType":{"shape":"GrowthType"} + } + }, + "UpdateEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "location":"uri", + "locationName":"EnvironmentId" + }, + "Name":{"shape":"Name"}, + "Description":{"shape":"Description"}, + "Monitors":{"shape":"MonitorList"} + } + }, + "Uri":{ + "type":"string", + "max":2048, + "min":1 + }, + "ValidateConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "location":"uri", + "locationName":"ConfigurationProfileId" + }, + "ConfigurationVersion":{ + "shape":"Version", + "location":"querystring", + "locationName":"configuration_version" + } + } + }, + "Validator":{ + "type":"structure", + "required":[ + "Type", + "Content" + ], + "members":{ + "Type":{"shape":"ValidatorType"}, + "Content":{"shape":"StringWithLengthBetween0And32768"} + } + }, + "ValidatorList":{ + "type":"list", + "member":{"shape":"Validator"}, + "max":2, + "min":0 + }, + "ValidatorType":{ + "type":"string", + "enum":[ + "JSON_SCHEMA", + "LAMBDA" + ] + }, + "ValidatorTypeList":{ + "type":"list", + "member":{"shape":"ValidatorType"}, + "max":2, + "min":0 + }, + "Version":{ + "type":"string", + "max":128, + "min":1 + } + } +} diff --git a/models/apis/appconfig/2019-10-09/docs-2.json b/models/apis/appconfig/2019-10-09/docs-2.json new file mode 100644 index 00000000000..0c1f2b1201c --- /dev/null +++ b/models/apis/appconfig/2019-10-09/docs-2.json @@ -0,0 +1,643 @@ +{ + "version": "2.0", + "service": "AWS AppConfig

Use AWS AppConfig, a capability of AWS Systems Manager, to create, manage, and quickly deploy application configurations. AppConfig supports controlled deployments to applications of any size and includes built-in validation checks and monitoring. You can use AppConfig with applications hosted on Amazon EC2 instances, AWS Lambda, containers, mobile applications, or IoT devices.

To prevent errors when deploying application configurations, especially for production systems where a simple typo could cause an unexpected outage, AppConfig includes validators. A validator provides a syntactic or semantic check to ensure that the configuration you want to deploy works as intended. To validate your application configuration data, you provide a schema or a Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.

During a configuration deployment, AppConfig monitors the application to ensure that the deployment is successful. If the system encounters an error, AppConfig rolls back the change to minimize impact for your application users. You can configure a deployment strategy for each application or environment that includes deployment criteria, including velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment triggers an alarm, AppConfig automatically rolls back to the previous version.

AppConfig supports multiple use cases. Here are some examples.

This reference is intended to be used with the AWS AppConfig User Guide.

", + "operations": { + "CreateApplication": "

An application in AppConfig is a logical unit of code that provides capabilities for your customers. For example, an application can be a microservice that runs on Amazon EC2 instances, a mobile application installed by your users, a serverless application using Amazon API Gateway and AWS Lambda, or any system you run on behalf of others.

", + "CreateConfigurationProfile": "

Information that enables AppConfig to access the configuration source. Valid configuration sources include Systems Manager (SSM) documents and SSM Parameter Store parameters. A configuration profile includes the following information.

", + "CreateDeploymentStrategy": "

A deployment strategy defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes: the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.

", + "CreateEnvironment": "

For each application, you define one or more environments. An environment is a logical deployment group of AppConfig targets, such as applications in a Beta or Production environment. You can also define environments for application subcomponents such as the Web, Mobile and Back-end components for your application. You can configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system rolls back the configuration.

", + "DeleteApplication": "

Delete an application. Deleting an application does not delete a configuration from a host.

", + "DeleteConfigurationProfile": "

Delete a configuration profile. Deleting a configuration profile does not delete a configuration from a host.

", + "DeleteDeploymentStrategy": "

Delete a deployment strategy. Deleting a deployment strategy does not delete a configuration from a host.

", + "DeleteEnvironment": "

Delete an environment. Deleting an environment does not delete a configuration from a host.

", + "GetApplication": "

Retrieve information about an application.

", + "GetConfiguration": "

Retrieve information about a configuration.

", + "GetConfigurationProfile": "

Retrieve information about a configuration profile.

", + "GetDeployment": "

Retrieve information about a configuration deployment.

", + "GetDeploymentStrategy": "

Retrieve information about a deployment strategy. A deployment strategy defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes: the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.

", + "GetEnvironment": "

Retrieve information about an environment. An environment is a logical deployment group of AppConfig applications, such as applications in a Production environment or in an EU_Region environment. Each configuration deployment targets an environment. You can enable one or more Amazon CloudWatch alarms for an environment. If an alarm is triggered during a deployment, AppConfig roles back the configuration.

", + "ListApplications": "

List all applications in your AWS account.

", + "ListConfigurationProfiles": "

Lists the configuration profiles for an application.

", + "ListDeploymentStrategies": "

List deployment strategies.

", + "ListDeployments": "

Lists the deployments for an environment.

", + "ListEnvironments": "

List the environments for an application.

", + "ListTagsForResource": "

Retrieves the list of key-value tags assigned to the resource.

", + "StartDeployment": "

Starts a deployment.

", + "StopDeployment": "

Stops a deployment. This API action works only on deployments that have a status of DEPLOYING. This action moves the deployment to a status of ROLLED_BACK.

", + "TagResource": "

Metadata to assign to an AppConfig resource. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.

", + "UntagResource": "

Deletes a tag key and value from an AppConfig resource.

", + "UpdateApplication": "

Updates an application.

", + "UpdateConfigurationProfile": "

Updates a configuration profile.

", + "UpdateDeploymentStrategy": "

Updates a deployment strategy.

", + "UpdateEnvironment": "

Updates an environment.

", + "ValidateConfiguration": "

Uses the validators in a configuration profile to validate a configuration.

" + }, + "shapes": { + "Application": { + "base": null, + "refs": { + "ApplicationList$member": null + } + }, + "ApplicationList": { + "base": null, + "refs": { + "Applications$Items": "

The elements from this collection.

" + } + }, + "Applications": { + "base": null, + "refs": { + } + }, + "Arn": { + "base": null, + "refs": { + "ConfigurationProfile$RetrievalRoleArn": "

The ARN of an IAM role with permission to access the configuration at the specified LocationUri.

", + "CreateConfigurationProfileRequest$RetrievalRoleArn": "

The ARN of an IAM role with permission to access the configuration at the specified LocationUri.

", + "ListTagsForResourceRequest$ResourceArn": "

The resource ARN.

", + "Monitor$AlarmArn": "

ARN of the Amazon CloudWatch alarm.

", + "Monitor$AlarmRoleArn": "

ARN of an IAM role for AppConfig to monitor AlarmArn.

", + "TagResourceRequest$ResourceArn": "

The ARN of the resource for which to retrieve tags.

", + "UntagResourceRequest$ResourceArn": "

The ARN of the resource for which to remove tags.

", + "UpdateConfigurationProfileRequest$RetrievalRoleArn": "

The ARN of an IAM role with permission to access the configuration at the specified LocationUri.

" + } + }, + "BadRequestException": { + "base": "

The input fails to satisfy the constraints specified by an AWS service.

", + "refs": { + } + }, + "Blob": { + "base": null, + "refs": { + "Configuration$Content": "

The content of the configuration or the configuration data.

" + } + }, + "Configuration": { + "base": null, + "refs": { + } + }, + "ConfigurationProfile": { + "base": null, + "refs": { + } + }, + "ConfigurationProfileSummary": { + "base": "

A summary of a configuration profile.

", + "refs": { + "ConfigurationProfileSummaryList$member": null + } + }, + "ConfigurationProfileSummaryList": { + "base": null, + "refs": { + "ConfigurationProfiles$Items": "

The elements from this collection.

" + } + }, + "ConfigurationProfiles": { + "base": null, + "refs": { + } + }, + "ConflictException": { + "base": "

The request could not be processed because of conflict in the current state of the resource.

", + "refs": { + } + }, + "CreateApplicationRequest": { + "base": null, + "refs": { + } + }, + "CreateConfigurationProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateDeploymentStrategyRequest": { + "base": null, + "refs": { + } + }, + "CreateEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "DeleteApplicationRequest": { + "base": null, + "refs": { + } + }, + "DeleteConfigurationProfileRequest": { + "base": null, + "refs": { + } + }, + "DeleteDeploymentStrategyRequest": { + "base": null, + "refs": { + } + }, + "DeleteEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "Deployment": { + "base": null, + "refs": { + } + }, + "DeploymentList": { + "base": null, + "refs": { + "Deployments$Items": "

The elements from this collection.

" + } + }, + "DeploymentState": { + "base": null, + "refs": { + "Deployment$State": "

The state of the deployment.

", + "DeploymentSummary$State": "

The state of the deployment.

" + } + }, + "DeploymentStrategies": { + "base": null, + "refs": { + } + }, + "DeploymentStrategy": { + "base": null, + "refs": { + "DeploymentStrategyList$member": null + } + }, + "DeploymentStrategyId": { + "base": null, + "refs": { + "DeleteDeploymentStrategyRequest$DeploymentStrategyId": "

The ID of the deployment strategy you want to delete.

", + "GetDeploymentStrategyRequest$DeploymentStrategyId": "

The ID of the deployment strategy to get.

", + "StartDeploymentRequest$DeploymentStrategyId": "

The deployment strategy ID.

", + "UpdateDeploymentStrategyRequest$DeploymentStrategyId": "

The deployment strategy ID.

" + } + }, + "DeploymentStrategyList": { + "base": null, + "refs": { + "DeploymentStrategies$Items": "

The elements from this collection.

" + } + }, + "DeploymentSummary": { + "base": "

Information about the deployment.

", + "refs": { + "DeploymentList$member": null + } + }, + "Deployments": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "Application$Description": "

The description of the application.

", + "ConfigurationProfile$Description": "

The configuration profile description.

", + "CreateApplicationRequest$Description": "

A description of the application.

", + "CreateConfigurationProfileRequest$Description": "

A description of the configuration profile.

", + "CreateDeploymentStrategyRequest$Description": "

A description of the deployment strategy.

", + "CreateEnvironmentRequest$Description": "

A description of the environment.

", + "Deployment$Description": "

The description of the deployment.

", + "DeploymentStrategy$Description": "

The description of the deployment strategy.

", + "Environment$Description": "

The description of the environment.

", + "StartDeploymentRequest$Description": "

A description of the deployment.

", + "UpdateApplicationRequest$Description": "

A description of the application.

", + "UpdateConfigurationProfileRequest$Description": "

A description of the configuration profile.

", + "UpdateDeploymentStrategyRequest$Description": "

A description of the deployment strategy.

", + "UpdateEnvironmentRequest$Description": "

A description of the environment.

" + } + }, + "Environment": { + "base": null, + "refs": { + "EnvironmentList$member": null + } + }, + "EnvironmentList": { + "base": null, + "refs": { + "Environments$Items": "

The elements from this collection.

" + } + }, + "EnvironmentState": { + "base": null, + "refs": { + "Environment$State": "

The state of the environment. An environment can be in one of the following states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK

" + } + }, + "Environments": { + "base": null, + "refs": { + } + }, + "GetApplicationRequest": { + "base": null, + "refs": { + } + }, + "GetConfigurationProfileRequest": { + "base": null, + "refs": { + } + }, + "GetConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetDeploymentRequest": { + "base": null, + "refs": { + } + }, + "GetDeploymentStrategyRequest": { + "base": null, + "refs": { + } + }, + "GetEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "GrowthFactor": { + "base": null, + "refs": { + "CreateDeploymentStrategyRequest$GrowthFactor": "

The percentage of targets to receive a deployed configuration during each interval.

", + "UpdateDeploymentStrategyRequest$GrowthFactor": "

The percentage of targets to receive a deployed configuration during each interval.

" + } + }, + "GrowthType": { + "base": null, + "refs": { + "CreateDeploymentStrategyRequest$GrowthType": "

The algorithm used to define how percentage grows over time.

", + "Deployment$GrowthType": "

The algorithm used to define how percentage grew over time.

", + "DeploymentStrategy$GrowthType": "

The algorithm used to define how percentage grew over time.

", + "DeploymentSummary$GrowthType": "

The algorithm used to define how percentage grows over time.

", + "UpdateDeploymentStrategyRequest$GrowthType": "

The algorithm used to define how percentage grows over time.

" + } + }, + "Id": { + "base": null, + "refs": { + "Application$Id": "

The application ID.

", + "ConfigurationProfile$ApplicationId": "

The application ID.

", + "ConfigurationProfile$Id": "

The configuration profile ID.

", + "ConfigurationProfileSummary$ApplicationId": "

The application ID.

", + "ConfigurationProfileSummary$Id": "

The ID of the configuration profile.

", + "CreateConfigurationProfileRequest$ApplicationId": "

The application ID.

", + "CreateEnvironmentRequest$ApplicationId": "

The application ID.

", + "DeleteApplicationRequest$ApplicationId": "

The ID of the application to delete.

", + "DeleteConfigurationProfileRequest$ApplicationId": "

The application ID that includes the configuration profile you want to delete.

", + "DeleteConfigurationProfileRequest$ConfigurationProfileId": "

The ID of the configuration profile you want to delete.

", + "DeleteEnvironmentRequest$ApplicationId": "

The application ID that includes the environment you want to delete.

", + "DeleteEnvironmentRequest$EnvironmentId": "

The ID of the environment you want to delete.

", + "Deployment$ApplicationId": "

The ID of the application that was deployed.

", + "Deployment$EnvironmentId": "

The ID of the environment that was deployed.

", + "Deployment$DeploymentStrategyId": "

The ID of the deployment strategy that was deployed.

", + "Deployment$ConfigurationProfileId": "

The ID of the configuration profile that was deployed.

", + "DeploymentStrategy$Id": "

The deployment strategy ID.

", + "Environment$ApplicationId": "

The application ID.

", + "Environment$Id": "

The environment ID.

", + "GetApplicationRequest$ApplicationId": "

The ID of the application you want to get.

", + "GetConfigurationProfileRequest$ApplicationId": "

The ID of the application that includes the configuration profile you want to get.

", + "GetConfigurationProfileRequest$ConfigurationProfileId": "

The ID of the configuration profile you want to get.

", + "GetDeploymentRequest$ApplicationId": "

The ID of the application that includes the deployment you want to get.

", + "GetDeploymentRequest$EnvironmentId": "

The ID of the environment that includes the deployment you want to get.

", + "GetEnvironmentRequest$ApplicationId": "

The ID of the application that includes the environment you want to get.

", + "GetEnvironmentRequest$EnvironmentId": "

The ID of the environment you wnat to get.

", + "ListConfigurationProfilesRequest$ApplicationId": "

The application ID.

", + "ListDeploymentsRequest$ApplicationId": "

The application ID.

", + "ListDeploymentsRequest$EnvironmentId": "

The environment ID.

", + "ListEnvironmentsRequest$ApplicationId": "

The application ID.

", + "StartDeploymentRequest$ApplicationId": "

The application ID.

", + "StartDeploymentRequest$EnvironmentId": "

The environment ID.

", + "StartDeploymentRequest$ConfigurationProfileId": "

The configuration profile ID.

", + "StopDeploymentRequest$ApplicationId": "

The application ID.

", + "StopDeploymentRequest$EnvironmentId": "

The environment ID.

", + "UpdateApplicationRequest$ApplicationId": "

The application ID.

", + "UpdateConfigurationProfileRequest$ApplicationId": "

The application ID.

", + "UpdateConfigurationProfileRequest$ConfigurationProfileId": "

The ID of the configuration profile.

", + "UpdateEnvironmentRequest$ApplicationId": "

The application ID.

", + "UpdateEnvironmentRequest$EnvironmentId": "

The environment ID.

", + "ValidateConfigurationRequest$ApplicationId": "

The application ID.

", + "ValidateConfigurationRequest$ConfigurationProfileId": "

The configuration profile ID.

" + } + }, + "Integer": { + "base": null, + "refs": { + "Deployment$DeploymentNumber": "

The sequence number of the deployment.

", + "DeploymentSummary$DeploymentNumber": "

The sequence number of the deployment.

", + "GetDeploymentRequest$DeploymentNumber": "

The sequence number of the deployment.

", + "StopDeploymentRequest$DeploymentNumber": "

The sequence number of the deployment.

" + } + }, + "InternalServerException": { + "base": "

There was an internal failure in the AppConfig service.

", + "refs": { + } + }, + "Iso8601DateTime": { + "base": null, + "refs": { + "Deployment$StartedAt": "

The time the deployment started.

", + "Deployment$CompletedAt": "

The time the deployment completed.

", + "DeploymentSummary$StartedAt": "

Time the deployment started.

", + "DeploymentSummary$CompletedAt": "

Time the deployment completed.

" + } + }, + "ListApplicationsRequest": { + "base": null, + "refs": { + } + }, + "ListConfigurationProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListDeploymentStrategiesRequest": { + "base": null, + "refs": { + } + }, + "ListDeploymentsRequest": { + "base": null, + "refs": { + } + }, + "ListEnvironmentsRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListApplicationsRequest$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.

", + "ListConfigurationProfilesRequest$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.

", + "ListDeploymentStrategiesRequest$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.

", + "ListDeploymentsRequest$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.

", + "ListEnvironmentsRequest$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.

" + } + }, + "MinutesBetween0And24Hours": { + "base": null, + "refs": { + "CreateDeploymentStrategyRequest$DeploymentDurationInMinutes": "

Total amount of time for a deployment to last.

", + "CreateDeploymentStrategyRequest$FinalBakeTimeInMinutes": "

The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

", + "Deployment$DeploymentDurationInMinutes": "

Total amount of time the deployment lasted.

", + "Deployment$FinalBakeTimeInMinutes": "

The amount of time AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

", + "DeploymentStrategy$DeploymentDurationInMinutes": "

Total amount of time the deployment lasted.

", + "DeploymentStrategy$FinalBakeTimeInMinutes": "

The amount of time AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

", + "DeploymentSummary$DeploymentDurationInMinutes": "

Total amount of time the deployment lasted.

", + "DeploymentSummary$FinalBakeTimeInMinutes": "

The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

", + "UpdateDeploymentStrategyRequest$DeploymentDurationInMinutes": "

Total amount of time for a deployment to last.

", + "UpdateDeploymentStrategyRequest$FinalBakeTimeInMinutes": "

The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

" + } + }, + "Monitor": { + "base": "

Amazon CloudWatch alarms to monitor during the deployment process.

", + "refs": { + "MonitorList$member": null + } + }, + "MonitorList": { + "base": null, + "refs": { + "CreateEnvironmentRequest$Monitors": "

Amazon CloudWatch alarms to monitor during the deployment process.

", + "Environment$Monitors": "

Amazon CloudWatch alarms monitored during the deployment.

", + "UpdateEnvironmentRequest$Monitors": "

Amazon CloudWatch alarms to monitor during the deployment process.

" + } + }, + "Name": { + "base": null, + "refs": { + "Application$Name": "

The application name.

", + "ConfigurationProfile$Name": "

The name of the configuration profile.

", + "ConfigurationProfileSummary$Name": "

The name of the configuration profile.

", + "CreateApplicationRequest$Name": "

A name for the application.

", + "CreateConfigurationProfileRequest$Name": "

A name for the configuration profile.

", + "CreateDeploymentStrategyRequest$Name": "

A name for the deployment strategy.

", + "CreateEnvironmentRequest$Name": "

A name for the environment.

", + "Deployment$ConfigurationName": "

The name of the configuration.

", + "DeploymentStrategy$Name": "

The name of the deployment strategy.

", + "DeploymentSummary$ConfigurationName": "

The name of the configuration.

", + "Environment$Name": "

The name of the environment.

", + "UpdateApplicationRequest$Name": "

The name of the application.

", + "UpdateConfigurationProfileRequest$Name": "

The name of the configuration profile.

", + "UpdateEnvironmentRequest$Name": "

The name of the environment.

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

The token for the next set of items to return. Use this token to get the next set of results.

", + "ConfigurationProfiles$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "DeploymentStrategies$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "Deployments$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "Environments$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "ListApplicationsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListConfigurationProfilesRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListDeploymentStrategiesRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListDeploymentsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListEnvironmentsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

" + } + }, + "Percentage": { + "base": null, + "refs": { + "Deployment$GrowthFactor": "

The percentage of targets to receive a deployed configuration during each interval.

", + "Deployment$PercentageComplete": "

The percentage of targets for which the deployment is available.

", + "DeploymentStrategy$GrowthFactor": "

The percentage of targets that received a deployed configuration during each interval.

", + "DeploymentSummary$GrowthFactor": "

The percentage of targets to receive a deployed configuration during each interval.

", + "DeploymentSummary$PercentageComplete": "

The percentage of targets for which the deployment is available.

" + } + }, + "ReplicateTo": { + "base": null, + "refs": { + "CreateDeploymentStrategyRequest$ReplicateTo": "

Save the deployment strategy to a Systems Manager (SSM) document.

", + "DeploymentStrategy$ReplicateTo": "

Save the deployment strategy to a Systems Manager (SSM) document.

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

The requested resource could not be found.

", + "refs": { + } + }, + "ResourceTags": { + "base": null, + "refs": { + } + }, + "StartDeploymentRequest": { + "base": null, + "refs": { + } + }, + "StopDeploymentRequest": { + "base": null, + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "BadRequestException$Message": null, + "Configuration$ContentType": "

A standard MIME type describing the format of the configuration content. For more information, see Content-Type.

", + "ConflictException$Message": null, + "InternalServerException$Message": null, + "ResourceNotFoundException$Message": null, + "ResourceNotFoundException$ResourceName": null + } + }, + "StringWithLengthBetween0And32768": { + "base": null, + "refs": { + "Validator$Content": "

Either the JSON Schema content or an AWS Lambda function name.

" + } + }, + "StringWithLengthBetween1And64": { + "base": null, + "refs": { + "GetConfigurationRequest$Application": "

The application to get.

", + "GetConfigurationRequest$Environment": "

The environment to get.

", + "GetConfigurationRequest$Configuration": "

The configuration to get.

", + "GetConfigurationRequest$ClientId": "

A unique ID to identify the client for the configuration. This ID enables AppConfig to deploy the configuration in intervals, as defined in the deployment strategy.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null, + "TagMap$key": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

The tag keys to delete.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateApplicationRequest$Tags": "

Metadata to assign to the application. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

", + "CreateConfigurationProfileRequest$Tags": "

Metadata to assign to the configuration profile. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

", + "CreateDeploymentStrategyRequest$Tags": "

Metadata to assign to the deployment strategy. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

", + "CreateEnvironmentRequest$Tags": "

Metadata to assign to the environment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

", + "ResourceTags$Tags": "

Metadata to assign to AppConfig resources. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

", + "StartDeploymentRequest$Tags": "

Metadata to assign to the deployment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

", + "TagResourceRequest$Tags": "

The key-value string map. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UpdateApplicationRequest": { + "base": null, + "refs": { + } + }, + "UpdateConfigurationProfileRequest": { + "base": null, + "refs": { + } + }, + "UpdateDeploymentStrategyRequest": { + "base": null, + "refs": { + } + }, + "UpdateEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "Uri": { + "base": null, + "refs": { + "ConfigurationProfile$LocationUri": "

The URI location of the configuration.

", + "ConfigurationProfileSummary$LocationUri": "

The URI location of the configuration.

", + "CreateConfigurationProfileRequest$LocationUri": "

A URI to locate the configuration. You can specify either a Systems Manager (SSM) document or an SSM Parameter Store parameter. For an SSM document, specify either the document name in the format ssm-document://<Document name> or the Amazon Resource Name (ARN). For a parameter, specify either the parameter name in the format ssm-parameter://<Parameter name> or the ARN.

", + "Deployment$ConfigurationLocationUri": "

Information about the source location of the configuration.

" + } + }, + "ValidateConfigurationRequest": { + "base": null, + "refs": { + } + }, + "Validator": { + "base": "

A validator provides a syntactic or semantic check to ensure the configuration you want to deploy functions as intended. To validate your application configuration data, you provide a schema or a Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.

", + "refs": { + "ValidatorList$member": null + } + }, + "ValidatorList": { + "base": null, + "refs": { + "ConfigurationProfile$Validators": "

A list of methods for validating the configuration.

", + "CreateConfigurationProfileRequest$Validators": "

A list of methods for validating the configuration.

", + "UpdateConfigurationProfileRequest$Validators": "

A list of methods for validating the configuration.

" + } + }, + "ValidatorType": { + "base": null, + "refs": { + "Validator$Type": "

AppConfig supports validators of type JSON_SCHEMA and LAMBDA

", + "ValidatorTypeList$member": null + } + }, + "ValidatorTypeList": { + "base": null, + "refs": { + "ConfigurationProfileSummary$ValidatorTypes": "

The types of validators in the configuration profile.

" + } + }, + "Version": { + "base": null, + "refs": { + "Configuration$ConfigurationVersion": "

The configuration version.

", + "Deployment$ConfigurationVersion": "

The configuration version that was deployed.

", + "DeploymentSummary$ConfigurationVersion": "

The version of the configuration.

", + "GetConfigurationRequest$ClientConfigurationVersion": "

The configuration version returned in the most recent GetConfiguration response.

", + "StartDeploymentRequest$ConfigurationVersion": "

The configuration version to deploy.

", + "ValidateConfigurationRequest$ConfigurationVersion": "

The version of the configuration to validate.

" + } + } + } +} diff --git a/models/apis/appconfig/2019-10-09/examples-1.json b/models/apis/appconfig/2019-10-09/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/appconfig/2019-10-09/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/appconfig/2019-10-09/paginators-1.json b/models/apis/appconfig/2019-10-09/paginators-1.json new file mode 100644 index 00000000000..6a79ddb03f7 --- /dev/null +++ b/models/apis/appconfig/2019-10-09/paginators-1.json @@ -0,0 +1,29 @@ +{ + "pagination": { + "ListApplications": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListConfigurationProfiles": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDeploymentStrategies": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDeployments": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListEnvironments": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} 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 69dad28ca89..79afc096c85 100644 --- a/models/apis/application-autoscaling/2016-02-06/api-2.json +++ b/models/apis/application-autoscaling/2016-02-06/api-2.json @@ -429,7 +429,9 @@ "EC2SpotFleetRequestAverageNetworkOut", "SageMakerVariantInvocationsPerInstance", "ECSServiceAverageCPUUtilization", - "ECSServiceAverageMemoryUtilization" + "ECSServiceAverageMemoryUtilization", + "AppStreamAverageCapacityUtilization", + "ComprehendInferenceUtilization" ] }, "MetricUnit":{"type":"string"}, @@ -567,7 +569,8 @@ "dynamodb:index:WriteCapacityUnits", "rds:cluster:ReadReplicaCount", "sagemaker:variant:DesiredInstanceCount", - "custom-resource:ResourceType:Property" + "custom-resource:ResourceType:Property", + "comprehend:document-classifier-endpoint:DesiredInferenceUnits" ] }, "ScalableTarget":{ @@ -717,7 +720,8 @@ "dynamodb", "rds", "sagemaker", - "custom-resource" + "custom-resource", + "comprehend" ] }, "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 4644fbeb609..2331ae2d14e 100644 --- a/models/apis/application-autoscaling/2016-02-06/docs-2.json +++ b/models/apis/application-autoscaling/2016-02-06/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

With Application Auto Scaling, you can configure automatic scaling for the following resources:

API Summary

The Application Auto Scaling service API includes three key sets of actions:

To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.

", + "service": "

With Application Auto Scaling, you can configure automatic scaling for the following resources:

API Summary

The Application Auto Scaling service API includes three key sets of actions:

To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.

", "operations": { "DeleteScalingPolicy": "

Deletes the specified scaling policy for an Application Auto Scaling scalable target.

Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

For more information, see Delete a Step Scaling Policy and Delete a Target Tracking Scaling Policy in the Application Auto Scaling User Guide.

To create a scaling policy or update an existing one, see PutScalingPolicy.

", "DeleteScheduledAction": "

Deletes the specified scheduled action for an Application Auto Scaling scalable target.

For more information, see Delete a Scheduled Action in the Application Auto Scaling User Guide.

", @@ -258,7 +258,7 @@ "PolicyType": { "base": null, "refs": { - "PutScalingPolicyRequest$PolicyType": "

The policy type. This parameter is required if you are creating a scaling policy.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR or AppStream

StepScaling—Not supported for Amazon DynamoDB

For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.

", + "PutScalingPolicyRequest$PolicyType": "

The policy type. This parameter is required if you are creating a scaling policy.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR

StepScaling—Not supported for DynamoDB or Amazon Comprehend

For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.

", "ScalingPolicy$PolicyType": "

The scaling policy type.

" } }, @@ -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 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 that is associated with the scalable target. This string consists of the resource type and unique identifier.

", + "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 that is 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 Amazon EMR, this parameter is required, and it 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 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.

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

" } @@ -362,20 +362,20 @@ "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 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": { @@ -501,7 +501,7 @@ "SuspendedState": { "base": "

Specifies whether the scaling activities for a scalable target are in a suspended state.

", "refs": { - "RegisterScalableTargetRequest$SuspendedState": "

An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true suspends the specified scaling activities. Setting it to false (default) resumes the specified scaling activities.

Suspension Outcomes

For more information, see Suspend and Resume Application Auto Scaling in the Application Auto Scaling User Guide.

", + "RegisterScalableTargetRequest$SuspendedState": "

An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true suspends the specified scaling activities. Setting it to false (default) resumes the specified scaling activities.

Suspension Outcomes

For more information, see Suspending and Resuming Scaling in the Application Auto Scaling User Guide.

", "ScalableTarget$SuspendedState": null } }, diff --git a/models/apis/application-insights/2018-11-25/api-2.json b/models/apis/application-insights/2018-11-25/api-2.json index 26f4f6a33a0..27ef9a7b5c0 100644 --- a/models/apis/application-insights/2018-11-25/api-2.json +++ b/models/apis/application-insights/2018-11-25/api-2.json @@ -26,7 +26,8 @@ {"shape":"ResourceInUseException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"TagsAlreadyExistException"} ] }, "CreateComponent":{ @@ -44,6 +45,21 @@ {"shape":"InternalServerException"} ] }, + "CreateLogPattern":{ + "name":"CreateLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLogPatternRequest"}, + "output":{"shape":"CreateLogPatternResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteApplication":{ "name":"DeleteApplication", "http":{ @@ -73,6 +89,21 @@ {"shape":"InternalServerException"} ] }, + "DeleteLogPattern":{ + "name":"DeleteLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLogPatternRequest"}, + "output":{"shape":"DeleteLogPatternResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ] + }, "DescribeApplication":{ "name":"DescribeApplication", "http":{ @@ -129,6 +160,20 @@ {"shape":"InternalServerException"} ] }, + "DescribeLogPattern":{ + "name":"DescribeLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLogPatternRequest"}, + "output":{"shape":"DescribeLogPatternResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "DescribeObservation":{ "name":"DescribeObservation", "http":{ @@ -198,6 +243,34 @@ {"shape":"InternalServerException"} ] }, + "ListLogPatternSets":{ + "name":"ListLogPatternSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLogPatternSetsRequest"}, + "output":{"shape":"ListLogPatternSetsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListLogPatterns":{ + "name":"ListLogPatterns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLogPatternsRequest"}, + "output":{"shape":"ListLogPatternsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "ListProblems":{ "name":"ListProblems", "http":{ @@ -212,6 +285,46 @@ {"shape":"InternalServerException"} ] }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ValidationException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, "UpdateApplication":{ "name":"UpdateApplication", "http":{ @@ -254,10 +367,30 @@ {"shape":"ValidationException"}, {"shape":"InternalServerException"} ] + }, + "UpdateLogPattern":{ + "name":"UpdateLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLogPatternRequest"}, + "output":{"shape":"UpdateLogPatternResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] } }, "shapes":{ "AffectedResource":{"type":"string"}, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, "ApplicationComponent":{ "type":"structure", "members":{ @@ -292,7 +425,11 @@ }, "exception":true }, - "ComponentConfiguration":{"type":"string"}, + "ComponentConfiguration":{ + "type":"string", + "max":10000, + "min":1 + }, "ComponentName":{"type":"string"}, "CreateApplicationRequest":{ "type":"structure", @@ -300,7 +437,8 @@ "members":{ "ResourceGroupName":{"shape":"ResourceGroupName"}, "OpsCenterEnabled":{"shape":"OpsCenterEnabled"}, - "OpsItemSNSTopicArn":{"shape":"OpsItemSNSTopicArn"} + "OpsItemSNSTopicArn":{"shape":"OpsItemSNSTopicArn"}, + "Tags":{"shape":"TagList"} } }, "CreateApplicationResponse":{ @@ -327,6 +465,30 @@ "members":{ } }, + "CreateLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName", + "Pattern", + "Rank" + ], + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "PatternSetName":{"shape":"LogPatternSetName"}, + "PatternName":{"shape":"LogPatternName"}, + "Pattern":{"shape":"LogPatternRegex"}, + "Rank":{"shape":"LogPatternRank"} + } + }, + "CreateLogPatternResponse":{ + "type":"structure", + "members":{ + "LogPattern":{"shape":"LogPattern"}, + "ResourceGroupName":{"shape":"ResourceGroupName"} + } + }, "DeleteApplicationRequest":{ "type":"structure", "required":["ResourceGroupName"], @@ -355,6 +517,24 @@ "members":{ } }, + "DeleteLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName" + ], + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "PatternSetName":{"shape":"LogPatternSetName"}, + "PatternName":{"shape":"LogPatternName"} + } + }, + "DeleteLogPatternResponse":{ + "type":"structure", + "members":{ + } + }, "DescribeApplicationRequest":{ "type":"structure", "required":["ResourceGroupName"], @@ -424,6 +604,26 @@ "ResourceList":{"shape":"ResourceList"} } }, + "DescribeLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName" + ], + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "PatternSetName":{"shape":"LogPatternSetName"}, + "PatternName":{"shape":"LogPatternName"} + } + }, + "DescribeLogPatternResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "LogPattern":{"shape":"LogPattern"} + } + }, "DescribeObservationRequest":{ "type":"structure", "required":["ObservationId"], @@ -465,6 +665,7 @@ }, "EndTime":{"type":"timestamp"}, "ErrorMsg":{"type":"string"}, + "ExceptionMessage":{"type":"string"}, "Feedback":{ "type":"map", "key":{"shape":"FeedbackKey"}, @@ -523,6 +724,41 @@ "NextToken":{"shape":"PaginationToken"} } }, + "ListLogPatternSetsRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "MaxResults":{"shape":"MaxEntities"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListLogPatternSetsResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "LogPatternSets":{"shape":"LogPatternSetList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListLogPatternsRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "PatternSetName":{"shape":"LogPatternSetName"}, + "MaxResults":{"shape":"MaxEntities"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListLogPatternsResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "LogPatterns":{"shape":"LogPatternList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, "ListProblemsRequest":{ "type":"structure", "members":{ @@ -540,6 +776,19 @@ "NextToken":{"shape":"PaginationToken"} } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{"shape":"AmazonResourceName"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagList"} + } + }, "LogFilter":{ "type":"string", "enum":[ @@ -549,6 +798,41 @@ ] }, "LogGroup":{"type":"string"}, + "LogPattern":{ + "type":"structure", + "members":{ + "PatternSetName":{"shape":"LogPatternSetName"}, + "PatternName":{"shape":"LogPatternName"}, + "Pattern":{"shape":"LogPatternRegex"}, + "Rank":{"shape":"LogPatternRank"} + } + }, + "LogPatternList":{ + "type":"list", + "member":{"shape":"LogPattern"} + }, + "LogPatternName":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\-_]*" + }, + "LogPatternRank":{"type":"integer"}, + "LogPatternRegex":{ + "type":"string", + "max":50, + "min":1 + }, + "LogPatternSetList":{ + "type":"list", + "member":{"shape":"LogPatternSetName"} + }, + "LogPatternSetName":{ + "type":"string", + "max":30, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\-_]*" + }, "LogText":{"type":"string"}, "MaxEntities":{ "type":"integer", @@ -577,13 +861,22 @@ "Value":{"shape":"Value"} } }, - "ObservationId":{"type":"string"}, + "ObservationId":{ + "type":"string", + "max":38, + "min":38, + "pattern":"o-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}" + }, "ObservationList":{ "type":"list", "member":{"shape":"Observation"} }, "OpsCenterEnabled":{"type":"boolean"}, - "OpsItemSNSTopicArn":{"type":"string"}, + "OpsItemSNSTopicArn":{ + "type":"string", + "max":300, + "min":20 + }, "PaginationToken":{"type":"string"}, "Problem":{ "type":"structure", @@ -600,7 +893,12 @@ "Feedback":{"shape":"Feedback"} } }, - "ProblemId":{"type":"string"}, + "ProblemId":{ + "type":"string", + "max":38, + "min":38, + "pattern":"p-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}" + }, "ProblemList":{ "type":"list", "member":{"shape":"Problem"} @@ -613,8 +911,17 @@ }, "Remarks":{"type":"string"}, "RemoveSNSTopic":{"type":"boolean"}, - "ResourceARN":{"type":"string"}, - "ResourceGroupName":{"type":"string"}, + "ResourceARN":{ + "type":"string", + "max":1011, + "min":1 + }, + "ResourceGroupName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\-_]*" + }, "ResourceInUseException":{ "type":"structure", "members":{ @@ -637,9 +944,9 @@ "SeverityLevel":{ "type":"string", "enum":[ - "LOW", - "MEDIUM", - "HIGH" + "Low", + "Medium", + "High" ] }, "SourceARN":{"type":"string"}, @@ -653,9 +960,100 @@ "PENDING" ] }, - "Tier":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{"shape":"AmazonResourceName"}, + "Tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagsAlreadyExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "Tier":{ + "type":"string", + "enum":[ + "DEFAULT", + "DOT_NET_CORE", + "DOT_NET_WORKER", + "DOT_NET_WEB", + "SQL_SERVER" + ], + "max":50, + "min":1 + }, "Title":{"type":"string"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "ResourceName":{"shape":"AmazonResourceName"} + }, + "exception":true + }, "Unit":{"type":"string"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{"shape":"AmazonResourceName"}, + "TagKeys":{"shape":"TagKeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateApplicationRequest":{ "type":"structure", "required":["ResourceGroupName"], @@ -709,6 +1107,28 @@ "members":{ } }, + "UpdateLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName" + ], + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "PatternSetName":{"shape":"LogPatternSetName"}, + "PatternName":{"shape":"LogPatternName"}, + "Pattern":{"shape":"LogPatternRegex"}, + "Rank":{"shape":"LogPatternRank"} + } + }, + "UpdateLogPatternResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{"shape":"ResourceGroupName"}, + "LogPattern":{"shape":"LogPattern"} + } + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/models/apis/application-insights/2018-11-25/docs-2.json b/models/apis/application-insights/2018-11-25/docs-2.json index f67316a1b1b..3194148023e 100644 --- a/models/apis/application-insights/2018-11-25/docs-2.json +++ b/models/apis/application-insights/2018-11-25/docs-2.json @@ -4,21 +4,30 @@ "operations": { "CreateApplication": "

Adds an application that is created from a resource group.

", "CreateComponent": "

Creates a custom component by grouping similar standalone instances to monitor.

", + "CreateLogPattern": "

Adds an log pattern to a LogPatternSet.

", "DeleteApplication": "

Removes the specified application from monitoring. Does not delete the application.

", "DeleteComponent": "

Ungroups a custom component. When you ungroup custom components, all applicable monitors that are set up for the component are removed and the instances revert to their standalone status.

", + "DeleteLogPattern": "

Removes the specified log pattern from a LogPatternSet.

", "DescribeApplication": "

Describes the application.

", "DescribeComponent": "

Describes a component and lists the resources that are grouped together in a component.

", "DescribeComponentConfiguration": "

Describes the monitoring configuration of the component.

", "DescribeComponentConfigurationRecommendation": "

Describes the recommended monitoring configuration of the component.

", + "DescribeLogPattern": "

Describe a specific log pattern from a LogPatternSet.

", "DescribeObservation": "

Describes an anomaly or error with the application.

", "DescribeProblem": "

Describes an application problem.

", "DescribeProblemObservations": "

Describes the anomalies or errors associated with the problem.

", "ListApplications": "

Lists the IDs of the applications that you are monitoring.

", "ListComponents": "

Lists the auto-grouped, standalone, and custom components of the application.

", + "ListLogPatternSets": "

Lists the log pattern sets in the specific application.

", + "ListLogPatterns": "

Lists the log patterns in the specific log LogPatternSet.

", "ListProblems": "

Lists the problems with your application.

", + "ListTagsForResource": "

Retrieve a list of the tags (keys and values) that are associated with a specified application. A tag is a label that you optionally define and associate with an application. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

", + "TagResource": "

Add one or more tags (keys and values) to a specified application. A tag is a label that you optionally define and associate with an application. Tags can help you categorize and manage application in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

", + "UntagResource": "

Remove one or more tags (keys and values) from a specified application.

", "UpdateApplication": "

Updates the application.

", "UpdateComponent": "

Updates the custom component name and/or the list of resources that make up the component.

", - "UpdateComponentConfiguration": "

Updates the monitoring configurations for the component. The configuration input parameter is an escaped JSON of the configuration and should match the schema of what is returned by DescribeComponentConfigurationRecommendation.

" + "UpdateComponentConfiguration": "

Updates the monitoring configurations for the component. The configuration input parameter is an escaped JSON of the configuration and should match the schema of what is returned by DescribeComponentConfigurationRecommendation.

", + "UpdateLogPattern": "

Adds a log pattern to a LogPatternSet.

" }, "shapes": { "AffectedResource": { @@ -27,6 +36,15 @@ "Problem$AffectedResource": "

The resource affected by the problem.

" } }, + "AmazonResourceName": { + "base": null, + "refs": { + "ListTagsForResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the application that you want to retrieve tag information for.

", + "TagResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

", + "TooManyTagsException$ResourceName": "

The name of the resource with too many tags.

", + "UntagResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the application that you want to remove one or more tags from.

" + } + }, "ApplicationComponent": { "base": "

Describes a standalone resource or similarly grouped resources that the application is made up of.

", "refs": { @@ -65,7 +83,7 @@ "refs": { "DescribeComponentConfigurationRecommendationResponse$ComponentConfiguration": "

The recommended configuration settings of the component. The value is the escaped JSON of the configuration.

", "DescribeComponentConfigurationResponse$ComponentConfiguration": "

The configuration settings of the component. The value is the escaped JSON of the configuration.

", - "UpdateComponentConfigurationRequest$ComponentConfiguration": "

The configuration settings of the component. The value is the escaped JSON of the configuration. For more information about the JSON format, see Working with JSON. You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component.

" + "UpdateComponentConfigurationRequest$ComponentConfiguration": "

The configuration settings of the component. The value is the escaped JSON of the configuration. For more information about the JSON format, see Working with JSON. You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete format of the component configuration file, see Component Configuration.

" } }, "ComponentName": { @@ -101,6 +119,16 @@ "refs": { } }, + "CreateLogPatternRequest": { + "base": null, + "refs": { + } + }, + "CreateLogPatternResponse": { + "base": null, + "refs": { + } + }, "DeleteApplicationRequest": { "base": null, "refs": { @@ -121,6 +149,16 @@ "refs": { } }, + "DeleteLogPatternRequest": { + "base": null, + "refs": { + } + }, + "DeleteLogPatternResponse": { + "base": null, + "refs": { + } + }, "DescribeApplicationRequest": { "base": null, "refs": { @@ -161,6 +199,16 @@ "refs": { } }, + "DescribeLogPatternRequest": { + "base": null, + "refs": { + } + }, + "DescribeLogPatternResponse": { + "base": null, + "refs": { + } + }, "DescribeObservationRequest": { "base": null, "refs": { @@ -209,6 +257,13 @@ "ValidationException$Message": null } }, + "ExceptionMessage": { + "base": null, + "refs": { + "TagsAlreadyExistException$Message": null, + "TooManyTagsException$Message": null + } + }, "Feedback": { "base": null, "refs": { @@ -270,6 +325,26 @@ "refs": { } }, + "ListLogPatternSetsRequest": { + "base": null, + "refs": { + } + }, + "ListLogPatternSetsResponse": { + "base": null, + "refs": { + } + }, + "ListLogPatternsRequest": { + "base": null, + "refs": { + } + }, + "ListLogPatternsResponse": { + "base": null, + "refs": { + } + }, "ListProblemsRequest": { "base": null, "refs": { @@ -280,6 +355,16 @@ "refs": { } }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, "LogFilter": { "base": null, "refs": { @@ -292,6 +377,65 @@ "Observation$LogGroup": "

The log group name.

" } }, + "LogPattern": { + "base": "

An object that defines the log patterns that belongs to a LogPatternSet.

", + "refs": { + "CreateLogPatternResponse$LogPattern": "

The successfully created log pattern.

", + "DescribeLogPatternResponse$LogPattern": "

The successfully created log pattern.

", + "LogPatternList$member": null, + "UpdateLogPatternResponse$LogPattern": "

The successfully created log pattern.

" + } + }, + "LogPatternList": { + "base": null, + "refs": { + "ListLogPatternsResponse$LogPatterns": "

The list of log patterns.

" + } + }, + "LogPatternName": { + "base": null, + "refs": { + "CreateLogPatternRequest$PatternName": "

The name of the log pattern.

", + "DeleteLogPatternRequest$PatternName": "

The name of the log pattern.

", + "DescribeLogPatternRequest$PatternName": "

The name of the log pattern.

", + "LogPattern$PatternName": "

The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

", + "UpdateLogPatternRequest$PatternName": "

The name of the log pattern.

" + } + }, + "LogPatternRank": { + "base": null, + "refs": { + "CreateLogPatternRequest$Rank": "

Rank of the log pattern.

", + "LogPattern$Rank": "

Rank of the log pattern.

", + "UpdateLogPatternRequest$Rank": "

Rank of the log pattern.

" + } + }, + "LogPatternRegex": { + "base": null, + "refs": { + "CreateLogPatternRequest$Pattern": "

The log pattern.

", + "LogPattern$Pattern": "

A regular expression that defines the log pattern. A log pattern can contains at many as 50 characters, and it cannot be empty.

", + "UpdateLogPatternRequest$Pattern": "

The log pattern.

" + } + }, + "LogPatternSetList": { + "base": null, + "refs": { + "ListLogPatternSetsResponse$LogPatternSets": "

The list of log pattern sets.

" + } + }, + "LogPatternSetName": { + "base": null, + "refs": { + "CreateLogPatternRequest$PatternSetName": "

The name of the log pattern set.

", + "DeleteLogPatternRequest$PatternSetName": "

The name of the log pattern set.

", + "DescribeLogPatternRequest$PatternSetName": "

The name of the log pattern set.

", + "ListLogPatternsRequest$PatternSetName": "

The name of the log pattern set.

", + "LogPattern$PatternSetName": "

The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

", + "LogPatternSetList$member": null, + "UpdateLogPatternRequest$PatternSetName": "

The name of the log pattern set.

" + } + }, "LogText": { "base": null, "refs": { @@ -303,6 +447,8 @@ "refs": { "ListApplicationsRequest$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.

", "ListComponentsRequest$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.

", + "ListLogPatternSetsRequest$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.

", + "ListLogPatternsRequest$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.

", "ListProblemsRequest$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.

" } }, @@ -375,6 +521,10 @@ "ListApplicationsResponse$NextToken": "

The token used to retrieve the next page of results. This value is null when there are no more results to return.

", "ListComponentsRequest$NextToken": "

The token to request the next page of results.

", "ListComponentsResponse$NextToken": "

The token to request the next page of results.

", + "ListLogPatternSetsRequest$NextToken": "

The token to request the next page of results.

", + "ListLogPatternSetsResponse$NextToken": "

The token used to retrieve the next page of results. This value is null when there are no more results to return.

", + "ListLogPatternsRequest$NextToken": "

The token to request the next page of results.

", + "ListLogPatternsResponse$NextToken": "

The token used to retrieve the next page of results. This value is null when there are no more results to return.

", "ListProblemsRequest$NextToken": "

The token to request the next page of results.

", "ListProblemsResponse$NextToken": "

The token used to retrieve the next page of results. This value is null when there are no more results to return.

" } @@ -430,18 +580,29 @@ "ApplicationInfo$ResourceGroupName": "

The name of the resource group used for the application.

", "CreateApplicationRequest$ResourceGroupName": "

The name of the resource group.

", "CreateComponentRequest$ResourceGroupName": "

The name of the resource group.

", + "CreateLogPatternRequest$ResourceGroupName": "

The name of the resource group.

", + "CreateLogPatternResponse$ResourceGroupName": "

The name of the resource group.

", "DeleteApplicationRequest$ResourceGroupName": "

The name of the resource group.

", "DeleteComponentRequest$ResourceGroupName": "

The name of the resource group.

", + "DeleteLogPatternRequest$ResourceGroupName": "

The name of the resource group.

", "DescribeApplicationRequest$ResourceGroupName": "

The name of the resource group.

", "DescribeComponentConfigurationRecommendationRequest$ResourceGroupName": "

The name of the resource group.

", "DescribeComponentConfigurationRequest$ResourceGroupName": "

The name of the resource group.

", "DescribeComponentRequest$ResourceGroupName": "

The name of the resource group.

", + "DescribeLogPatternRequest$ResourceGroupName": "

The name of the resource group.

", + "DescribeLogPatternResponse$ResourceGroupName": "

The name of the resource group.

", "ListComponentsRequest$ResourceGroupName": "

The name of the resource group.

", + "ListLogPatternSetsRequest$ResourceGroupName": "

The name of the resource group.

", + "ListLogPatternSetsResponse$ResourceGroupName": "

The name of the resource group.

", + "ListLogPatternsRequest$ResourceGroupName": "

The name of the resource group.

", + "ListLogPatternsResponse$ResourceGroupName": "

The name of the resource group.

", "ListProblemsRequest$ResourceGroupName": "

The name of the resource group.

", "Problem$ResourceGroupName": "

The name of the resource group affected by the problem.

", "UpdateApplicationRequest$ResourceGroupName": "

The name of the resource group.

", "UpdateComponentConfigurationRequest$ResourceGroupName": "

The name of the resource group.

", - "UpdateComponentRequest$ResourceGroupName": "

The name of the resource group.

" + "UpdateComponentRequest$ResourceGroupName": "

The name of the resource group.

", + "UpdateLogPatternRequest$ResourceGroupName": "

The name of the resource group.

", + "UpdateLogPatternResponse$ResourceGroupName": "

The name of the resource group.

" } }, "ResourceInUseException": { @@ -500,13 +661,61 @@ "Problem$Status": "

The status of the problem.

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

An object that defines the tags associated with an application. A tag is a label that you optionally define and associate with an application. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor within a tag key. A tag key can contain as many as 128 characters. A tag value can contain as many as 256 characters. The characters can be Unicode letters, digits, white space, or one of the following symbols: _ . : / = + -. The following additional restrictions apply to tags:

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

One part of a key-value pair that defines a tag. The maximum length of a tag key is 128 characters. The minimum length is 1 character.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value.

To remove more than one tag from the application, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand.

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

List of tags to add to the application. tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

", + "ListTagsForResourceResponse$Tags": "

An array that lists all the tags that are associated with the application. Each tag consists of a required tag key (Key) and an associated tag value (Value).

", + "TagResourceRequest$Tags": "

A list of tags that to add to the application. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

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

The optional part of a key-value pair that defines a tag. The maximum length of a tag value is 256 characters. The minimum length is 0 characters. If you don't want an application to have a specific tag value, don't specify a value for this parameter.

" + } + }, + "TagsAlreadyExistException": { + "base": "

Tags are already registered for the specified application ARN.

", + "refs": { + } + }, "Tier": { "base": null, "refs": { "ApplicationComponent$Tier": "

The stack tier of the application component.

", - "DescribeComponentConfigurationRecommendationRequest$Tier": "

The tier of the application component. Supported tiers include DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.

", - "DescribeComponentConfigurationResponse$Tier": "

The tier of the application component. Supported tiers include DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT

", - "UpdateComponentConfigurationRequest$Tier": "

The tier of the application component. Supported tiers include DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.

" + "DescribeComponentConfigurationRecommendationRequest$Tier": "

The tier of the application component. Supported tiers include DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.

", + "DescribeComponentConfigurationResponse$Tier": "

The tier of the application component. Supported tiers include DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT

", + "UpdateComponentConfigurationRequest$Tier": "

The tier of the application component. Supported tiers include DOT_NET_WORKER, DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.

" } }, "Title": { @@ -515,12 +724,27 @@ "Problem$Title": "

The name of the problem.

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

The number of the provided tags is beyond the limit, or the number of total tags you are trying to attach to the specified resource exceeds the limit.

", + "refs": { + } + }, "Unit": { "base": null, "refs": { "Observation$Unit": "

The unit of the source observation metric.

" } }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, "UpdateApplicationRequest": { "base": null, "refs": { @@ -551,6 +775,16 @@ "refs": { } }, + "UpdateLogPatternRequest": { + "base": null, + "refs": { + } + }, + "UpdateLogPatternResponse": { + "base": null, + "refs": { + } + }, "ValidationException": { "base": "

The parameter is not valid.

", "refs": { diff --git a/models/apis/application-insights/2018-11-25/paginators-1.json b/models/apis/application-insights/2018-11-25/paginators-1.json index 445d63ccef7..7a952b6eee3 100644 --- a/models/apis/application-insights/2018-11-25/paginators-1.json +++ b/models/apis/application-insights/2018-11-25/paginators-1.json @@ -10,6 +10,16 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListLogPatternSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListLogPatterns": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListProblems": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/athena/2017-05-18/api-2.json b/models/apis/athena/2017-05-18/api-2.json index f233d74c304..fe7969d96b4 100644 --- a/models/apis/athena/2017-05-18/api-2.json +++ b/models/apis/athena/2017-05-18/api-2.json @@ -692,7 +692,11 @@ "members":{ "EngineExecutionTimeInMillis":{"shape":"Long"}, "DataScannedInBytes":{"shape":"Long"}, - "DataManifestLocation":{"shape":"String"} + "DataManifestLocation":{"shape":"String"}, + "TotalExecutionTimeInMillis":{"shape":"Long"}, + "QueryQueueTimeInMillis":{"shape":"Long"}, + "QueryPlanningTimeInMillis":{"shape":"Long"}, + "ServiceProcessingTimeInMillis":{"shape":"Long"} } }, "QueryExecutionStatus":{ diff --git a/models/apis/athena/2017-05-18/docs-2.json b/models/apis/athena/2017-05-18/docs-2.json index dc5c255a00d..53e2bb1dd65 100644 --- a/models/apis/athena/2017-05-18/docs-2.json +++ b/models/apis/athena/2017-05-18/docs-2.json @@ -309,7 +309,11 @@ "refs": { "GetQueryResultsOutput$UpdateCount": "

The number of rows inserted with a CREATE TABLE AS SELECT statement.

", "QueryExecutionStatistics$EngineExecutionTimeInMillis": "

The number of milliseconds that the query took to execute.

", - "QueryExecutionStatistics$DataScannedInBytes": "

The number of bytes in the data that was queried.

" + "QueryExecutionStatistics$DataScannedInBytes": "

The number of bytes in the data that was queried.

", + "QueryExecutionStatistics$TotalExecutionTimeInMillis": "

The number of milliseconds that Athena took to run the query.

", + "QueryExecutionStatistics$QueryQueueTimeInMillis": "

The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.

", + "QueryExecutionStatistics$QueryPlanningTimeInMillis": "

The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.

", + "QueryExecutionStatistics$ServiceProcessingTimeInMillis": "

The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.

" } }, "MaxNamedQueriesCount": { @@ -426,9 +430,9 @@ } }, "QueryExecutionStatistics": { - "base": "

The location of a manifest file that tracks file locations generated by the query, the amount of data scanned by the query, and the amount of time that it took the query to run.

", + "base": "

The amount of data scanned during the query execution and the amount of time that it took to execute, and the type of statement that was run.

", "refs": { - "QueryExecution$Statistics": "

The location of a manifest file that tracks file locations generated by the query, the amount of data scanned by the query, and the amount of time that it took the query to run.

" + "QueryExecution$Statistics": "

The amount of data scanned during the query execution and the amount of time that it took to execute, and the type of statement that was run.

" } }, "QueryExecutionStatus": { @@ -525,7 +529,7 @@ "ColumnInfo$Label": "

A column label.

", "ColumnInfo$Type": "

The data type of the column.

", "EncryptionConfiguration$KmsKey": "

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

", - "QueryExecutionStatistics$DataManifestLocation": "

The location and file name of a data manifest file. The manifest file is saved to the Athena query results location in Amazon S3. It tracks files that the query wrote to Amazon S3. If the query fails, the manifest file also tracks files that the query intended to write. The manifest is useful for identifying orphaned files resulting from a failed query. For more information, see Working with Query Output Files in the Amazon Athena User Guide.

", + "QueryExecutionStatistics$DataManifestLocation": "

The location and file name of a data manifest file. The manifest file is saved to the Athena query results location in Amazon S3. The manifest file tracks files that the query wrote to Amazon S3. If the query fails, the manifest file also tracks files that the query intended to write. The manifest is useful for identifying orphaned files resulting from a failed query. For more information, see Working with Query Results, Output Files, and Query History in the Amazon Athena User Guide.

", "QueryExecutionStatus$StateChangeReason": "

Further detail about the status of the query.

", "ResultConfiguration$OutputLocation": "

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. To run the query, you must specify the query results location using one of the ways: either for individual queries using either this setting (client-side), or in the workgroup, using WorkGroupConfiguration. If none of them is set, Athena issues an error that no output location is provided. For more information, see Query Results. If workgroup settings override client-side settings, then the query uses the settings specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

", "ResultConfigurationUpdates$OutputLocation": "

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. For more information, see Query Results If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The \"workgroup settings override\" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" diff --git a/models/apis/ce/2017-10-25/api-2.json b/models/apis/ce/2017-10-25/api-2.json index 0f9c312ab53..80f25bbf48b 100644 --- a/models/apis/ce/2017-10-25/api-2.json +++ b/models/apis/ce/2017-10-25/api-2.json @@ -14,6 +14,45 @@ "uid":"ce-2017-10-25" }, "operations":{ + "CreateCostCategoryDefinition":{ + "name":"CreateCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCostCategoryDefinitionRequest"}, + "output":{"shape":"CreateCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"LimitExceededException"} + ] + }, + "DeleteCostCategoryDefinition":{ + "name":"DeleteCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCostCategoryDefinitionRequest"}, + "output":{"shape":"DeleteCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ] + }, + "DescribeCostCategoryDefinition":{ + "name":"DescribeCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCostCategoryDefinitionRequest"}, + "output":{"shape":"DescribeCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ] + }, "GetCostAndUsage":{ "name":"GetCostAndUsage", "http":{ @@ -213,6 +252,32 @@ {"shape":"DataUnavailableException"}, {"shape":"UnresolvableUsageUnitException"} ] + }, + "ListCostCategoryDefinitions":{ + "name":"ListCostCategoryDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCostCategoryDefinitionsRequest"}, + "output":{"shape":"ListCostCategoryDefinitionsResponse"}, + "errors":[ + {"shape":"LimitExceededException"} + ] + }, + "UpdateCostCategoryDefinition":{ + "name":"UpdateCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCostCategoryDefinitionRequest"}, + "output":{"shape":"UpdateCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"LimitExceededException"} + ] } }, "shapes":{ @@ -225,6 +290,12 @@ }, "AmortizedRecurringFee":{"type":"string"}, "AmortizedUpfrontFee":{"type":"string"}, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+" + }, "AttributeType":{"type":"string"}, "AttributeValue":{"type":"string"}, "Attributes":{ @@ -247,6 +318,77 @@ "SAVINGS_PLANS" ] }, + "CostCategory":{ + "type":"structure", + "required":[ + "CostCategoryArn", + "EffectiveStart", + "Name", + "RuleVersion", + "Rules" + ], + "members":{ + "CostCategoryArn":{"shape":"Arn"}, + "EffectiveStart":{"shape":"ZonedDateTime"}, + "EffectiveEnd":{"shape":"ZonedDateTime"}, + "Name":{"shape":"CostCategoryName"}, + "RuleVersion":{"shape":"CostCategoryRuleVersion"}, + "Rules":{"shape":"CostCategoryRulesList"} + } + }, + "CostCategoryName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data such as total monthly costs or total daily usage. You can also query for granular data, such as the number of daily write operations for Amazon DynamoDB database tables in your production environment.

Service Endpoint

The Cost Explorer API provides the following endpoint:

For information about costs associated with the Cost Explorer API, see AWS Cost Management Pricing.

", "operations": { + "CreateCostCategoryDefinition": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

Creates a new Cost Category with the requested name and rules.

", + "DeleteCostCategoryDefinition": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

Deletes a Cost Category. Expenses from this month going forward will no longer be categorized with this Cost Category.

", + "DescribeCostCategoryDefinition": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

Returns the name, ARN, rules, definition, and effective dates of a Cost Category that's defined in the account.

You have the option to use EffectiveOn to return a Cost Category that is active on a specific date. If there is no EffectiveOn specified, you’ll see a Cost Category that is effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response.

", "GetCostAndUsage": "

Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts.

", "GetCostAndUsageWithResources": "

Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

", "GetCostForecast": "

Retrieves a forecast for how much Amazon Web Services predicts that you will spend over the forecast time period that you select, based on your past costs.

", @@ -15,7 +18,9 @@ "GetSavingsPlansUtilization": "

Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Master accounts in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

You cannot group by any dimension values for GetSavingsPlansUtilization.

", "GetSavingsPlansUtilizationDetails": "

Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization, but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails by providing individual dates. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn.

", "GetTags": "

Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string.

", - "GetUsageForecast": "

Retrieves a forecast for how much Amazon Web Services predicts that you will use over the forecast time period that you select, based on your past usage.

" + "GetUsageForecast": "

Retrieves a forecast for how much Amazon Web Services predicts that you will use over the forecast time period that you select, based on your past usage.

", + "ListCostCategoryDefinitions": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

Returns the name, ARN and effective dates of all Cost Categories defined in the account. You have the option to use EffectiveOn to return a list of Cost Categories that were active on a specific date. If there is no EffectiveOn specified, you’ll see Cost Categories that are effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response.

", + "UpdateCostCategoryDefinition": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

Updates an existing Cost Category. Changes made to the Cost Category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months.

" }, "shapes": { "AccountScope": { @@ -37,6 +42,19 @@ "ReservationAggregates$AmortizedUpfrontFee": "

The upfront cost of your reservation, amortized over the reservation period.

" } }, + "Arn": { + "base": null, + "refs": { + "CostCategory$CostCategoryArn": "

The unique identifier for your Cost Category.

", + "CostCategoryReference$CostCategoryArn": "

The unique identifier for your Cost Category Reference.

", + "CreateCostCategoryDefinitionResponse$CostCategoryArn": "

The unique identifier for your newly created Cost Category.

", + "DeleteCostCategoryDefinitionRequest$CostCategoryArn": "

The unique identifier for your Cost Category.

", + "DeleteCostCategoryDefinitionResponse$CostCategoryArn": "

The unique identifier for your Cost Category.

", + "DescribeCostCategoryDefinitionRequest$CostCategoryArn": "

The unique identifier for your Cost Category.

", + "UpdateCostCategoryDefinitionRequest$CostCategoryArn": "

The unique identifier for your Cost Category.

", + "UpdateCostCategoryDefinitionResponse$CostCategoryArn": "

The unique identifier for your Cost Category.

" + } + }, "AttributeType": { "base": null, "refs": { @@ -70,6 +88,67 @@ "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:

If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

" } }, + "CostCategory": { + "base": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

", + "refs": { + "DescribeCostCategoryDefinitionResponse$CostCategory": null + } + }, + "CostCategoryName": { + "base": "

The unique name of the Cost Category.

", + "refs": { + "CostCategory$Name": null, + "CostCategoryReference$Name": null, + "CostCategoryValues$Key": null, + "CreateCostCategoryDefinitionRequest$Name": null + } + }, + "CostCategoryReference": { + "base": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

A reference to a Cost Category containing only enough information to identify the Cost Category.

You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

", + "refs": { + "CostCategoryReferencesList$member": null + } + }, + "CostCategoryReferencesList": { + "base": null, + "refs": { + "ListCostCategoryDefinitionsResponse$CostCategoryReferences": "

A reference to a Cost Category containing enough information to identify the Cost Category.

" + } + }, + "CostCategoryRule": { + "base": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

", + "refs": { + "CostCategoryRulesList$member": null + } + }, + "CostCategoryRuleVersion": { + "base": "

The rule schema version in this particular Cost Category.

", + "refs": { + "CostCategory$RuleVersion": null, + "CreateCostCategoryDefinitionRequest$RuleVersion": null, + "UpdateCostCategoryDefinitionRequest$RuleVersion": null + } + }, + "CostCategoryRulesList": { + "base": null, + "refs": { + "CostCategory$Rules": "

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

", + "CreateCostCategoryDefinitionRequest$Rules": "

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

", + "UpdateCostCategoryDefinitionRequest$Rules": "

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

" + } + }, + "CostCategoryValue": { + "base": "

The value a line item will be categorized as, if it matches the rule.

", + "refs": { + "CostCategoryRule$Value": null + } + }, + "CostCategoryValues": { + "base": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

The values that are available for Cost Categories.

", + "refs": { + "Expression$CostCategories": "

Cost Category is in preview release for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10).

The specific CostCategory used for Expression.

" + } + }, "Coverage": { "base": "

The amount of instance usage that a reservation covered.

", "refs": { @@ -120,6 +199,16 @@ "GetReservationCoverageResponse$CoveragesByTime": "

The amount of time that your reservations covered.

" } }, + "CreateCostCategoryDefinitionRequest": { + "base": null, + "refs": { + } + }, + "CreateCostCategoryDefinitionResponse": { + "base": null, + "refs": { + } + }, "CurrentInstance": { "base": "

Context about the current instance.

", "refs": { @@ -154,6 +243,26 @@ "UtilizationByTime$TimePeriod": "

The period of time that this utilization was used for.

" } }, + "DeleteCostCategoryDefinitionRequest": { + "base": null, + "refs": { + } + }, + "DeleteCostCategoryDefinitionResponse": { + "base": null, + "refs": { + } + }, + "DescribeCostCategoryDefinitionRequest": { + "base": null, + "refs": { + } + }, + "DescribeCostCategoryDefinitionResponse": { + "base": null, + "refs": { + } + }, "Dimension": { "base": null, "refs": { @@ -229,6 +338,8 @@ "InvalidNextTokenException$Message": null, "LimitExceededException$Message": null, "RequestChangedException$Message": null, + "ResourceNotFoundException$Message": null, + "ServiceQuotaExceededException$Message": null, "UnresolvableUsageUnitException$Message": null } }, @@ -241,6 +352,7 @@ "Expression": { "base": "

Use Expression to filter by cost or by usage. There are two patterns:

For GetRightsizingRecommendation action, a combination of OR and NOT is not supported. OR is not supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.

", "refs": { + "CostCategoryRule$Rule": "

An Expression object used to categorize costs. This supports dimensions, Tags, and nested expressions. Currently the only dimensions supported is LINKED_ACCOUNT.

Root level OR is not supported. We recommend you create a separate rule instead.

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

", @@ -646,6 +758,16 @@ "refs": { } }, + "ListCostCategoryDefinitionsRequest": { + "base": null, + "refs": { + } + }, + "ListCostCategoryDefinitionsResponse": { + "base": null, + "refs": { + } + }, "LookbackPeriodInDays": { "base": null, "refs": { @@ -749,7 +871,9 @@ "GetSavingsPlansUtilizationDetailsRequest$NextToken": "

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

", "GetSavingsPlansUtilizationDetailsResponse$NextToken": "

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

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

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

", + "ListCostCategoryDefinitionsRequest$NextToken": "

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

", + "ListCostCategoryDefinitionsResponse$NextToken": "

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" } }, "NonNegativeInteger": { @@ -943,6 +1067,11 @@ "TargetInstance$ResourceDetails": "

Details on the target instance type.

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

The specified ARN in the request doesn't exist.

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

Resource utilization of current resource.

", "refs": { @@ -1115,6 +1244,11 @@ "GetTagsRequest$SearchString": "

The value that you want to search for.

" } }, + "ServiceQuotaExceededException": { + "base": "

You've reached the limit on the number of resources you can create, or exceeded the size of an individual resources.

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

Hardware specifications for the service that you want recommendations for.

", "refs": { @@ -1164,7 +1298,7 @@ "TargetInstancesList": { "base": null, "refs": { - "ModifyRecommendationDetail$TargetInstances": "

Identifies whether this instance type is the Amazon Web Services default recommendation.

" + "ModifyRecommendationDetail$TargetInstances": "

Identifies whether this instance type is the Amazon Web Services default recommendation.

" } }, "TermInYears": { @@ -1235,6 +1369,16 @@ "ReservationAggregates$UnusedUnits": "

The number of Amazon EC2 reservation hours that you didn't use, converted to normalized units. Normalized units are available only for Amazon EC2 usage after November 11, 2017.

" } }, + "UpdateCostCategoryDefinitionRequest": { + "base": null, + "refs": { + } + }, + "UpdateCostCategoryDefinitionResponse": { + "base": null, + "refs": { + } + }, "UtilizationByTime": { "base": "

The amount of utilization, in hours.

", "refs": { @@ -1269,6 +1413,7 @@ "Values": { "base": null, "refs": { + "CostCategoryValues$Values": "

The specific value of the Cost Category.

", "DimensionValues$Values": "

The metadata values that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

Valid values for the SERVICE dimension are Amazon Elastic Compute Cloud - Compute, Amazon Elasticsearch Service, Amazon ElastiCache, Amazon Redshift, and Amazon Relational Database Service.

", "TagValues$Values": "

The specific value of the tag.

" } @@ -1279,6 +1424,20 @@ "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.

" } + }, + "ZonedDateTime": { + "base": "

The time period that you want the usage and costs for.

", + "refs": { + "CostCategory$EffectiveStart": "

The Cost Category's effective start date.

", + "CostCategory$EffectiveEnd": "

The Cost Category's effective end date.

", + "CostCategoryReference$EffectiveStart": "

The Cost Category's effective start date.

", + "CostCategoryReference$EffectiveEnd": "

The Cost Category's effective end date.

", + "CreateCostCategoryDefinitionResponse$EffectiveStart": "

The Cost Category's effective start date.

", + "DeleteCostCategoryDefinitionResponse$EffectiveEnd": "

The effective end date of the Cost Category as a result of deleting it. No costs after this date will be categorized by the deleted Cost Category.

", + "DescribeCostCategoryDefinitionRequest$EffectiveOn": "

The date when the Cost Category was effective.

", + "ListCostCategoryDefinitionsRequest$EffectiveOn": "

The date when the Cost Category was effective.

", + "UpdateCostCategoryDefinitionResponse$EffectiveStart": "

The Cost Category's effective start date.

" + } } } } diff --git a/models/apis/codebuild/2016-10-06/api-2.json b/models/apis/codebuild/2016-10-06/api-2.json index 7df33a653c6..3912792335e 100644 --- a/models/apis/codebuild/2016-10-06/api-2.json +++ b/models/apis/codebuild/2016-10-06/api-2.json @@ -48,6 +48,30 @@ {"shape":"InvalidInputException"} ] }, + "BatchGetReportGroups":{ + "name":"BatchGetReportGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetReportGroupsInput"}, + "output":{"shape":"BatchGetReportGroupsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, + "BatchGetReports":{ + "name":"BatchGetReports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetReportsInput"}, + "output":{"shape":"BatchGetReportsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, "CreateProject":{ "name":"CreateProject", "http":{ @@ -62,6 +86,20 @@ {"shape":"AccountLimitExceededException"} ] }, + "CreateReportGroup":{ + "name":"CreateReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateReportGroupInput"}, + "output":{"shape":"CreateReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"AccountLimitExceededException"} + ] + }, "CreateWebhook":{ "name":"CreateWebhook", "http":{ @@ -89,6 +127,30 @@ {"shape":"InvalidInputException"} ] }, + "DeleteReport":{ + "name":"DeleteReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteReportInput"}, + "output":{"shape":"DeleteReportOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, + "DeleteReportGroup":{ + "name":"DeleteReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteReportGroupInput"}, + "output":{"shape":"DeleteReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, "DeleteSourceCredentials":{ "name":"DeleteSourceCredentials", "http":{ @@ -116,6 +178,19 @@ {"shape":"OAuthProviderException"} ] }, + "DescribeTestCases":{ + "name":"DescribeTestCases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTestCasesInput"}, + "output":{"shape":"DescribeTestCasesOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ImportSourceCredentials":{ "name":"ImportSourceCredentials", "http":{ @@ -189,6 +264,43 @@ {"shape":"InvalidInputException"} ] }, + "ListReportGroups":{ + "name":"ListReportGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReportGroupsInput"}, + "output":{"shape":"ListReportGroupsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, + "ListReports":{ + "name":"ListReports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReportsInput"}, + "output":{"shape":"ListReportsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, + "ListReportsForReportGroup":{ + "name":"ListReportsForReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReportsForReportGroupInput"}, + "output":{"shape":"ListReportsForReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListSourceCredentials":{ "name":"ListSourceCredentials", "http":{ @@ -238,6 +350,19 @@ {"shape":"ResourceNotFoundException"} ] }, + "UpdateReportGroup":{ + "name":"UpdateReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateReportGroupInput"}, + "output":{"shape":"UpdateReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateWebhook":{ "name":"UpdateWebhook", "http":{ @@ -332,6 +457,34 @@ "projectsNotFound":{"shape":"ProjectNames"} } }, + "BatchGetReportGroupsInput":{ + "type":"structure", + "required":["reportGroupArns"], + "members":{ + "reportGroupArns":{"shape":"ReportGroupArns"} + } + }, + "BatchGetReportGroupsOutput":{ + "type":"structure", + "members":{ + "reportGroups":{"shape":"ReportGroups"}, + "reportGroupsNotFound":{"shape":"ReportGroupArns"} + } + }, + "BatchGetReportsInput":{ + "type":"structure", + "required":["reportArns"], + "members":{ + "reportArns":{"shape":"ReportArns"} + } + }, + "BatchGetReportsOutput":{ + "type":"structure", + "members":{ + "reports":{"shape":"Reports"}, + "reportsNotFound":{"shape":"ReportArns"} + } + }, "Boolean":{"type":"boolean"}, "Build":{ "type":"structure", @@ -363,7 +516,8 @@ "vpcConfig":{"shape":"VpcConfig"}, "networkInterface":{"shape":"NetworkInterface"}, "encryptionKey":{"shape":"NonEmptyString"}, - "exportedEnvironmentVariables":{"shape":"ExportedEnvironmentVariables"} + "exportedEnvironmentVariables":{"shape":"ExportedEnvironmentVariables"}, + "reportArns":{"shape":"BuildReportArns"} } }, "BuildArtifacts":{ @@ -427,6 +581,10 @@ "type":"list", "member":{"shape":"BuildPhase"} }, + "BuildReportArns":{ + "type":"list", + "member":{"shape":"String"} + }, "Builds":{ "type":"list", "member":{"shape":"Build"} @@ -505,6 +663,25 @@ "project":{"shape":"Project"} } }, + "CreateReportGroupInput":{ + "type":"structure", + "required":[ + "name", + "type", + "exportConfig" + ], + "members":{ + "name":{"shape":"ReportGroupName"}, + "type":{"shape":"ReportType"}, + "exportConfig":{"shape":"ReportExportConfig"} + } + }, + "CreateReportGroupOutput":{ + "type":"structure", + "members":{ + "reportGroup":{"shape":"ReportGroup"} + } + }, "CreateWebhookInput":{ "type":"structure", "required":["projectName"], @@ -536,6 +713,30 @@ "members":{ } }, + "DeleteReportGroupInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"NonEmptyString"} + } + }, + "DeleteReportGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteReportInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"NonEmptyString"} + } + }, + "DeleteReportOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteSourceCredentialsInput":{ "type":"structure", "required":["arn"], @@ -561,6 +762,23 @@ "members":{ } }, + "DescribeTestCasesInput":{ + "type":"structure", + "required":["reportArn"], + "members":{ + "reportArn":{"shape":"String"}, + "nextToken":{"shape":"String"}, + "maxResults":{"shape":"PageSize"}, + "filter":{"shape":"TestCaseFilter"} + } + }, + "DescribeTestCasesOutput":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"String"}, + "testCases":{"shape":"TestCases"} + } + }, "EnvironmentImage":{ "type":"structure", "members":{ @@ -785,6 +1003,56 @@ "projects":{"shape":"ProjectNames"} } }, + "ListReportGroupsInput":{ + "type":"structure", + "members":{ + "sortOrder":{"shape":"SortOrderType"}, + "sortBy":{"shape":"ReportGroupSortByType"}, + "nextToken":{"shape":"String"}, + "maxResults":{"shape":"PageSize"} + } + }, + "ListReportGroupsOutput":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"String"}, + "reportGroups":{"shape":"ReportGroupArns"} + } + }, + "ListReportsForReportGroupInput":{ + "type":"structure", + "required":["reportGroupArn"], + "members":{ + "reportGroupArn":{"shape":"String"}, + "nextToken":{"shape":"String"}, + "sortOrder":{"shape":"SortOrderType"}, + "maxResults":{"shape":"PageSize"}, + "filter":{"shape":"ReportFilter"} + } + }, + "ListReportsForReportGroupOutput":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"String"}, + "reports":{"shape":"ReportArns"} + } + }, + "ListReportsInput":{ + "type":"structure", + "members":{ + "sortOrder":{"shape":"SortOrderType"}, + "nextToken":{"shape":"String"}, + "maxResults":{"shape":"PageSize"}, + "filter":{"shape":"ReportFilter"} + } + }, + "ListReportsOutput":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"String"}, + "reports":{"shape":"ReportArns"} + } + }, "ListSourceCredentialsInput":{ "type":"structure", "members":{ @@ -840,6 +1108,11 @@ }, "exception":true }, + "PageSize":{ + "type":"integer", + "max":100, + "min":1 + }, "PhaseContext":{ "type":"structure", "members":{ @@ -1024,6 +1297,116 @@ "credentialProvider":{"shape":"CredentialProviderType"} } }, + "Report":{ + "type":"structure", + "members":{ + "arn":{"shape":"NonEmptyString"}, + "type":{"shape":"ReportType"}, + "name":{"shape":"String"}, + "reportGroupArn":{"shape":"NonEmptyString"}, + "executionId":{"shape":"String"}, + "status":{"shape":"ReportStatusType"}, + "created":{"shape":"Timestamp"}, + "expired":{"shape":"Timestamp"}, + "exportConfig":{"shape":"ReportExportConfig"}, + "truncated":{"shape":"WrapperBoolean"}, + "testSummary":{"shape":"TestReportSummary"} + } + }, + "ReportArns":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":1 + }, + "ReportExportConfig":{ + "type":"structure", + "members":{ + "exportConfigType":{"shape":"ReportExportConfigType"}, + "s3Destination":{"shape":"S3ReportExportConfig"} + } + }, + "ReportExportConfigType":{ + "type":"string", + "enum":[ + "S3", + "NO_EXPORT" + ] + }, + "ReportFilter":{ + "type":"structure", + "members":{ + "status":{"shape":"ReportStatusType"} + } + }, + "ReportGroup":{ + "type":"structure", + "members":{ + "arn":{"shape":"NonEmptyString"}, + "name":{"shape":"ReportGroupName"}, + "type":{"shape":"ReportType"}, + "exportConfig":{"shape":"ReportExportConfig"}, + "created":{"shape":"Timestamp"}, + "lastModified":{"shape":"Timestamp"} + } + }, + "ReportGroupArns":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":1 + }, + "ReportGroupName":{ + "type":"string", + "max":128, + "min":2 + }, + "ReportGroupSortByType":{ + "type":"string", + "enum":[ + "NAME", + "CREATED_TIME", + "LAST_MODIFIED_TIME" + ] + }, + "ReportGroups":{ + "type":"list", + "member":{"shape":"ReportGroup"}, + "max":100, + "min":1 + }, + "ReportPackagingType":{ + "type":"string", + "enum":[ + "ZIP", + "NONE" + ] + }, + "ReportStatusCounts":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"WrapperInt"} + }, + "ReportStatusType":{ + "type":"string", + "enum":[ + "GENERATING", + "SUCCEEDED", + "FAILED", + "INCOMPLETE", + "DELETING" + ] + }, + "ReportType":{ + "type":"string", + "enum":["TEST"] + }, + "Reports":{ + "type":"list", + "member":{"shape":"Report"}, + "max":100, + "min":1 + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -1045,6 +1428,16 @@ "encryptionDisabled":{"shape":"WrapperBoolean"} } }, + "S3ReportExportConfig":{ + "type":"structure", + "members":{ + "bucket":{"shape":"NonEmptyString"}, + "path":{"shape":"String"}, + "packaging":{"shape":"ReportPackagingType"}, + "encryptionKey":{"shape":"NonEmptyString"}, + "encryptionDisabled":{"shape":"WrapperBoolean"} + } + }, "SecurityGroupIds":{ "type":"list", "member":{"shape":"NonEmptyString"}, @@ -1189,6 +1582,42 @@ "max":50, "min":0 }, + "TestCase":{ + "type":"structure", + "members":{ + "reportArn":{"shape":"NonEmptyString"}, + "testRawDataPath":{"shape":"String"}, + "prefix":{"shape":"String"}, + "name":{"shape":"String"}, + "status":{"shape":"String"}, + "durationInNanoSeconds":{"shape":"WrapperLong"}, + "message":{"shape":"String"}, + "expired":{"shape":"Timestamp"} + } + }, + "TestCaseFilter":{ + "type":"structure", + "members":{ + "status":{"shape":"String"} + } + }, + "TestCases":{ + "type":"list", + "member":{"shape":"TestCase"} + }, + "TestReportSummary":{ + "type":"structure", + "required":[ + "total", + "statusCounts", + "durationInNanoSeconds" + ], + "members":{ + "total":{"shape":"WrapperInt"}, + "statusCounts":{"shape":"ReportStatusCounts"}, + "durationInNanoSeconds":{"shape":"WrapperLong"} + } + }, "TimeOut":{ "type":"integer", "max":480, @@ -1225,6 +1654,20 @@ "project":{"shape":"Project"} } }, + "UpdateReportGroupInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"NonEmptyString"}, + "exportConfig":{"shape":"ReportExportConfig"} + } + }, + "UpdateReportGroupOutput":{ + "type":"structure", + "members":{ + "reportGroup":{"shape":"ReportGroup"} + } + }, "UpdateWebhookInput":{ "type":"structure", "required":["projectName"], diff --git a/models/apis/codebuild/2016-10-06/docs-2.json b/models/apis/codebuild/2016-10-06/docs-2.json index 02fb0c94fe6..46c172e84c4 100644 --- a/models/apis/codebuild/2016-10-06/docs-2.json +++ b/models/apis/codebuild/2016-10-06/docs-2.json @@ -1,25 +1,35 @@ { "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. 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. 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 one or more builds.

", "BatchGetProjects": "

Gets information about one or more build projects.

", + "BatchGetReportGroups": "

Returns an array of report groups.

", + "BatchGetReports": "

Returns an array of reports.

", "CreateProject": "

Creates a build project.

", + "CreateReportGroup": "

Creates a report group. A report group contains a collection of reports.

", "CreateWebhook": "

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings.

", "DeleteProject": "

Deletes a build project. When you delete a project, its builds are not deleted.

", + "DeleteReport": "

Deletes a report.

", + "DeleteReportGroup": "

DeleteReportGroup: Deletes a report group. Before you delete a report group, you must delete its reports. Use ListReportsForReportGroup to get the reports in a report group. Use DeleteReport to delete the reports. If you call DeleteReportGroup for a report group that contains one or more reports, an exception is thrown.

", "DeleteSourceCredentials": "

Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials.

", "DeleteWebhook": "

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding the source code every time a code change is pushed to the repository.

", + "DescribeTestCases": "

Returns a list of details about test cases for a report.

", "ImportSourceCredentials": "

Imports the source repository credentials for an AWS CodeBuild project that has its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.

", "InvalidateProjectCache": "

Resets the cache for a project.

", "ListBuilds": "

Gets a list of build IDs, with each build ID representing a single build.

", "ListBuildsForProject": "

Gets a list of build IDs for the specified build project, with each build ID representing a single build.

", "ListCuratedEnvironmentImages": "

Gets information about Docker images that are managed by AWS CodeBuild.

", "ListProjects": "

Gets a list of build project names, with each build project name representing a single build project.

", + "ListReportGroups": "

Gets a list ARNs for the report groups in the current AWS account.

", + "ListReports": "

Returns a list of ARNs for the reports in the current AWS account.

", + "ListReportsForReportGroup": "

Returns a list of ARNs for the reports that belong to a ReportGroup.

", "ListSourceCredentials": "

Returns a list of SourceCredentialsInfo objects.

", "StartBuild": "

Starts running a build.

", "StopBuild": "

Attempts to stop running a build.

", "UpdateProject": "

Changes the settings of a build project.

", + "UpdateReportGroup": "

Updates a report group.

", "UpdateWebhook": "

Updates the webhook associated with an AWS CodeBuild build project.

If you use Bitbucket for your repository, rotateSecret is ignored.

" }, "shapes": { @@ -83,6 +93,26 @@ "refs": { } }, + "BatchGetReportGroupsInput": { + "base": null, + "refs": { + } + }, + "BatchGetReportGroupsOutput": { + "base": null, + "refs": { + } + }, + "BatchGetReportsInput": { + "base": null, + "refs": { + } + }, + "BatchGetReportsOutput": { + "base": null, + "refs": { + } + }, "Boolean": { "base": null, "refs": { @@ -147,6 +177,12 @@ "Build$phases": "

Information about all previous build phases that are complete and information about any current build phase that is not yet complete.

" } }, + "BuildReportArns": { + "base": null, + "refs": { + "Build$reportArns": "

An array of the ARNs associated with this build's reports.

" + } + }, "Builds": { "base": null, "refs": { @@ -195,6 +231,16 @@ "refs": { } }, + "CreateReportGroupInput": { + "base": null, + "refs": { + } + }, + "CreateReportGroupOutput": { + "base": null, + "refs": { + } + }, "CreateWebhookInput": { "base": null, "refs": { @@ -221,6 +267,26 @@ "refs": { } }, + "DeleteReportGroupInput": { + "base": null, + "refs": { + } + }, + "DeleteReportGroupOutput": { + "base": null, + "refs": { + } + }, + "DeleteReportInput": { + "base": null, + "refs": { + } + }, + "DeleteReportOutput": { + "base": null, + "refs": { + } + }, "DeleteSourceCredentialsInput": { "base": null, "refs": { @@ -241,6 +307,16 @@ "refs": { } }, + "DescribeTestCasesInput": { + "base": null, + "refs": { + } + }, + "DescribeTestCasesOutput": { + "base": null, + "refs": { + } + }, "EnvironmentImage": { "base": "

Information about a Docker image that is managed by AWS CodeBuild.

", "refs": { @@ -293,7 +369,7 @@ "EnvironmentVariableType": { "base": null, "refs": { - "EnvironmentVariable$type": "

The type of environment variable. Valid values include:

" + "EnvironmentVariable$type": "

The type of environment variable. Valid values include:

" } }, "EnvironmentVariables": { @@ -325,7 +401,7 @@ "base": null, "refs": { "CreateWebhookInput$filterGroups": "

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

", - "UpdateWebhookInput$filterGroups": "

An array of arrays of WebhookFilter objects used to determine if a webhook event can trigger a build. A filter group must pcontain at least one EVENT WebhookFilter.

", + "UpdateWebhookInput$filterGroups": "

An array of arrays of WebhookFilter objects used to determine if a webhook event can trigger a build. A filter group must contain at least one EVENT WebhookFilter.

", "Webhook$filterGroups": "

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

" } }, @@ -433,6 +509,36 @@ "refs": { } }, + "ListReportGroupsInput": { + "base": null, + "refs": { + } + }, + "ListReportGroupsOutput": { + "base": null, + "refs": { + } + }, + "ListReportsForReportGroupInput": { + "base": null, + "refs": { + } + }, + "ListReportsForReportGroupOutput": { + "base": null, + "refs": { + } + }, + "ListReportsInput": { + "base": null, + "refs": { + } + }, + "ListReportsOutput": { + "base": null, + "refs": { + } + }, "ListSourceCredentialsInput": { "base": null, "refs": { @@ -486,6 +592,8 @@ "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 use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", "DeleteProjectInput$name": "

The name of the build project.

", + "DeleteReportGroupInput$arn": "

The ARN of the report group to delete.

", + "DeleteReportInput$arn": "

The ARN of the report to delete.

", "DeleteSourceCredentialsInput$arn": "

The Amazon Resource Name (ARN) of the token.

", "DeleteSourceCredentialsOutput$arn": "

The Amazon Resource Name (ARN) of the token.

", "EnvironmentVariable$name": "

The name or key of the environment variable.

", @@ -502,6 +610,13 @@ "ProjectEnvironment$image": "

The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:

", "ProjectNames$member": null, "RegistryCredential$credential": "

The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager.

The credential can use the name of the credentials only if they exist in your current region.

", + "Report$arn": "

The ARN of the report run.

", + "Report$reportGroupArn": "

The ARN of the report group associated with this report.

", + "ReportArns$member": null, + "ReportGroup$arn": "

The ARN of a ReportGroup.

", + "ReportGroupArns$member": null, + "S3ReportExportConfig$bucket": "

The name of the S3 bucket where the raw data of a report are exported.

", + "S3ReportExportConfig$encryptionKey": "

The encryption key for the report's encrypted raw data.

", "SecurityGroupIds$member": null, "SourceCredentialsInfo$arn": "

The Amazon Resource Name (ARN) of the token.

", "StartBuildInput$projectName": "

The name of the AWS CodeBuild build project to start running a build.

", @@ -509,9 +624,11 @@ "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, + "TestCase$reportArn": "

The ARN of the report to which the test case belongs.

", "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 AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "UpdateReportGroupInput$arn": "

The ARN of the report group to update.

", "VpcConfig$vpcId": "

The ID of the Amazon VPC.

", "Webhook$url": "

The URL to the webhook.

", "Webhook$payloadUrl": "

The AWS CodeBuild endpoint where webhook events are sent.

", @@ -523,6 +640,15 @@ "refs": { } }, + "PageSize": { + "base": null, + "refs": { + "DescribeTestCasesInput$maxResults": "

The maximum number of paginated test cases returned per response. Use nextToken to iterate pages in the list of returned TestCase objects. The default value is 100.

", + "ListReportGroupsInput$maxResults": "

The maximum number of paginated report groups returned per response. Use nextToken to iterate pages in the list of returned ReportGroup objects. The default value is 100.

", + "ListReportsForReportGroupInput$maxResults": "

The maximum number of paginated reports in this report group returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100.

", + "ListReportsInput$maxResults": "

The maximum number of paginated reports returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100.

" + } + }, "PhaseContext": { "base": "

Additional information about a build phase that has an error. You can use this information for troubleshooting.

", "refs": { @@ -587,7 +713,7 @@ "ProjectCacheModes": { "base": null, "refs": { - "ProjectCache$modes": "

If you use a LOCAL cache, the local cache mode. You can use one or more local cache modes at the same time.

" + "ProjectCache$modes": "

If you use a LOCAL cache, the local cache mode. You can use one or more local cache modes at the same time.

" } }, "ProjectDescription": { @@ -628,7 +754,7 @@ "ProjectSecondarySourceVersions": { "base": null, "refs": { - "Build$secondarySourceVersions": "

An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one of:

", + "Build$secondarySourceVersions": "

An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one of:

", "CreateProjectInput$secondarySourceVersions": "

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level).

", "Project$secondarySourceVersions": "

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

", "StartBuildInput$secondarySourcesVersionOverride": "

An array of ProjectSourceVersion objects that specify one or more versions of the project's secondary sources to be used for this build only.

", @@ -680,6 +806,111 @@ "StartBuildInput$registryCredentialOverride": "

The credentials for access to a private registry.

" } }, + "Report": { + "base": "

Information about the results from running a series of test cases during the run of a build project. The test cases are specified in the buildspec for the build project using one or more paths to the test case files. You can specify any type of tests you want, such as unit tests, integration tests, and functional tests.

", + "refs": { + "Reports$member": null + } + }, + "ReportArns": { + "base": null, + "refs": { + "BatchGetReportsInput$reportArns": "

An array of ARNs that identify the Report objects to return.

", + "BatchGetReportsOutput$reportsNotFound": "

An array of ARNs passed to BatchGetReportGroups that are not associated with a Report.

", + "ListReportsForReportGroupOutput$reports": "

The list of returned report group ARNs.

", + "ListReportsOutput$reports": "

The list of returned ARNs for the reports in the current AWS account.

" + } + }, + "ReportExportConfig": { + "base": "

Information about the location where the run of a report is exported.

", + "refs": { + "CreateReportGroupInput$exportConfig": "

A ReportExportConfig object that contains information about where the report group test results are exported.

", + "Report$exportConfig": "

Information about where the raw data used to generate this report was exported.

", + "ReportGroup$exportConfig": "

Information about the destination where the raw data of this ReportGroup is exported.

", + "UpdateReportGroupInput$exportConfig": "

Used to specify an updated export type. Valid values are:

" + } + }, + "ReportExportConfigType": { + "base": null, + "refs": { + "ReportExportConfig$exportConfigType": "

The export configuration type. Valid values are:

" + } + }, + "ReportFilter": { + "base": "

A filter used to return reports with the status specified by the input status parameter.

", + "refs": { + "ListReportsForReportGroupInput$filter": "

A ReportFilter object used to filter the returned reports.

", + "ListReportsInput$filter": "

A ReportFilter object used to filter the returned reports.

" + } + }, + "ReportGroup": { + "base": "

A series of reports. Each report contains information about the results from running a series of test cases. You specify the test cases for a report group in the buildspec for a build project using one or more paths to the test case files.

", + "refs": { + "CreateReportGroupOutput$reportGroup": "

Information about the report group that was created.

", + "ReportGroups$member": null, + "UpdateReportGroupOutput$reportGroup": "

Information about the updated report group.

" + } + }, + "ReportGroupArns": { + "base": null, + "refs": { + "BatchGetReportGroupsInput$reportGroupArns": "

An array of report group ARNs that identify the report groups to return.

", + "BatchGetReportGroupsOutput$reportGroupsNotFound": "

An array of ARNs passed to BatchGetReportGroups that are not associated with a ReportGroup.

", + "ListReportGroupsOutput$reportGroups": "

The list of ARNs for the report groups in the current AWS account.

" + } + }, + "ReportGroupName": { + "base": null, + "refs": { + "CreateReportGroupInput$name": "

The name of the report group.

", + "ReportGroup$name": "

The name of a ReportGroup.

" + } + }, + "ReportGroupSortByType": { + "base": null, + "refs": { + "ListReportGroupsInput$sortBy": "

The criterion to be used to list build report groups. Valid values include:

" + } + }, + "ReportGroups": { + "base": null, + "refs": { + "BatchGetReportGroupsOutput$reportGroups": "

The array of report groups returned by BatchGetReportGroups.

" + } + }, + "ReportPackagingType": { + "base": null, + "refs": { + "S3ReportExportConfig$packaging": "

The type of build output artifact to create. Valid values include:

" + } + }, + "ReportStatusCounts": { + "base": null, + "refs": { + "TestReportSummary$statusCounts": "

A map that contains the number of each type of status returned by the test results in this TestReportSummary.

" + } + }, + "ReportStatusType": { + "base": null, + "refs": { + "Report$status": "

The status of this report.

", + "ReportFilter$status": "

The status used to filter reports. You can filter using one status only.

" + } + }, + "ReportType": { + "base": null, + "refs": { + "CreateReportGroupInput$type": "

The type of report group.

", + "Report$type": "

The type of the report that was run.

", + "ReportGroup$type": "

The type of the ReportGroup. The one valid value is TEST.

" + } + }, + "Reports": { + "base": null, + "refs": { + "BatchGetReportsOutput$reports": "

The array of Report objects returned by BatchGetReports.

" + } + }, "ResourceAlreadyExistsException": { "base": "

The specified AWS resource cannot be created, because an AWS resource with the same settings already exists.

", "refs": { @@ -697,6 +928,12 @@ "LogsLocation$s3Logs": "

Information about S3 logs for a build project.

" } }, + "S3ReportExportConfig": { + "base": "

Information about the S3 bucket where the raw data of a report are exported.

", + "refs": { + "ReportExportConfig$s3Destination": "

A S3ReportExportConfig object that contains information about the S3 bucket where the run of a report is exported.

" + } + }, "SecurityGroupIds": { "base": null, "refs": { @@ -721,7 +958,10 @@ "refs": { "ListBuildsForProjectInput$sortOrder": "

The order to list build IDs. Valid values include:

", "ListBuildsInput$sortOrder": "

The order to list build IDs. Valid values include:

", - "ListProjectsInput$sortOrder": "

The order in which to list build projects. Valid values include:

Use sortBy to specify the criterion to be used to list build project names.

" + "ListProjectsInput$sortOrder": "

The order in which to list build projects. Valid values include:

Use sortBy to specify the criterion to be used to list build project names.

", + "ListReportGroupsInput$sortOrder": "

Used to specify the order to sort the list of returned report groups. Valid values are ASCENDING and DESCENDING.

", + "ListReportsForReportGroupInput$sortOrder": "

Use to specify whether the results are returned in ascending or descending order.

", + "ListReportsInput$sortOrder": "

Specifies the sort order for the list of returned reports. Valid values are:

" } }, "SourceAuth": { @@ -793,10 +1033,14 @@ "BuildArtifacts$md5sum": "

The MD5 hash of the build artifact.

You can use this hash along with a checksum tool to confirm file integrity and authenticity.

This value is available only if the build project's packaging value is set to ZIP.

", "BuildArtifacts$artifactIdentifier": "

An identifier for this artifact definition.

", "BuildNotDeleted$statusCode": "

Additional information about the build that could not be successfully deleted.

", + "BuildReportArns$member": null, "CloudWatchLogsConfig$groupName": "

The group name of the logs in Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

", "CloudWatchLogsConfig$streamName": "

The prefix of the stream name of the Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

", - "CreateProjectInput$sourceVersion": "

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", + "CreateProjectInput$sourceVersion": "

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", "CreateWebhookInput$branchFilter": "

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

", + "DescribeTestCasesInput$reportArn": "

The ARN of the report for which test cases are returned.

", + "DescribeTestCasesInput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", + "DescribeTestCasesOutput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", "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 the use of environment variables to store sensitive values, especially AWS secret key IDs and secret access keys. Environment variables can be displayed in plain text using the AWS CodeBuild console and the AWS Command Line Interface (AWS CLI).

", @@ -807,6 +1051,13 @@ "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 nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", "ListBuildsOutput$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 nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call.

", "ListProjectsOutput$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 nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call.

", + "ListReportGroupsInput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", + "ListReportGroupsOutput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", + "ListReportsForReportGroupInput$reportGroupArn": "

The ARN of the report group for which you want to return report ARNs.

", + "ListReportsForReportGroupInput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", + "ListReportsForReportGroupOutput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", + "ListReportsInput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", + "ListReportsOutput$nextToken": "

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

", "LogsLocation$groupName": "

The name of the Amazon CloudWatch Logs group for the build logs.

", "LogsLocation$streamName": "

The name of the Amazon CloudWatch Logs stream for the build logs.

", "LogsLocation$deepLink": "

The URL to an individual build log in Amazon CloudWatch Logs.

", @@ -816,7 +1067,7 @@ "PhaseContext$statusCode": "

The status code for the context of the build phase.

", "PhaseContext$message": "

An explanation of the build phase's context. This might include a command ID and an exit code.

", "Project$arn": "

The Amazon Resource Name (ARN) of the build project.

", - "Project$sourceVersion": "

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", + "Project$sourceVersion": "

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", "ProjectArtifacts$location": "

Information about the build output artifact location:

", "ProjectArtifacts$path": "

Along with namespaceType and name, the pattern that AWS CodeBuild uses to name and store the output artifact:

For example, if path is set to MyArtifacts, namespaceType is set to NONE, and name is set to MyArtifact.zip, the output artifact is stored in the output bucket at MyArtifacts/MyArtifact.zip.

", "ProjectArtifacts$name": "

Along with path and namespaceType, the pattern that AWS CodeBuild uses to name and store the output artifact:

For example:

", @@ -828,15 +1079,25 @@ "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.

", "ProjectSource$sourceIdentifier": "

An identifier for this project source.

", "ProjectSourceVersion$sourceIdentifier": "

An identifier for a source in the build project.

", - "ProjectSourceVersion$sourceVersion": "

The source version for the corresponding source identifier. If specified, must be one of:

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", + "ProjectSourceVersion$sourceVersion": "

The source version for the corresponding source identifier. If specified, must be one of:

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", + "Report$name": "

The name of the report that was run.

", + "Report$executionId": "

The ARN of the build run that generated this report.

", + "ReportStatusCounts$key": null, "S3LogsConfig$location": "

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is my-bucket, and your path prefix is build-log, then acceptable formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log.

", + "S3ReportExportConfig$path": "

The path to the exported report's raw data results.

", "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 is used. If specified, must be one of:

If sourceVersion is specified at the project level, then this sourceVersion (at the build level) takes precedence.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", + "StartBuildInput$sourceVersion": "

A version of the build input to be built, for this build only. If not specified, the latest version is used. If specified, must be one of:

If sourceVersion is specified at the project level, then this sourceVersion (at the build level) takes precedence.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

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

", - "UpdateProjectInput$sourceVersion": "

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", + "TestCase$testRawDataPath": "

The path to the raw data file that contains the test result.

", + "TestCase$prefix": "

A string that is applied to a series of related test cases. CodeBuild generates the prefix. The prefix depends on the framework used to generate the tests.

", + "TestCase$name": "

The name of the test case.

", + "TestCase$status": "

The status returned by the test case after it was run. Valid statuses are SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN.

", + "TestCase$message": "

A message associated with a test case. For example, an error message or stack trace.

", + "TestCaseFilter$status": "

The status used to filter test cases. Valid statuses are SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN. A TestCaseFilter can have one status.

", + "UpdateProjectInput$sourceVersion": "

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", "UpdateWebhookInput$branchFilter": "

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

", "Webhook$branchFilter": "

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

", "WebhookFilter$pattern": "

For a WebHookFilter that uses EVENT type, a comma-separated string that specifies one or more events. For example, the webhook filter PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED allows all push, pull request created, and pull request updated events to trigger a build.

For a WebHookFilter that uses any of the other filter types, a regular expression pattern. For example, a WebHookFilter that uses HEAD_REF for its type and the pattern ^refs/heads/ triggers a build when the head reference is a branch with a reference name refs/heads/branch-name.

" @@ -862,6 +1123,30 @@ "UpdateProjectInput$tags": "

The replacement set of tags for this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

" } }, + "TestCase": { + "base": "

Information about a test case created using a framework such as NUnit or Cucumber. A test case might be a unit test or a configuration test.

", + "refs": { + "TestCases$member": null + } + }, + "TestCaseFilter": { + "base": "

A filter used to return specific types of test cases.

", + "refs": { + "DescribeTestCasesInput$filter": "

A TestCaseFilter object used to filter the returned reports.

" + } + }, + "TestCases": { + "base": null, + "refs": { + "DescribeTestCasesOutput$testCases": "

The returned list of test cases.

" + } + }, + "TestReportSummary": { + "base": "

Information about a test report.

", + "refs": { + "Report$testSummary": "

A TestReportSummary object that contains information about this test report.

" + } + }, "TimeOut": { "base": null, "refs": { @@ -884,6 +1169,11 @@ "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.

", + "Report$created": "

The date and time this report run occurred.

", + "Report$expired": "

The date and time a report expires. A report expires 30 days after it is created. An expired report is not available to view in CodeBuild.

", + "ReportGroup$created": "

The date and time this ReportGroup was created.

", + "ReportGroup$lastModified": "

The date and time this ReportGroup was last modified.

", + "TestCase$expired": "

The date and time a test case expires. A test case expires 30 days after it is created. An expired test case is not available to view in CodeBuild.

", "Webhook$lastModifiedSecret": "

A timestamp that indicates the last time a repository's secret token was modified.

" } }, @@ -897,6 +1187,16 @@ "refs": { } }, + "UpdateReportGroupInput": { + "base": null, + "refs": { + } + }, + "UpdateReportGroupOutput": { + "base": null, + "refs": { + } + }, "UpdateWebhookInput": { "base": null, "refs": { @@ -955,7 +1255,9 @@ "ProjectEnvironment$privilegedMode": "

Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is false.

You can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:

If the operating system's base image is Ubuntu Linux:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"

If the operating system's base image is Alpine Linux and the previous command does not work, add the -t argument to timeout:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"

", "ProjectSource$reportBuildStatus": "

Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, or Bitbucket. If this is set and you use a different source provider, an invalidInputException is thrown.

The status of a build triggered by a webhook is always reported to your source provider.

", "ProjectSource$insecureSsl": "

Enable this flag to ignore SSL warnings while connecting to the project source code.

", + "Report$truncated": "

A boolean that specifies if this report run is truncated. The list of test cases is truncated after the maximum number of test cases is reached.

", "S3LogsConfig$encryptionDisabled": "

Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.

", + "S3ReportExportConfig$encryptionDisabled": "

A boolean value that specifies if the results of a report are encrypted.

", "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, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown.

The status of a build triggered by a webhook is always reported to your source provider.

", "StartBuildInput$privilegedModeOverride": "

Enable this flag to override privileged mode in the build project.

", @@ -967,14 +1269,18 @@ "base": null, "refs": { "Build$timeoutInMinutes": "

How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not get marked as completed.

", - "Build$queuedTimeoutInMinutes": "

The number of minutes a build is allowed to be queued before it times out.

" + "Build$queuedTimeoutInMinutes": "

The number of minutes a build is allowed to be queued before it times out.

", + "ReportStatusCounts$value": null, + "TestReportSummary$total": "

The number of test cases in this TestReportSummary. The total includes truncated test cases.

" } }, "WrapperLong": { "base": null, "refs": { "Build$buildNumber": "

The number of the build. For each project, the buildNumber of its first build is 1. The buildNumber of each subsequent build is incremented by 1. If a build is deleted, the buildNumber of other builds does not change.

", - "BuildPhase$durationInSeconds": "

How long, in seconds, between the starting and ending times of the build's phase.

" + "BuildPhase$durationInSeconds": "

How long, in seconds, between the starting and ending times of the build's phase.

", + "TestCase$durationInNanoSeconds": "

The number of nanoseconds it took to run this test case.

", + "TestReportSummary$durationInNanoSeconds": "

The number of nanoseconds it took to run all of the test cases in this report.

" } } } 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 e9c26736531..152bfcb9d68 100644 --- a/models/apis/cognito-idp/2016-04-18/api-2.json +++ b/models/apis/cognito-idp/2016-04-18/api-2.json @@ -3760,6 +3760,7 @@ "Facebook", "Google", "LoginWithAmazon", + "SignInWithApple", "OIDC" ] }, diff --git a/models/apis/comprehend/2017-11-27/api-2.json b/models/apis/comprehend/2017-11-27/api-2.json index d6eafbc3883..63b8fd77bfa 100644 --- a/models/apis/comprehend/2017-11-27/api-2.json +++ b/models/apis/comprehend/2017-11-27/api-2.json @@ -92,6 +92,21 @@ {"shape":"InternalServerException"} ] }, + "ClassifyDocument":{ + "name":"ClassifyDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ClassifyDocumentRequest"}, + "output":{"shape":"ClassifyDocumentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ] + }, "CreateDocumentClassifier":{ "name":"CreateDocumentClassifier", "http":{ @@ -111,6 +126,25 @@ {"shape":"InternalServerException"} ] }, + "CreateEndpoint":{ + "name":"CreateEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEndpointRequest"}, + "output":{"shape":"CreateEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InternalServerException"} + ] + }, "CreateEntityRecognizer":{ "name":"CreateEntityRecognizer", "http":{ @@ -147,6 +181,22 @@ {"shape":"InternalServerException"} ] }, + "DeleteEndpoint":{ + "name":"DeleteEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEndpointRequest"}, + "output":{"shape":"DeleteEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteEntityRecognizer":{ "name":"DeleteEntityRecognizer", "http":{ @@ -209,6 +259,21 @@ {"shape":"InternalServerException"} ] }, + "DescribeEndpoint":{ + "name":"DescribeEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEndpointRequest"}, + "output":{"shape":"DescribeEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "DescribeEntitiesDetectionJob":{ "name":"DescribeEntitiesDetectionJob", "http":{ @@ -403,6 +468,20 @@ {"shape":"InternalServerException"} ] }, + "ListEndpoints":{ + "name":"ListEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEndpointsRequest"}, + "output":{"shape":"ListEndpointsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "ListEntitiesDetectionJobs":{ "name":"ListEntitiesDetectionJobs", "http":{ @@ -703,6 +782,24 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ] + }, + "UpdateEndpoint":{ + "name":"UpdateEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEndpointRequest"}, + "output":{"shape":"UpdateEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"InternalServerException"} + ] } }, "shapes":{ @@ -886,6 +983,23 @@ "EvaluationMetrics":{"shape":"ClassifierEvaluationMetrics"} } }, + "ClassifyDocumentRequest":{ + "type":"structure", + "required":[ + "Text", + "EndpointArn" + ], + "members":{ + "Text":{"shape":"String"}, + "EndpointArn":{"shape":"DocumentClassifierEndpointArn"} + } + }, + "ClassifyDocumentResponse":{ + "type":"structure", + "members":{ + "Classes":{"shape":"ListOfClasses"} + } + }, "ClientRequestTokenString":{ "type":"string", "max":64, @@ -902,6 +1016,21 @@ "max":63, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" }, + "ComprehendEndpointArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier-endpoint/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ComprehendEndpointName":{ + "type":"string", + "max":40, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "ComprehendModelArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, "ConcurrentModificationException":{ "type":"structure", "members":{ @@ -938,6 +1067,30 @@ "DocumentClassifierArn":{"shape":"DocumentClassifierArn"} } }, + "CreateEndpointRequest":{ + "type":"structure", + "required":[ + "EndpointName", + "ModelArn", + "DesiredInferenceUnits" + ], + "members":{ + "EndpointName":{"shape":"ComprehendEndpointName"}, + "ModelArn":{"shape":"ComprehendModelArn"}, + "DesiredInferenceUnits":{"shape":"InferenceUnitsInteger"}, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "idempotencyToken":true + }, + "Tags":{"shape":"TagList"} + } + }, + "CreateEndpointResponse":{ + "type":"structure", + "members":{ + "EndpointArn":{"shape":"ComprehendEndpointArn"} + } + }, "CreateEntityRecognizerRequest":{ "type":"structure", "required":[ @@ -978,6 +1131,18 @@ "members":{ } }, + "DeleteEndpointRequest":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{"shape":"ComprehendEndpointArn"} + } + }, + "DeleteEndpointResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteEntityRecognizerRequest":{ "type":"structure", "required":["EntityRecognizerArn"], @@ -1029,6 +1194,19 @@ "DominantLanguageDetectionJobProperties":{"shape":"DominantLanguageDetectionJobProperties"} } }, + "DescribeEndpointRequest":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{"shape":"ComprehendEndpointArn"} + } + }, + "DescribeEndpointResponse":{ + "type":"structure", + "members":{ + "EndpointProperties":{"shape":"EndpointProperties"} + } + }, "DescribeEntitiesDetectionJobRequest":{ "type":"structure", "required":["JobId"], @@ -1176,6 +1354,13 @@ "SyntaxTokens":{"shape":"ListOfSyntaxTokens"} } }, + "DocumentClass":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Score":{"shape":"Float"} + } + }, "DocumentClassificationJobFilter":{ "type":"structure", "members":{ @@ -1211,6 +1396,11 @@ "max":256, "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, + "DocumentClassifierEndpointArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier-endpoint/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, "DocumentClassifierFilter":{ "type":"structure", "members":{ @@ -1293,6 +1483,42 @@ "member":{"shape":"DominantLanguageDetectionJobProperties"} }, "Double":{"type":"double"}, + "EndpointFilter":{ + "type":"structure", + "members":{ + "ModelArn":{"shape":"ComprehendModelArn"}, + "Status":{"shape":"EndpointStatus"}, + "CreationTimeBefore":{"shape":"Timestamp"}, + "CreationTimeAfter":{"shape":"Timestamp"} + } + }, + "EndpointProperties":{ + "type":"structure", + "members":{ + "EndpointArn":{"shape":"ComprehendEndpointArn"}, + "Status":{"shape":"EndpointStatus"}, + "Message":{"shape":"AnyLengthString"}, + "ModelArn":{"shape":"ComprehendModelArn"}, + "DesiredInferenceUnits":{"shape":"InferenceUnitsInteger"}, + "CurrentInferenceUnits":{"shape":"InferenceUnitsInteger"}, + "CreationTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"} + } + }, + "EndpointPropertiesList":{ + "type":"list", + "member":{"shape":"EndpointProperties"} + }, + "EndpointStatus":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "FAILED", + "IN_SERVICE", + "UPDATING" + ] + }, "EntitiesDetectionJobFilter":{ "type":"structure", "members":{ @@ -1477,6 +1703,10 @@ "min":20, "pattern":"arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" }, + "InferenceUnitsInteger":{ + "type":"integer", + "min":1 + }, "InputDataConfig":{ "type":"structure", "required":["S3Uri"], @@ -1657,6 +1887,21 @@ "NextToken":{"shape":"String"} } }, + "ListEndpointsRequest":{ + "type":"structure", + "members":{ + "Filter":{"shape":"EndpointFilter"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"MaxResultsInteger"} + } + }, + "ListEndpointsResponse":{ + "type":"structure", + "members":{ + "EndpointPropertiesList":{"shape":"EndpointPropertiesList"}, + "NextToken":{"shape":"String"} + } + }, "ListEntitiesDetectionJobsRequest":{ "type":"structure", "members":{ @@ -1702,6 +1947,10 @@ "NextToken":{"shape":"String"} } }, + "ListOfClasses":{ + "type":"list", + "member":{"shape":"DocumentClass"} + }, "ListOfDetectDominantLanguageResult":{ "type":"list", "member":{"shape":"BatchDetectDominantLanguageItemResult"} @@ -2352,6 +2601,22 @@ "members":{ } }, + "UpdateEndpointRequest":{ + "type":"structure", + "required":[ + "EndpointArn", + "DesiredInferenceUnits" + ], + "members":{ + "EndpointArn":{"shape":"ComprehendEndpointArn"}, + "DesiredInferenceUnits":{"shape":"InferenceUnitsInteger"} + } + }, + "UpdateEndpointResponse":{ + "type":"structure", + "members":{ + } + }, "VpcConfig":{ "type":"structure", "required":[ diff --git a/models/apis/comprehend/2017-11-27/docs-2.json b/models/apis/comprehend/2017-11-27/docs-2.json index d591630fa5f..54568726346 100644 --- a/models/apis/comprehend/2017-11-27/docs-2.json +++ b/models/apis/comprehend/2017-11-27/docs-2.json @@ -7,13 +7,17 @@ "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.

", + "ClassifyDocument": "

Creates a new document classification request to analyze a single document in real-time, using a previously created and trained custom model and an endpoint.

", "CreateDocumentClassifier": "

Creates a new document classifier that you can use to categorize documents. To create a classifier you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see how-document-classification.

", + "CreateEndpoint": "

Creates a model-specific endpoint for synchronous inference for a previously trained custom model

", "CreateEntityRecognizer": "

Creates an entity recognizer using submitted files. After your CreateEntityRecognizer request is submitted, you can check job status using the API.

", "DeleteDocumentClassifier": "

Deletes a previously created document classifier

Only those classifiers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned.

This is an asynchronous action that puts the classifier into a DELETING state, and it is then removed by a background job. Once removed, the classifier disappears from your account and is no longer available for use.

", + "DeleteEndpoint": "

Deletes a model-specific endpoint for a previously-trained custom model. All endpoints must be deleted in order for the model to be deleted.

", "DeleteEntityRecognizer": "

Deletes an entity recognizer.

Only those recognizers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned.

This is an asynchronous action that puts the recognizer into a DELETING state, and it is then removed by a background job. Once removed, the recognizer disappears from your account and is no longer available for use.

", "DescribeDocumentClassificationJob": "

Gets the properties associated with a document classification job. Use this operation to get the status of a classification job.

", "DescribeDocumentClassifier": "

Gets the properties associated with a document classifier.

", "DescribeDominantLanguageDetectionJob": "

Gets the properties associated with a dominant language detection job. Use this operation to get the status of a detection job.

", + "DescribeEndpoint": "

Gets the properties associated with a specific endpoint. Use this operation to get the status of an endpoint.

", "DescribeEntitiesDetectionJob": "

Gets the properties associated with an entities detection job. Use this operation to get the status of a detection job.

", "DescribeEntityRecognizer": "

Provides details about an entity recognizer including status, S3 buckets containing training data, recognizer metadata, metrics, and so on.

", "DescribeKeyPhrasesDetectionJob": "

Gets the properties associated with a key phrases detection job. Use this operation to get the status of a detection job.

", @@ -27,6 +31,7 @@ "ListDocumentClassificationJobs": "

Gets a list of the documentation classification jobs that you have submitted.

", "ListDocumentClassifiers": "

Gets a list of the document classifiers that you have created.

", "ListDominantLanguageDetectionJobs": "

Gets a list of the dominant language detection jobs that you have submitted.

", + "ListEndpoints": "

Gets a list of all existing endpoints that you've created.

", "ListEntitiesDetectionJobs": "

Gets a list of the entity detection jobs that you have submitted.

", "ListEntityRecognizers": "

Gets a list of the properties of all entity recognizers that you created, including recognizers currently in training. Allows you to filter the list of recognizers based on criteria such as status and submission time. This call returns up to 500 entity recognizers in the list, with a default number of 100 recognizers in the list.

The results of this list are not in any particular order. Please get the list and sort locally if needed.

", "ListKeyPhrasesDetectionJobs": "

Get a list of key phrase detection jobs that you have submitted.

", @@ -46,7 +51,8 @@ "StopTrainingDocumentClassifier": "

Stops a document classifier training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and put into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

", "StopTrainingEntityRecognizer": "

Stops an entity recognizer training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and putted into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

", "TagResource": "

Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

", - "UntagResource": "

Removes a specific tag associated with an Amazon Comprehend resource.

" + "UntagResource": "

Removes a specific tag associated with an Amazon Comprehend resource.

", + "UpdateEndpoint": "

Updates information about the specified endpoint.

" }, "shapes": { "AnyLengthString": { @@ -55,6 +61,7 @@ "DocumentClassificationJobProperties$Message": "

A description of the status of the job.

", "DocumentClassifierProperties$Message": "

Additional information about the status of the classifier.

", "DominantLanguageDetectionJobProperties$Message": "

A description for the status of a job.

", + "EndpointProperties$Message": "

Specifies a reason for failure in cases of Failed status.

", "EntitiesDetectionJobProperties$Message": "

A description of the status of a job.

", "EntityRecognizerMetadataEntityTypesListItem$Type": "

Type of entity from the list of entity types in the metadata of an entity recognizer.

", "EntityRecognizerProperties$Message": "

A description of the status of the recognizer.

", @@ -176,10 +183,21 @@ "DocumentClassifierProperties$ClassifierMetadata": "

Information about the document classifier, including the number of documents used for training the classifier, the number of documents used for test the classifier, and an accuracy rating.

" } }, + "ClassifyDocumentRequest": { + "base": null, + "refs": { + } + }, + "ClassifyDocumentResponse": { + "base": null, + "refs": { + } + }, "ClientRequestTokenString": { "base": null, "refs": { "CreateDocumentClassifierRequest$ClientRequestToken": "

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "CreateEndpointRequest$ClientRequestToken": "

An idempotency token provided by the customer. If this token matches a previous endpoint creation request, Amazon Comprehend will not return a ResourceInUseException.

", "CreateEntityRecognizerRequest$ClientRequestToken": "

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", "StartDocumentClassificationJobRequest$ClientRequestToken": "

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", "StartDominantLanguageDetectionJobRequest$ClientRequestToken": "

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", @@ -205,6 +223,30 @@ "CreateEntityRecognizerRequest$RecognizerName": "

The name given to the newly created recognizer. Recognizer names can be a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name must be unique in the account/region.

" } }, + "ComprehendEndpointArn": { + "base": null, + "refs": { + "CreateEndpointResponse$EndpointArn": "

The Amazon Resource Number (ARN) of the endpoint being created.

", + "DeleteEndpointRequest$EndpointArn": "

The Amazon Resource Number (ARN) of the endpoint being deleted.

", + "DescribeEndpointRequest$EndpointArn": "

The Amazon Resource Number (ARN) of the endpoint being described.

", + "EndpointProperties$EndpointArn": "

The Amazon Resource Number (ARN) of the endpoint.

", + "UpdateEndpointRequest$EndpointArn": "

The Amazon Resource Number (ARN) of the endpoint being updated.

" + } + }, + "ComprehendEndpointName": { + "base": null, + "refs": { + "CreateEndpointRequest$EndpointName": "

This is the descriptive suffix that becomes part of the EndpointArn used for all subsequent requests to this resource.

" + } + }, + "ComprehendModelArn": { + "base": null, + "refs": { + "CreateEndpointRequest$ModelArn": "

The Amazon Resource Number (ARN) of the model to which the endpoint will be attached.

", + "EndpointFilter$ModelArn": "

The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

", + "EndpointProperties$ModelArn": "

The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

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

Concurrent modification of the tags associated with an Amazon Comprehend resource is not supported.

", "refs": { @@ -220,6 +262,16 @@ "refs": { } }, + "CreateEndpointRequest": { + "base": null, + "refs": { + } + }, + "CreateEndpointResponse": { + "base": null, + "refs": { + } + }, "CreateEntityRecognizerRequest": { "base": null, "refs": { @@ -240,6 +292,16 @@ "refs": { } }, + "DeleteEndpointRequest": { + "base": null, + "refs": { + } + }, + "DeleteEndpointResponse": { + "base": null, + "refs": { + } + }, "DeleteEntityRecognizerRequest": { "base": null, "refs": { @@ -280,6 +342,16 @@ "refs": { } }, + "DescribeEndpointRequest": { + "base": null, + "refs": { + } + }, + "DescribeEndpointResponse": { + "base": null, + "refs": { + } + }, "DescribeEntitiesDetectionJobRequest": { "base": null, "refs": { @@ -380,6 +452,12 @@ "refs": { } }, + "DocumentClass": { + "base": "

Specifies the class that categorizes the document being analyzed

", + "refs": { + "ListOfClasses$member": null + } + }, "DocumentClassificationJobFilter": { "base": "

Provides information for filtering a list of document classification jobs. For more information, see the operation. You can provide only one filter parameter in each request.

", "refs": { @@ -411,6 +489,12 @@ "StopTrainingDocumentClassifierRequest$DocumentClassifierArn": "

The Amazon Resource Name (ARN) that identifies the document classifier currently being trained.

" } }, + "DocumentClassifierEndpointArn": { + "base": null, + "refs": { + "ClassifyDocumentRequest$EndpointArn": "

The Amazon Resource Number (ARN) of the endpoint.

" + } + }, "DocumentClassifierFilter": { "base": "

Provides information for filtering a list of document classifiers. You can only specify one filtering parameter in a request. For more information, see the operation.

", "refs": { @@ -484,6 +568,32 @@ "EntityTypesEvaluationMetrics$F1Score": "

A measure of how accurate the recognizer results are for for a specific entity type in the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

" } }, + "EndpointFilter": { + "base": "

The filter used to determine which endpoints are are returned. You can filter jobs on their name, model, status, or the date and time that they were created. You can only set one filter at a time.

", + "refs": { + "ListEndpointsRequest$Filter": "

Filters the endpoints that are returned. You can filter endpoints on their name, model, status, or the date and time that they were created. You can only set one filter at a time.

" + } + }, + "EndpointProperties": { + "base": "

Specifies information about the specified endpoint.

", + "refs": { + "DescribeEndpointResponse$EndpointProperties": "

Describes information associated with the specific endpoint.

", + "EndpointPropertiesList$member": null + } + }, + "EndpointPropertiesList": { + "base": null, + "refs": { + "ListEndpointsResponse$EndpointPropertiesList": "

Displays a list of endpoint properties being retrieved by the service in response to the request.

" + } + }, + "EndpointStatus": { + "base": null, + "refs": { + "EndpointFilter$Status": "

Specifies the status of the endpoint being returned. Possible values are: Creating, Ready, Updating, Deleting, Failed.

", + "EndpointProperties$Status": "

Specifies the status of the endpoint. Because the endpoint updates and creation are asynchronous, so customers will need to wait for the endpoint to be Ready status before making inference requests.

" + } + }, "EntitiesDetectionJobFilter": { "base": "

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

", "refs": { @@ -622,6 +732,7 @@ "Float": { "base": null, "refs": { + "DocumentClass$Score": "

The confidence score that Amazon Comprehend has this class correctly attributed.

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

", @@ -653,6 +764,15 @@ "TopicsDetectionJobProperties$DataAccessRoleArn": "

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your job data.

" } }, + "InferenceUnitsInteger": { + "base": null, + "refs": { + "CreateEndpointRequest$DesiredInferenceUnits": "

The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

", + "EndpointProperties$DesiredInferenceUnits": "

The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

", + "EndpointProperties$CurrentInferenceUnits": "

The number of inference units currently used by the model using this endpoint.

", + "UpdateEndpointRequest$DesiredInferenceUnits": "

The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

" + } + }, "InputDataConfig": { "base": "

The input properties for a topic detection job.

", "refs": { @@ -858,22 +978,22 @@ "LanguageCode": { "base": null, "refs": { - "BatchDetectEntitiesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "BatchDetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "BatchDetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "CreateDocumentClassifierRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", + "BatchDetectEntitiesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", + "BatchDetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", + "BatchDetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", + "CreateDocumentClassifierRequest$LanguageCode": "

The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", "CreateEntityRecognizerRequest$LanguageCode": "

The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.

", - "DetectEntitiesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "DetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "DetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", + "DetectEntitiesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", + "DetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", + "DetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", "DocumentClassifierProperties$LanguageCode": "

The language code for the language of the documents that the classifier was trained on.

", "EntitiesDetectionJobProperties$LanguageCode": "

The language code of the input documents.

", "EntityRecognizerProperties$LanguageCode": "

The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.

", "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. All documents must be in the same language. You can specify any of the languages supported by Amazon Comprehend: English (\"en\"), Spanish (\"es\"), French (\"fr\"), German (\"de\"), Italian (\"it\"), or Portuguese (\"pt\"). If custom entities recognition is used, this parameter is ignored and the language used for training the model is used instead.

", - "StartKeyPhrasesDetectionJobRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "StartSentimentDetectionJobRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

" + "StartEntitiesDetectionJobRequest$LanguageCode": "

The language of the input documents. All documents must be in the same language. You can specify any of the languages supported by Amazon Comprehend. If custom entities recognition is used, this parameter is ignored and the language used for training the model is used instead.

", + "StartKeyPhrasesDetectionJobRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", + "StartSentimentDetectionJobRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" } }, "ListDocumentClassificationJobsRequest": { @@ -906,6 +1026,16 @@ "refs": { } }, + "ListEndpointsRequest": { + "base": null, + "refs": { + } + }, + "ListEndpointsResponse": { + "base": null, + "refs": { + } + }, "ListEntitiesDetectionJobsRequest": { "base": null, "refs": { @@ -936,6 +1066,12 @@ "refs": { } }, + "ListOfClasses": { + "base": null, + "refs": { + "ClassifyDocumentResponse$Classes": "

The classes used by the document being analyzed. These are used for multi-class trained models. Individual classes are mutually exclusive and each document is expected to have only a single class assigned to it. For example, an animal can be a dog or a cat, but not both at the same time.

" + } + }, "ListOfDetectDominantLanguageResult": { "base": null, "refs": { @@ -1030,6 +1166,7 @@ "ListDocumentClassificationJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", "ListDocumentClassifiersRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", "ListDominantLanguageDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", + "ListEndpointsRequest$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.

", "ListEntityRecognizersRequest$MaxResults": "

The maximum number of results to return on each page. The default is 100.

", "ListKeyPhrasesDetectionJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default is 100.

", @@ -1284,12 +1421,14 @@ "BatchItemError$ErrorCode": "

The numeric error code of the error.

", "BatchItemError$ErrorMessage": "

A text description of the error.

", "BatchSizeLimitExceededException$Message": null, + "ClassifyDocumentRequest$Text": "

The document text to be analyzed.

", "ConcurrentModificationException$Message": null, "DetectDominantLanguageRequest$Text": "

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.

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

", "DetectSyntaxRequest$Text": "

A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters.

", + "DocumentClass$Name": "

The name of the class.

", "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, @@ -1304,6 +1443,8 @@ "ListDocumentClassifiersResponse$NextToken": "

Identifies the next page of results to return.

", "ListDominantLanguageDetectionJobsRequest$NextToken": "

Identifies the next page of results to return.

", "ListDominantLanguageDetectionJobsResponse$NextToken": "

Identifies the next page of results to return.

", + "ListEndpointsRequest$NextToken": "

Identifies the next page of results to return.

", + "ListEndpointsResponse$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.

", "ListEntityRecognizersRequest$NextToken": "

Identifies the next page of results to return.

", @@ -1352,8 +1493,8 @@ "SyntaxLanguageCode": { "base": null, "refs": { - "BatchDetectSyntaxRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "DetectSyntaxRequest$LanguageCode": "

The language code of the input documents. You can specify any of the primary languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\").

" + "BatchDetectSyntaxRequest$LanguageCode": "

The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", + "DetectSyntaxRequest$LanguageCode": "

The language code of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\").

" } }, "SyntaxToken": { @@ -1385,6 +1526,7 @@ "base": null, "refs": { "CreateDocumentClassifierRequest$Tags": "

Tags to be associated with the document classifier being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

", + "CreateEndpointRequest$Tags": "

Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department.

", "CreateEntityRecognizerRequest$Tags": "

Tags to be associated with the entity recognizer being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

", "ListTagsForResourceResponse$Tags": "

Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

", "TagResourceRequest$Tags": "

Tags being associated with a specific Amazon Comprehend resource. There can be a maximum of 50 tags (both existing and pending) associated with a specific resource.

" @@ -1428,6 +1570,10 @@ "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.

", + "EndpointFilter$CreationTimeBefore": "

Specifies a date before which the returned endpoint or endpoints were created.

", + "EndpointFilter$CreationTimeAfter": "

Specifies a date after which the returned endpoint or endpoints were created.

", + "EndpointProperties$CreationTime": "

The creation date and time of the endpoint.

", + "EndpointProperties$LastModifiedTime": "

The date and time that the endpoint was last modified.

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

", @@ -1501,6 +1647,16 @@ "refs": { } }, + "UpdateEndpointRequest": { + "base": null, + "refs": { + } + }, + "UpdateEndpointResponse": { + "base": null, + "refs": { + } + }, "VpcConfig": { "base": "

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For For more information, see Amazon VPC.

", "refs": { diff --git a/models/apis/dlm/2018-01-12/api-2.json b/models/apis/dlm/2018-01-12/api-2.json index daed8661092..c02a383ef53 100644 --- a/models/apis/dlm/2018-01-12/api-2.json +++ b/models/apis/dlm/2018-01-12/api-2.json @@ -208,12 +208,11 @@ }, "FastRestoreRule":{ "type":"structure", - "required":[ - "Count", - "AvailabilityZones" - ], + "required":["AvailabilityZones"], "members":{ "Count":{"shape":"Count"}, + "Interval":{"shape":"Interval"}, + "IntervalUnit":{"shape":"RetentionIntervalUnitValues"}, "AvailabilityZones":{"shape":"AvailabilityZoneList"} } }, @@ -432,11 +431,21 @@ }, "RetainRule":{ "type":"structure", - "required":["Count"], "members":{ - "Count":{"shape":"Count"} + "Count":{"shape":"Count"}, + "Interval":{"shape":"Interval"}, + "IntervalUnit":{"shape":"RetentionIntervalUnitValues"} } }, + "RetentionIntervalUnitValues":{ + "type":"string", + "enum":[ + "DAYS", + "WEEKS", + "MONTHS", + "YEARS" + ] + }, "Schedule":{ "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 index 0d0992dc412..ed472a975cc 100644 --- a/models/apis/dlm/2018-01-12/docs-2.json +++ b/models/apis/dlm/2018-01-12/docs-2.json @@ -34,7 +34,7 @@ "base": null, "refs": { "FastRestoreRule$Count": "

The number of snapshots to be enabled with fast snapshot restore.

", - "RetainRule$Count": "

The number of snapshots to keep for each volume, up to a maximum of 1000.

" + "RetainRule$Count": "

The number of snapshots to retain for each volume, up to a maximum of 1000.

" } }, "CreateLifecyclePolicyRequest": { @@ -96,7 +96,7 @@ } }, "FastRestoreRule": { - "base": "

Specifies when to enable fast snapshot restore.

", + "base": "

Specifies a rule for enabling fast snapshot restore. You can enable fast snapshot restore based on either a count or a time interval.

", "refs": { "Schedule$FastRestoreRule": "

Enable fast snapshot restore.

" } @@ -137,7 +137,9 @@ "Interval": { "base": null, "refs": { - "CreateRule$Interval": "

The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.

" + "CreateRule$Interval": "

The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.

", + "FastRestoreRule$Interval": "

The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

", + "RetainRule$Interval": "

The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

" } }, "IntervalUnitValues": { @@ -273,9 +275,16 @@ } }, "RetainRule": { - "base": "

Specifies the number of snapshots to keep for each EBS volume.

", + "base": "

Specifies the retention rule for a lifecycle policy. You can retain snapshots based on either a count or a time interval.

", "refs": { - "Schedule$RetainRule": "

The retain rule.

" + "Schedule$RetainRule": "

The retention rule.

" + } + }, + "RetentionIntervalUnitValues": { + "base": null, + "refs": { + "FastRestoreRule$IntervalUnit": "

The unit of time for enabling fast snapshot restore.

", + "RetainRule$IntervalUnit": "

The unit of time for time-based retention.

" } }, "Schedule": { diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 80b05e02c1f..48e43fa9feb 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -2376,6 +2376,15 @@ "input":{"shape":"GetConsoleScreenshotRequest"}, "output":{"shape":"GetConsoleScreenshotResult"} }, + "GetDefaultCreditSpecification":{ + "name":"GetDefaultCreditSpecification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDefaultCreditSpecificationRequest"}, + "output":{"shape":"GetDefaultCreditSpecificationResult"} + }, "GetEbsDefaultKmsKeyId":{ "name":"GetEbsDefaultKmsKeyId", "http":{ @@ -2529,6 +2538,15 @@ "input":{"shape":"ModifyClientVpnEndpointRequest"}, "output":{"shape":"ModifyClientVpnEndpointResult"} }, + "ModifyDefaultCreditSpecification":{ + "name":"ModifyDefaultCreditSpecification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDefaultCreditSpecificationRequest"}, + "output":{"shape":"ModifyDefaultCreditSpecificationResult"} + }, "ModifyEbsDefaultKmsKeyId":{ "name":"ModifyEbsDefaultKmsKeyId", "http":{ @@ -13851,6 +13869,23 @@ } } }, + "GetDefaultCreditSpecificationRequest":{ + "type":"structure", + "required":["InstanceFamily"], + "members":{ + "DryRun":{"shape":"Boolean"}, + "InstanceFamily":{"shape":"UnlimitedSupportedInstanceFamily"} + } + }, + "GetDefaultCreditSpecificationResult":{ + "type":"structure", + "members":{ + "InstanceFamilyCreditSpecification":{ + "shape":"InstanceFamilyCreditSpecification", + "locationName":"instanceFamilyCreditSpecification" + } + } + }, "GetEbsDefaultKmsKeyIdRequest":{ "type":"structure", "members":{ @@ -15777,6 +15812,19 @@ } } }, + "InstanceFamilyCreditSpecification":{ + "type":"structure", + "members":{ + "InstanceFamily":{ + "shape":"UnlimitedSupportedInstanceFamily", + "locationName":"instanceFamily" + }, + "CpuCredits":{ + "shape":"String", + "locationName":"cpuCredits" + } + } + }, "InstanceHealthStatus":{ "type":"string", "enum":[ @@ -17898,6 +17946,27 @@ } } }, + "ModifyDefaultCreditSpecificationRequest":{ + "type":"structure", + "required":[ + "InstanceFamily", + "CpuCredits" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "InstanceFamily":{"shape":"UnlimitedSupportedInstanceFamily"}, + "CpuCredits":{"shape":"String"} + } + }, + "ModifyDefaultCreditSpecificationResult":{ + "type":"structure", + "members":{ + "InstanceFamilyCreditSpecification":{ + "shape":"InstanceFamilyCreditSpecification", + "locationName":"instanceFamilyCreditSpecification" + } + } + }, "ModifyEbsDefaultKmsKeyIdRequest":{ "type":"structure", "required":["KmsKeyId"], @@ -25370,6 +25439,14 @@ } } }, + "UnlimitedSupportedInstanceFamily":{ + "type":"string", + "enum":[ + "t2", + "t3", + "t3a" + ] + }, "UnmonitorInstancesRequest":{ "type":"structure", "required":["InstanceIds"], diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 13456dc9df6..57473b6586b 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -173,7 +173,7 @@ "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

", - "DescribeInstanceCreditSpecifications": "

Describes the credit option for CPU usage of the specified T2 or T3 instances. The credit options are standard and unlimited.

If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances with the unlimited credit option, as well as instances that were previously configured as T2 or T3 with the unlimited credit option. For example, if you resize a T2 instance, while it is configured as unlimited, to an M4 instance, Amazon EC2 returns the M4 instance.

If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a T2 or T3 instance, an error is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

", + "DescribeInstanceCreditSpecifications": "

Describes the credit option for CPU usage of the specified burstable performance instances. The credit options are standard and unlimited.

If you do not specify an instance ID, Amazon EC2 returns burstable performance instances with the unlimited credit option, as well as instances that were previously configured as T2, T3, and T3a with the unlimited credit option. For example, if you resize a T2 instance, while it is configured as unlimited, to an M4 instance, Amazon EC2 returns the M4 instance.

If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a burstable performance instance, an error is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

", "DescribeInstanceStatus": "

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

", "DescribeInstanceTypeOfferings": "

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability Zone). If no location is specified, the instance types offered in the current Region are returned.

", "DescribeInstanceTypes": "

Returns a list of all instance types offered in your current AWS Region. The results can be filtered by the attributes of the instance types.

", @@ -269,6 +269,7 @@ "GetCapacityReservationUsage": "

Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner and each AWS account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only the Capacity Reservation owner's usage.

", "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 the last three system event log errors.

By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available.

You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor.

For more information, see Instance Console Output in the Amazon Elastic Compute Cloud User Guide.

", "GetConsoleScreenshot": "

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

", + "GetDefaultCreditSpecification": "

Describes the default credit option for CPU usage of a burstable performance instance family.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

", "GetEbsDefaultKmsKeyId": "

Describes the default customer master key (CMK) for EBS encryption by default for your account in this Region. You can change the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "GetEbsEncryptionByDefault": "

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "GetHostReservationPurchasePreview": "

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.

", @@ -286,6 +287,7 @@ "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.

", "ModifyCapacityReservation": "

Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You cannot change a Capacity Reservation's instance type, EBS optimization, instance store settings, platform, Availability Zone, or instance eligibility. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with the required attributes.

", "ModifyClientVpnEndpoint": "

Modifies the specified Client VPN endpoint. You can only modify an endpoint's server certificate information, client connection logging information, DNS server, and description. Modifying the DNS server resets existing client connections.

", + "ModifyDefaultCreditSpecification": "

Modifies the default credit option for CPU usage of burstable performance instances. The default credit option is set at the account level per AWS Region, and is specified per instance family. All new burstable performance instances in the account launch using the default credit option.

ModifyDefaultCreditSpecification is an asynchronous operation, which works at an AWS Region level and modifies the credit option for each Availability Zone. All zones in a Region are updated within five minutes. But if instances are launched during this operation, they might not get the new credit option until the zone is updated. To verify whether the update has occurred, you can call GetDefaultCreditSpecification and check DefaultCreditSpecification for updates.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

", "ModifyEbsDefaultKmsKeyId": "

Changes the default customer master key (CMK) for EBS encryption by default for your account in this Region.

AWS creates a unique AWS managed CMK in each Region for use with encryption by default. If you change the default CMK to a customer managed CMK, it is used instead of the AWS managed CMK. To reset the default CMK to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId.

If you delete or disable the customer managed CMK that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "ModifyFleet": "

Modifies the specified EC2 Fleet.

You can only modify an EC2 Fleet request of type maintain.

While the EC2 Fleet is being modified, it is in the modifying state.

To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches the additional Spot Instances according to the allocation strategy for the EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the EC2 Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 Fleet cancels any open requests that exceed the new target capacity. You can request that the EC2 Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowest-price, the EC2 Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacity-optimized, the EC2 Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the EC2 Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your EC2 Fleet for now, but will use it again later, you can set the target capacity to 0.

", "ModifyFpgaImageAttribute": "

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

", @@ -295,7 +297,7 @@ "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.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

", "ModifyInstanceCapacityReservationAttributes": "

Modifies the Capacity Reservation settings for a stopped instance. Use this action to configure an instance to target a specific Capacity Reservation, run in any open Capacity Reservation with matching attributes, or run On-Demand Instance capacity.

", - "ModifyInstanceCreditSpecification": "

Modifies the credit option for CPU usage on a running or stopped T2 or T3 instance. The credit options are standard and unlimited.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

", + "ModifyInstanceCreditSpecification": "

Modifies the credit option for CPU usage on a running or stopped burstable performance instance. The credit options are standard and unlimited.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

", "ModifyInstanceEventStartTime": "

Modifies the start time for a scheduled Amazon EC2 instance event.

", "ModifyInstanceMetadataOptions": "

Modify the instance metadata parameters on a running or stopped instance. When you modify the parameters on a stopped instance, they are applied when the instance is started. When you modify the parameters on a running instance, the API responds with a state of “pending”. After the parameter modifications are successfully applied to the instance, the state of the modifications changes from “pending” to “applied” in subsequent describe-instances API calls. For more information, see Instance Metadata and User Data.

", "ModifyInstancePlacement": "

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, placement group, or partition for an instance, the instance must be in the stopped state.

", @@ -1295,6 +1297,7 @@ "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.

", + "GetDefaultCreditSpecificationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetEbsDefaultKmsKeyIdRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetEbsEncryptionByDefaultRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetEbsEncryptionByDefaultResult$EbsEncryptionByDefault": "

Indicates whether encryption by default is enabled.

", @@ -1350,6 +1353,7 @@ "ModifyClientVpnEndpointRequest$SplitTunnel": "

Indicates whether the VPN is split-tunnel.

For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS Client VPN Administrator Guide.

", "ModifyClientVpnEndpointRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ModifyClientVpnEndpointResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "ModifyDefaultCreditSpecificationRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ModifyEbsDefaultKmsKeyIdRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

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

", @@ -2690,7 +2694,7 @@ "base": "

The credit option for CPU usage of a T2 or T3 instance.

", "refs": { "RequestLaunchTemplateData$CreditSpecification": "

The credit option for CPU usage of the instance. Valid for T2 or T3 instances only.

", - "RunInstancesRequest$CreditSpecification": "

The credit option for CPU usage of the T2 or T3 instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

Default: standard (T2 instances) or unlimited (T3 instances)

" + "RunInstancesRequest$CreditSpecification": "

The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

Default: standard (T2 instances) or unlimited (T3/T3a instances)

" } }, "CurrencyCodeValues": { @@ -5849,6 +5853,16 @@ "refs": { } }, + "GetDefaultCreditSpecificationRequest": { + "base": null, + "refs": { + } + }, + "GetDefaultCreditSpecificationResult": { + "base": null, + "refs": { + } + }, "GetEbsDefaultKmsKeyIdRequest": { "base": null, "refs": { @@ -6535,7 +6549,7 @@ } }, "InstanceCreditSpecification": { - "base": "

Describes the credit option for CPU usage of a T2 or T3 instance.

", + "base": "

Describes the credit option for CPU usage of a burstable performance instance.

", "refs": { "InstanceCreditSpecificationList$member": null } @@ -6553,7 +6567,7 @@ } }, "InstanceCreditSpecificationRequest": { - "base": "

Describes the credit option for CPU usage of a T2 or T3 instance.

", + "base": "

Describes the credit option for CPU usage of a burstable performance instance.

", "refs": { "InstanceCreditSpecificationListRequest$member": null } @@ -6570,6 +6584,13 @@ "ExportTask$InstanceExportDetails": "

Information about the instance to export.

" } }, + "InstanceFamilyCreditSpecification": { + "base": "

Describes the default credit option for CPU usage of a burstable performance instance family.

", + "refs": { + "GetDefaultCreditSpecificationResult$InstanceFamilyCreditSpecification": "

The default credit option for CPU usage of the instance family.

", + "ModifyDefaultCreditSpecificationResult$InstanceFamilyCreditSpecification": "

The default credit option for CPU usage of the instance family.

" + } + }, "InstanceHealthStatus": { "base": null, "refs": { @@ -7926,6 +7947,16 @@ "refs": { } }, + "ModifyDefaultCreditSpecificationRequest": { + "base": null, + "refs": { + } + }, + "ModifyDefaultCreditSpecificationResult": { + "base": null, + "refs": { + } + }, "ModifyEbsDefaultKmsKeyIdRequest": { "base": null, "refs": { @@ -11256,6 +11287,7 @@ "InstanceCreditSpecificationRequest$InstanceId": "

The ID of the instance.

", "InstanceCreditSpecificationRequest$CpuCredits": "

The credit option for CPU usage of the instance. Valid values are standard and unlimited.

", "InstanceExportDetails$InstanceId": "

The ID of the resource being exported.

", + "InstanceFamilyCreditSpecification$CpuCredits": "

The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

", "InstanceIdSet$member": null, "InstanceIdStringList$member": null, "InstanceIpv6Address$Ipv6Address": "

The IPv6 address.

", @@ -11367,6 +11399,7 @@ "LoadPermissionRequest$UserId": "

The AWS account ID.

", "ModifyClientVpnEndpointRequest$ServerCertificateArn": "

The ARN of the server certificate to be used. The server certificate must be provisioned in AWS Certificate Manager (ACM).

", "ModifyClientVpnEndpointRequest$Description": "

A brief description of the Client VPN endpoint.

", + "ModifyDefaultCreditSpecificationRequest$CpuCredits": "

The credit option for CPU usage of the instance family.

Valid Values: standard | unlimited

", "ModifyEbsDefaultKmsKeyIdResult$KmsKeyId": "

The Amazon Resource Name (ARN) of the default CMK for encryption by default.

", "ModifyFpgaImageAttributeRequest$Description": "

A description for the AFI.

", "ModifyFpgaImageAttributeRequest$Name": "

A name for the AFI.

", @@ -12024,7 +12057,7 @@ } }, "SuccessfulInstanceCreditSpecificationItem": { - "base": "

Describes the T2 or T3 instance whose credit option for CPU usage was successfully modified.

", + "base": "

Describes the burstable performance instance whose credit option for CPU usage was successfully modified.

", "refs": { "SuccessfulInstanceCreditSpecificationSet$member": null } @@ -12798,6 +12831,14 @@ "refs": { } }, + "UnlimitedSupportedInstanceFamily": { + "base": null, + "refs": { + "GetDefaultCreditSpecificationRequest$InstanceFamily": "

The instance family.

", + "InstanceFamilyCreditSpecification$InstanceFamily": "

The instance family.

", + "ModifyDefaultCreditSpecificationRequest$InstanceFamily": "

The instance family.

" + } + }, "UnmonitorInstancesRequest": { "base": null, "refs": { @@ -12815,15 +12856,15 @@ } }, "UnsuccessfulInstanceCreditSpecificationItem": { - "base": "

Describes the T2 or T3 instance whose credit option for CPU usage was not modified.

", + "base": "

Describes the burstable performance instance whose credit option for CPU usage was not modified.

", "refs": { "UnsuccessfulInstanceCreditSpecificationSet$member": null } }, "UnsuccessfulInstanceCreditSpecificationItemError": { - "base": "

Information about the error for the T2 or T3 instance whose credit option for CPU usage was not modified.

", + "base": "

Information about the error for the burstable performance instance whose credit option for CPU usage was not modified.

", "refs": { - "UnsuccessfulInstanceCreditSpecificationItem$Error": "

The applicable error for the T2 or T3 instance whose credit option for CPU usage was not modified.

" + "UnsuccessfulInstanceCreditSpecificationItem$Error": "

The applicable error for the burstable performance instance whose credit option for CPU usage was not modified.

" } }, "UnsuccessfulInstanceCreditSpecificationSet": { diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json b/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json index 0254075cbe3..a374c19b689 100644 --- a/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json +++ b/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json @@ -1456,7 +1456,8 @@ "type":"structure", "members":{ "IpAddress":{"shape":"IpAddress"}, - "AllocationId":{"shape":"AllocationId"} + "AllocationId":{"shape":"AllocationId"}, + "PrivateIPv4Address":{"shape":"PrivateIPv4Address"} } }, "LoadBalancerAddresses":{ @@ -1681,6 +1682,7 @@ }, "exception":true }, + "PrivateIPv4Address":{"type":"string"}, "ProtocolEnum":{ "type":"string", "enum":[ @@ -1989,7 +1991,8 @@ "type":"structure", "members":{ "SubnetId":{"shape":"SubnetId"}, - "AllocationId":{"shape":"AllocationId"} + "AllocationId":{"shape":"AllocationId"}, + "PrivateIPv4Address":{"shape":"PrivateIPv4Address"} } }, "SubnetMappings":{ diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json index 8186e523977..bd07b4141f3 100644 --- a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json +++ b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json @@ -35,7 +35,7 @@ "SetIpAddressType": "

Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer.

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

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.

" + "SetSubnets": "

Enables the Availability Zones for the specified public subnets for the specified load balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

" }, "shapes": { "Action": { @@ -90,8 +90,8 @@ "AllocationId": { "base": null, "refs": { - "LoadBalancerAddress$AllocationId": "

[Network Load Balancers] The allocation ID of the Elastic IP address.

", - "SubnetMapping$AllocationId": "

[Network Load Balancers] The allocation ID of the Elastic IP address.

" + "LoadBalancerAddress$AllocationId": "

[Network Load Balancers] The allocation ID of the Elastic IP address for an internal-facing load balancer.

", + "SubnetMapping$AllocationId": "

[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.

" } }, "AllocationIdNotFoundException": { @@ -824,7 +824,7 @@ "LoadBalancerAddresses": { "base": null, "refs": { - "AvailabilityZone$LoadBalancerAddresses": "

[Network Load Balancers] If you need static IP addresses for your load balancer, you can specify one Elastic IP address per Availability Zone when you create the load balancer.

" + "AvailabilityZone$LoadBalancerAddresses": "

[Network Load Balancers] If you need static IP addresses for your load balancer, you can specify one Elastic IP address per Availability Zone when you create an internal-facing load balancer. For internal load balancers, you can specify a private IP address from the IPv4 range of the subnet.

" } }, "LoadBalancerArn": { @@ -1065,6 +1065,13 @@ "refs": { } }, + "PrivateIPv4Address": { + "base": null, + "refs": { + "LoadBalancerAddress$PrivateIPv4Address": "

[Network Load Balancers] The private IPv4 address for an internal load balancer.

", + "SubnetMapping$PrivateIPv4Address": "

[Network Load Balancers] The private IPv4 address for an internal load balancer.

" + } + }, "ProtocolEnum": { "base": null, "refs": { @@ -1400,8 +1407,8 @@ "SubnetMappings": { "base": null, "refs": { - "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 if you need static IP addresses for your load balancer.

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

" + "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 if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.

", + "SetSubnetsInput$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. If you need static IP addresses for your internet-facing load balancer, you can specify one Elastic IP address per subnet. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.

" } }, "SubnetNotFoundException": { @@ -1518,7 +1525,7 @@ "TargetGroupAttributeKey": { "base": null, "refs": { - "TargetGroupAttribute$Key": "

The name of the attribute.

The following attribute is supported by both Application Load Balancers and Network Load Balancers:

The following attributes are supported by Application Load Balancers if the target is not a Lambda function:

The following attribute is supported only if the target is a Lambda function.

The following attribute is supported only by Network Load Balancers:

" + "TargetGroupAttribute$Key": "

The name of the attribute.

The following attribute is supported by both Application Load Balancers and Network Load Balancers:

The following attributes are supported by Application Load Balancers if the target is not a Lambda function:

The following attribute is supported only if the target is a Lambda function.

The following attribute is supported only by Network Load Balancers:

" } }, "TargetGroupAttributeValue": { diff --git a/models/apis/greengrass/2017-06-07/api-2.json b/models/apis/greengrass/2017-06-07/api-2.json index ed6ec9869a3..efa5fa5ac80 100644 --- a/models/apis/greengrass/2017-06-07/api-2.json +++ b/models/apis/greengrass/2017-06-07/api-2.json @@ -4602,12 +4602,27 @@ } } }, + "ResourceDownloadOwnerSetting" : { + "type" : "structure", + "members" : { + "GroupOwner" : { + "shape" : "__string" + }, + "GroupPermission" : { + "shape" : "Permission" + } + }, + "required" : [ "GroupOwner", "GroupPermission" ] + }, "S3MachineLearningModelResourceData" : { "type" : "structure", "members" : { "DestinationPath" : { "shape" : "__string" }, + "OwnerSetting" : { + "shape" : "ResourceDownloadOwnerSetting" + }, "S3Uri" : { "shape" : "__string" } @@ -4622,6 +4637,9 @@ "DestinationPath" : { "shape" : "__string" }, + "OwnerSetting" : { + "shape" : "ResourceDownloadOwnerSetting" + }, "SageMakerJobArn" : { "shape" : "__string" } @@ -4963,11 +4981,11 @@ }, "UpdateTargetsArchitecture" : { "type" : "string", - "enum" : [ "armv6l", "armv7l", "x86_64", "aarch64", "openwrt" ] + "enum" : [ "armv6l", "armv7l", "x86_64", "aarch64" ] }, "UpdateTargetsOperatingSystem" : { "type" : "string", - "enum" : [ "ubuntu", "raspbian", "amazon_linux" ] + "enum" : [ "ubuntu", "raspbian", "amazon_linux", "openwrt" ] }, "VersionInformation" : { "type" : "structure", @@ -5103,4 +5121,4 @@ "timestampFormat" : "unixTimestamp" } } -} \ No newline at end of file +} diff --git a/models/apis/greengrass/2017-06-07/docs-2.json b/models/apis/greengrass/2017-06-07/docs-2.json index 8018434d637..4c48413a5ea 100644 --- a/models/apis/greengrass/2017-06-07/docs-2.json +++ b/models/apis/greengrass/2017-06-07/docs-2.json @@ -492,7 +492,8 @@ "Permission" : { "base" : "The type of permission a function has to access a resource.", "refs" : { - "ResourceAccessPolicy$Permission" : "The permissions that the Lambda function has to the resource. Can be one of ''rw'' (read/write) or ''ro'' (read-only)." + "ResourceAccessPolicy$Permission" : "The permissions that the Lambda function has to the resource. Can be one of ''rw'' (read/write) or ''ro'' (read-only).", + "ResourceDownloadOwnerSetting$GroupPermission" : "The permissions that the group owner has to the resource. Valid values are ''rw'' (read/write) or ''ro'' (read-only)." } }, "ResetDeploymentsRequest" : { @@ -527,6 +528,13 @@ "GetResourceDefinitionVersionResponse$Definition" : "Information about the definition." } }, + "ResourceDownloadOwnerSetting" : { + "base" : "The owner setting for downloaded machine learning resources.", + "refs" : { + "S3MachineLearningModelResourceData$OwnerSetting" : null, + "SageMakerMachineLearningModelResourceData$OwnerSetting" : null + } + }, "S3MachineLearningModelResourceData" : { "base" : "Attributes that define an Amazon S3 machine learning resource.", "refs" : { @@ -884,6 +892,7 @@ "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 AWS IoT 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.)", + "ResourceDownloadOwnerSetting$GroupOwner" : "The group owner of the resource. This is the name of an existing Linux OS group on the system or a GID. The group's permissions are added to the Lambda process.", "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.", @@ -911,4 +920,4 @@ } } } -} \ No newline at end of file +} diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index 99a2a3735c1..3a5b2fd1ecd 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -303,6 +303,25 @@ {"shape":"InternalFailureException"} ] }, + "CreateDomainConfiguration":{ + "name":"CreateDomainConfiguration", + "http":{ + "method":"POST", + "requestUri":"/domainConfigurations/{domainConfigurationName}" + }, + "input":{"shape":"CreateDomainConfigurationRequest"}, + "output":{"shape":"CreateDomainConfigurationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"CertificateValidationException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, "CreateDynamicThingGroup":{ "name":"CreateDynamicThingGroup", "http":{ @@ -426,6 +445,58 @@ {"shape":"InternalFailureException"} ] }, + "CreateProvisioningClaim":{ + "name":"CreateProvisioningClaim", + "http":{ + "method":"POST", + "requestUri":"/provisioning-templates/{templateName}/provisioning-claim" + }, + "input":{"shape":"CreateProvisioningClaimRequest"}, + "output":{"shape":"CreateProvisioningClaimResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ] + }, + "CreateProvisioningTemplate":{ + "name":"CreateProvisioningTemplate", + "http":{ + "method":"POST", + "requestUri":"/provisioning-templates" + }, + "input":{"shape":"CreateProvisioningTemplateRequest"}, + "output":{"shape":"CreateProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ResourceAlreadyExistsException"} + ] + }, + "CreateProvisioningTemplateVersion":{ + "name":"CreateProvisioningTemplateVersion", + "http":{ + "method":"POST", + "requestUri":"/provisioning-templates/{templateName}/versions" + }, + "input":{"shape":"CreateProvisioningTemplateVersionRequest"}, + "output":{"shape":"CreateProvisioningTemplateVersionResponse"}, + "errors":[ + {"shape":"VersionsLimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ] + }, "CreateRoleAlias":{ "name":"CreateRoleAlias", "http":{ @@ -660,6 +731,23 @@ {"shape":"ResourceNotFoundException"} ] }, + "DeleteDomainConfiguration":{ + "name":"DeleteDomainConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/domainConfigurations/{domainConfigurationName}" + }, + "input":{"shape":"DeleteDomainConfigurationRequest"}, + "output":{"shape":"DeleteDomainConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"} + ] + }, "DeleteDynamicThingGroup":{ "name":"DeleteDynamicThingGroup", "http":{ @@ -772,6 +860,40 @@ {"shape":"InternalFailureException"} ] }, + "DeleteProvisioningTemplate":{ + "name":"DeleteProvisioningTemplate", + "http":{ + "method":"DELETE", + "requestUri":"/provisioning-templates/{templateName}" + }, + "input":{"shape":"DeleteProvisioningTemplateRequest"}, + "output":{"shape":"DeleteProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DeleteConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"} + ] + }, + "DeleteProvisioningTemplateVersion":{ + "name":"DeleteProvisioningTemplateVersion", + "http":{ + "method":"DELETE", + "requestUri":"/provisioning-templates/{templateName}/versions/{versionId}" + }, + "input":{"shape":"DeleteProvisioningTemplateVersionRequest"}, + "output":{"shape":"DeleteProvisioningTemplateVersionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"DeleteConflictException"} + ] + }, "DeleteRegistrationCode":{ "name":"DeleteRegistrationCode", "http":{ @@ -1106,6 +1228,22 @@ {"shape":"InternalFailureException"} ] }, + "DescribeDomainConfiguration":{ + "name":"DescribeDomainConfiguration", + "http":{ + "method":"GET", + "requestUri":"/domainConfigurations/{domainConfigurationName}" + }, + "input":{"shape":"DescribeDomainConfigurationRequest"}, + "output":{"shape":"DescribeDomainConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ] + }, "DescribeEndpoint":{ "name":"DescribeEndpoint", "http":{ @@ -1196,6 +1334,38 @@ {"shape":"InternalFailureException"} ] }, + "DescribeProvisioningTemplate":{ + "name":"DescribeProvisioningTemplate", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates/{templateName}" + }, + "input":{"shape":"DescribeProvisioningTemplateRequest"}, + "output":{"shape":"DescribeProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"} + ] + }, + "DescribeProvisioningTemplateVersion":{ + "name":"DescribeProvisioningTemplateVersion", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates/{templateName}/versions/{versionId}" + }, + "input":{"shape":"DescribeProvisioningTemplateVersionRequest"}, + "output":{"shape":"DescribeProvisioningTemplateVersionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"} + ] + }, "DescribeRoleAlias":{ "name":"DescribeRoleAlias", "http":{ @@ -1822,6 +1992,22 @@ {"shape":"InternalFailureException"} ] }, + "ListDomainConfigurations":{ + "name":"ListDomainConfigurations", + "http":{ + "method":"GET", + "requestUri":"/domainConfigurations" + }, + "input":{"shape":"ListDomainConfigurationsRequest"}, + "output":{"shape":"ListDomainConfigurationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ] + }, "ListIndices":{ "name":"ListIndices", "http":{ @@ -2015,6 +2201,37 @@ {"shape":"ResourceNotFoundException"} ] }, + "ListProvisioningTemplateVersions":{ + "name":"ListProvisioningTemplateVersions", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates/{templateName}/versions" + }, + "input":{"shape":"ListProvisioningTemplateVersionsRequest"}, + "output":{"shape":"ListProvisioningTemplateVersionsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"} + ] + }, + "ListProvisioningTemplates":{ + "name":"ListProvisioningTemplates", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates" + }, + "input":{"shape":"ListProvisioningTemplatesRequest"}, + "output":{"shape":"ListProvisioningTemplatesResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"} + ] + }, "ListRoleAliases":{ "name":"ListRoleAliases", "http":{ @@ -2775,6 +2992,24 @@ {"shape":"InternalFailureException"} ] }, + "UpdateDomainConfiguration":{ + "name":"UpdateDomainConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/domainConfigurations/{domainConfigurationName}" + }, + "input":{"shape":"UpdateDomainConfigurationRequest"}, + "output":{"shape":"UpdateDomainConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"CertificateValidationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ] + }, "UpdateDynamicThingGroup":{ "name":"UpdateDynamicThingGroup", "http":{ @@ -2851,6 +3086,22 @@ {"shape":"InternalFailureException"} ] }, + "UpdateProvisioningTemplate":{ + "name":"UpdateProvisioningTemplate", + "http":{ + "method":"PATCH", + "requestUri":"/provisioning-templates/{templateName}" + }, + "input":{"shape":"UpdateProvisioningTemplateRequest"}, + "output":{"shape":"UpdateProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ] + }, "UpdateRoleAlias":{ "name":"UpdateRoleAlias", "http":{ @@ -3048,6 +3299,12 @@ } } }, + "AcmCertificateArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:acm:[a-z]{2}-(gov-)?[a-z]{4,9}-\\d{1}:\\d{12}:certificate/?[a-zA-Z0-9/-]+" + }, "Action":{ "type":"structure", "members":{ @@ -3066,6 +3323,7 @@ "salesforce":{"shape":"SalesforceAction"}, "iotAnalytics":{"shape":"IotAnalyticsAction"}, "iotEvents":{"shape":"IotEventsAction"}, + "iotSiteWise":{"shape":"IotSiteWiseAction"}, "stepFunctions":{"shape":"StepFunctionsAction"}, "http":{"shape":"HttpAction"} } @@ -3173,6 +3431,7 @@ "key":{"shape":"AlertTargetType"}, "value":{"shape":"AlertTarget"} }, + "AllowAuthorizerOverride":{"type":"boolean"}, "AllowAutoRegistration":{"type":"boolean"}, "Allowed":{ "type":"structure", @@ -3182,6 +3441,59 @@ }, "ApproximateSecondsBeforeTimedOut":{"type":"long"}, "AscendingOrder":{"type":"boolean"}, + "AssetId":{"type":"string"}, + "AssetPropertyAlias":{ + "type":"string", + "max":2048, + "min":1 + }, + "AssetPropertyBooleanValue":{"type":"string"}, + "AssetPropertyDoubleValue":{"type":"string"}, + "AssetPropertyEntryId":{"type":"string"}, + "AssetPropertyId":{"type":"string"}, + "AssetPropertyIntegerValue":{"type":"string"}, + "AssetPropertyOffsetInNanos":{"type":"string"}, + "AssetPropertyQuality":{"type":"string"}, + "AssetPropertyStringValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "AssetPropertyTimeInSeconds":{"type":"string"}, + "AssetPropertyTimestamp":{ + "type":"structure", + "required":["timeInSeconds"], + "members":{ + "timeInSeconds":{"shape":"AssetPropertyTimeInSeconds"}, + "offsetInNanos":{"shape":"AssetPropertyOffsetInNanos"} + } + }, + "AssetPropertyValue":{ + "type":"structure", + "required":[ + "value", + "timestamp" + ], + "members":{ + "value":{"shape":"AssetPropertyVariant"}, + "timestamp":{"shape":"AssetPropertyTimestamp"}, + "quality":{"shape":"AssetPropertyQuality"} + } + }, + "AssetPropertyValueList":{ + "type":"list", + "member":{"shape":"AssetPropertyValue"}, + "min":1 + }, + "AssetPropertyVariant":{ + "type":"structure", + "members":{ + "stringValue":{"shape":"AssetPropertyStringValue"}, + "integerValue":{"shape":"AssetPropertyIntegerValue"}, + "doubleValue":{"shape":"AssetPropertyDoubleValue"}, + "booleanValue":{"shape":"AssetPropertyBooleanValue"} + } + }, "AssociateTargetsWithJobRequest":{ "type":"structure", "required":[ @@ -3558,6 +3870,16 @@ "member":{"shape":"AuthResult"} }, "AuthorizerArn":{"type":"string"}, + "AuthorizerConfig":{ + "type":"structure", + "members":{ + "defaultAuthorizerName":{"shape":"AuthorizerName"}, + "allowAuthorizerOverride":{ + "shape":"AllowAuthorizerOverride", + "box":true + } + } + }, "AuthorizerDescription":{ "type":"structure", "members":{ @@ -3568,7 +3890,8 @@ "tokenSigningPublicKeys":{"shape":"PublicKeyMap"}, "status":{"shape":"AuthorizerStatus"}, "creationDate":{"shape":"DateType"}, - "lastModifiedDate":{"shape":"DateType"} + "lastModifiedDate":{"shape":"DateType"}, + "signingDisabled":{"shape":"BooleanKey"} } }, "AuthorizerFunctionArn":{"type":"string"}, @@ -3687,6 +4010,7 @@ } }, "Boolean":{"type":"boolean"}, + "BooleanKey":{"type":"boolean"}, "BucketName":{"type":"string"}, "CACertificate":{ "type":"structure", @@ -4085,9 +4409,7 @@ "type":"structure", "required":[ "authorizerName", - "authorizerFunctionArn", - "tokenKeyName", - "tokenSigningPublicKeys" + "authorizerFunctionArn" ], "members":{ "authorizerName":{ @@ -4098,7 +4420,8 @@ "authorizerFunctionArn":{"shape":"AuthorizerFunctionArn"}, "tokenKeyName":{"shape":"TokenKeyName"}, "tokenSigningPublicKeys":{"shape":"PublicKeyMap"}, - "status":{"shape":"AuthorizerStatus"} + "status":{"shape":"AuthorizerStatus"}, + "signingDisabled":{"shape":"BooleanKey"} } }, "CreateAuthorizerResponse":{ @@ -4149,6 +4472,29 @@ "certificatePem":{"shape":"CertificatePem"} } }, + "CreateDomainConfigurationRequest":{ + "type":"structure", + "required":["domainConfigurationName"], + "members":{ + "domainConfigurationName":{ + "shape":"DomainConfigurationName", + "location":"uri", + "locationName":"domainConfigurationName" + }, + "domainName":{"shape":"DomainName"}, + "serverCertificateArns":{"shape":"ServerCertificateArns"}, + "validationCertificateArn":{"shape":"AcmCertificateArn"}, + "authorizerConfig":{"shape":"AuthorizerConfig"}, + "serviceType":{"shape":"ServiceType"} + } + }, + "CreateDomainConfigurationResponse":{ + "type":"structure", + "members":{ + "domainConfigurationName":{"shape":"DomainConfigurationName"}, + "domainConfigurationArn":{"shape":"DomainConfigurationArn"} + } + }, "CreateDynamicThingGroupRequest":{ "type":"structure", "required":[ @@ -4342,6 +4688,79 @@ "isDefaultVersion":{"shape":"IsDefaultVersion"} } }, + "CreateProvisioningClaimRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + } + } + }, + "CreateProvisioningClaimResponse":{ + "type":"structure", + "members":{ + "certificateId":{"shape":"CertificateId"}, + "certificatePem":{"shape":"CertificatePem"}, + "keyPair":{"shape":"KeyPair"}, + "expiration":{"shape":"DateType"} + } + }, + "CreateProvisioningTemplateRequest":{ + "type":"structure", + "required":[ + "templateName", + "templateBody", + "provisioningRoleArn" + ], + "members":{ + "templateName":{"shape":"TemplateName"}, + "description":{"shape":"TemplateDescription"}, + "templateBody":{"shape":"TemplateBody"}, + "enabled":{"shape":"Enabled"}, + "provisioningRoleArn":{"shape":"RoleArn"}, + "tags":{"shape":"TagList"} + } + }, + "CreateProvisioningTemplateResponse":{ + "type":"structure", + "members":{ + "templateArn":{"shape":"TemplateArn"}, + "templateName":{"shape":"TemplateName"}, + "defaultVersionId":{"shape":"TemplateVersionId"} + } + }, + "CreateProvisioningTemplateVersionRequest":{ + "type":"structure", + "required":[ + "templateName", + "templateBody" + ], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + }, + "templateBody":{"shape":"TemplateBody"}, + "setAsDefault":{ + "shape":"SetAsDefault", + "location":"querystring", + "locationName":"setAsDefault" + } + } + }, + "CreateProvisioningTemplateVersionResponse":{ + "type":"structure", + "members":{ + "templateArn":{"shape":"TemplateArn"}, + "templateName":{"shape":"TemplateName"}, + "versionId":{"shape":"TemplateVersionId"}, + "isDefaultVersion":{"shape":"IsDefaultVersion"} + } + }, "CreateRoleAliasRequest":{ "type":"structure", "required":[ @@ -4673,6 +5092,22 @@ "error":{"httpStatusCode":409}, "exception":true }, + "DeleteDomainConfigurationRequest":{ + "type":"structure", + "required":["domainConfigurationName"], + "members":{ + "domainConfigurationName":{ + "shape":"DomainConfigurationName", + "location":"uri", + "locationName":"domainConfigurationName" + } + } + }, + "DeleteDomainConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDynamicThingGroupRequest":{ "type":"structure", "required":["thingGroupName"], @@ -4812,6 +5247,46 @@ } } }, + "DeleteProvisioningTemplateRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + } + } + }, + "DeleteProvisioningTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteProvisioningTemplateVersionRequest":{ + "type":"structure", + "required":[ + "templateName", + "versionId" + ], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + }, + "versionId":{ + "shape":"TemplateVersionId", + "location":"uri", + "locationName":"versionId" + } + } + }, + "DeleteProvisioningTemplateVersionResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteRegistrationCodeRequest":{ "type":"structure", "members":{ @@ -5166,21 +5641,45 @@ } } }, - "DescribeCertificateResponse":{ + "DescribeCertificateResponse":{ + "type":"structure", + "members":{ + "certificateDescription":{"shape":"CertificateDescription"} + } + }, + "DescribeDefaultAuthorizerRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeDefaultAuthorizerResponse":{ "type":"structure", "members":{ - "certificateDescription":{"shape":"CertificateDescription"} + "authorizerDescription":{"shape":"AuthorizerDescription"} } }, - "DescribeDefaultAuthorizerRequest":{ + "DescribeDomainConfigurationRequest":{ "type":"structure", + "required":["domainConfigurationName"], "members":{ + "domainConfigurationName":{ + "shape":"ReservedDomainConfigurationName", + "location":"uri", + "locationName":"domainConfigurationName" + } } }, - "DescribeDefaultAuthorizerResponse":{ + "DescribeDomainConfigurationResponse":{ "type":"structure", "members":{ - "authorizerDescription":{"shape":"AuthorizerDescription"} + "domainConfigurationName":{"shape":"ReservedDomainConfigurationName"}, + "domainConfigurationArn":{"shape":"DomainConfigurationArn"}, + "domainName":{"shape":"DomainName"}, + "serverCertificates":{"shape":"ServerCertificates"}, + "authorizerConfig":{"shape":"AuthorizerConfig"}, + "domainConfigurationStatus":{"shape":"DomainConfigurationStatus"}, + "serviceType":{"shape":"ServiceType"}, + "domainType":{"shape":"DomainType"} } }, "DescribeEndpointRequest":{ @@ -5303,6 +5802,59 @@ "lastModifiedDate":{"shape":"Timestamp"} } }, + "DescribeProvisioningTemplateRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + } + } + }, + "DescribeProvisioningTemplateResponse":{ + "type":"structure", + "members":{ + "templateArn":{"shape":"TemplateArn"}, + "templateName":{"shape":"TemplateName"}, + "description":{"shape":"TemplateDescription"}, + "creationDate":{"shape":"DateType"}, + "lastModifiedDate":{"shape":"DateType"}, + "defaultVersionId":{"shape":"TemplateVersionId"}, + "templateBody":{"shape":"TemplateBody"}, + "enabled":{"shape":"Enabled"}, + "provisioningRoleArn":{"shape":"RoleArn"} + } + }, + "DescribeProvisioningTemplateVersionRequest":{ + "type":"structure", + "required":[ + "templateName", + "versionId" + ], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + }, + "versionId":{ + "shape":"TemplateVersionId", + "location":"uri", + "locationName":"versionId" + } + } + }, + "DescribeProvisioningTemplateVersionResponse":{ + "type":"structure", + "members":{ + "versionId":{"shape":"TemplateVersionId"}, + "creationDate":{"shape":"DateType"}, + "templateBody":{"shape":"TemplateBody"}, + "isDefaultVersion":{"shape":"IsDefaultVersion"} + } + }, "DescribeRoleAliasRequest":{ "type":"structure", "required":["roleAlias"], @@ -5610,6 +6162,45 @@ } } }, + "DomainConfigurationArn":{"type":"string"}, + "DomainConfigurationName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w.-]+" + }, + "DomainConfigurationStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "DomainConfigurationSummary":{ + "type":"structure", + "members":{ + "domainConfigurationName":{"shape":"ReservedDomainConfigurationName"}, + "domainConfigurationArn":{"shape":"DomainConfigurationArn"}, + "serviceType":{"shape":"ServiceType"} + } + }, + "DomainConfigurations":{ + "type":"list", + "member":{"shape":"DomainConfigurationSummary"} + }, + "DomainName":{ + "type":"string", + "max":253, + "min":1 + }, + "DomainType":{ + "type":"string", + "enum":[ + "ENDPOINT", + "AWS_MANAGED", + "CUSTOMER_MANAGED" + ] + }, "DurationSeconds":{"type":"integer"}, "DynamicGroupStatus":{ "type":"string", @@ -5719,7 +6310,10 @@ }, "Enabled":{"type":"boolean"}, "EndpointAddress":{"type":"string"}, - "EndpointType":{"type":"string"}, + "EndpointType":{ + "type":"string", + "max":128 + }, "ErrorCode":{"type":"string"}, "ErrorInfo":{ "type":"structure", @@ -6143,6 +6737,33 @@ "sigv4":{"shape":"SigV4Authorization"} } }, + "HttpContext":{ + "type":"structure", + "members":{ + "headers":{"shape":"HttpHeaders"}, + "queryString":{"shape":"HttpQueryString"} + } + }, + "HttpHeaderName":{ + "type":"string", + "max":8192, + "min":1 + }, + "HttpHeaderValue":{ + "type":"string", + "max":8192, + "min":1 + }, + "HttpHeaders":{ + "type":"map", + "key":{"shape":"HttpHeaderName"}, + "value":{"shape":"HttpHeaderValue"} + }, + "HttpQueryString":{ + "type":"string", + "max":4096, + "min":1 + }, "HttpUrlDestinationConfiguration":{ "type":"structure", "required":["confirmationUrl"], @@ -6287,6 +6908,17 @@ "roleArn":{"shape":"AwsArn"} } }, + "IotSiteWiseAction":{ + "type":"structure", + "required":[ + "putAssetPropertyValueEntries", + "roleArn" + ], + "members":{ + "putAssetPropertyValueEntries":{"shape":"PutAssetPropertyValueEntryList"}, + "roleArn":{"shape":"AwsArn"} + } + }, "IsAuthenticated":{"type":"boolean"}, "IsDefaultVersion":{"type":"boolean"}, "IsDisabled":{"type":"boolean"}, @@ -6881,6 +7513,33 @@ "nextMarker":{"shape":"Marker"} } }, + "ListDomainConfigurationsRequest":{ + "type":"structure", + "members":{ + "marker":{ + "shape":"Marker", + "location":"querystring", + "locationName":"marker" + }, + "pageSize":{ + "shape":"PageSize", + "location":"querystring", + "locationName":"pageSize" + }, + "serviceType":{ + "shape":"ServiceType", + "location":"querystring", + "locationName":"serviceType" + } + } + }, + "ListDomainConfigurationsResponse":{ + "type":"structure", + "members":{ + "domainConfigurations":{"shape":"DomainConfigurations"}, + "nextMarker":{"shape":"Marker"} + } + }, "ListIndicesRequest":{ "type":"structure", "members":{ @@ -7230,6 +7889,56 @@ "nextToken":{"shape":"NextToken"} } }, + "ListProvisioningTemplateVersionsRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProvisioningTemplateVersionsResponse":{ + "type":"structure", + "members":{ + "versions":{"shape":"ProvisioningTemplateVersionListing"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListProvisioningTemplatesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProvisioningTemplatesResponse":{ + "type":"structure", + "members":{ + "templates":{"shape":"ProvisioningTemplateListing"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListRoleAliasesRequest":{ "type":"structure", "members":{ @@ -8003,6 +8712,29 @@ "PUBLISH_FINDING_TO_SNS" ] }, + "MqttClientId":{ + "type":"string", + "max":65535, + "min":1 + }, + "MqttContext":{ + "type":"structure", + "members":{ + "username":{"shape":"MqttUsername"}, + "password":{"shape":"MqttPassword"}, + "clientId":{"shape":"MqttClientId"} + } + }, + "MqttPassword":{ + "type":"blob", + "max":65535, + "min":1 + }, + "MqttUsername":{ + "type":"string", + "max":65535, + "min":1 + }, "NextToken":{"type":"string"}, "NonCompliantChecksCount":{"type":"integer"}, "NonCompliantResource":{ @@ -8251,6 +8983,33 @@ "type":"list", "member":{"shape":"ProcessingTargetName"} }, + "ProvisioningTemplateListing":{ + "type":"list", + "member":{"shape":"ProvisioningTemplateSummary"} + }, + "ProvisioningTemplateSummary":{ + "type":"structure", + "members":{ + "templateArn":{"shape":"TemplateArn"}, + "templateName":{"shape":"TemplateName"}, + "description":{"shape":"TemplateDescription"}, + "creationDate":{"shape":"DateType"}, + "lastModifiedDate":{"shape":"DateType"}, + "enabled":{"shape":"Enabled"} + } + }, + "ProvisioningTemplateVersionListing":{ + "type":"list", + "member":{"shape":"ProvisioningTemplateVersionSummary"} + }, + "ProvisioningTemplateVersionSummary":{ + "type":"structure", + "members":{ + "versionId":{"shape":"TemplateVersionId"}, + "creationDate":{"shape":"DateType"}, + "isDefaultVersion":{"shape":"IsDefaultVersion"} + } + }, "PublicKey":{ "type":"string", "min":1 @@ -8267,6 +9026,22 @@ "topicArn":{"shape":"SnsTopicArn"} } }, + "PutAssetPropertyValueEntry":{ + "type":"structure", + "required":["propertyValues"], + "members":{ + "entryId":{"shape":"AssetPropertyEntryId"}, + "assetId":{"shape":"AssetId"}, + "propertyId":{"shape":"AssetPropertyId"}, + "propertyAlias":{"shape":"AssetPropertyAlias"}, + "propertyValues":{"shape":"AssetPropertyValueList"} + } + }, + "PutAssetPropertyValueEntryList":{ + "type":"list", + "member":{"shape":"PutAssetPropertyValueEntry"}, + "min":1 + }, "PutItemInput":{ "type":"structure", "required":["tableName"], @@ -8444,6 +9219,7 @@ "type":"list", "member":{"shape":"RelatedResource"} }, + "RemoveAuthorizerConfig":{"type":"boolean"}, "RemoveAutoRegistration":{"type":"boolean"}, "RemoveThingFromBillingGroupRequest":{ "type":"structure", @@ -8517,6 +9293,12 @@ "qos":{"shape":"Qos"} } }, + "ReservedDomainConfigurationName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w.:-]+" + }, "Resource":{"type":"string"}, "ResourceAlreadyExistsException":{ "type":"structure", @@ -8542,7 +9324,9 @@ "cognitoIdentityPoolId":{"shape":"CognitoIdentityPoolId"}, "clientId":{"shape":"ClientId"}, "policyVersionIdentifier":{"shape":"PolicyVersionIdentifier"}, - "account":{"shape":"AwsAccountId"} + "account":{"shape":"AwsAccountId"}, + "iamRoleArn":{"shape":"RoleArn"}, + "roleAliasArn":{"shape":"RoleAliasArn"} } }, "ResourceLogicalId":{"type":"string"}, @@ -8570,7 +9354,9 @@ "IOT_POLICY", "COGNITO_IDENTITY_POOL", "CLIENT_ID", - "ACCOUNT_SETTINGS" + "ACCOUNT_SETTINGS", + "ROLE_ALIAS", + "IAM_ROLE" ] }, "Resources":{ @@ -8583,7 +9369,11 @@ "min":1, "pattern":"[\\w=,@-]+" }, - "RoleAliasArn":{"type":"string"}, + "RoleAliasArn":{ + "type":"string", + "max":2048, + "min":1 + }, "RoleAliasDescription":{ "type":"structure", "members":{ @@ -8779,7 +9569,46 @@ "type":"list", "member":{"shape":"SecurityProfileTarget"} }, + "ServerCertificateArns":{ + "type":"list", + "member":{"shape":"AcmCertificateArn"}, + "max":1, + "min":0 + }, + "ServerCertificateStatus":{ + "type":"string", + "enum":[ + "INVALID", + "VALID" + ] + }, + "ServerCertificateStatusDetail":{"type":"string"}, + "ServerCertificateSummary":{ + "type":"structure", + "members":{ + "serverCertificateArn":{"shape":"AcmCertificateArn"}, + "serverCertificateStatus":{"shape":"ServerCertificateStatus"}, + "serverCertificateStatusDetail":{"shape":"ServerCertificateStatusDetail"} + } + }, + "ServerCertificates":{ + "type":"list", + "member":{"shape":"ServerCertificateSummary"} + }, + "ServerName":{ + "type":"string", + "max":253, + "min":1 + }, "ServiceName":{"type":"string"}, + "ServiceType":{ + "type":"string", + "enum":[ + "DATA", + "CREDENTIAL_PROVIDER", + "JOBS" + ] + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -9236,7 +10065,21 @@ "canceledFindingsCount":{"shape":"CanceledFindingsCount"} } }, + "TemplateArn":{"type":"string"}, "TemplateBody":{"type":"string"}, + "TemplateDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[^\\p{C}]*" + }, + "TemplateName":{ + "type":"string", + "max":36, + "min":1, + "pattern":"^[0-9A-Za-z_-]+$" + }, + "TemplateVersionId":{"type":"integer"}, "TestAuthorizationRequest":{ "type":"structure", "required":["authInfos"], @@ -9261,11 +10104,7 @@ }, "TestInvokeAuthorizerRequest":{ "type":"structure", - "required":[ - "authorizerName", - "token", - "tokenSignature" - ], + "required":["authorizerName"], "members":{ "authorizerName":{ "shape":"AuthorizerName", @@ -9273,7 +10112,10 @@ "locationName":"authorizerName" }, "token":{"shape":"Token"}, - "tokenSignature":{"shape":"TokenSignature"} + "tokenSignature":{"shape":"TokenSignature"}, + "httpContext":{"shape":"HttpContext"}, + "mqttContext":{"shape":"MqttContext"}, + "tlsContext":{"shape":"TlsContext"} } }, "TestInvokeAuthorizerResponse":{ @@ -9498,6 +10340,12 @@ } }, "Timestamp":{"type":"timestamp"}, + "TlsContext":{ + "type":"structure", + "members":{ + "serverName":{"shape":"ServerName"} + } + }, "Token":{ "type":"string", "max":6144, @@ -9803,6 +10651,27 @@ "action":{"shape":"DeviceCertificateUpdateAction"} } }, + "UpdateDomainConfigurationRequest":{ + "type":"structure", + "required":["domainConfigurationName"], + "members":{ + "domainConfigurationName":{ + "shape":"ReservedDomainConfigurationName", + "location":"uri", + "locationName":"domainConfigurationName" + }, + "authorizerConfig":{"shape":"AuthorizerConfig"}, + "domainConfigurationStatus":{"shape":"DomainConfigurationStatus"}, + "removeAuthorizerConfig":{"shape":"RemoveAuthorizerConfig"} + } + }, + "UpdateDomainConfigurationResponse":{ + "type":"structure", + "members":{ + "domainConfigurationName":{"shape":"ReservedDomainConfigurationName"}, + "domainConfigurationArn":{"shape":"DomainConfigurationArn"} + } + }, "UpdateDynamicThingGroupRequest":{ "type":"structure", "required":[ @@ -9887,6 +10756,26 @@ "actionId":{"shape":"MitigationActionId"} } }, + "UpdateProvisioningTemplateRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "location":"uri", + "locationName":"templateName" + }, + "description":{"shape":"TemplateDescription"}, + "enabled":{"shape":"Enabled"}, + "defaultVersionId":{"shape":"TemplateVersionId"}, + "provisioningRoleArn":{"shape":"RoleArn"} + } + }, + "UpdateProvisioningTemplateResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateRoleAliasRequest":{ "type":"structure", "required":["roleAlias"], diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index aec218d8f31..544ab9e0862 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -20,13 +20,17 @@ "CreateAuthorizer": "

Creates an authorizer.

", "CreateBillingGroup": "

Creates a billing group.

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

", + "CreateDomainConfiguration": "

Creates a domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "CreateDynamicThingGroup": "

Creates a dynamic thing group.

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

", + "CreateKeysAndCertificate": "

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. You can also call CreateKeysAndCertificate over MQTT from a device, for more information, see Provisioning MQTT API.

Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.

", "CreateMitigationAction": "

Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Each mitigation action can apply only one type of change.

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

", + "CreateProvisioningClaim": "

Creates a provisioning claim.

", + "CreateProvisioningTemplate": "

Creates a fleet provisioning template.

", + "CreateProvisioningTemplateVersion": "

Creates a new version of a fleet provisioning template.

", "CreateRoleAlias": "

Creates a role alias.

", "CreateScheduledAudit": "

Creates a scheduled audit that is run at a specified time interval.

", "CreateSecurityProfile": "

Creates a Device Defender security profile.

", @@ -41,6 +45,7 @@ "DeleteBillingGroup": "

Deletes the billing group.

", "DeleteCACertificate": "

Deletes a registered CA certificate.

", "DeleteCertificate": "

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy or IoT thing attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.

", + "DeleteDomainConfiguration": "

Deletes the specified domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "DeleteDynamicThingGroup": "

Deletes a dynamic thing group.

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

", @@ -48,6 +53,8 @@ "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.

", + "DeleteProvisioningTemplate": "

Deletes a fleet provisioning template.

", + "DeleteProvisioningTemplateVersion": "

Deletes a fleet provisioning template version.

", "DeleteRegistrationCode": "

Deletes a CA certificate registration code.

", "DeleteRoleAlias": "

Deletes a role alias

", "DeleteScheduledAudit": "

Deletes a scheduled audit.

", @@ -69,12 +76,15 @@ "DescribeCACertificate": "

Describes a registered CA certificate.

", "DescribeCertificate": "

Gets information about the specified certificate.

", "DescribeDefaultAuthorizer": "

Describes the default authorizer.

", + "DescribeDomainConfiguration": "

Gets summary information about a domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "DescribeEndpoint": "

Returns a unique endpoint specific to the AWS account making the call.

", "DescribeEventConfigurations": "

Describes event configurations.

", "DescribeIndex": "

Describes a search index.

", "DescribeJob": "

Describes a job.

", "DescribeJobExecution": "

Describes a job execution.

", "DescribeMitigationAction": "

Gets information about a mitigation action.

", + "DescribeProvisioningTemplate": "

Returns information about a fleet provisioning template.

", + "DescribeProvisioningTemplateVersion": "

Returns information about a fleet provisioning template version.

", "DescribeRoleAlias": "

Describes a role alias.

", "DescribeScheduledAudit": "

Gets information about a scheduled audit.

", "DescribeSecurityProfile": "

Gets information about a Device Defender security profile.

", @@ -91,7 +101,7 @@ "EnableTopicRule": "

Enables the rule.

", "GetCardinality": "

Returns the approximate count of unique values that match the query.

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

", + "GetIndexingConfiguration": "

Gets the indexing configuration.

", "GetJobDocument": "

Gets a job document.

", "GetLoggingOptions": "

Gets the logging options.

NOTE: use of this command is not recommended. Use GetV2LoggingOptions instead.

", "GetOTAUpdate": "

Gets an OTA update.

", @@ -99,7 +109,7 @@ "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.

", - "GetStatistics": "

Gets statistics about things that match the specified query.

", + "GetStatistics": "

Returns the count, average, sum, minimum, maximum, sum of squares, variance, and standard deviation for the specified aggregated field. If the aggregation field is of type String, only the count statistic is returned.

", "GetTopicRule": "

Gets information about the rule.

", "GetTopicRuleDestination": "

Gets information about a topic rule destination.

", "GetV2LoggingOptions": "

Gets the fine grained logging options.

", @@ -114,6 +124,7 @@ "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.

", "ListCertificatesByCA": "

List the device certificates signed by the specified CA certificate.

", + "ListDomainConfigurations": "

Gets a list of domain configurations for the user. This list is sorted alphabetically by domain configuration name.

The domain configuration feature is in public preview and is subject to change.

", "ListIndices": "

Lists the search indices.

", "ListJobExecutionsForJob": "

Lists the job executions for a job.

", "ListJobExecutionsForThing": "

Lists the job executions for the specified thing.

", @@ -126,6 +137,8 @@ "ListPolicyVersions": "

Lists the versions of the specified policy and identifies the default version.

", "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. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

", + "ListProvisioningTemplateVersions": "

A list of fleet provisioning template versions.

", + "ListProvisioningTemplates": "

Lists the fleet provisioning templates in your AWS account.

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

", @@ -149,7 +162,7 @@ "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.

", + "RegisterThing": "

Provisions a thing in the device registry. RegisterThing calls other AWS IoT control plane APIs. These calls might exceed your account level AWS IoT Throttling Limits and cause throttle errors. Please contact AWS Customer Support to raise your throttling limits if necessary.

", "RejectCertificateTransfer": "

Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.

", "RemoveThingFromBillingGroup": "

Removes the given thing from the billing group.

", "RemoveThingFromThingGroup": "

Remove the specified thing from the specified group.

", @@ -174,11 +187,13 @@ "UpdateBillingGroup": "

Updates information about the billing group.

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

", + "UpdateDomainConfiguration": "

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

The domain configuration feature is in public preview and is subject to change.

", "UpdateDynamicThingGroup": "

Updates a dynamic thing group.

", "UpdateEventConfigurations": "

Updates the event configurations.

", "UpdateIndexingConfiguration": "

Updates the search configuration.

", "UpdateJob": "

Updates supported fields of the specified job.

", "UpdateMitigationAction": "

Updates the definition for the specified mitigation action.

", + "UpdateProvisioningTemplate": "

Updates a fleet provisioning template.

", "UpdateRoleAlias": "

Updates a role alias.

", "UpdateScheduledAudit": "

Updates a scheduled audit, including which checks are performed and how often the audit takes place.

", "UpdateSecurityProfile": "

Updates a Device Defender security profile.

", @@ -227,6 +242,14 @@ "refs": { } }, + "AcmCertificateArn": { + "base": null, + "refs": { + "CreateDomainConfigurationRequest$validationCertificateArn": "

The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for AWS-managed domains.

", + "ServerCertificateArns$member": null, + "ServerCertificateSummary$serverCertificateArn": "

The ARN of the server certificate.

" + } + }, "Action": { "base": "

Describes the actions associated with a rule.

", "refs": { @@ -307,7 +330,7 @@ "refs": { "GetCardinalityRequest$aggregationField": "

The field to aggregate.

", "GetPercentilesRequest$aggregationField": "

The field to aggregate.

", - "GetStatisticsRequest$aggregationField": "

The aggregation field name. Currently not supported.

" + "GetStatisticsRequest$aggregationField": "

The aggregation field name.

" } }, "AlarmName": { @@ -343,6 +366,12 @@ "UpdateSecurityProfileResponse$alertTargets": "

Where the alerts are sent. (Alerts are always sent to the console.)

" } }, + "AllowAuthorizerOverride": { + "base": null, + "refs": { + "AuthorizerConfig$allowAuthorizerOverride": "

A Boolean that specifies whether the domain configuration's authorization service can be overridden.

" + } + }, "AllowAutoRegistration": { "base": null, "refs": { @@ -376,6 +405,96 @@ "ListStreamsRequest$ascendingOrder": "

Set to true to return the list of streams in ascending order.

" } }, + "AssetId": { + "base": null, + "refs": { + "PutAssetPropertyValueEntry$assetId": "

The ID of the AWS IoT SiteWise asset. You must specify either a propertyAlias or both an analiasId and a propertyId. Accepts substitution templates.

" + } + }, + "AssetPropertyAlias": { + "base": null, + "refs": { + "PutAssetPropertyValueEntry$propertyAlias": "

The name of the property alias associated with your asset property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

" + } + }, + "AssetPropertyBooleanValue": { + "base": null, + "refs": { + "AssetPropertyVariant$booleanValue": "

Optional. A string that contains the boolean value (true or false) of the value entry. Accepts substitution templates.

" + } + }, + "AssetPropertyDoubleValue": { + "base": null, + "refs": { + "AssetPropertyVariant$doubleValue": "

Optional. A string that contains the double value of the value entry. Accepts substitution templates.

" + } + }, + "AssetPropertyEntryId": { + "base": null, + "refs": { + "PutAssetPropertyValueEntry$entryId": "

Optional. A unique identifier for this entry that you can define to better track which message caused an error in case of failure. Accepts substitution templates. Defaults to a new UUID.

" + } + }, + "AssetPropertyId": { + "base": null, + "refs": { + "PutAssetPropertyValueEntry$propertyId": "

The ID of the asset's property. You must specify either a propertyAlias or both an analiasId and a propertyId. Accepts substitution templates.

" + } + }, + "AssetPropertyIntegerValue": { + "base": null, + "refs": { + "AssetPropertyVariant$integerValue": "

Optional. A string that contains the integer value of the value entry. Accepts substitution templates.

" + } + }, + "AssetPropertyOffsetInNanos": { + "base": null, + "refs": { + "AssetPropertyTimestamp$offsetInNanos": "

Optional. A string that contains the nanosecond time offset. Accepts substitution templates.

" + } + }, + "AssetPropertyQuality": { + "base": null, + "refs": { + "AssetPropertyValue$quality": "

Optional. A string that describes the quality of the value. Accepts substitution templates. Must be GOOD, BAD, or UNCERTAIN.

" + } + }, + "AssetPropertyStringValue": { + "base": null, + "refs": { + "AssetPropertyVariant$stringValue": "

Optional. The string value of the value entry. Accepts substitution templates.

" + } + }, + "AssetPropertyTimeInSeconds": { + "base": null, + "refs": { + "AssetPropertyTimestamp$timeInSeconds": "

A string that contains the time in seconds since epoch. Accepts substitution templates.

" + } + }, + "AssetPropertyTimestamp": { + "base": "

An asset property timestamp entry containing the following information.

", + "refs": { + "AssetPropertyValue$timestamp": "

The asset property value timestamp.

" + } + }, + "AssetPropertyValue": { + "base": "

An asset property value entry containing the following information.

", + "refs": { + "AssetPropertyValueList$member": null + } + }, + "AssetPropertyValueList": { + "base": null, + "refs": { + "PutAssetPropertyValueEntry$propertyValues": "

A list of property values to insert that each contain timestamp, quality, and value (TQV) information.

" + } + }, + "AssetPropertyVariant": { + "base": "

Contains an asset property value (of a single type).

", + "refs": { + "AssetPropertyValue$value": "

The value of the asset property.

" + } + }, "AssociateTargetsWithJobRequest": { "base": null, "refs": { @@ -712,6 +831,14 @@ "UpdateAuthorizerResponse$authorizerArn": "

The authorizer ARN.

" } }, + "AuthorizerConfig": { + "base": "

An object that specifies the authorization service for a domain.

", + "refs": { + "CreateDomainConfigurationRequest$authorizerConfig": "

An object that specifies the authorization service for a domain.

", + "DescribeDomainConfigurationResponse$authorizerConfig": "

An object that specifies the authorization service for a domain.

", + "UpdateDomainConfigurationRequest$authorizerConfig": "

An object that specifies the authorization service for a domain.

" + } + }, "AuthorizerDescription": { "base": "

The authorizer description.

", "refs": { @@ -730,6 +857,7 @@ "AuthorizerName": { "base": null, "refs": { + "AuthorizerConfig$defaultAuthorizerName": "

The name of the authorization service for a domain configuration.

", "AuthorizerDescription$authorizerName": "

The authorizer name.

", "AuthorizerSummary$authorizerName": "

The authorizer name.

", "CreateAuthorizerRequest$authorizerName": "

The authorizer name.

", @@ -774,7 +902,7 @@ "Average": { "base": null, "refs": { - "Statistics$average": "

The average of the aggregated fields. If the field data type is String this value is indeterminate.

" + "Statistics$average": "

The average of the aggregated field values.

" } }, "AwsAccountId": { @@ -805,6 +933,7 @@ "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).

", "IotEventsAction$roleArn": "

The ARN of the role that grants AWS IoT permission to send an input to an AWS IoT Events detector. (\"Action\":\"iotevents:BatchPutMessage\").

", + "IotSiteWiseAction$roleArn": "

The ARN of the role that grants AWS IoT permission to send an asset property value to AWS IoTSiteWise. (\"Action\": \"iotsitewise:BatchPutAssetPropertyValue\"). The trust policy can restrict access to specific asset hierarchy paths.

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

", @@ -951,6 +1080,13 @@ "ThingTypeMetadata$deprecated": "

Whether the thing type is deprecated. If true, no new things could be associated with this type.

" } }, + "BooleanKey": { + "base": null, + "refs": { + "AuthorizerDescription$signingDisabled": "

Specifies whether AWS IoT validates the token signature in an authorization request.

", + "CreateAuthorizerRequest$signingDisabled": "

Specifies whether AWS IoT validates the token signature in an authorization request.

" + } + }, "BucketName": { "base": null, "refs": { @@ -1098,6 +1234,7 @@ "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).

", + "CreateProvisioningClaimResponse$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.

", @@ -1133,6 +1270,7 @@ "CertificateDescription$certificatePem": "

The certificate data, in PEM format.

", "CreateCertificateFromCsrResponse$certificatePem": "

The certificate data, in PEM format.

", "CreateKeysAndCertificateResponse$certificatePem": "

The certificate data, in PEM format.

", + "CreateProvisioningClaimResponse$certificatePem": "

The provisioning claim certificate.

", "RegisterCACertificateRequest$caCertificate": "

The CA certificate.

", "RegisterCACertificateRequest$verificationCertificate": "

The private key verification certificate.

", "RegisterCertificateRequest$certificatePem": "

The certificate data, in PEM format.

", @@ -1375,6 +1513,16 @@ "refs": { } }, + "CreateDomainConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateDomainConfigurationResponse": { + "base": null, + "refs": { + } + }, "CreateDynamicThingGroupRequest": { "base": null, "refs": { @@ -1445,6 +1593,36 @@ "refs": { } }, + "CreateProvisioningClaimRequest": { + "base": null, + "refs": { + } + }, + "CreateProvisioningClaimResponse": { + "base": null, + "refs": { + } + }, + "CreateProvisioningTemplateRequest": { + "base": null, + "refs": { + } + }, + "CreateProvisioningTemplateResponse": { + "base": null, + "refs": { + } + }, + "CreateProvisioningTemplateVersionRequest": { + "base": null, + "refs": { + } + }, + "CreateProvisioningTemplateVersionResponse": { + "base": null, + "refs": { + } + }, "CreateRoleAliasRequest": { "base": null, "refs": { @@ -1581,10 +1759,14 @@ "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.

", + "CreateProvisioningClaimResponse$expiration": "

The provisioning claim expiration time.

", + "DescribeProvisioningTemplateResponse$creationDate": "

The date when the fleet provisioning template was created.

", + "DescribeProvisioningTemplateResponse$lastModifiedDate": "

The date when the fleet provisioning template was last modified.

", + "DescribeProvisioningTemplateVersionResponse$creationDate": "

The date when the fleet provisioning template version was created.

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

", + "GetPolicyVersionResponse$creationDate": "

The date the policy was created.

", + "GetPolicyVersionResponse$lastModifiedDate": "

The date the policy was last modified.

", "Job$createdAt": "

The time, in seconds since the epoch, when the job was created.

", "Job$lastUpdatedAt": "

The time, in seconds since the epoch, when the job was last updated.

", "Job$completedAt": "

The time, in seconds since the epoch, when the job was completed.

", @@ -1603,6 +1785,9 @@ "OutgoingCertificate$transferDate": "

The date the transfer was initiated.

", "OutgoingCertificate$creationDate": "

The certificate creation date.

", "PolicyVersion$createDate": "

The date and time the policy was created.

", + "ProvisioningTemplateSummary$creationDate": "

The date when the fleet provisioning template summary was created.

", + "ProvisioningTemplateSummary$lastModifiedDate": "

The date when the fleet provisioning template summary was last modified.

", + "ProvisioningTemplateVersionSummary$creationDate": "

The date when the fleet provisioning template version 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.

", @@ -1698,6 +1883,16 @@ "refs": { } }, + "DeleteDomainConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteDomainConfigurationResponse": { + "base": null, + "refs": { + } + }, "DeleteDynamicThingGroupRequest": { "base": null, "refs": { @@ -1748,6 +1943,26 @@ "refs": { } }, + "DeleteProvisioningTemplateRequest": { + "base": null, + "refs": { + } + }, + "DeleteProvisioningTemplateResponse": { + "base": null, + "refs": { + } + }, + "DeleteProvisioningTemplateVersionRequest": { + "base": null, + "refs": { + } + }, + "DeleteProvisioningTemplateVersionResponse": { + "base": null, + "refs": { + } + }, "DeleteRegistrationCodeRequest": { "base": "

The input for the DeleteRegistrationCode operation.

", "refs": { @@ -1978,6 +2193,16 @@ "refs": { } }, + "DescribeDomainConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DescribeDomainConfigurationResponse": { + "base": null, + "refs": { + } + }, "DescribeEndpointRequest": { "base": "

The input for the DescribeEndpoint operation.

", "refs": { @@ -2038,6 +2263,26 @@ "refs": { } }, + "DescribeProvisioningTemplateRequest": { + "base": null, + "refs": { + } + }, + "DescribeProvisioningTemplateResponse": { + "base": null, + "refs": { + } + }, + "DescribeProvisioningTemplateVersionRequest": { + "base": null, + "refs": { + } + }, + "DescribeProvisioningTemplateVersionResponse": { + "base": null, + "refs": { + } + }, "DescribeRoleAliasRequest": { "base": null, "refs": { @@ -2207,6 +2452,55 @@ "refs": { } }, + "DomainConfigurationArn": { + "base": null, + "refs": { + "CreateDomainConfigurationResponse$domainConfigurationArn": "

The ARN of the domain configuration.

", + "DescribeDomainConfigurationResponse$domainConfigurationArn": "

The ARN of the domain configuration.

", + "DomainConfigurationSummary$domainConfigurationArn": "

The ARN of the domain configuration.

", + "UpdateDomainConfigurationResponse$domainConfigurationArn": "

The ARN of the domain configuration that was updated.

" + } + }, + "DomainConfigurationName": { + "base": null, + "refs": { + "CreateDomainConfigurationRequest$domainConfigurationName": "

The name of the domain configuration. This value must be unique to a region.

", + "CreateDomainConfigurationResponse$domainConfigurationName": "

The name of the domain configuration.

", + "DeleteDomainConfigurationRequest$domainConfigurationName": "

The name of the domain configuration to be deleted.

" + } + }, + "DomainConfigurationStatus": { + "base": null, + "refs": { + "DescribeDomainConfigurationResponse$domainConfigurationStatus": "

A Boolean value that specifies the current state of the domain configuration.

", + "UpdateDomainConfigurationRequest$domainConfigurationStatus": "

The status to which the domain configuration should be updated.

" + } + }, + "DomainConfigurationSummary": { + "base": "

The summary of a domain configuration. A domain configuration specifies custom IoT-specific information about a domain. A domain configuration can be associated with an AWS-managed domain (for example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer managed domain, or a default endpoint.

The domain configuration feature is in public preview and is subject to change.

", + "refs": { + "DomainConfigurations$member": null + } + }, + "DomainConfigurations": { + "base": null, + "refs": { + "ListDomainConfigurationsResponse$domainConfigurations": "

A list of objects that contain summary information about the user's domain configurations.

" + } + }, + "DomainName": { + "base": null, + "refs": { + "CreateDomainConfigurationRequest$domainName": "

The name of the domain.

", + "DescribeDomainConfigurationResponse$domainName": "

The name of the domain.

" + } + }, + "DomainType": { + "base": null, + "refs": { + "DescribeDomainConfigurationResponse$domainType": "

The type of the domain.

" + } + }, "DurationSeconds": { "base": null, "refs": { @@ -2302,7 +2596,11 @@ "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.

" + "Configuration$Enabled": "

True to enable the configuration.

", + "CreateProvisioningTemplateRequest$enabled": "

True to enable the fleet provisioning template, otherwise false.

", + "DescribeProvisioningTemplateResponse$enabled": "

True if the fleet provisioning template is enabled, otherwise false.

", + "ProvisioningTemplateSummary$enabled": "

True if the fleet provision template is enabled, otherwise false.

", + "UpdateProvisioningTemplateRequest$enabled": "

True to enable the fleet provisioning template, otherwise false.

" } }, "EndpointAddress": { @@ -2416,7 +2714,7 @@ } }, "Field": { - "base": "

The field to aggregate.

", + "base": "

Describes the name and data type at a field.

", "refs": { "Fields$member": null } @@ -2430,16 +2728,16 @@ "FieldType": { "base": null, "refs": { - "Field$type": "

The data type of the field.

" + "Field$type": "

The datatype of the field.

" } }, "Fields": { "base": null, "refs": { - "ThingGroupIndexingConfiguration$managedFields": "

A list of automatically indexed thing group fields.

", - "ThingGroupIndexingConfiguration$customFields": "

A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.

", - "ThingIndexingConfiguration$managedFields": "

A list of automatically indexed thing fields.

", - "ThingIndexingConfiguration$customFields": "

A list of thing fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.

" + "ThingGroupIndexingConfiguration$managedFields": "

Contains fields that are indexed and whose types are already known by the Fleet Indexing service.

", + "ThingGroupIndexingConfiguration$customFields": "

A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.

Contains custom field names and their data type.

", + "ThingIndexingConfiguration$managedFields": "

Contains fields that are indexed and whose types are already known by the Fleet Indexing service.

", + "ThingIndexingConfiguration$customFields": "

Contains custom field names and their data type.

" } }, "FileId": { @@ -2740,6 +3038,36 @@ "HttpAction$auth": "

The authentication method to use when sending data to an HTTPS endpoint.

" } }, + "HttpContext": { + "base": "

Specifies the HTTP context to use for the test authorizer request.

", + "refs": { + "TestInvokeAuthorizerRequest$httpContext": "

Specifies a test HTTP authorization request.

" + } + }, + "HttpHeaderName": { + "base": null, + "refs": { + "HttpHeaders$key": null + } + }, + "HttpHeaderValue": { + "base": null, + "refs": { + "HttpHeaders$value": null + } + }, + "HttpHeaders": { + "base": null, + "refs": { + "HttpContext$headers": "

The header keys and values in an HTTP authorization request.

" + } + }, + "HttpQueryString": { + "base": null, + "refs": { + "HttpContext$queryString": "

The query string keys and values in an HTTP authorization request.

" + } + }, "HttpUrlDestinationConfiguration": { "base": "

HTTP URL destination configuration used by the topic rule's HTTP action.

", "refs": { @@ -2886,6 +3214,12 @@ "Action$iotEvents": "

Sends an input to an AWS IoT Events detector.

" } }, + "IotSiteWiseAction": { + "base": "

Describes an action to send data from an MQTT message that triggered the rule to AWS IoT SiteWise asset properties.

", + "refs": { + "Action$iotSiteWise": "

Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise asset properties.

" + } + }, "IsAuthenticated": { "base": null, "refs": { @@ -2896,8 +3230,11 @@ "base": null, "refs": { "CreatePolicyVersionResponse$isDefaultVersion": "

Specifies whether the policy version is the default.

", + "CreateProvisioningTemplateVersionResponse$isDefaultVersion": "

True if the fleet provisioning template version is the default version, otherwise false.

", + "DescribeProvisioningTemplateVersionResponse$isDefaultVersion": "

True if the fleet provisioning template version is the default version.

", "GetPolicyVersionResponse$isDefaultVersion": "

Specifies whether the policy version is the default.

", - "PolicyVersion$isDefaultVersion": "

Specifies whether the policy version is the default.

" + "PolicyVersion$isDefaultVersion": "

Specifies whether the policy version is the default.

", + "ProvisioningTemplateVersionSummary$isDefaultVersion": "

True if the fleet provisioning template version is the default version, otherwise false.

" } }, "IsDisabled": { @@ -3094,7 +3431,8 @@ "KeyPair": { "base": "

Describes a key pair.

", "refs": { - "CreateKeysAndCertificateResponse$keyPair": "

The generated key pair.

" + "CreateKeysAndCertificateResponse$keyPair": "

The generated key pair.

", + "CreateProvisioningClaimResponse$keyPair": "

The provisioning claim key pair.

" } }, "KeyValue": { @@ -3245,6 +3583,16 @@ "refs": { } }, + "ListDomainConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListDomainConfigurationsResponse": { + "base": null, + "refs": { + } + }, "ListIndicesRequest": { "base": null, "refs": { @@ -3365,6 +3713,26 @@ "refs": { } }, + "ListProvisioningTemplateVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListProvisioningTemplateVersionsResponse": { + "base": null, + "refs": { + } + }, + "ListProvisioningTemplatesRequest": { + "base": null, + "refs": { + } + }, + "ListProvisioningTemplatesResponse": { + "base": null, + "refs": { + } + }, "ListRoleAliasesRequest": { "base": null, "refs": { @@ -3645,6 +4013,8 @@ "ListCertificatesByCAResponse$nextMarker": "

The marker for the next set of results, or null if there are no additional results.

", "ListCertificatesRequest$marker": "

The marker for the next set of results.

", "ListCertificatesResponse$nextMarker": "

The marker for the next set of results, or null if there are no additional results.

", + "ListDomainConfigurationsRequest$marker": "

The marker for the next set of results.

", + "ListDomainConfigurationsResponse$nextMarker": "

The marker for the next set of results.

", "ListOutgoingCertificatesRequest$marker": "

The marker for the next set of results.

", "ListOutgoingCertificatesResponse$nextMarker": "

The marker for the next set of results.

", "ListPoliciesRequest$marker": "

The marker for the next set of results.

", @@ -3675,6 +4045,8 @@ "ListAuditTasksRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListMitigationActionsRequest$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.

", + "ListProvisioningTemplateVersionsRequest$maxResults": "

The maximum number of results to return at one time.

", + "ListProvisioningTemplatesRequest$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.

", @@ -3686,7 +4058,7 @@ "Maximum": { "base": null, "refs": { - "Statistics$maximum": "

The maximum value of the aggregated fields. If the field data type is String this value is indeterminate.

" + "Statistics$maximum": "

The maximum aggregated field value.

" } }, "MaximumPerMinute": { @@ -3728,7 +4100,7 @@ "Minimum": { "base": null, "refs": { - "Statistics$minimum": "

The minimum value of the aggregated fields. If the field data type is String this value is indeterminate.

" + "Statistics$minimum": "

The minimum aggregated field value.

" } }, "MinimumNumberOfExecutedThings": { @@ -3828,6 +4200,30 @@ "ListMitigationActionsRequest$actionType": "

Specify a value to limit the result to mitigation actions with a specific action type.

" } }, + "MqttClientId": { + "base": null, + "refs": { + "MqttContext$clientId": "

The value of the clientId key in an MQTT authorization request.

" + } + }, + "MqttContext": { + "base": "

Specifies the MQTT context to use for the test authorizer request

", + "refs": { + "TestInvokeAuthorizerRequest$mqttContext": "

Specifies a test MQTT authorization request.>

" + } + }, + "MqttPassword": { + "base": null, + "refs": { + "MqttContext$password": "

The value of the password key in an MQTT authorization request.

" + } + }, + "MqttUsername": { + "base": null, + "refs": { + "MqttContext$username": "

The value of the username key in an MQTT authorization request.

" + } + }, "NextToken": { "base": null, "refs": { @@ -3843,8 +4239,8 @@ "ListAuditTasksResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListBillingGroupsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListBillingGroupsResponse$nextToken": "

The token used to get 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.

", + "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.

", "ListJobExecutionsForJobResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListJobExecutionsForThingRequest$nextToken": "

The token to retrieve the next set of results.

", @@ -3857,6 +4253,10 @@ "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.

", + "ListProvisioningTemplateVersionsRequest$nextToken": "

A token to retrieve the next set of results.

", + "ListProvisioningTemplateVersionsResponse$nextToken": "

A token to retrieve the next set of results.

", + "ListProvisioningTemplatesRequest$nextToken": "

A token to retrieve the next set of results.

", + "ListProvisioningTemplatesResponse$nextToken": "

A token to retrieve the next set of 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.

", @@ -3893,8 +4293,8 @@ "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.

" + "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": { @@ -4047,6 +4447,7 @@ "ListCACertificatesRequest$pageSize": "

The result page size.

", "ListCertificatesByCARequest$pageSize": "

The result page size.

", "ListCertificatesRequest$pageSize": "

The result page size.

", + "ListDomainConfigurationsRequest$pageSize": "

The result page size.

", "ListOutgoingCertificatesRequest$pageSize": "

The result page size.

", "ListPoliciesRequest$pageSize": "

The result page size.

", "ListPolicyPrincipalsRequest$pageSize": "

The result page size.

", @@ -4331,6 +4732,30 @@ "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.

" } }, + "ProvisioningTemplateListing": { + "base": null, + "refs": { + "ListProvisioningTemplatesResponse$templates": "

A list of fleet provisioning templates

" + } + }, + "ProvisioningTemplateSummary": { + "base": "

A summary of information about a fleet provisioning template.

", + "refs": { + "ProvisioningTemplateListing$member": null + } + }, + "ProvisioningTemplateVersionListing": { + "base": null, + "refs": { + "ListProvisioningTemplateVersionsResponse$versions": "

The list of fleet provisioning template versions.

" + } + }, + "ProvisioningTemplateVersionSummary": { + "base": "

A summary of information about a fleet provision template version.

", + "refs": { + "ProvisioningTemplateVersionListing$member": null + } + }, "PublicKey": { "base": null, "refs": { @@ -4351,6 +4776,18 @@ "MitigationActionParams$publishFindingToSnsParams": "

Parameters to define a mitigation action that publishes findings to Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

" } }, + "PutAssetPropertyValueEntry": { + "base": "

An asset property value entry containing the following information.

", + "refs": { + "PutAssetPropertyValueEntryList$member": null + } + }, + "PutAssetPropertyValueEntryList": { + "base": null, + "refs": { + "IotSiteWiseAction$putAssetPropertyValueEntries": "

A list of asset property value entries.

" + } + }, "PutItemInput": { "base": "

The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.

", "refs": { @@ -4567,6 +5004,12 @@ "AuditFinding$relatedResources": "

The list of related resources.

" } }, + "RemoveAuthorizerConfig": { + "base": null, + "refs": { + "UpdateDomainConfigurationRequest$removeAuthorizerConfig": "

Removes the authorization configuration from a domain.

" + } + }, "RemoveAutoRegistration": { "base": null, "refs": { @@ -4629,6 +5072,16 @@ "Action$republish": "

Publish to another MQTT topic.

" } }, + "ReservedDomainConfigurationName": { + "base": null, + "refs": { + "DescribeDomainConfigurationRequest$domainConfigurationName": "

The name of the domain configuration.

", + "DescribeDomainConfigurationResponse$domainConfigurationName": "

The name of the domain configuration.

", + "DomainConfigurationSummary$domainConfigurationName": "

The name of the domain configuration. This value must be unique to a region.

", + "UpdateDomainConfigurationRequest$domainConfigurationName": "

The name of the domain configuration to be updated.

", + "UpdateDomainConfigurationResponse$domainConfigurationName": "

The name of the domain configuration that was updated.

" + } + }, "Resource": { "base": null, "refs": { @@ -4709,6 +5162,7 @@ "base": null, "refs": { "CreateRoleAliasResponse$roleAliasArn": "

The role alias ARN.

", + "ResourceIdentifier$roleAliasArn": "

The ARN of the role alias that has overly permissive actions.

", "RoleAliasDescription$roleAliasArn": "

The ARN of the role alias.

", "UpdateRoleAliasResponse$roleAliasArn": "

The role alias ARN.

" } @@ -4732,20 +5186,24 @@ "AuditNotificationTarget$roleArn": "

The ARN of the role that grants permission to send notifications to the target.

", "CreateMitigationActionRequest$roleArn": "

The ARN of the IAM role that is used to apply the mitigation action.

", "CreateOTAUpdateRequest$roleArn": "

The IAM role that allows access to the AWS IoT Jobs service.

", + "CreateProvisioningTemplateRequest$provisioningRoleArn": "

The role ARN for the role associated with the fleet provisioning template. This IoT role grants permission to provision a device.

", "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 required when performing an audit.

On the first call to UpdateAccountAuditConfiguration, this parameter is required.

", "DescribeMitigationActionResponse$roleArn": "

The ARN of the IAM role used to apply this action.

", + "DescribeProvisioningTemplateResponse$provisioningRoleArn": "

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

", "DescribeThingRegistrationTaskResponse$roleArn": "

The role ARN that grants access to the input file bucket.

", "EnableIoTLoggingParams$roleArnForLogging": "

The ARN of the IAM role used for logging.

", "MitigationAction$roleArn": "

The IAM role ARN used to apply this mitigation action.

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

", + "ResourceIdentifier$iamRoleArn": "

The ARN of the IAM role that has overly permissive actions.

", "RoleAliasDescription$roleArn": "

The role ARN.

", "StartThingRegistrationTaskRequest$roleArn": "

The IAM role ARN that grants permission the input file.

", "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 required when performing an audit.

", "UpdateMitigationActionRequest$roleArn": "

The ARN of the IAM role that is used to apply the mitigation action.

", + "UpdateProvisioningTemplateRequest$provisioningRoleArn": "

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

", "UpdateRoleAliasRequest$roleArn": "

The role ARN.

", "UpdateStreamRequest$roleArn": "

An IAM role that allows the IoT service principal assumes to access your S3 files.

" } @@ -4992,12 +5450,57 @@ "ListTargetsForSecurityProfileResponse$securityProfileTargets": "

The thing groups to which the security profile is attached.

" } }, + "ServerCertificateArns": { + "base": null, + "refs": { + "CreateDomainConfigurationRequest$serverCertificateArns": "

The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for AWS-managed domains.

" + } + }, + "ServerCertificateStatus": { + "base": null, + "refs": { + "ServerCertificateSummary$serverCertificateStatus": "

The status of the server certificate.

" + } + }, + "ServerCertificateStatusDetail": { + "base": null, + "refs": { + "ServerCertificateSummary$serverCertificateStatusDetail": "

Details that explain the status of the server certificate.

" + } + }, + "ServerCertificateSummary": { + "base": "

An object that contains information about a server certificate.

", + "refs": { + "ServerCertificates$member": null + } + }, + "ServerCertificates": { + "base": null, + "refs": { + "DescribeDomainConfigurationResponse$serverCertificates": "

A list containing summary information about the server certificate included in the domain configuration.

" + } + }, + "ServerName": { + "base": null, + "refs": { + "TlsContext$serverName": "

The value of the serverName key in a TLS authorization request.

" + } + }, "ServiceName": { "base": null, "refs": { "SigV4Authorization$serviceName": "

The service name to use while signing with Sig V4.

" } }, + "ServiceType": { + "base": null, + "refs": { + "CreateDomainConfigurationRequest$serviceType": "

The type of service delivered by the endpoint.

", + "DescribeDomainConfigurationResponse$serviceType": "

The type of service delivered by the endpoint.

", + "DomainConfigurationSummary$serviceType": "

The type of service delivered by the endpoint.

", + "ListDomainConfigurationsRequest$serviceType": "

The type of service delivered by the endpoint.

" + } + }, "ServiceUnavailableException": { "base": "

The service is temporarily unavailable.

", "refs": { @@ -5021,7 +5524,8 @@ "SetAsDefault": { "base": null, "refs": { - "CreatePolicyVersionRequest$setAsDefault": "

Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

" + "CreatePolicyVersionRequest$setAsDefault": "

Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

", + "CreateProvisioningTemplateVersionRequest$setAsDefault": "

Sets a fleet provision template version as the default version.

" } }, "SetDefaultAuthorizerRequest": { @@ -5350,7 +5854,7 @@ "Sum": { "base": null, "refs": { - "Statistics$sum": "

The sum of the aggregated fields. If the field data type is String this value is indeterminate.

" + "Statistics$sum": "

The sum of the aggregated field values.

" } }, "SumOfSquares": { @@ -5393,6 +5897,7 @@ "CreateJobRequest$tags": "

Metadata which can be used to manage the job.

", "CreateMitigationActionRequest$tags": "

Metadata that can be used to manage the mitigation action.

", "CreateOTAUpdateRequest$tags": "

Metadata which can be used to manage updates.

", + "CreateProvisioningTemplateRequest$tags": "

Metadata which can be used to manage the fleet provisioning template.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

", "CreateScheduledAuditRequest$tags": "

Metadata that can be used to manage the scheduled audit.

", "CreateSecurityProfileRequest$tags": "

Metadata that can be used to manage the security profile.

", "CreateStreamRequest$tags": "

Metadata which can be used to manage streams.

", @@ -5492,15 +5997,68 @@ "AuditMitigationActionsTaskStatistics$value": null } }, + "TemplateArn": { + "base": null, + "refs": { + "CreateProvisioningTemplateResponse$templateArn": "

The ARN that identifies the provisioning template.

", + "CreateProvisioningTemplateVersionResponse$templateArn": "

The ARN that identifies the provisioning template.

", + "DescribeProvisioningTemplateResponse$templateArn": "

The ARN of the fleet provisioning template.

", + "ProvisioningTemplateSummary$templateArn": "

The ARN of the fleet provisioning template.

" + } + }, "TemplateBody": { "base": null, "refs": { + "CreateProvisioningTemplateRequest$templateBody": "

The JSON formatted contents of the fleet provisioning template.

", + "CreateProvisioningTemplateVersionRequest$templateBody": "

The JSON formatted contents of the fleet provisioning template.

", + "DescribeProvisioningTemplateResponse$templateBody": "

The JSON formatted contents of the fleet provisioning template.

", + "DescribeProvisioningTemplateVersionResponse$templateBody": "

The JSON formatted contents of the fleet provisioning template version.

", "DescribeThingRegistrationTaskResponse$templateBody": "

The task's template.

", "RegisterThingRequest$templateBody": "

The provisioning template. See Programmatic Provisioning for more information.

", "RegistrationConfig$templateBody": "

The template body.

", "StartThingRegistrationTaskRequest$templateBody": "

The provisioning template.

" } }, + "TemplateDescription": { + "base": null, + "refs": { + "CreateProvisioningTemplateRequest$description": "

The description of the fleet provisioning template.

", + "DescribeProvisioningTemplateResponse$description": "

The description of the fleet provisioning template.

", + "ProvisioningTemplateSummary$description": "

The description of the fleet provisioning template.

", + "UpdateProvisioningTemplateRequest$description": "

The description of the fleet provisioning template.

" + } + }, + "TemplateName": { + "base": null, + "refs": { + "CreateProvisioningClaimRequest$templateName": "

The name of the provisioning template to use.

", + "CreateProvisioningTemplateRequest$templateName": "

The name of the fleet provisioning template.

", + "CreateProvisioningTemplateResponse$templateName": "

The name of the fleet provisioning template.

", + "CreateProvisioningTemplateVersionRequest$templateName": "

The name of the fleet provisioning template.

", + "CreateProvisioningTemplateVersionResponse$templateName": "

The name of the fleet provisioning template.

", + "DeleteProvisioningTemplateRequest$templateName": "

The name of the fleet provision template to delete.

", + "DeleteProvisioningTemplateVersionRequest$templateName": "

The name of the fleet provisioning template version to delete.

", + "DescribeProvisioningTemplateRequest$templateName": "

The name of the fleet provisioning template.

", + "DescribeProvisioningTemplateResponse$templateName": "

The name of the fleet provisioning template.

", + "DescribeProvisioningTemplateVersionRequest$templateName": "

The template name.

", + "ListProvisioningTemplateVersionsRequest$templateName": "

The name of the fleet provisioning template.

", + "ProvisioningTemplateSummary$templateName": "

The name of the fleet provisioning template.

", + "UpdateProvisioningTemplateRequest$templateName": "

The name of the fleet provisioning template.

" + } + }, + "TemplateVersionId": { + "base": null, + "refs": { + "CreateProvisioningTemplateResponse$defaultVersionId": "

The default version of the fleet provisioning template.

", + "CreateProvisioningTemplateVersionResponse$versionId": "

The version of the fleet provisioning template.

", + "DeleteProvisioningTemplateVersionRequest$versionId": "

The fleet provisioning template version ID to delete.

", + "DescribeProvisioningTemplateResponse$defaultVersionId": "

The default fleet template version ID.

", + "DescribeProvisioningTemplateVersionRequest$versionId": "

The fleet provisioning template version ID.

", + "DescribeProvisioningTemplateVersionResponse$versionId": "

The fleet provisioning template version ID.

", + "ProvisioningTemplateVersionSummary$versionId": "

The ID of the fleet privisioning template version.

", + "UpdateProvisioningTemplateRequest$defaultVersionId": "

The ID of the default provisioning template version.

" + } + }, "TestAuthorizationRequest": { "base": null, "refs": { @@ -5871,6 +6429,12 @@ "ViolationEvent$violationEventTime": "

The time the violation event occurred.

" } }, + "TlsContext": { + "base": "

Specifies the TLS context to use for the test authorizer request.

", + "refs": { + "TestInvokeAuthorizerRequest$tlsContext": "

Specifies a test TLS authorization request.

" + } + }, "Token": { "base": null, "refs": { @@ -6097,6 +6661,16 @@ "MitigationActionParams$updateDeviceCertificateParams": "

Parameters to define a mitigation action that changes the state of the device certificate to inactive.

" } }, + "UpdateDomainConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateDomainConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateDynamicThingGroupRequest": { "base": null, "refs": { @@ -6142,6 +6716,16 @@ "refs": { } }, + "UpdateProvisioningTemplateRequest": { + "base": null, + "refs": { + } + }, + "UpdateProvisioningTemplateResponse": { + "base": null, + "refs": { + } + }, "UpdateRoleAliasRequest": { "base": null, "refs": { diff --git a/models/apis/iotsecuretunneling/2018-10-05/api-2.json b/models/apis/iotsecuretunneling/2018-10-05/api-2.json new file mode 100644 index 00000000000..c627acd4111 --- /dev/null +++ b/models/apis/iotsecuretunneling/2018-10-05/api-2.json @@ -0,0 +1,388 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-10-05", + "endpointPrefix":"api.tunneling.iot", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS IoT Secure Tunneling", + "serviceId":"IoTSecureTunneling", + "signatureVersion":"v4", + "signingName":"IoTSecuredTunneling", + "targetPrefix":"IoTSecuredTunneling", + "uid":"iotsecuretunneling-2018-10-05" + }, + "operations":{ + "CloseTunnel":{ + "name":"CloseTunnel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CloseTunnelRequest"}, + "output":{"shape":"CloseTunnelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, + "DescribeTunnel":{ + "name":"DescribeTunnel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTunnelRequest"}, + "output":{"shape":"DescribeTunnelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTunnels":{ + "name":"ListTunnels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTunnelsRequest"}, + "output":{"shape":"ListTunnelsResponse"} + }, + "OpenTunnel":{ + "name":"OpenTunnel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"OpenTunnelRequest"}, + "output":{"shape":"OpenTunnelResponse"}, + "errors":[ + {"shape":"LimitExceededException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + } + }, + "shapes":{ + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "ClientAccessToken":{ + "type":"string", + "sensitive":true + }, + "CloseTunnelRequest":{ + "type":"structure", + "required":["tunnelId"], + "members":{ + "tunnelId":{"shape":"TunnelId"}, + "delete":{ + "shape":"DeleteFlag", + "box":true + } + } + }, + "CloseTunnelResponse":{ + "type":"structure", + "members":{ + } + }, + "ConnectionState":{ + "type":"structure", + "members":{ + "status":{"shape":"ConnectionStatus"}, + "lastUpdatedAt":{"shape":"DateType"} + } + }, + "ConnectionStatus":{ + "type":"string", + "enum":[ + "CONNECTED", + "DISCONNECTED" + ] + }, + "DateType":{"type":"timestamp"}, + "DeleteFlag":{"type":"boolean"}, + "DescribeTunnelRequest":{ + "type":"structure", + "required":["tunnelId"], + "members":{ + "tunnelId":{"shape":"TunnelId"} + } + }, + "DescribeTunnelResponse":{ + "type":"structure", + "members":{ + "tunnel":{"shape":"Tunnel"} + } + }, + "Description":{ + "type":"string", + "pattern":"[^\\p{C}]{1,2048}" + }, + "DestinationConfig":{ + "type":"structure", + "required":[ + "thingName", + "services" + ], + "members":{ + "thingName":{"shape":"ThingName"}, + "services":{"shape":"ServiceList"} + } + }, + "ErrorMessage":{"type":"string"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{"shape":"AmazonResourceName"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagList"} + } + }, + "ListTunnelsRequest":{ + "type":"structure", + "members":{ + "thingName":{"shape":"ThingName"}, + "maxResults":{ + "shape":"MaxResults", + "box":true + }, + "nextToken":{"shape":"NextToken"} + } + }, + "ListTunnelsResponse":{ + "type":"structure", + "members":{ + "tunnelSummaries":{"shape":"TunnelSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "pattern":"[a-zA-Z0-9_=-]{1,4096}" + }, + "OpenTunnelRequest":{ + "type":"structure", + "members":{ + "description":{"shape":"Description"}, + "tags":{"shape":"TagList"}, + "destinationConfig":{"shape":"DestinationConfig"}, + "timeoutConfig":{"shape":"TimeoutConfig"} + } + }, + "OpenTunnelResponse":{ + "type":"structure", + "members":{ + "tunnelId":{"shape":"TunnelId"}, + "tunnelArn":{"shape":"TunnelArn"}, + "sourceAccessToken":{"shape":"ClientAccessToken"}, + "destinationAccessToken":{"shape":"ClientAccessToken"} + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "Service":{ + "type":"string", + "max":8, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "ServiceList":{ + "type":"list", + "member":{"shape":"Service"}, + "max":1, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{"shape":"AmazonResourceName"}, + "tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ThingName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "TimeoutConfig":{ + "type":"structure", + "members":{ + "maxLifetimeTimeoutMinutes":{ + "shape":"TimeoutInMin", + "box":true + } + } + }, + "TimeoutInMin":{ + "type":"integer", + "max":720, + "min":1 + }, + "Tunnel":{ + "type":"structure", + "members":{ + "tunnelId":{"shape":"TunnelId"}, + "tunnelArn":{"shape":"TunnelArn"}, + "status":{"shape":"TunnelStatus"}, + "sourceConnectionState":{"shape":"ConnectionState"}, + "destinationConnectionState":{"shape":"ConnectionState"}, + "description":{"shape":"Description"}, + "destinationConfig":{"shape":"DestinationConfig"}, + "timeoutConfig":{"shape":"TimeoutConfig"}, + "tags":{"shape":"TagList"}, + "createdAt":{"shape":"DateType"}, + "lastUpdatedAt":{"shape":"DateType"} + } + }, + "TunnelArn":{ + "type":"string", + "max":1600, + "min":1 + }, + "TunnelId":{ + "type":"string", + "pattern":"[a-zA-Z0-9_\\-+=:]{1,128}" + }, + "TunnelStatus":{ + "type":"string", + "enum":[ + "OPEN", + "CLOSED" + ] + }, + "TunnelSummary":{ + "type":"structure", + "members":{ + "tunnelId":{"shape":"TunnelId"}, + "tunnelArn":{"shape":"TunnelArn"}, + "status":{"shape":"TunnelStatus"}, + "description":{"shape":"Description"}, + "createdAt":{"shape":"DateType"}, + "lastUpdatedAt":{"shape":"DateType"} + } + }, + "TunnelSummaryList":{ + "type":"list", + "member":{"shape":"TunnelSummary"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{"shape":"AmazonResourceName"}, + "tagKeys":{"shape":"TagKeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + } + } +} diff --git a/models/apis/iotsecuretunneling/2018-10-05/docs-2.json b/models/apis/iotsecuretunneling/2018-10-05/docs-2.json new file mode 100644 index 00000000000..64a2f282ff2 --- /dev/null +++ b/models/apis/iotsecuretunneling/2018-10-05/docs-2.json @@ -0,0 +1,283 @@ +{ + "version": "2.0", + "service": "AWS IoT Secure Tunneling

AWS IoT Secure Tunnling enables you to create remote connections to devices deployed in the field.

For more information about how AWS IoT Secure Tunneling works, see the User Guide.

", + "operations": { + "CloseTunnel": "

Closes a tunnel identified by the unique tunnel id. When a CloseTunnel request is received, we close the WebSocket connections between the client and proxy server so no data can be transmitted.

", + "DescribeTunnel": "

Gets information about a tunnel identified by the unique tunnel id.

", + "ListTagsForResource": "

Lists the tags for the specified resource.

", + "ListTunnels": "

List all tunnels for an AWS account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels.

", + "OpenTunnel": "

Creates a new tunnel, and returns two client access tokens for clients to use to connect to the AWS IoT Secure Tunneling proxy server. .

", + "TagResource": "

A resource tag.

", + "UntagResource": "

Removes a tag from a resource.

" + }, + "shapes": { + "AmazonResourceName": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "

The resource ARN.

", + "TagResourceRequest$resourceArn": "

The ARN of the resource.

", + "UntagResourceRequest$resourceArn": "

The resource ARN.

" + } + }, + "ClientAccessToken": { + "base": null, + "refs": { + "OpenTunnelResponse$sourceAccessToken": "

The access token the source local proxy uses to connect to AWS IoT Secure Tunneling.

", + "OpenTunnelResponse$destinationAccessToken": "

The access token the destination local proxy uses to connect to AWS IoT Secure Tunneling.

" + } + }, + "CloseTunnelRequest": { + "base": null, + "refs": { + } + }, + "CloseTunnelResponse": { + "base": null, + "refs": { + } + }, + "ConnectionState": { + "base": "

The state of a connection.

", + "refs": { + "Tunnel$sourceConnectionState": "

The connection state of the source application.

", + "Tunnel$destinationConnectionState": "

The connection state of the destination application.

" + } + }, + "ConnectionStatus": { + "base": null, + "refs": { + "ConnectionState$status": "

The connection status of the tunnel. Valid values are CONNECTED and DISCONNECTED.

" + } + }, + "DateType": { + "base": null, + "refs": { + "ConnectionState$lastUpdatedAt": "

The last time the connection status was updated.

", + "Tunnel$createdAt": "

The time when the tunnel was created.

", + "Tunnel$lastUpdatedAt": "

The last time the tunnel was updated.

", + "TunnelSummary$createdAt": "

The time the tunnel was created.

", + "TunnelSummary$lastUpdatedAt": "

The time the tunnel was last updated.

" + } + }, + "DeleteFlag": { + "base": null, + "refs": { + "CloseTunnelRequest$delete": "

When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately.

" + } + }, + "DescribeTunnelRequest": { + "base": null, + "refs": { + } + }, + "DescribeTunnelResponse": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "OpenTunnelRequest$description": "

A short text description of the tunnel.

", + "Tunnel$description": "

A description of the tunnel.

", + "TunnelSummary$description": "

A description of the tunnel.

" + } + }, + "DestinationConfig": { + "base": "

The destination configuration.

", + "refs": { + "OpenTunnelRequest$destinationConfig": "

The destination configuration for the OpenTunnel request.

", + "Tunnel$destinationConfig": "

The destination configuration that specifies the thing name of the destination device and a service name that the local proxy uses to connect to the destination application.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "LimitExceededException$message": null, + "ResourceNotFoundException$message": null + } + }, + "LimitExceededException": { + "base": "

Thrown when a tunnel limit is exceeded.

", + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTunnelsRequest": { + "base": null, + "refs": { + } + }, + "ListTunnelsResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListTunnelsRequest$maxResults": "

The maximum number of results to return at once.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListTunnelsRequest$nextToken": "

A token to retrieve the next set of results.

", + "ListTunnelsResponse$nextToken": "

A token to used to retrieve the next set of results.

" + } + }, + "OpenTunnelRequest": { + "base": null, + "refs": { + } + }, + "OpenTunnelResponse": { + "base": null, + "refs": { + } + }, + "ResourceNotFoundException": { + "base": "

Thrown when an operation is attempted on a resource that does not exist.

", + "refs": { + } + }, + "Service": { + "base": null, + "refs": { + "ServiceList$member": null + } + }, + "ServiceList": { + "base": null, + "refs": { + "DestinationConfig$services": "

A list of service names that identity the target application. Currently, you can only specify a single name. The AWS IoT client running on the destination device reads this value and uses it to look up a port or an IP address and a port. The AWS IoT client instantiates the local proxy which uses this information to connect to the destination application.

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

An arbitary key/value pair used to add searchable metadata to secure tunnel resources.

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

The key of the tag.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

The keys of the tags to remove.

" + } + }, + "TagList": { + "base": null, + "refs": { + "ListTagsForResourceResponse$tags": "

The tags for the specified resource.

", + "OpenTunnelRequest$tags": "

A collection of tag metadata.

", + "TagResourceRequest$tags": "

The tags for the resource.

", + "Tunnel$tags": "

A list of tag metadata associated with the secure tunnel.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$value": "

The value of the tag.

" + } + }, + "ThingName": { + "base": null, + "refs": { + "DestinationConfig$thingName": "

The name of the IoT thing to which you want to connect.

", + "ListTunnelsRequest$thingName": "

The name of the IoT thing associated with the destination device.

" + } + }, + "TimeoutConfig": { + "base": "

Tunnel timeout configuration.

", + "refs": { + "OpenTunnelRequest$timeoutConfig": "

Timeout configuration for a tunnel.

", + "Tunnel$timeoutConfig": "

Timeout configuration for the tunnel.

" + } + }, + "TimeoutInMin": { + "base": null, + "refs": { + "TimeoutConfig$maxLifetimeTimeoutMinutes": "

The maximum amount of time (in minutes) a tunnel can remain open. If not specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are from 1 minute to 12 hours (720 minutes)

" + } + }, + "Tunnel": { + "base": "

A connection between a source computer and a destination device.

", + "refs": { + "DescribeTunnelResponse$tunnel": "

The tunnel being described.

" + } + }, + "TunnelArn": { + "base": null, + "refs": { + "OpenTunnelResponse$tunnelArn": "

The Amazon Resource Name for the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>

", + "Tunnel$tunnelArn": "

The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>

", + "TunnelSummary$tunnelArn": "

The Amazon Resource Name of the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>

" + } + }, + "TunnelId": { + "base": null, + "refs": { + "CloseTunnelRequest$tunnelId": "

The ID of the tunnel to close.

", + "DescribeTunnelRequest$tunnelId": "

The tunnel to describe.

", + "OpenTunnelResponse$tunnelId": "

A unique alpha-numeric tunnel ID.

", + "Tunnel$tunnelId": "

A unique alpha-numeric ID that identifies a tunnel.

", + "TunnelSummary$tunnelId": "

The unique alpha-numeric identifier for the tunnel.

" + } + }, + "TunnelStatus": { + "base": null, + "refs": { + "Tunnel$status": "

The status of a tunnel. Valid values are: Open and Closed.

", + "TunnelSummary$status": "

The status of a tunnel. Valid values are: Open and Closed.

" + } + }, + "TunnelSummary": { + "base": "

Information about the tunnel.

", + "refs": { + "TunnelSummaryList$member": null + } + }, + "TunnelSummaryList": { + "base": null, + "refs": { + "ListTunnelsResponse$tunnelSummaries": "

A short description of the tunnels in an AWS account.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + } + } +} diff --git a/models/apis/iotsecuretunneling/2018-10-05/examples-1.json b/models/apis/iotsecuretunneling/2018-10-05/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/iotsecuretunneling/2018-10-05/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/iotsecuretunneling/2018-10-05/paginators-1.json b/models/apis/iotsecuretunneling/2018-10-05/paginators-1.json new file mode 100644 index 00000000000..cd36b9c69a8 --- /dev/null +++ b/models/apis/iotsecuretunneling/2018-10-05/paginators-1.json @@ -0,0 +1,9 @@ +{ + "pagination": { + "ListTunnels": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/models/apis/kinesisanalyticsv2/2018-05-23/api-2.json b/models/apis/kinesisanalyticsv2/2018-05-23/api-2.json index a19cdd21616..947ccab6c37 100644 --- a/models/apis/kinesisanalyticsv2/2018-05-23/api-2.json +++ b/models/apis/kinesisanalyticsv2/2018-05-23/api-2.json @@ -96,6 +96,21 @@ {"shape":"InvalidRequestException"} ] }, + "AddApplicationVpcConfiguration":{ + "name":"AddApplicationVpcConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationVpcConfigurationRequest"}, + "output":{"shape":"AddApplicationVpcConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "CreateApplication":{ "name":"CreateApplication", "http":{ @@ -229,6 +244,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "DeleteApplicationVpcConfiguration":{ + "name":"DeleteApplicationVpcConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationVpcConfigurationRequest"}, + "output":{"shape":"DeleteApplicationVpcConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "DescribeApplication":{ "name":"DescribeApplication", "http":{ @@ -504,6 +534,27 @@ "ReferenceDataSourceDescriptions":{"shape":"ReferenceDataSourceDescriptions"} } }, + "AddApplicationVpcConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "VpcConfiguration" + ], + "members":{ + "ApplicationName":{"shape":"ApplicationName"}, + "CurrentApplicationVersionId":{"shape":"ApplicationVersionId"}, + "VpcConfiguration":{"shape":"VpcConfiguration"} + } + }, + "AddApplicationVpcConfigurationResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{"shape":"ResourceARN"}, + "ApplicationVersionId":{"shape":"ApplicationVersionId"}, + "VpcConfigurationDescription":{"shape":"VpcConfigurationDescription"} + } + }, "ApplicationCodeConfiguration":{ "type":"structure", "required":["CodeContentType"], @@ -535,7 +586,8 @@ "FlinkApplicationConfiguration":{"shape":"FlinkApplicationConfiguration"}, "EnvironmentProperties":{"shape":"EnvironmentProperties"}, "ApplicationCodeConfiguration":{"shape":"ApplicationCodeConfiguration"}, - "ApplicationSnapshotConfiguration":{"shape":"ApplicationSnapshotConfiguration"} + "ApplicationSnapshotConfiguration":{"shape":"ApplicationSnapshotConfiguration"}, + "VpcConfigurations":{"shape":"VpcConfigurations"} } }, "ApplicationConfigurationDescription":{ @@ -546,7 +598,8 @@ "RunConfigurationDescription":{"shape":"RunConfigurationDescription"}, "FlinkApplicationConfigurationDescription":{"shape":"FlinkApplicationConfigurationDescription"}, "EnvironmentPropertyDescriptions":{"shape":"EnvironmentPropertyDescriptions"}, - "ApplicationSnapshotConfigurationDescription":{"shape":"ApplicationSnapshotConfigurationDescription"} + "ApplicationSnapshotConfigurationDescription":{"shape":"ApplicationSnapshotConfigurationDescription"}, + "VpcConfigurationDescriptions":{"shape":"VpcConfigurationDescriptions"} } }, "ApplicationConfigurationUpdate":{ @@ -556,7 +609,8 @@ "ApplicationCodeConfigurationUpdate":{"shape":"ApplicationCodeConfigurationUpdate"}, "FlinkApplicationConfigurationUpdate":{"shape":"FlinkApplicationConfigurationUpdate"}, "EnvironmentPropertyUpdates":{"shape":"EnvironmentPropertyUpdates"}, - "ApplicationSnapshotConfigurationUpdate":{"shape":"ApplicationSnapshotConfigurationUpdate"} + "ApplicationSnapshotConfigurationUpdate":{"shape":"ApplicationSnapshotConfigurationUpdate"}, + "VpcConfigurationUpdates":{"shape":"VpcConfigurationUpdates"} } }, "ApplicationDescription":{ @@ -715,7 +769,7 @@ }, "CheckpointInterval":{ "type":"long", - "min":0 + "min":1 }, "CloudWatchLoggingOption":{ "type":"structure", @@ -971,6 +1025,26 @@ "members":{ } }, + "DeleteApplicationVpcConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "VpcConfigurationId" + ], + "members":{ + "ApplicationName":{"shape":"ApplicationName"}, + "CurrentApplicationVersionId":{"shape":"ApplicationVersionId"}, + "VpcConfigurationId":{"shape":"Id"} + } + }, + "DeleteApplicationVpcConfigurationResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{"shape":"ResourceARN"}, + "ApplicationVersionId":{"shape":"ApplicationVersionId"} + } + }, "DescribeApplicationRequest":{ "type":"structure", "required":["ApplicationName"], @@ -1082,6 +1156,12 @@ "ParallelismConfigurationUpdate":{"shape":"ParallelismConfigurationUpdate"} } }, + "FlinkRunConfiguration":{ + "type":"structure", + "members":{ + "AllowNonRestoredState":{"shape":"BooleanObject"} + } + }, "Id":{ "type":"string", "max":50, @@ -1787,6 +1867,7 @@ "RunConfiguration":{ "type":"structure", "members":{ + "FlinkRunConfiguration":{"shape":"FlinkRunConfiguration"}, "SqlRunConfigurations":{"shape":"SqlRunConfigurations"}, "ApplicationRestoreConfiguration":{"shape":"ApplicationRestoreConfiguration"} } @@ -1800,6 +1881,7 @@ "RunConfigurationUpdate":{ "type":"structure", "members":{ + "FlinkRunConfiguration":{"shape":"FlinkRunConfiguration"}, "ApplicationRestoreConfiguration":{"shape":"ApplicationRestoreConfiguration"} } }, @@ -1879,6 +1961,13 @@ "FileKeyUpdate":{"shape":"FileKey"} } }, + "SecurityGroupId":{"type":"string"}, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -1903,7 +1992,7 @@ }, "SnapshotName":{ "type":"string", - "max":128, + "max":256, "min":1, "pattern":"[a-zA-Z0-9_.-]+" }, @@ -1999,6 +2088,13 @@ "members":{ } }, + "SubnetId":{"type":"string"}, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":1 + }, "Tag":{ "type":"structure", "required":["Key"], @@ -2112,6 +2208,54 @@ "ApplicationDetail":{"shape":"ApplicationDetail"} } }, + "VpcConfiguration":{ + "type":"structure", + "required":[ + "SubnetIds", + "SecurityGroupIds" + ], + "members":{ + "SubnetIds":{"shape":"SubnetIds"}, + "SecurityGroupIds":{"shape":"SecurityGroupIds"} + } + }, + "VpcConfigurationDescription":{ + "type":"structure", + "required":[ + "VpcConfigurationId", + "VpcId", + "SubnetIds", + "SecurityGroupIds" + ], + "members":{ + "VpcConfigurationId":{"shape":"Id"}, + "VpcId":{"shape":"VpcId"}, + "SubnetIds":{"shape":"SubnetIds"}, + "SecurityGroupIds":{"shape":"SecurityGroupIds"} + } + }, + "VpcConfigurationDescriptions":{ + "type":"list", + "member":{"shape":"VpcConfigurationDescription"} + }, + "VpcConfigurationUpdate":{ + "type":"structure", + "required":["VpcConfigurationId"], + "members":{ + "VpcConfigurationId":{"shape":"Id"}, + "SubnetIdUpdates":{"shape":"SubnetIds"}, + "SecurityGroupIdUpdates":{"shape":"SecurityGroupIds"} + } + }, + "VpcConfigurationUpdates":{ + "type":"list", + "member":{"shape":"VpcConfigurationUpdate"} + }, + "VpcConfigurations":{ + "type":"list", + "member":{"shape":"VpcConfiguration"} + }, + "VpcId":{"type":"string"}, "ZipFileContent":{ "type":"blob", "max":52428800, diff --git a/models/apis/kinesisanalyticsv2/2018-05-23/docs-2.json b/models/apis/kinesisanalyticsv2/2018-05-23/docs-2.json index 93d60c628f8..11775286db5 100644 --- a/models/apis/kinesisanalyticsv2/2018-05-23/docs-2.json +++ b/models/apis/kinesisanalyticsv2/2018-05-23/docs-2.json @@ -7,6 +7,7 @@ "AddApplicationInputProcessingConfiguration": "

Adds an InputProcessingConfiguration to an SQL-based Kinesis Data Analytics application. An input processor pre-processes records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda.

", "AddApplicationOutput": "

Adds an external destination to your SQL-based Amazon Kinesis Data Analytics application.

If you want Kinesis Data Analytics to deliver data from an in-application stream within your application to an external destination (such as an Kinesis data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

", "AddApplicationReferenceDataSource": "

Adds a reference data source to an existing SQL-based Amazon Kinesis Data Analytics application.

Kinesis Data Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in an Amazon S3 object maps to columns in the resulting in-application table.

", + "AddApplicationVpcConfiguration": "

Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store and access resources securely.

Note the following about VPC configurations for Kinesis Data Analytics applications:

", "CreateApplication": "

Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see Creating an Application.

", "CreateApplicationSnapshot": "

Creates a snapshot of the application's state data.

", "DeleteApplication": "

Deletes the specified application. Kinesis Data Analytics halts application execution and deletes the application.

", @@ -15,16 +16,17 @@ "DeleteApplicationOutput": "

Deletes the output destination configuration from your SQL-based Amazon Kinesis Data Analytics application's configuration. Kinesis Data Analytics will no longer write data from the corresponding in-application stream to the external output destination.

", "DeleteApplicationReferenceDataSource": "

Deletes a reference data source configuration from the specified SQL-based Amazon Kinesis Data Analytics application's configuration.

If the application is running, Kinesis Data Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

", "DeleteApplicationSnapshot": "

Deletes a snapshot of application state.

", + "DeleteApplicationVpcConfiguration": "

Removes a VPC configuration from a Kinesis Data Analytics application.

", "DescribeApplication": "

Returns information about a specific Amazon Kinesis Data Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

", "DescribeApplicationSnapshot": "

Returns information about a snapshot of application state data.

", "DiscoverInputSchema": "

Infers a schema for an SQL-based Amazon Kinesis Data Analytics application by evaluating sample records on the specified streaming source (Kinesis data stream or Kinesis Data Firehose delivery stream) or Amazon S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. When you create an application using the Kinesis Data Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

", "ListApplicationSnapshots": "

Lists information about the current application snapshots.

", "ListApplications": "

Returns a list of Amazon Kinesis Data Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status.

If you want detailed information about a specific application, use DescribeApplication.

", - "ListTagsForResource": "

Retrieves the list of key-value tags assigned to the application.

", + "ListTagsForResource": "

Retrieves the list of key-value tags assigned to the application. For more information, see Using Tagging.

", "StartApplication": "

Starts the specified Amazon Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to start your application.

", "StopApplication": "

Stops the application from processing data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state.

", - "TagResource": "

Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

", - "UntagResource": "

Removes one or more tags from a Kinesis Analytics application.

", + "TagResource": "

Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

", + "UntagResource": "

Removes one or more tags from a Kinesis Analytics application. For more information, see Using Tagging.

", "UpdateApplication": "

Updates an existing Amazon Kinesis Data Analytics application. Using this operation, you can update application code, input configuration, and output configuration.

Kinesis Data Analytics updates the ApplicationVersionId each time you update your application.

" }, "shapes": { @@ -78,6 +80,16 @@ "refs": { } }, + "AddApplicationVpcConfigurationRequest": { + "base": null, + "refs": { + } + }, + "AddApplicationVpcConfigurationResponse": { + "base": null, + "refs": { + } + }, "ApplicationCodeConfiguration": { "base": "

Describes code configuration for a Java-based Kinesis Data Analytics application.

", "refs": { @@ -137,6 +149,7 @@ "AddApplicationInputRequest$ApplicationName": "

The name of your existing application to which you want to add the streaming source.

", "AddApplicationOutputRequest$ApplicationName": "

The name of the application to which you want to add the output configuration.

", "AddApplicationReferenceDataSourceRequest$ApplicationName": "

The name of an existing application.

", + "AddApplicationVpcConfigurationRequest$ApplicationName": "

The name of an existing application.

", "ApplicationDetail$ApplicationName": "

The name of the application.

", "ApplicationSummary$ApplicationName": "

The name of the application.

", "CreateApplicationRequest$ApplicationName": "

The name of your application (for example, sample-app).

", @@ -147,6 +160,7 @@ "DeleteApplicationReferenceDataSourceRequest$ApplicationName": "

The name of an existing application.

", "DeleteApplicationRequest$ApplicationName": "

The name of the application to delete.

", "DeleteApplicationSnapshotRequest$ApplicationName": "

The name of an existing application.

", + "DeleteApplicationVpcConfigurationRequest$ApplicationName": "

The name of an existing application.

", "DescribeApplicationRequest$ApplicationName": "

The name of the application.

", "DescribeApplicationSnapshotRequest$ApplicationName": "

The name of an existing application.

", "ListApplicationSnapshotsRequest$ApplicationName": "

The name of an existing application.

", @@ -221,6 +235,8 @@ "AddApplicationOutputResponse$ApplicationVersionId": "

The updated application version ID. Kinesis Data Analytics increments this ID when the application is updated.

", "AddApplicationReferenceDataSourceRequest$CurrentApplicationVersionId": "

The version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", "AddApplicationReferenceDataSourceResponse$ApplicationVersionId": "

The updated application version ID. Amazon Kinesis Data Analytics increments this ID when the application is updated.

", + "AddApplicationVpcConfigurationRequest$CurrentApplicationVersionId": "

The version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", + "AddApplicationVpcConfigurationResponse$ApplicationVersionId": "

Provides the current application version. Kinesis Data Analytics updates the ApplicationVersionId each time you update the application.

", "ApplicationDetail$ApplicationVersionId": "

Provides the current application version. Kinesis Data Analytics updates the ApplicationVersionId each time you update the application.

", "ApplicationSummary$ApplicationVersionId": "

Provides the current application version.

", "DeleteApplicationCloudWatchLoggingOptionRequest$CurrentApplicationVersionId": "

The version ID of the application. You can retrieve the application version ID using DescribeApplication.

", @@ -231,6 +247,8 @@ "DeleteApplicationOutputResponse$ApplicationVersionId": "

The current application version ID.

", "DeleteApplicationReferenceDataSourceRequest$CurrentApplicationVersionId": "

The current application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", "DeleteApplicationReferenceDataSourceResponse$ApplicationVersionId": "

The updated version ID of the application.

", + "DeleteApplicationVpcConfigurationRequest$CurrentApplicationVersionId": "

The current application version ID. You can retrieve the application version ID using DescribeApplication.

", + "DeleteApplicationVpcConfigurationResponse$ApplicationVersionId": "

The updated version ID of the application.

", "SnapshotDetails$ApplicationVersionId": "

The current application version ID when the snapshot was created.

", "UpdateApplicationRequest$CurrentApplicationVersionId": "

The current application version ID. You can retrieve the application version ID using DescribeApplication.

" } @@ -241,10 +259,11 @@ "ApplicationSnapshotConfiguration$SnapshotsEnabled": "

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

", "ApplicationSnapshotConfigurationDescription$SnapshotsEnabled": "

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

", "ApplicationSnapshotConfigurationUpdate$SnapshotsEnabledUpdate": "

Describes updates to whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

", - "CheckpointConfiguration$CheckpointingEnabled": "

Describes whether checkpointing is enabled for a Java-based Kinesis Data Analytics application.

", - "CheckpointConfigurationDescription$CheckpointingEnabled": "

Describes whether checkpointing is enabled for a Java-based Kinesis Data Analytics application.

", - "CheckpointConfigurationUpdate$CheckpointingEnabledUpdate": "

Describes updates to whether checkpointing is enabled for an application.

", + "CheckpointConfiguration$CheckpointingEnabled": "

Describes whether checkpointing is enabled for a Java-based Kinesis Data Analytics application.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointingEnabled value of true, even if this value is set to another value using this API or in application code.

", + "CheckpointConfigurationDescription$CheckpointingEnabled": "

Describes whether checkpointing is enabled for a Java-based Kinesis Data Analytics application.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointingEnabled value of true, even if this value is set to another value using this API or in application code.

", + "CheckpointConfigurationUpdate$CheckpointingEnabledUpdate": "

Describes updates to whether checkpointing is enabled for an application.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointingEnabled value of true, even if this value is set to another value using this API or in application code.

", "DescribeApplicationRequest$IncludeAdditionalDetails": "

Displays verbose information about a Kinesis Data Analytics application, including the application's job plan.

", + "FlinkRunConfiguration$AllowNonRestoredState": "

When restoring from a savepoint, specifies whether the runtime is allowed to skip a state that cannot be mapped to the new program. This will happen if the program is updated between savepoints to remove stateful parameters, and state data in the savepoint no longer corresponds to valid application data. For more information, see Allowing Non-Restored State in the Apache Flink documentation.

", "ParallelismConfiguration$AutoScalingEnabled": "

Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

", "ParallelismConfigurationDescription$AutoScalingEnabled": "

Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

", "ParallelismConfigurationUpdate$AutoScalingEnabledUpdate": "

Describes updates to whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

" @@ -289,9 +308,9 @@ "CheckpointInterval": { "base": null, "refs": { - "CheckpointConfiguration$CheckpointInterval": "

Describes the interval in milliseconds between checkpoint operations.

", - "CheckpointConfigurationDescription$CheckpointInterval": "

Describes the interval in milliseconds between checkpoint operations.

", - "CheckpointConfigurationUpdate$CheckpointIntervalUpdate": "

Describes updates to the interval in milliseconds between checkpoint operations.

" + "CheckpointConfiguration$CheckpointInterval": "

Describes the interval in milliseconds between checkpoint operations.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointInterval vaue of 60000, even if this value is set to another value using this API or in application code.

", + "CheckpointConfigurationDescription$CheckpointInterval": "

Describes the interval in milliseconds between checkpoint operations.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointInterval vaue of 60000, even if this value is set to another value using this API or in application code.

", + "CheckpointConfigurationUpdate$CheckpointIntervalUpdate": "

Describes updates to the interval in milliseconds between checkpoint operations.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointInterval vaue of 60000, even if this value is set to another value using this API or in application code.

" } }, "CloudWatchLoggingOption": { @@ -384,15 +403,15 @@ "ConfigurationType": { "base": null, "refs": { - "CheckpointConfiguration$ConfigurationType": "

Describes whether the application uses Amazon Kinesis Data Analytics' default checkpointing behavior.

", - "CheckpointConfigurationDescription$ConfigurationType": "

Describes whether the application uses the default checkpointing behavior in Kinesis Data Analytics.

", - "CheckpointConfigurationUpdate$ConfigurationTypeUpdate": "

Describes updates to whether the application uses the default checkpointing behavior of Kinesis Data Analytics.

", - "MonitoringConfiguration$ConfigurationType": "

Describes whether to use the default CloudWatch logging configuration for an application.

", + "CheckpointConfiguration$ConfigurationType": "

Describes whether the application uses Amazon Kinesis Data Analytics' default checkpointing behavior. You must set this property to CUSTOM in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.

If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or application code:

", + "CheckpointConfigurationDescription$ConfigurationType": "

Describes whether the application uses the default checkpointing behavior in Kinesis Data Analytics.

If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or application code:

", + "CheckpointConfigurationUpdate$ConfigurationTypeUpdate": "

Describes updates to whether the application uses the default checkpointing behavior of Kinesis Data Analytics. You must set this property to CUSTOM in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.

If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or application code:

", + "MonitoringConfiguration$ConfigurationType": "

Describes whether to use the default CloudWatch logging configuration for an application. You must set this property to CUSTOM in order to set the LogLevel or MetricsLevel parameters.

", "MonitoringConfigurationDescription$ConfigurationType": "

Describes whether to use the default CloudWatch logging configuration for an application.

", - "MonitoringConfigurationUpdate$ConfigurationTypeUpdate": "

Describes updates to whether to use the default CloudWatch logging configuration for an application.

", - "ParallelismConfiguration$ConfigurationType": "

Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

", + "MonitoringConfigurationUpdate$ConfigurationTypeUpdate": "

Describes updates to whether to use the default CloudWatch logging configuration for an application. You must set this property to CUSTOM in order to set the LogLevel or MetricsLevel parameters.

", + "ParallelismConfiguration$ConfigurationType": "

Describes whether the application uses the default parallelism for the Kinesis Data Analytics service. You must set this property to CUSTOM in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

", "ParallelismConfigurationDescription$ConfigurationType": "

Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

", - "ParallelismConfigurationUpdate$ConfigurationTypeUpdate": "

Describes updates to whether the application uses the default parallelism for the Kinesis Data Analytics service, or if a custom parallelism is used.

" + "ParallelismConfigurationUpdate$ConfigurationTypeUpdate": "

Describes updates to whether the application uses the default parallelism for the Kinesis Data Analytics service, or if a custom parallelism is used. You must set this property to CUSTOM in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

" } }, "CreateApplicationRequest": { @@ -475,6 +494,16 @@ "refs": { } }, + "DeleteApplicationVpcConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteApplicationVpcConfigurationResponse": { + "base": null, + "refs": { + } + }, "DescribeApplicationRequest": { "base": null, "refs": { @@ -579,6 +608,13 @@ "ApplicationConfigurationUpdate$FlinkApplicationConfigurationUpdate": "

Describes updates to a Java-based Kinesis Data Analytics application's configuration.

" } }, + "FlinkRunConfiguration": { + "base": "

Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

", + "refs": { + "RunConfiguration$FlinkRunConfiguration": "

Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

", + "RunConfigurationUpdate$FlinkRunConfiguration": "

Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

" + } + }, "Id": { "base": null, "refs": { @@ -590,6 +626,7 @@ "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": "

The ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Kinesis Data Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

", + "DeleteApplicationVpcConfigurationRequest$VpcConfigurationId": "

The ID of the VPC configuration to delete.

", "InputDescription$InputId": "

The input ID that is associated with the application input. This is the ID that Kinesis Data Analytics assigns to each input configuration that you add to your application.

", "InputUpdate$InputId": "

The input ID of the application input to be updated.

", "OutputDescription$OutputId": "

A unique identifier for the output configuration.

", @@ -597,7 +634,9 @@ "PropertyGroup$PropertyGroupId": "

Describes the key of an application execution property key-value pair.

", "ReferenceDataSourceDescription$ReferenceId": "

The ID of the reference data source. This is the ID that Kinesis Data Analytics assigns when you add the reference data source to your application using the CreateApplication or UpdateApplication operation.

", "ReferenceDataSourceUpdate$ReferenceId": "

The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

", - "SqlRunConfiguration$InputId": "

The input source ID. You can get this ID by calling the DescribeApplication operation.

" + "SqlRunConfiguration$InputId": "

The input source ID. You can get this ID by calling the DescribeApplication operation.

", + "VpcConfigurationDescription$VpcConfigurationId": "

The ID of the VPC configuration.

", + "VpcConfigurationUpdate$VpcConfigurationId": "

Describes an update to the ID of the VPC configuration.

" } }, "InAppStreamName": { @@ -948,9 +987,9 @@ "MinPauseBetweenCheckpoints": { "base": null, "refs": { - "CheckpointConfiguration$MinPauseBetweenCheckpoints": "

Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start. If a checkpoint operation takes longer than the CheckpointInterval, the application otherwise performs continual checkpoint operations. For more information, see Tuning Checkpointing in the Apache Flink Documentation.

", - "CheckpointConfigurationDescription$MinPauseBetweenCheckpoints": "

Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.

", - "CheckpointConfigurationUpdate$MinPauseBetweenCheckpointsUpdate": "

Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.

" + "CheckpointConfiguration$MinPauseBetweenCheckpoints": "

Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start. If a checkpoint operation takes longer than the CheckpointInterval, the application otherwise performs continual checkpoint operations. For more information, see Tuning Checkpointing in the Apache Flink Documentation.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or in application code.

", + "CheckpointConfigurationDescription$MinPauseBetweenCheckpoints": "

Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or in application code.

", + "CheckpointConfigurationUpdate$MinPauseBetweenCheckpointsUpdate": "

Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or in application code.

" } }, "MonitoringConfiguration": { @@ -1027,10 +1066,10 @@ "Parallelism": { "base": null, "refs": { - "ParallelismConfiguration$Parallelism": "

Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. The Kinesis Data Analytics service can increase this number automatically if ParallelismConfiguration$AutoScalingEnabled is set to true.

", - "ParallelismConfigurationDescription$Parallelism": "

Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics application can perform.

", - "ParallelismConfigurationDescription$CurrentParallelism": "

Describes the current number of parallel tasks that a Java-based Kinesis Data Analytics application can perform.

", - "ParallelismConfigurationUpdate$ParallelismUpdate": "

Describes updates to the initial number of parallel tasks an application can perform.

" + "ParallelismConfiguration$Parallelism": "

Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. If AutoScalingEnabled is set to True, Kinesis Data Analytics increases the CurrentParallelism value in response to application load. The service can increase the CurrentParallelism value up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service can reduce the CurrentParallelism value down to the Parallelism setting.

", + "ParallelismConfigurationDescription$Parallelism": "

Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics can increase the CurrentParallelism value in response to application load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service can reduce the CurrentParallelism value down to the Parallelism setting.

", + "ParallelismConfigurationDescription$CurrentParallelism": "

Describes the current number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. If AutoScalingEnabled is set to True, Kinesis Data Analytics can increase this value in response to application load. The service can increase this value up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service can reduce the CurrentParallelism value down to the Parallelism setting.

", + "ParallelismConfigurationUpdate$ParallelismUpdate": "

Describes updates to the initial number of parallel tasks an application can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics can increase the CurrentParallelism value in response to application load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service will reduce CurrentParallelism down to the Parallelism setting.

" } }, "ParallelismConfiguration": { @@ -1251,12 +1290,14 @@ "AddApplicationInputResponse$ApplicationARN": "

The Amazon Resource Name (ARN) of the application.

", "AddApplicationOutputResponse$ApplicationARN": "

The application Amazon Resource Name (ARN).

", "AddApplicationReferenceDataSourceResponse$ApplicationARN": "

The application Amazon Resource Name (ARN).

", + "AddApplicationVpcConfigurationResponse$ApplicationARN": "

The ARN of the application.

", "ApplicationDetail$ApplicationARN": "

The ARN of the application.

", "ApplicationSummary$ApplicationARN": "

The ARN of the application.

", "DeleteApplicationCloudWatchLoggingOptionResponse$ApplicationARN": "

The application's Amazon Resource Name (ARN).

", "DeleteApplicationInputProcessingConfigurationResponse$ApplicationARN": "

The Amazon Resource Name (ARN) of the application.

", "DeleteApplicationOutputResponse$ApplicationARN": "

The application Amazon Resource Name (ARN).

", "DeleteApplicationReferenceDataSourceResponse$ApplicationARN": "

The application Amazon Resource Name (ARN).

", + "DeleteApplicationVpcConfigurationResponse$ApplicationARN": "

The ARN of the Kinesis Data Analytics application.

", "DiscoverInputSchemaRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the streaming source.

", "InputLambdaProcessor$ResourceARN": "

The ARN of the AWS Lambda function that operates on records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

", "InputLambdaProcessorDescription$ResourceARN": "

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

", @@ -1378,6 +1419,20 @@ "ReferenceDataSourceUpdate$S3ReferenceDataSourceUpdate": "

Describes the S3 bucket name, object key name, and IAM role that Kinesis Data Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

" } }, + "SecurityGroupId": { + "base": null, + "refs": { + "SecurityGroupIds$member": null + } + }, + "SecurityGroupIds": { + "base": null, + "refs": { + "VpcConfiguration$SecurityGroupIds": "

The array of SecurityGroup IDs used by the VPC configuration.

", + "VpcConfigurationDescription$SecurityGroupIds": "

The array of SecurityGroup IDs used by the VPC configuration.

", + "VpcConfigurationUpdate$SecurityGroupIdUpdates": "

Describes updates to the array of SecurityGroup IDs used by the VPC configuration.

" + } + }, "ServiceUnavailableException": { "base": "

The service cannot complete the request.

", "refs": { @@ -1473,8 +1528,22 @@ "refs": { } }, + "SubnetId": { + "base": null, + "refs": { + "SubnetIds$member": null + } + }, + "SubnetIds": { + "base": null, + "refs": { + "VpcConfiguration$SubnetIds": "

The array of Subnet IDs used by the VPC configuration.

", + "VpcConfigurationDescription$SubnetIds": "

The array of Subnet IDs used by the VPC configuration.

", + "VpcConfigurationUpdate$SubnetIdUpdates": "

Describes updates to the array of Subnet IDs used by the VPC configuration.

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

A key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management Guide.

", + "base": "

A key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

", "refs": { "Tags$member": null } @@ -1511,7 +1580,7 @@ "Tags": { "base": null, "refs": { - "CreateApplicationRequest$Tags": "

A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management Guide.

", + "CreateApplicationRequest$Tags": "

A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

", "ListTagsForResourceResponse$Tags": "

The key-value tags assigned to the application.

", "TagResourceRequest$Tags": "

The key-value tags to assign to the application.

" } @@ -1569,6 +1638,50 @@ "refs": { } }, + "VpcConfiguration": { + "base": "

Describes the parameters of a VPC used by the application.

", + "refs": { + "AddApplicationVpcConfigurationRequest$VpcConfiguration": "

Description of the VPC to add to the application.

", + "VpcConfigurations$member": null + } + }, + "VpcConfigurationDescription": { + "base": "

Describes the parameters of a VPC used by the application.

", + "refs": { + "AddApplicationVpcConfigurationResponse$VpcConfigurationDescription": "

The parameters of the new VPC configuration.

", + "VpcConfigurationDescriptions$member": null + } + }, + "VpcConfigurationDescriptions": { + "base": null, + "refs": { + "ApplicationConfigurationDescription$VpcConfigurationDescriptions": "

The array of descriptions of VPC configurations available to the application.

" + } + }, + "VpcConfigurationUpdate": { + "base": "

Describes updates to the VPC configuration used by the application.

", + "refs": { + "VpcConfigurationUpdates$member": null + } + }, + "VpcConfigurationUpdates": { + "base": null, + "refs": { + "ApplicationConfigurationUpdate$VpcConfigurationUpdates": "

Updates to the array of descriptions of VPC configurations available to the application.

" + } + }, + "VpcConfigurations": { + "base": null, + "refs": { + "ApplicationConfiguration$VpcConfigurations": "

The array of descriptions of VPC configurations available to the application.

" + } + }, + "VpcId": { + "base": null, + "refs": { + "VpcConfigurationDescription$VpcId": "

The ID of the associated VPC.

" + } + }, "ZipFileContent": { "base": null, "refs": { diff --git a/models/apis/kms/2014-11-01/api-2.json b/models/apis/kms/2014-11-01/api-2.json index a83176156c2..9ea8687c3ea 100644 --- a/models/apis/kms/2014-11-01/api-2.json +++ b/models/apis/kms/2014-11-01/api-2.json @@ -133,6 +133,8 @@ {"shape":"DisabledException"}, {"shape":"InvalidCiphertextException"}, {"shape":"KeyUnavailableException"}, + {"shape":"IncorrectKeyException"}, + {"shape":"InvalidKeyUsageException"}, {"shape":"DependencyTimeoutException"}, {"shape":"InvalidGrantTokenException"}, {"shape":"KMSInternalException"}, @@ -329,6 +331,44 @@ {"shape":"KMSInvalidStateException"} ] }, + "GenerateDataKeyPair":{ + "name":"GenerateDataKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateDataKeyPairRequest"}, + "output":{"shape":"GenerateDataKeyPairResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"} + ] + }, + "GenerateDataKeyPairWithoutPlaintext":{ + "name":"GenerateDataKeyPairWithoutPlaintext", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateDataKeyPairWithoutPlaintextRequest"}, + "output":{"shape":"GenerateDataKeyPairWithoutPlaintextResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"} + ] + }, "GenerateDataKeyWithoutPlaintext":{ "name":"GenerateDataKeyWithoutPlaintext", "http":{ @@ -413,6 +453,27 @@ {"shape":"KMSInvalidStateException"} ] }, + "GetPublicKey":{ + "name":"GetPublicKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPublicKeyRequest"}, + "output":{"shape":"GetPublicKeyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"} + ] + }, "ImportKeyMaterial":{ "name":"ImportKeyMaterial", "http":{ @@ -559,6 +620,7 @@ {"shape":"DisabledException"}, {"shape":"InvalidCiphertextException"}, {"shape":"KeyUnavailableException"}, + {"shape":"IncorrectKeyException"}, {"shape":"DependencyTimeoutException"}, {"shape":"InvalidKeyUsageException"}, {"shape":"InvalidGrantTokenException"}, @@ -615,6 +677,24 @@ {"shape":"KMSInvalidStateException"} ] }, + "Sign":{ + "name":"Sign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SignRequest"}, + "output":{"shape":"SignResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"} + ] + }, "TagResource":{ "name":"TagResource", "http":{ @@ -670,6 +750,7 @@ "output":{"shape":"UpdateCustomKeyStoreResponse"}, "errors":[ {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"CustomKeyStoreNameInUseException"}, {"shape":"CloudHsmClusterNotFoundException"}, {"shape":"CloudHsmClusterNotRelatedException"}, {"shape":"CustomKeyStoreInvalidStateException"}, @@ -692,6 +773,24 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ] + }, + "Verify":{ + "name":"Verify", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"VerifyRequest"}, + "output":{"shape":"VerifyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"} + ] } }, "shapes":{ @@ -888,6 +987,7 @@ "Policy":{"shape":"PolicyType"}, "Description":{"shape":"DescriptionType"}, "KeyUsage":{"shape":"KeyUsageType"}, + "CustomerMasterKeySpec":{"shape":"CustomerMasterKeySpec"}, "Origin":{"shape":"OriginType"}, "CustomKeyStoreId":{"shape":"CustomKeyStoreIdType"}, "BypassPolicyLockoutSafetyCheck":{"shape":"BooleanType"}, @@ -954,6 +1054,31 @@ "CreationDate":{"shape":"DateType"} } }, + "CustomerMasterKeySpec":{ + "type":"string", + "enum":[ + "RSA_2048", + "RSA_3072", + "RSA_4096", + "ECC_NIST_P256", + "ECC_NIST_P384", + "ECC_NIST_P521", + "ECC_SECG_P256K1", + "SYMMETRIC_DEFAULT" + ] + }, + "DataKeyPairSpec":{ + "type":"string", + "enum":[ + "RSA_2048", + "RSA_3072", + "RSA_4096", + "ECC_NIST_P256", + "ECC_NIST_P384", + "ECC_NIST_P521", + "ECC_SECG_P256K1" + ] + }, "DataKeySpec":{ "type":"string", "enum":[ @@ -968,14 +1093,17 @@ "members":{ "CiphertextBlob":{"shape":"CiphertextType"}, "EncryptionContext":{"shape":"EncryptionContextType"}, - "GrantTokens":{"shape":"GrantTokenList"} + "GrantTokens":{"shape":"GrantTokenList"}, + "KeyId":{"shape":"KeyIdType"}, + "EncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"} } }, "DecryptResponse":{ "type":"structure", "members":{ "KeyId":{"shape":"KeyIdType"}, - "Plaintext":{"shape":"PlaintextType"} + "Plaintext":{"shape":"PlaintextType"}, + "EncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"} } }, "DeleteAliasRequest":{ @@ -1105,16 +1233,30 @@ "KeyId":{"shape":"KeyIdType"}, "Plaintext":{"shape":"PlaintextType"}, "EncryptionContext":{"shape":"EncryptionContextType"}, - "GrantTokens":{"shape":"GrantTokenList"} + "GrantTokens":{"shape":"GrantTokenList"}, + "EncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"} } }, "EncryptResponse":{ "type":"structure", "members":{ "CiphertextBlob":{"shape":"CiphertextType"}, - "KeyId":{"shape":"KeyIdType"} + "KeyId":{"shape":"KeyIdType"}, + "EncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"} } }, + "EncryptionAlgorithmSpec":{ + "type":"string", + "enum":[ + "SYMMETRIC_DEFAULT", + "RSAES_OAEP_SHA_1", + "RSAES_OAEP_SHA_256" + ] + }, + "EncryptionAlgorithmSpecList":{ + "type":"list", + "member":{"shape":"EncryptionAlgorithmSpec"} + }, "EncryptionContextKey":{"type":"string"}, "EncryptionContextType":{ "type":"map", @@ -1137,6 +1279,51 @@ }, "exception":true }, + "GenerateDataKeyPairRequest":{ + "type":"structure", + "required":[ + "KeyId", + "KeyPairSpec" + ], + "members":{ + "EncryptionContext":{"shape":"EncryptionContextType"}, + "KeyId":{"shape":"KeyIdType"}, + "KeyPairSpec":{"shape":"DataKeyPairSpec"}, + "GrantTokens":{"shape":"GrantTokenList"} + } + }, + "GenerateDataKeyPairResponse":{ + "type":"structure", + "members":{ + "PrivateKeyCiphertextBlob":{"shape":"CiphertextType"}, + "PrivateKeyPlaintext":{"shape":"PlaintextType"}, + "PublicKey":{"shape":"PublicKeyType"}, + "KeyId":{"shape":"KeyIdType"}, + "KeyPairSpec":{"shape":"DataKeyPairSpec"} + } + }, + "GenerateDataKeyPairWithoutPlaintextRequest":{ + "type":"structure", + "required":[ + "KeyId", + "KeyPairSpec" + ], + "members":{ + "EncryptionContext":{"shape":"EncryptionContextType"}, + "KeyId":{"shape":"KeyIdType"}, + "KeyPairSpec":{"shape":"DataKeyPairSpec"}, + "GrantTokens":{"shape":"GrantTokenList"} + } + }, + "GenerateDataKeyPairWithoutPlaintextResponse":{ + "type":"structure", + "members":{ + "PrivateKeyCiphertextBlob":{"shape":"CiphertextType"}, + "PublicKey":{"shape":"PublicKeyType"}, + "KeyId":{"shape":"KeyIdType"}, + "KeyPairSpec":{"shape":"DataKeyPairSpec"} + } + }, "GenerateDataKeyRequest":{ "type":"structure", "required":["KeyId"], @@ -1239,6 +1426,25 @@ "ParametersValidTo":{"shape":"DateType"} } }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["KeyId"], + "members":{ + "KeyId":{"shape":"KeyIdType"}, + "GrantTokens":{"shape":"GrantTokenList"} + } + }, + "GetPublicKeyResponse":{ + "type":"structure", + "members":{ + "KeyId":{"shape":"KeyIdType"}, + "PublicKey":{"shape":"PublicKeyType"}, + "CustomerMasterKeySpec":{"shape":"CustomerMasterKeySpec"}, + "KeyUsage":{"shape":"KeyUsageType"}, + "EncryptionAlgorithms":{"shape":"EncryptionAlgorithmSpecList"}, + "SigningAlgorithms":{"shape":"SigningAlgorithmSpecList"} + } + }, "GrantConstraints":{ "type":"structure", "members":{ @@ -1284,9 +1490,14 @@ "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", + "Sign", + "Verify", + "GetPublicKey", "CreateGrant", "RetireGrant", - "DescribeKey" + "DescribeKey", + "GenerateDataKeyPair", + "GenerateDataKeyPairWithoutPlaintext" ] }, "GrantOperationList":{ @@ -1324,6 +1535,13 @@ "members":{ } }, + "IncorrectKeyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "exception":true + }, "IncorrectKeyMaterialException":{ "type":"structure", "members":{ @@ -1450,7 +1668,10 @@ "CustomKeyStoreId":{"shape":"CustomKeyStoreIdType"}, "CloudHsmClusterId":{"shape":"CloudHsmClusterIdType"}, "ExpirationModel":{"shape":"ExpirationModelType"}, - "KeyManager":{"shape":"KeyManagerType"} + "KeyManager":{"shape":"KeyManagerType"}, + "CustomerMasterKeySpec":{"shape":"CustomerMasterKeySpec"}, + "EncryptionAlgorithms":{"shape":"EncryptionAlgorithmSpecList"}, + "SigningAlgorithms":{"shape":"SigningAlgorithmSpecList"} } }, "KeyState":{ @@ -1478,7 +1699,10 @@ }, "KeyUsageType":{ "type":"string", - "enum":["ENCRYPT_DECRYPT"] + "enum":[ + "SIGN_VERIFY", + "ENCRYPT_DECRYPT" + ] }, "LimitExceededException":{ "type":"structure", @@ -1596,6 +1820,13 @@ "min":1, "pattern":"[\\u0020-\\u00FF]*" }, + "MessageType":{ + "type":"string", + "enum":[ + "RAW", + "DIGEST" + ] + }, "NotFoundException":{ "type":"structure", "members":{ @@ -1649,6 +1880,11 @@ "min":1, "pattern":"^[\\w+=,.@:/-]+$" }, + "PublicKeyType":{ + "type":"blob", + "max":8192, + "min":1 + }, "PutKeyPolicyRequest":{ "type":"structure", "required":[ @@ -1672,8 +1908,11 @@ "members":{ "CiphertextBlob":{"shape":"CiphertextType"}, "SourceEncryptionContext":{"shape":"EncryptionContextType"}, + "SourceKeyId":{"shape":"KeyIdType"}, "DestinationKeyId":{"shape":"KeyIdType"}, "DestinationEncryptionContext":{"shape":"EncryptionContextType"}, + "SourceEncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"}, + "DestinationEncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"}, "GrantTokens":{"shape":"GrantTokenList"} } }, @@ -1682,7 +1921,9 @@ "members":{ "CiphertextBlob":{"shape":"CiphertextType"}, "SourceKeyId":{"shape":"KeyIdType"}, - "KeyId":{"shape":"KeyIdType"} + "KeyId":{"shape":"KeyIdType"}, + "SourceEncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"}, + "DestinationEncryptionAlgorithm":{"shape":"EncryptionAlgorithmSpec"} } }, "RetireGrantRequest":{ @@ -1719,6 +1960,47 @@ "DeletionDate":{"shape":"DateType"} } }, + "SignRequest":{ + "type":"structure", + "required":[ + "KeyId", + "Message", + "SigningAlgorithm" + ], + "members":{ + "KeyId":{"shape":"KeyIdType"}, + "Message":{"shape":"PlaintextType"}, + "MessageType":{"shape":"MessageType"}, + "GrantTokens":{"shape":"GrantTokenList"}, + "SigningAlgorithm":{"shape":"SigningAlgorithmSpec"} + } + }, + "SignResponse":{ + "type":"structure", + "members":{ + "KeyId":{"shape":"KeyIdType"}, + "Signature":{"shape":"CiphertextType"}, + "SigningAlgorithm":{"shape":"SigningAlgorithmSpec"} + } + }, + "SigningAlgorithmSpec":{ + "type":"string", + "enum":[ + "RSASSA_PSS_SHA_256", + "RSASSA_PSS_SHA_384", + "RSASSA_PSS_SHA_512", + "RSASSA_PKCS1_V1_5_SHA_256", + "RSASSA_PKCS1_V1_5_SHA_384", + "RSASSA_PKCS1_V1_5_SHA_512", + "ECDSA_SHA_256", + "ECDSA_SHA_384", + "ECDSA_SHA_512" + ] + }, + "SigningAlgorithmSpecList":{ + "type":"list", + "member":{"shape":"SigningAlgorithmSpec"} + }, "Tag":{ "type":"structure", "required":[ @@ -1826,6 +2108,31 @@ "Description":{"shape":"DescriptionType"} } }, + "VerifyRequest":{ + "type":"structure", + "required":[ + "KeyId", + "Message", + "Signature", + "SigningAlgorithm" + ], + "members":{ + "KeyId":{"shape":"KeyIdType"}, + "Message":{"shape":"PlaintextType"}, + "MessageType":{"shape":"MessageType"}, + "Signature":{"shape":"CiphertextType"}, + "SigningAlgorithm":{"shape":"SigningAlgorithmSpec"}, + "GrantTokens":{"shape":"GrantTokenList"} + } + }, + "VerifyResponse":{ + "type":"structure", + "members":{ + "KeyId":{"shape":"KeyIdType"}, + "SignatureValid":{"shape":"BooleanType"}, + "SigningAlgorithm":{"shape":"SigningAlgorithmSpec"} + } + }, "WrappingKeySpec":{ "type":"string", "enum":["RSA_2048"] diff --git a/models/apis/kms/2014-11-01/docs-2.json b/models/apis/kms/2014-11-01/docs-2.json index 1d219004bad..cd68264cc60 100644 --- a/models/apis/kms/2014-11-01/docs-2.json +++ b/models/apis/kms/2014-11-01/docs-2.json @@ -2,47 +2,52 @@ "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, 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.

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.

", + "CancelKeyDeletion": "

Cancels the deletion of a customer master key (CMK). When this operation succeeds, the key state of the CMK is Disabled. To enable the CMK, use EnableKey. You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "ConnectCustomKeyStore": "

Connects or reconnects a custom key store to its associated AWS CloudHSM cluster.

The custom key store must be connected before you can create customer master keys (CMKs) in the key store or use the CMKs it contains. You can disconnect and reconnect a custom key store at any time.

To connect a custom key store, its associated AWS CloudHSM cluster must have at least one active HSM. To get the number of active HSMs in a cluster, use the DescribeClusters operation. To add HSMs to the cluster, use the CreateHsm operation.

The connection process can take an extended amount of time to complete; up to 20 minutes. This operation starts the connection process, but it does not wait for it to complete. When it succeeds, this operation quickly returns an HTTP 200 response and a JSON object with no properties. However, this response does not indicate that the custom key store is connected. To get the connection state of the custom key store, use the DescribeCustomKeyStores operation.

During the connection process, AWS KMS finds the AWS CloudHSM cluster that is associated with the custom key store, creates the connection infrastructure, connects to the cluster, logs into the AWS CloudHSM client as the kmsuser crypto user (CU), and rotates its password.

The ConnectCustomKeyStore operation might fail for various reasons. To find the reason, use the DescribeCustomKeyStores operation and see the ConnectionErrorCode in the response. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

To fix the failure, use the DisconnectCustomKeyStore operation to disconnect the custom key store, correct the error, use the UpdateCustomKeyStore operation if necessary, and then use ConnectCustomKeyStore again.

If you are having trouble connecting or disconnecting a custom key store, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

", - "CreateAlias": "

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 must begin with alias/ followed by a name, such as alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

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

", + "CreateAlias": "

Creates a display name for a customer managed customer master key (CMK). You can use an alias to identify a CMK in cryptographic operations, such as Encrypt and GenerateDataKey. You can change the CMK associated with the alias at any time.

Aliases are easier to remember than key IDs. They can also help to simplify your applications. For example, if you use an alias in your code, you can change the CMK your code uses by associating a given alias with a different CMK.

To run the same code in multiple AWS regions, use an alias in your code, such as alias/ApplicationKey. Then, in each AWS Region, create an alias/ApplicationKey alias that is associated with a CMK in that Region. When you run your code, it uses the alias/ApplicationKey CMK for that AWS Region without any Region-specific code.

This operation does not return a response. To get the alias that you created, use the ListAliases operation.

To use aliases successfully, be aware of the following information.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases and alias ARNs of CMKs in each AWS account and Region, use the ListAliases operation.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "CreateCustomKeyStore": "

Creates a custom key store that is associated with an AWS CloudHSM cluster that you own and manage.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

Before you create the custom key store, you must assemble the required elements, including an AWS CloudHSM cluster that fulfills the requirements for a custom key store. For details about the required elements, see Assemble the Prerequisites in the AWS Key Management Service Developer Guide.

When the operation completes successfully, it returns the ID of the new custom key store. Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect the new key store to its AWS CloudHSM cluster. Even if you are not going to use your custom key store immediately, you might want to connect it to verify that all settings are correct and then disconnect it until you are ready to use it.

For help with failures, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

", - "CreateGrant": "

Adds a grant to a customer master key (CMK). The grant allows the grantee principal to use the CMK when the conditions specified in the grant are met. When setting permissions, grants are an alternative to key policies.

To create a grant that allows a cryptographic operation only when the encryption context in the operation request matches or includes a specified encryption context, use the Constraints parameter. For details, see GrantConstraints.

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 managed customer master key (CMK) in your AWS account.

You can use a CMK to encrypt small amounts of data (up to 4096 bytes) directly. But CMKs are more commonly used to encrypt the data keys that are used to encrypt data.

To create a CMK for imported key material, use the Origin parameter with a value of EXTERNAL.

To create a CMK in a custom key store, use the CustomKeyStoreId parameter to specify the custom key store. You must also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the AWS Region.

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

", + "CreateGrant": "

Adds a grant to a customer master key (CMK). The grant allows the grantee principal to use the CMK when the conditions specified in the grant are met. When setting permissions, grants are an alternative to key policies.

To create a grant that allows a cryptographic operation only when the request includes a particular encryption context, use the Constraints parameter. For details, see GrantConstraints.

You can create grants on symmetric and asymmetric CMKs. However, if the grant allows an operation that the CMK does not support, CreateGrant fails with a ValidationException.

For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. For more information about grants, see Grants in the AWS Key Management Service Developer Guide .

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "CreateKey": "

Creates a unique customer managed customer master key (CMK) in your AWS account and Region. You cannot use this operation to create a CMK in a different AWS account.

You can use the CreateKey operation to create symmetric or asymmetric CMKs.

For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

To create different types of CMKs, use the following guidance:

Asymmetric CMKs

To create an asymmetric CMK, use the CustomerMasterKeySpec parameter to specify the type of key material in the CMK. Then, use the KeyUsage parameter to determine whether the CMK will be used to encrypt and decrypt or sign and verify. You can't change these properties after the CMK is created.

Symmetric CMKs

When creating a symmetric CMK, you don't need to specify the CustomerMasterKeySpec or KeyUsage parameters. The default value for CustomerMasterKeySpec, SYMMETRIC_DEFAULT, and the default value for KeyUsage, ENCRYPT_DECRYPT, are the only valid values for symmetric CMKs.

Imported Key Material

To import your own key material, begin by creating a symmetric CMK with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token, and use the public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the AWS Key Management Service Developer Guide . You cannot import the key material into an asymmetric CMK.

Custom Key Stores

To create a symmetric CMK in a custom key store, use the CustomKeyStoreId parameter to specify the custom key store. You must also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the AWS Region.

You cannot create an asymmetric CMK in a custom key store. For information about custom key stores in AWS KMS see Using Custom Key Stores in the AWS Key Management Service Developer Guide .

", + "Decrypt": "

Decrypts ciphertext that was encrypted by a AWS KMS customer master key (CMK) using any of the following operations:

You can use this operation to decrypt ciphertext that was encrypted under a symmetric or asymmetric CMK. When the CMK is asymmetric, you must specify the CMK and the encryption algorithm that was used to encrypt the ciphertext. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

The Decrypt operation also decrypts ciphertext that was encrypted outside of AWS KMS by the public key in an AWS KMS asymmetric CMK. However, it cannot decrypt ciphertext produced by other libraries, such as the AWS Encryption SDK or Amazon S3 client-side encryption. These libraries return a ciphertext format that is incompatible with AWS KMS.

If the ciphertext was encrypted under a symmetric CMK, you do not need to specify the CMK or the encryption algorithm. AWS KMS can get this information from metadata that it adds to the symmetric ciphertext blob. However, if you prefer, you can specify the KeyId to ensure that a particular CMK is used to decrypt the ciphertext. If you specify a different CMK than the one used to encrypt the ciphertext, the Decrypt operation fails.

Whenever possible, use key policies to give users permission to call the Decrypt operation on a particular CMK, instead of using IAM policies. Otherwise, you might create an IAM user policy that gives the user Decrypt permission on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs in other accounts if the key policy for the cross-account CMK permits it. If you must use an IAM policy for Decrypt permissions, limit the user to particular CMKs or particular trusted accounts.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "DeleteAlias": "

Deletes the specified alias. You cannot perform this operation on an alias in a different AWS account.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs, use the ListAliases operation.

Each CMK can have multiple aliases. To change the alias of a CMK, use DeleteAlias to delete the current alias and CreateAlias to create a new alias. To associate an existing alias with a different customer master key (CMK), call UpdateAlias.

", "DeleteCustomKeyStore": "

Deletes a custom key store. This operation does not delete the AWS CloudHSM cluster that is associated with the custom key store, or affect any users or keys in the cluster.

The custom key store that you delete cannot contain any AWS KMS customer master keys (CMKs). Before deleting the key store, verify that you will never need to use any of the CMKs in the key store for any cryptographic operations. Then, use ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs) from the key store. When the scheduled waiting period expires, the ScheduleKeyDeletion operation deletes the CMKs. Then it makes a best effort to delete the key material from the associated cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to disconnect the key store from AWS KMS. Then, you can delete the custom key store.

Instead of deleting the custom key store, consider using DisconnectCustomKeyStore to disconnect it from AWS KMS. While the key store is disconnected, you cannot create or use the CMKs in the key store. But, you do not need to delete CMKs and you can reconnect a disconnected custom key store at any time.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

", - "DeleteImportedKeyMaterial": "

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.

", + "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 CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "DescribeCustomKeyStores": "

Gets information about custom key stores in the account and region.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

By default, this operation returns information about all custom key stores in the account and region. To get only information about a particular custom key store, use either the CustomKeyStoreName or CustomKeyStoreId parameter (but not both).

To determine whether the custom key store is connected to its AWS CloudHSM cluster, use the ConnectionState element in the response. If an attempt to connect the custom key store failed, the ConnectionState value is FAILED and the ConnectionErrorCode element in the response indicates the cause of the failure. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

Custom key stores have a DISCONNECTED connection state if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If your custom key store state is CONNECTED but you are having trouble using it, make sure that its associated AWS CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if any.

For help repairing your custom key store, see the Troubleshooting Custom Key Stores topic in the AWS Key Management Service Developer Guide.

", - "DescribeKey": "

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.

", + "DescribeKey": "

Provides detailed information about a customer master key (CMK). You can run DescribeKey on a customer managed CMK or an AWS managed CMK.

This detailed information includes the key ARN, creation date (and deletion date, if applicable), the key state, and the origin and expiration date (if any) of the key material. For CMKs in custom key stores, it includes information about the custom key store, such as the key store ID and the AWS CloudHSM cluster ID. It includes fields, like KeySpec, that help you distinguish symmetric from asymmetric CMKs. It also provides information that is particularly important to asymmetric CMKs, such as the key usage (encryption or signing) and the encryption algorithms or signing algorithms that the CMK supports.

DescribeKey does not return the following information:

If you call the DescribeKey operation on a predefined AWS alias, that is, an AWS alias with no key ID, AWS KMS creates an AWS managed CMK. Then, it associates the alias with the new CMK, and returns the KeyId and Arn of the new CMK in the response.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

", + "DisableKey": "

Sets the state of a customer master key (CMK) to disabled, thereby preventing its use for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide .

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "DisableKeyRotation": "

Disables automatic rotation of the key material for the specified symmetric customer master key (CMK).

You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. You cannot perform this operation on a CMK in a different AWS account.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "DisconnectCustomKeyStore": "

Disconnects the custom key store from its associated AWS CloudHSM cluster. While a custom key store is disconnected, you can manage the custom key store and its customer master keys (CMKs), but you cannot create or use CMKs in the custom key store. You can reconnect the custom key store at any time.

While a custom key store is disconnected, all attempts to create customer master keys (CMKs) in the custom key store or to use existing CMKs in cryptographic operations will fail. This action can prevent users from storing and accessing sensitive data.

To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. To reconnect a custom key store, use the ConnectCustomKeyStore operation.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

", - "EnableKey": "

Sets the key state of a customer master key (CMK) to enabled. This allows you to use the CMK for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

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

You cannot enable automatic rotation of CMKs with imported key material or CMKs in a custom key store.

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

Generates a unique data key. This operation returns a plaintext copy of the data key and a copy that is encrypted under a customer master key (CMK) that you specify. You can use the plaintext key to encrypt your data outside of KMS and store the encrypted data key with the encrypted data.

GenerateDataKey returns a unique data key for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the data key.

To generate a data key, you need to specify the customer master key (CMK) that will be used to encrypt the data key. You must also specify the length of the data key using either the KeySpec or NumberOfBytes field (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.

You will find the plaintext copy of the data key in the Plaintext field of the response, and the encrypted copy of the data key in the CiphertextBlob field.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use the GenerateDataKey operation to get a data encryption key.

  2. Use the plaintext data key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key. The operation returns a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To get a cryptographically secure random byte string, use GenerateRandom.

You can use the optional encryption context to add additional security to your encryption operation. When you specify an EncryptionContext in the GenerateDataKey operation, you must specify the same encryption context (a case-sensitive exact match) in your request to Decrypt the data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide .

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

Generates a unique data key. This operation returns a data key that is encrypted under a customer master key (CMK) that you specify. GenerateDataKeyWithoutPlaintext is identical to GenerateDataKey except that returns only the encrypted copy of the data key.

Like GenerateDataKey, GenerateDataKeyWithoutPlaintext returns a unique data key for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the data key.

This operation is useful for systems that need to encrypt data at some point, but not immediately. When you need to encrypt the data, you call the Decrypt operation on the encrypted copy of the key.

It's also useful in distributed systems with different levels of trust. For example, you might store encrypted data in containers. One component of your system creates new containers and stores an encrypted data key with each container. Then, a different component puts the data into the containers. That component first decrypts the data key, uses the plaintext data key to encrypt data, puts the encrypted data into the container, and then destroys the plaintext data key. In this system, the component that creates the containers never sees the plaintext data key.

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 key state of a customer master key (CMK) to enabled. This allows you to use the CMK for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "EnableKeyRotation": "

Enables automatic rotation of the key material for the specified symmetric customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "Encrypt": "

Encrypts plaintext into ciphertext by using a customer master key (CMK). The Encrypt operation has two primary use cases:

You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey and GenerateDataKeyPair operations return a plaintext data key and an encrypted copy of that data key.

When you encrypt data, you must specify a symmetric or asymmetric CMK to use in the encryption operation. The CMK must have a KeyUsage value of ENCRYPT_DECRYPT. To find the KeyUsage of a CMK, use the DescribeKey operation.

If you use a symmetric CMK, you can use an encryption context to add additional security to your encryption operation. If you specify an EncryptionContext when encrypting data, you must specify the same encryption context (a case-sensitive exact match) when decrypting the data. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

If you specify an asymmetric CMK, you must also specify the encryption algorithm. The algorithm must be compatible with the CMK type.

When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record the CMK and encryption algorithm that you choose. You will be required to provide the same CMK and encryption algorithm when you decrypt the data. If the CMK and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

You are not required to supply the CMK ID and encryption algorithm when you decrypt with symmetric CMKs because AWS KMS stores this information in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

The maximum size of the data that you can encrypt varies with the type of CMK and the encryption algorithm that you choose.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

", + "GenerateDataKey": "

Generates a unique symmetric data key. This operation returns a plaintext copy of the data key and a copy that is encrypted under a customer master key (CMK) that you specify. You can use the plaintext key to encrypt your data outside of AWS KMS and store the encrypted data key with the encrypted data.

GenerateDataKey returns a unique data key for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the data key.

To generate a data key, specify the symmetric CMK that will be used to encrypt the data key. You cannot use an asymmetric CMK to generate data keys.

You must also specify the length of the data key. Use either the KeySpec or NumberOfBytes parameters (but not both). For 128-bit and 256-bit data keys, use the KeySpec parameter.

If the operation succeeds, the plaintext copy of the data key is in the Plaintext field of the response, and the encrypted copy of the data key in the CiphertextBlob field.

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operation. To get a cryptographically secure random byte string, use GenerateRandom.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use the GenerateDataKey operation to get a data encryption key.

  2. Use the plaintext data key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key. The operation returns a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

", + "GenerateDataKeyPair": "

Generates a unique asymmetric data key pair. The GenerateDataKeyPair operation returns a plaintext public key, a plaintext private key, and a copy of the private key that is encrypted under the symmetric CMK you specify. You can use the data key pair to perform asymmetric cryptography outside of AWS KMS.

GenerateDataKeyPair returns a unique data key pair for each request. The bytes in the keys are not related to the caller or the CMK that is used to encrypt the private key.

You can use the public key that GenerateDataKeyPair returns to encrypt data or verify a signature outside of AWS KMS. Then, store the encrypted private key with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

To generate a data key pair, you must specify a symmetric customer master key (CMK) to encrypt the private key in a data key pair. You cannot use an asymmetric CMK. To get the type of your CMK, use the DescribeKey operation.

If you are using the data key pair to encrypt data, or for any operation where you don't immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext operation. GenerateDataKeyPairWithoutPlaintext returns a plaintext public key and an encrypted private key, but omits the plaintext private key that you need only to decrypt ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use the Decrypt operation to decrypt the encrypted private key in the data key pair.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyPairWithoutPlaintext": "

Generates a unique asymmetric data key pair. The GenerateDataKeyPairWithoutPlaintext operation returns a plaintext public key and a copy of the private key that is encrypted under the symmetric CMK you specify. Unlike GenerateDataKeyPair, this operation does not return a plaintext private key.

To generate a data key pair, you must specify a symmetric customer master key (CMK) to encrypt the private key in the data key pair. You cannot use an asymmetric CMK. To get the type of your CMK, use the KeySpec field in the DescribeKey response.

You can use the public key that GenerateDataKeyPairWithoutPlaintext returns to encrypt data or verify a signature outside of AWS KMS. Then, store the encrypted private key with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the private key.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyWithoutPlaintext": "

Generates a unique symmetric data key. This operation returns a data key that is encrypted under a customer master key (CMK) that you specify. To request an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operations.

GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation except that returns only the encrypted copy of the data key. This operation is useful for systems that need to encrypt data at some point, but not immediately. When you need to encrypt the data, you call the Decrypt operation on the encrypted copy of the key.

It's also useful in distributed systems with different levels of trust. For example, you might store encrypted data in containers. One component of your system creates new containers and stores an encrypted data key with each container. Then, a different component puts the data into the containers. That component first decrypts the data key, uses the plaintext data key to encrypt data, puts the encrypted data into the container, and then destroys the plaintext data key. In this system, the component that creates the containers never sees the plaintext data key.

GenerateDataKeyWithoutPlaintext returns a unique data key for each request. The bytes in the keys are not related to the caller or CMK that is used to encrypt the private key.

To generate a data key, you must specify the symmetric customer master key (CMK) that is used to encrypt the data key. You cannot use an asymmetric CMK to generate a data key. To get the type of your CMK, use the KeySpec field in the DescribeKey response. You must also specify the length of the data key using either the KeySpec or NumberOfBytes field (but not both). For common key lengths (128-bit and 256-bit symmetric keys), use the KeySpec parameter.

If the operation succeeds, you will find the plaintext copy of the data key in the Plaintext field of the response, and the encrypted copy of the data key in the CiphertextBlob field.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "GenerateRandom": "

Returns a random byte string that is cryptographically secure.

By default, the random byte string is generated in AWS KMS. To generate the byte string in the AWS CloudHSM cluster that is associated with a custom key store, specify the custom key store ID.

For more information about entropy and random number generation, see the AWS Key Management Service Cryptographic Details whitepaper.

", "GetKeyPolicy": "

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

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

When this operation is successful, the key state of the CMK 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.

", + "GetKeyRotationStatus": "

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified customer master key (CMK).

You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. The key rotation status for these CMKs is always false.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

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 to import key material into a symmetric, customer managed customer master key (CMK). For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

This operation returns a public key and an import token. Use the public key to encrypt the symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request.

You must specify the key ID of the symmetric CMK into which you will import key material. This CMK's Origin must be EXTERNAL. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material. You cannot perform this operation on an asymmetric CMK or on any CMK in a different AWS account.

To import key material, you must use the public key and import token from the same response. These items are valid for 24 hours. The expiration date and time appear in the GetParametersForImport response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "GetPublicKey": "

Returns the public key of an asymmetric CMK. Unlike the private key of a asymmetric CMK, which never leaves AWS KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric CMK. You can share the public key to allow others to encrypt messages and verify signatures outside of AWS KMS. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within AWS KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric CMK. When you use the public key within AWS KMS, you benefit from the authentication, authorization, and logging that are part of every AWS KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of AWS KMS. For details, see Special Considerations for Downloading Public Keys.

To help you use the public key safely outside of AWS KMS, GetPublicKey returns important information about the public key in the response, including:

Although AWS KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by AWS KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "ImportKeyMaterial": "

Imports key material into an existing symmetric AWS KMS customer master key (CMK) that was created without key material. After you successfully import key material into a CMK, you can reimport the same key material into that CMK, but you cannot import different key material.

You cannot perform this operation on an asymmetric CMK or on any CMK in a different AWS account. For more information about creating CMKs with no key material and then importing key material, see Importing Key Material in the AWS Key Management Service Developer Guide.

Before using this operation, call GetParametersForImport. Its response includes a public key and an import token. Use the public key to encrypt the key material. Then, submit the import token from the same GetParametersForImport response.

When calling this operation, you must specify the following values:

When this operation is successful, the key state of the CMK changes from PendingImport to Enabled, and you can use the CMK.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the CMK and repeat the import procedure. For help, see How To Import Key Material in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "ListAliases": "

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.

", + "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.

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.

", + "ReEncrypt": "

Decrypts ciphertext and then reencrypts it entirely within AWS KMS. You can use this operation to change the customer master key (CMK) under which data is encrypted, such as when you manually rotate a CMK or change the CMK that protects a ciphertext. You can also use it to reencrypt ciphertext under the same CMK, such as to change the encryption context of a ciphertext.

The ReEncrypt operation can decrypt ciphertext that was encrypted by using an AWS KMS CMK in an AWS KMS operation, such as Encrypt or GenerateDataKey. It can also decrypt ciphertext that was encrypted by using the public key of an asymmetric CMK outside of AWS KMS. However, it cannot decrypt ciphertext produced by other libraries, such as the AWS Encryption SDK or Amazon S3 client-side encryption. These libraries return a ciphertext format that is incompatible with AWS KMS.

When you use the ReEncrypt operation, you need to provide information for the decrypt operation and the subsequent encrypt operation.

Unlike other AWS KMS API operations, ReEncrypt callers must have two permissions:

To permit reencryption from

or to a CMK, include the \"kms:ReEncrypt*\" permission in your key policy. This permission is automatically included in the key policy when you use the console to create a CMK. But you must include it manually when you create a CMK programmatically or when you use the PutKeyPolicy operation set a key policy.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "RetireGrant": "

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:

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 key state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it.

Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is unrecoverable. To prevent the use of a CMK without deleting it, use DisableKey.

If you schedule deletion of a CMK from a custom key store, when the waiting period expires, ScheduleKeyDeletion deletes the CMK from AWS KMS. Then AWS KMS makes a best effort to delete the key material from the associated AWS CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

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

The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

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

", + "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 key state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it.

Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is unrecoverable. To prevent the use of a CMK without deleting it, use DisableKey.

If you schedule deletion of a CMK from a custom key store, when the waiting period expires, ScheduleKeyDeletion deletes the CMK from AWS KMS. Then AWS KMS makes a best effort to delete the key material from the associated AWS CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "Sign": "

Creates a digital signature for a message or message digest by using the private key in an asymmetric CMK. To verify the signature, use the Verify operation, or use the public key in the same asymmetric CMK outside of AWS KMS. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

Digital signatures are generated and verified by using asymmetric key pair, such as an RSA or ECC pair that is represented by an asymmetric customer master key (CMK). The key owner (or an authorized user) uses their private key to sign a message. Anyone with the public key can verify that the message was signed with that particular private key and that the message hasn't changed since it was signed.

To use the Sign operation, provide the following information:

When signing a message, be sure to record the CMK and the signing algorithm. This information is required to verify the signature.

To verify the signature that this operation generates, use the Verify operation. Or use the GetPublicKey operation to download the public key and then use the public key to verify the signature outside of AWS KMS.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "TagResource": "

Adds or edits tags for a customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

You can only use a tag key once for each CMK. If you use the tag key again, AWS KMS replaces the current tag value with the specified value.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "UntagResource": "

Removes the specified tags from the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "UpdateAlias": "

Associates an existing AWS KMS alias with a different customer master key (CMK). Each alias is associated with only one CMK at a time, although a CMK can have multiple aliases. The alias and the CMK must be in the same AWS account and region. You cannot perform this operation on an alias in a different AWS account.

The current and new CMK must be the same type (both symmetric or both asymmetric), and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This restriction prevents errors in code that uses aliases. If you must assign an alias to a different type of CMK, use DeleteAlias to delete the old alias and CreateAlias to create a new alias.

You cannot use UpdateAlias to change an alias name. To change an alias name, use DeleteAlias to delete the old alias and CreateAlias to create a new alias.

Because an alias is not a property of a CMK, you can create, update, and delete the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs in the account, use the ListAliases operation.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "UpdateCustomKeyStore": "

Changes the properties of a custom key store. Use the CustomKeyStoreId parameter to identify the custom key store you want to edit. Use the remaining parameters to change the properties of the custom key store.

You can only update a custom key store that is disconnected. To disconnect the custom key store, use DisconnectCustomKeyStore. To reconnect the custom key store after the update completes, use ConnectCustomKeyStore. To find the connection state of a custom key store, use the DescribeCustomKeyStores operation.

Use the parameters of UpdateCustomKeyStore to edit your keystore settings.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

", - "UpdateKeyDescription": "

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.

" + "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 CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "Verify": "

Verifies a digital signature that was generated by the Sign operation. This operation requires an asymmetric CMK with a KeyUsage value of SIGN_VERIFY.

Verification confirms that an authorized user signed the message with the specified key and signing algorithm, and the message hasn't changed since it was signed. A digital signature is generated by using the private key in an asymmetric CMK. The signature is verified by using the public key in the same asymmetric CMK. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

To verify a digital signature, you can use the Verify operation. Specify the same asymmetric CMK that was used by the Sign operation to generate the digital signature.

You can also verify the digital signature by using the public key of the CMK outside of AWS KMS. Use the GetPublicKey operation to download the public key in the asymmetric CMK and then use the public key to verify the signature outside of AWS KMS.

The advantage of using the Verify operation is that it is performed within AWS KMS. As a result, it's easy to call, the operation is performed within the FIPS boundary, it is logged in AWS CloudTrail, and you can use key policy and IAM policy to determine who is authorized to use the CMK to verify signatures.

The result of the Verify operation, which is represented by its HTTP status code, does not indicate whether the signature verification succeeded or failed. To determine whether the signature was verified, see the SignatureValid field in the response.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "shapes": { "AWSAccountIdType": { @@ -75,7 +80,7 @@ "AliasListEntry$AliasName": "

String that contains the alias. This value begins with alias/.

", "CreateAliasRequest$AliasName": "

Specifies the alias name. This value must begin with alias/ followed by a name, such as alias/ExampleAlias. The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

", "DeleteAliasRequest$AliasName": "

The alias to be deleted. The alias name must begin with alias/ followed by the alias name, such as alias/ExampleAlias.

", - "UpdateAliasRequest$AliasName": "

Specifies the name of the alias to change. This value must begin with alias/ followed by the alias name, such as alias/ExampleAlias.

" + "UpdateAliasRequest$AliasName": "

Identifies the alias that is changing its CMK. This value must begin with alias/ followed by the alias name, such as alias/ExampleAlias. You cannot use UpdateAlias to change the alias name.

" } }, "AlreadyExistsException": { @@ -103,7 +108,8 @@ "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 thisresponse 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 thisresponse 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 thisresponse 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 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.

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

", + "VerifyResponse$SignatureValid": "

A Boolean value that indicates whether the signature was verified. A value of True indicates that the Signature was produced by signing the Message with the specified KeyID and SigningAlgorithm. A value of False indicates that the message, the algorithm, or the key changed since the message was signed.

" } }, "CancelKeyDeletionRequest": { @@ -120,14 +126,18 @@ "base": null, "refs": { "DecryptRequest$CiphertextBlob": "

Ciphertext to be decrypted. The blob includes metadata.

", - "EncryptResponse$CiphertextBlob": "

The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

", - "GenerateDataKeyResponse$CiphertextBlob": "

The encrypted copy of the data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

", - "GenerateDataKeyWithoutPlaintextResponse$CiphertextBlob": "

The encrypted data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

", + "EncryptResponse$CiphertextBlob": "

The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", + "GenerateDataKeyPairResponse$PrivateKeyCiphertextBlob": "

The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", + "GenerateDataKeyPairWithoutPlaintextResponse$PrivateKeyCiphertextBlob": "

The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", + "GenerateDataKeyResponse$CiphertextBlob": "

The encrypted copy of the data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", + "GenerateDataKeyWithoutPlaintextResponse$CiphertextBlob": "

The encrypted data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", "GetParametersForImportResponse$ImportToken": "

The import token to send in a subsequent ImportKeyMaterial request.

", "ImportKeyMaterialRequest$ImportToken": "

The import token that you received in the response to a previous GetParametersForImport request. It must be from the same response that contained the public key that you used to encrypt the key material.

", - "ImportKeyMaterialRequest$EncryptedKeyMaterial": "

The encrypted key material to import. It must be encrypted with the public key that you received in the response to a previous GetParametersForImport request, using the wrapping algorithm that you specified in that request.

", + "ImportKeyMaterialRequest$EncryptedKeyMaterial": "

The encrypted key material to import. The key material must be encrypted with the public wrapping key that GetParametersForImport returned, using the wrapping algorithm that you specified in the same GetParametersForImport request.

", "ReEncryptRequest$CiphertextBlob": "

Ciphertext of the data to reencrypt.

", - "ReEncryptResponse$CiphertextBlob": "

The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" + "ReEncryptResponse$CiphertextBlob": "

The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", + "SignResponse$Signature": "

The cryptographic signature that was generated for the message.

", + "VerifyRequest$Signature": "

The signature that the Sign operation generated.

" } }, "CloudHsmClusterIdType": { @@ -231,7 +241,7 @@ "refs": { "ConnectCustomKeyStoreRequest$CustomKeyStoreId": "

Enter the key store ID of the custom key store that you want to connect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

", "CreateCustomKeyStoreResponse$CustomKeyStoreId": "

A unique identifier for the new custom key store.

", - "CreateKeyRequest$CustomKeyStoreId": "

Creates the CMK in the specified custom key store and the key material in its associated AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs, each in a different Availability Zone in the Region.

To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

", + "CreateKeyRequest$CustomKeyStoreId": "

Creates the CMK in the specified custom key store and the key material in its associated AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs, each in a different Availability Zone in the Region.

This parameter is valid only for symmetric CMKs. You cannot create an asymmetric CMK in a custom key store.

To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

", "CustomKeyStoresListEntry$CustomKeyStoreId": "

A unique identifier for the custom key store.

", "DeleteCustomKeyStoreRequest$CustomKeyStoreId": "

Enter the ID of the custom key store you want to delete. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

", "DescribeCustomKeyStoresRequest$CustomKeyStoreId": "

Gets only information about the specified custom key store. Enter the key store ID.

By default, this operation gets information about all custom key stores in the account and region. To limit the output to a particular custom key store, you can use either the CustomKeyStoreId or CustomKeyStoreName parameter, but not both.

", @@ -277,10 +287,27 @@ "CustomKeyStoresList$member": null } }, + "CustomerMasterKeySpec": { + "base": null, + "refs": { + "CreateKeyRequest$CustomerMasterKeySpec": "

Specifies the type of CMK to create. The CustomerMasterKeySpec determines whether the CMK contains a symmetric key or an asymmetric key pair. It also determines the encryption algorithms or signing algorithms that the CMK supports. You can't change the CustomerMasterKeySpec after the CMK is created. To further restrict the algorithms that can be used with the CMK, use its key policy or IAM policy.

For help with choosing a key spec for your CMK, see Selecting a Customer Master Key Spec in the AWS Key Management Service Developer Guide.

The default value, SYMMETRIC_DEFAULT, creates a CMK with a 256-bit symmetric key.

AWS KMS supports the following key specs for CMKs:

", + "GetPublicKeyResponse$CustomerMasterKeySpec": "

The type of the of the public key that was downloaded.

", + "KeyMetadata$CustomerMasterKeySpec": "

Describes the type of key material in the CMK.

" + } + }, + "DataKeyPairSpec": { + "base": null, + "refs": { + "GenerateDataKeyPairRequest$KeyPairSpec": "

Determines the type of data key pair that is generated.

The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

", + "GenerateDataKeyPairResponse$KeyPairSpec": "

The type of data key pair that was generated.

", + "GenerateDataKeyPairWithoutPlaintextRequest$KeyPairSpec": "

Determines the type of data key pair that is generated.

The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

", + "GenerateDataKeyPairWithoutPlaintextResponse$KeyPairSpec": "

The type of data key pair that was generated.

" + } + }, "DataKeySpec": { "base": null, "refs": { - "GenerateDataKeyRequest$KeySpec": "

The length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

", + "GenerateDataKeyRequest$KeySpec": "

Specifies the length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

You must specify either the KeySpec or the NumberOfBytes parameter (but not both) in every GenerateDataKey request.

", "GenerateDataKeyWithoutPlaintextRequest$KeySpec": "

The length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" } }, @@ -405,6 +432,27 @@ "refs": { } }, + "EncryptionAlgorithmSpec": { + "base": null, + "refs": { + "DecryptRequest$EncryptionAlgorithm": "

Specifies the encryption algorithm that will be used to decrypt the ciphertext. Specify the same algorithm that was used to encrypt the data. If you specify a different algorithm, the Decrypt operation fails.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. The default value, SYMMETRIC_DEFAULT, represents the only supported algorithm that is valid for symmetric CMKs.

", + "DecryptResponse$EncryptionAlgorithm": "

The encryption algorithm that was used to decrypt the ciphertext.

", + "EncryptRequest$EncryptionAlgorithm": "

Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext message. The algorithm must be compatible with the CMK that you specify.

This parameter is required only for asymmetric CMKs. The default value, SYMMETRIC_DEFAULT, is the algorithm used for symmetric CMKs. If you are using an asymmetric CMK, we recommend RSAES_OAEP_SHA_256.

", + "EncryptResponse$EncryptionAlgorithm": "

The encryption algorithm that was used to encrypt the plaintext.

", + "EncryptionAlgorithmSpecList$member": null, + "ReEncryptRequest$SourceEncryptionAlgorithm": "

Specifies the encryption algorithm that AWS KMS will use to decrypt the ciphertext before it is reencrypted. The default value, SYMMETRIC_DEFAULT, represents the algorithm used for symmetric CMKs.

Specify the same algorithm that was used to encrypt the ciphertext. If you specify a different algorithm, the decrypt attempt fails.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK.

", + "ReEncryptRequest$DestinationEncryptionAlgorithm": "

Specifies the encryption algorithm that AWS KMS will use to reecrypt the data after it has decrypted it. The default value, SYMMETRIC_DEFAULT, represents the encryption algorithm used for symmetric CMKs.

This parameter is required only when the destination CMK is an asymmetric CMK.

", + "ReEncryptResponse$SourceEncryptionAlgorithm": "

The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.

", + "ReEncryptResponse$DestinationEncryptionAlgorithm": "

The encryption algorithm that was used to reencrypt the data.

" + } + }, + "EncryptionAlgorithmSpecList": { + "base": null, + "refs": { + "GetPublicKeyResponse$EncryptionAlgorithms": "

The encryption algorithms that AWS KMS supports for this key.

This information is critical. If a public key encrypts data outside of AWS KMS by using an unsupported encryption algorithm, the ciphertext cannot be decrypted.

This field appears in the response only when the KeyUsage of the public key is ENCRYPT_DECRYPT.

", + "KeyMetadata$EncryptionAlgorithms": "

A list of encryption algorithms that the CMK supports. You cannot use the CMK with other encryption algorithms within AWS KMS.

This field appears only when the KeyUsage of the CMK is ENCRYPT_DECRYPT.

" + } + }, "EncryptionContextKey": { "base": null, "refs": { @@ -414,14 +462,16 @@ "EncryptionContextType": { "base": null, "refs": { - "DecryptRequest$EncryptionContext": "

The encryption context. If this was specified in the Encrypt function, it must be specified here or the decryption operation will fail. For more information, see Encryption Context.

", - "EncryptRequest$EncryptionContext": "

Name-value pair that specifies the encryption context to be used for authenticated encryption. If used here, the same value must be supplied to the Decrypt API or decryption will fail. For more information, see Encryption Context.

", - "GenerateDataKeyRequest$EncryptionContext": "

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", - "GenerateDataKeyWithoutPlaintextRequest$EncryptionContext": "

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", + "DecryptRequest$EncryptionContext": "

Specifies the encryption context to use when decrypting the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", + "EncryptRequest$EncryptionContext": "

Specifies the encryption context that will be used to encrypt the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyPairRequest$EncryptionContext": "

Specifies the encryption context that will be used when encrypting the private key in the data key pair.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyPairWithoutPlaintextRequest$EncryptionContext": "

Specifies the encryption context that will be used when encrypting the private key in the data key pair.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyRequest$EncryptionContext": "

Specifies the encryption context that will be used when encrypting the data key.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyWithoutPlaintextRequest$EncryptionContext": "

Specifies the encryption context that will be used when encrypting the data key.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", "GrantConstraints$EncryptionContextSubset": "

A list of key-value pairs that must be included in the encryption context of the cryptographic operation request. The grant allows the cryptographic operation only when the encryption context in the request includes the key-value pairs specified in this constraint, although it can include additional key-value pairs.

", "GrantConstraints$EncryptionContextEquals": "

A list of key-value pairs that must match the encryption context in the cryptographic operation request. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint.

", - "ReEncryptRequest$SourceEncryptionContext": "

Encryption context used to encrypt and decrypt the data specified in the CiphertextBlob parameter.

", - "ReEncryptRequest$DestinationEncryptionContext": "

Encryption context to use when the data is reencrypted.

" + "ReEncryptRequest$SourceEncryptionContext": "

Specifies the encryption context to use to decrypt the ciphertext. Enter the same encryption context that was used to encrypt the ciphertext.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

", + "ReEncryptRequest$DestinationEncryptionContext": "

Specifies that encryption context to use when the reencrypting the data.

A destination encryption context is valid only when the destination CMK is a symmetric CMK. The standard ciphertext format for asymmetric CMKs does not include fields for metadata.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" } }, "EncryptionContextValue": { @@ -446,6 +496,7 @@ "DependencyTimeoutException$message": null, "DisabledException$message": null, "ExpiredImportTokenException$message": null, + "IncorrectKeyException$message": null, "IncorrectKeyMaterialException$message": null, "IncorrectTrustAnchorException$message": null, "InvalidAliasNameException$message": null, @@ -474,7 +525,27 @@ } }, "ExpiredImportTokenException": { - "base": "

The request was rejected because the provided import token is expired. Use GetParametersForImport to get a new import token and public key, use the new public key to encrypt the key material, and then try the request again.

", + "base": "

The request was rejected because the specified import token is expired. Use GetParametersForImport to get a new import token and public key, use the new public key to encrypt the key material, and then try the request again.

", + "refs": { + } + }, + "GenerateDataKeyPairRequest": { + "base": null, + "refs": { + } + }, + "GenerateDataKeyPairResponse": { + "base": null, + "refs": { + } + }, + "GenerateDataKeyPairWithoutPlaintextRequest": { + "base": null, + "refs": { + } + }, + "GenerateDataKeyPairWithoutPlaintextResponse": { + "base": null, "refs": { } }, @@ -538,6 +609,16 @@ "refs": { } }, + "GetPublicKeyRequest": { + "base": null, + "refs": { + } + }, + "GetPublicKeyResponse": { + "base": null, + "refs": { + } + }, "GrantConstraints": { "base": "

Use this structure to allow cryptographic operations in the grant only when the operation request includes the specified encryption context.

AWS KMS applies the grant constraints only when the grant allows a cryptographic operation that accepts an encryption context as input, such as the following.

AWS KMS does not apply the grant constraints to other operations, such as DescribeKey or ScheduleKeyDeletion.

In a cryptographic operation, the encryption context in the decryption operation must be an exact, case-sensitive match for the keys and values in the encryption context of the encryption operation. Only the order of the pairs can vary.

However, in a grant constraint, the key in each key-value pair is not case sensitive, but the value is case sensitive.

To avoid confusion, do not use multiple encryption context pairs that differ only by case. To require a fully case-sensitive encryption context, use the kms:EncryptionContext: and kms:EncryptionContextKeys conditions in an IAM or key policy. For details, see kms:EncryptionContext: in the AWS Key Management Service Developer Guide .

", "refs": { @@ -593,9 +674,14 @@ "DecryptRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", "DescribeKeyRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", "EncryptRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyPairRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", + "GenerateDataKeyPairWithoutPlaintextRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", "GenerateDataKeyRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", "GenerateDataKeyWithoutPlaintextRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", - "ReEncryptRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "GetPublicKeyRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", + "ReEncryptRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", + "SignRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

", + "VerifyRequest$GrantTokens": "

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } }, "GrantTokenType": { @@ -616,8 +702,13 @@ "refs": { } }, + "IncorrectKeyException": { + "base": "

The request was rejected because the specified CMK cannot decrypt the data. The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request must identify the same CMK that was used to encrypt the ciphertext.

", + "refs": { + } + }, "IncorrectKeyMaterialException": { - "base": "

The request was rejected because the provided key material is invalid or is not the same key material that was previously imported into this customer master key (CMK).

", + "base": "

The request was rejected because the key material in the request is, expired, invalid, or is not the same key material that was previously imported into this customer master key (CMK).

", "refs": { } }, @@ -637,7 +728,7 @@ } }, "InvalidCiphertextException": { - "base": "

The request was rejected because the specified ciphertext, or additional authenticated data incorporated into the ciphertext, such as the encryption context, is corrupted, missing, or otherwise invalid.

", + "base": "

From the Decrypt or ReEncrypt operation, the request was rejected because the specified ciphertext, or additional authenticated data incorporated into the ciphertext, such as the encryption context, is corrupted, missing, or otherwise invalid.

From the ImportKeyMaterial operation, the request was rejected because AWS KMS could not decrypt the encrypted (wrapped) key material.

", "refs": { } }, @@ -657,7 +748,7 @@ } }, "InvalidKeyUsageException": { - "base": "

The request was rejected because the specified KeySpec value is not valid.

", + "base": "

The request was rejected for one of the following reasons:

For encrypting, decrypting, re-encrypting, and generating data keys, the KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.

To find the encryption or signing algorithms supported for a particular CMK, use the DescribeKey operation.

", "refs": { } }, @@ -672,7 +763,7 @@ } }, "KMSInvalidStateException": { - "base": "

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a CMK, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "base": "

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a CMK, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide .

", "refs": { } }, @@ -684,25 +775,32 @@ "CancelKeyDeletionResponse$KeyId": "

The unique identifier of the master key for which deletion is canceled.

", "CreateAliasRequest$TargetKeyId": "

Identifies the CMK to which the alias refers. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. You cannot specify another alias. For help finding the key ID and ARN, see Finding the Key ID and ARN in the AWS Key Management Service Developer Guide.

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

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.

", + "DecryptRequest$KeyId": "

Specifies the customer master key (CMK) that AWS KMS will use to decrypt the ciphertext. Enter a key ID of the CMK that was used to encrypt the ciphertext.

If you specify a KeyId value, the Decrypt operation succeeds only if the specified CMK was used to encrypt the ciphertext.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

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.

", + "DecryptResponse$KeyId": "

The ARN of the customer master key that was used to perform the decryption.

", "DeleteImportedKeyMaterialRequest$KeyId": "

Identifies the CMK from which you are deleting imported key material. The Origin of the CMK must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

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

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:

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:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", + "DisableKeyRotationRequest$KeyId": "

Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

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:

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:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", + "EnableKeyRotationRequest$KeyId": "

Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

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:

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

An identifier for the CMK that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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.

", + "GenerateDataKeyPairRequest$KeyId": "

Specifies the symmetric CMK that encrypts the private key in the data key pair. You cannot specify an asymmetric CMKs.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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.

", + "GenerateDataKeyPairResponse$KeyId": "

The identifier of the CMK that encrypted the private key.

", + "GenerateDataKeyPairWithoutPlaintextRequest$KeyId": "

Specifies the CMK that encrypts the private key in the data key pair. You must specify a symmetric CMK. You cannot use an asymmetric CMK.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

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.

", + "GenerateDataKeyPairWithoutPlaintextResponse$KeyId": "

Specifies the CMK that encrypted the private key in the data key pair. You must specify a symmetric CMK. You cannot use an asymmetric CMK.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

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

Identifies the symmetric CMK that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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 that encrypted the data key.

", - "GenerateDataKeyWithoutPlaintextRequest$KeyId": "

The identifier of the customer master key (CMK) that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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 symmetric customer master key (CMK) that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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 that encrypted the data key.

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

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:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", - "GetParametersForImportRequest$KeyId": "

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:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", + "GetParametersForImportRequest$KeyId": "

The identifier of the symmetric CMK into which you will import key material. The Origin of the CMK must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", "GetParametersForImportResponse$KeyId": "

The identifier of the CMK to use in a subsequent ImportKeyMaterial request. This is the same CMK specified in the GetParametersForImport request.

", + "GetPublicKeyRequest$KeyId": "

Identifies the asymmetric CMK that includes the public key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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.

", + "GetPublicKeyResponse$KeyId": "

The identifier of the asymmetric CMK from which the public key was downloaded.

", "GrantListEntry$KeyId": "

The unique identifier for the customer master key (CMK) to which the grant applies.

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

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", + "ImportKeyMaterialRequest$KeyId": "

The identifier of the symmetric CMK that receives the imported key material. The CMK's Origin must be EXTERNAL. This must be the same CMK specified in the KeyID parameter of the corresponding GetParametersForImport request.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

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.

", @@ -710,17 +808,22 @@ "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:

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:

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:

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:

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

A unique identifier for the CMK that is used to decrypt the ciphertext before it reencrypts it using the destination CMK.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext before it is reencrypted.

If you specify a KeyId value, the decrypt part of the ReEncrypt operation succeeds only if the specified CMK was used to encrypt the ciphertext.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

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. Specify a symmetric or asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To find the KeyUsage value of a CMK, use the DescribeKey operation.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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

", "RevokeGrantRequest$KeyId": "

A unique identifier for the customer master key associated with the grant.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", "ScheduleKeyDeletionRequest$KeyId": "

The unique identifier of the customer master key (CMK) to delete.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", "ScheduleKeyDeletionResponse$KeyId": "

The unique identifier of the customer master key (CMK) for which deletion is scheduled.

", + "SignRequest$KeyId": "

Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric CMK to sign the message. The KeyUsage type of the CMK must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

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.

", + "SignResponse$KeyId": "

The Amazon Resource Name (ARN) of the asymmetric CMK that was used to sign the message.

", "TagResourceRequest$KeyId": "

A unique identifier for the CMK you are tagging.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", "UntagResourceRequest$KeyId": "

A unique identifier for the CMK from which you are removing tags.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", - "UpdateAliasRequest$TargetKeyId": "

Unique identifier of the customer master key (CMK) to be mapped to the alias. When the update operation completes, the alias will point to this CMK.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

To verify that the alias is mapped to the correct CMK, use ListAliases.

", - "UpdateKeyDescriptionRequest$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:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" + "UpdateAliasRequest$TargetKeyId": "

Identifies the CMK to associate with the alias. When the update operation completes, the alias will point to this CMK.

The CMK must be in the same AWS account and Region as the alias. Also, the new target CMK must be the same type as the current target CMK (both symmetric or both asymmetric) and they must have the same key usage.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

To verify that the alias is mapped to the correct CMK, use ListAliases.

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

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

", + "VerifyRequest$KeyId": "

Identifies the asymmetric CMK that will be used to verify the signature. This must be the same CMK that was used to generate the signature. If you specify a different CMK, the value of the SignatureValid field in the response will be False.

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:

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.

", + "VerifyResponse$KeyId": "

The unique identifier for the asymmetric CMK that was used to verify the signature.

" } }, "KeyList": { @@ -762,15 +865,16 @@ } }, "KeyUnavailableException": { - "base": "

The request was rejected because the specified CMK was not available. The request can be retried.

", + "base": "

The request was rejected because the specified CMK was not available. You can retry the request.

", "refs": { } }, "KeyUsageType": { "base": null, "refs": { - "CreateKeyRequest$KeyUsage": "

The cryptographic operations for which you can use the CMK. The only valid value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and decrypt data.

", - "KeyMetadata$KeyUsage": "

The cryptographic operations for which you can use the CMK. The only valid value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and decrypt data.

" + "CreateKeyRequest$KeyUsage": "

Determines the cryptographic operations for which you can use the CMK. The default value is ENCRYPT_DECRYPT. This parameter is required only for asymmetric CMKs. You can't change the KeyUsage value after the CMK is created.

Select only one valid value.

", + "GetPublicKeyResponse$KeyUsage": "

The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or SIGN_VERIFY.

This information is critical. If a public key with SIGN_VERIFY key usage encrypts data outside of AWS KMS, the ciphertext cannot be decrypted.

", + "KeyMetadata$KeyUsage": "

The cryptographic operations for which you can use the CMK.

" } }, "LimitExceededException": { @@ -868,6 +972,13 @@ "ListRetirableGrantsRequest$Marker": "

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.

" } }, + "MessageType": { + "base": null, + "refs": { + "SignRequest$MessageType": "

Tells AWS KMS whether the value of the Message parameter is a message or message digest. To indicate a message, enter RAW. To indicate a message digest, enter DIGEST.

", + "VerifyRequest$MessageType": "

Tells AWS KMS whether the value of the Message parameter is a message or message digest. To indicate a message, enter RAW. To indicate a message digest, enter DIGEST.

" + } + }, "NotFoundException": { "base": "

The request was rejected because the specified entity or resource could not be found.

", "refs": { @@ -876,7 +987,7 @@ "NumberOfBytesType": { "base": null, "refs": { - "GenerateDataKeyRequest$NumberOfBytes": "

The length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

", + "GenerateDataKeyRequest$NumberOfBytes": "

Specifies the length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For 128-bit (16-byte) and 256-bit (32-byte) data keys, use the KeySpec parameter.

You must specify either the KeySpec or the NumberOfBytes parameter (but not both) in every GenerateDataKey request.

", "GenerateDataKeyWithoutPlaintextRequest$NumberOfBytes": "

The length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

", "GenerateRandomRequest$NumberOfBytes": "

The length of the byte string.

" } @@ -884,7 +995,7 @@ "OriginType": { "base": null, "refs": { - "CreateKeyRequest$Origin": "

The source of the key material for the CMK. You cannot change the origin after you create the CMK.

The default is AWS_KMS, which means AWS KMS creates the key material in its own key store.

When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS KMS custom key store and creates its key material in the associated AWS CloudHSM cluster. You must also use the CustomKeyStoreId parameter to identify the custom key store.

", + "CreateKeyRequest$Origin": "

The source of the key material for the CMK. You cannot change the origin after you create the CMK. The default is AWS_KMS, which means AWS KMS creates the key material.

When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. This value is valid only for symmetric CMKs.

When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS KMS custom key store and creates its key material in the associated AWS CloudHSM cluster. You must also use the CustomKeyStoreId parameter to identify the custom key store. This value is valid only for symmetric CMKs.

", "KeyMetadata$Origin": "

The source of the CMK's key material. When this value is AWS_KMS, AWS KMS created the key material. When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material. When this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster associated with a custom key store.

" } }, @@ -897,11 +1008,14 @@ "PlaintextType": { "base": null, "refs": { - "DecryptResponse$Plaintext": "

Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

", + "DecryptResponse$Plaintext": "

Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", "EncryptRequest$Plaintext": "

Data to be encrypted.

", - "GenerateDataKeyResponse$Plaintext": "

The plaintext data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded. Use this data key to encrypt your data outside of KMS. Then, remove it from memory as soon as possible.

", - "GenerateRandomResponse$Plaintext": "

The random byte string. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

", - "GetParametersForImportResponse$PublicKey": "

The public key to use to encrypt the key material before importing it with ImportKeyMaterial.

" + "GenerateDataKeyPairResponse$PrivateKeyPlaintext": "

The plaintext copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", + "GenerateDataKeyResponse$Plaintext": "

The plaintext data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. Use this data key to encrypt your data outside of KMS. Then, remove it from memory as soon as possible.

", + "GenerateRandomResponse$Plaintext": "

The random byte string. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

", + "GetParametersForImportResponse$PublicKey": "

The public key to use to encrypt the key material before importing it with ImportKeyMaterial.

", + "SignRequest$Message": "

Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a larger message, provide the message digest.

If you provide a message, AWS KMS generates a hash digest of the message and then signs it.

", + "VerifyRequest$Message": "

Specifies the message that was signed, or a hash digest of that message. Messages can be 0-4096 bytes. To verify a larger message, provide a hash digest of the message.

If the digest of the message specified here is different from the message digest that was signed, the SignatureValid value in the response will be False.

" } }, "PolicyNameList": { @@ -937,6 +1051,14 @@ "ListRetirableGrantsRequest$RetiringPrincipal": "

The retiring principal for which to list grants.

To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference.

" } }, + "PublicKeyType": { + "base": null, + "refs": { + "GenerateDataKeyPairResponse$PublicKey": "

The public key (in plaintext).

", + "GenerateDataKeyPairWithoutPlaintextResponse$PublicKey": "

The public key (in plaintext).

", + "GetPublicKeyResponse$PublicKey": "

The exported public key.

This value is returned as a binary Distinguished Encoding Rules (DER)-encoded object. To decode it, use an ASN.1 parsing tool, such as OpenSSL asn1parse.

" + } + }, "PutKeyPolicyRequest": { "base": null, "refs": { @@ -972,6 +1094,33 @@ "refs": { } }, + "SignRequest": { + "base": null, + "refs": { + } + }, + "SignResponse": { + "base": null, + "refs": { + } + }, + "SigningAlgorithmSpec": { + "base": null, + "refs": { + "SignRequest$SigningAlgorithm": "

Specifies the signing algorithm to use when signing the message.

Choose an algorithm that is compatible with the type and size of the specified asymmetric CMK.

", + "SignResponse$SigningAlgorithm": "

The signing algorithm that was used to sign the message.

", + "SigningAlgorithmSpecList$member": null, + "VerifyRequest$SigningAlgorithm": "

The signing algorithm that was used to sign the message. If you submit a different algorithm, the value of the SignatureValid field in the response will be False.

", + "VerifyResponse$SigningAlgorithm": "

The signing algorithm that was used to verify the signature.

" + } + }, + "SigningAlgorithmSpecList": { + "base": null, + "refs": { + "GetPublicKeyResponse$SigningAlgorithms": "

The signing algorithms that AWS KMS supports for this key.

This field appears in the response only when the KeyUsage of the public key is SIGN_VERIFY.

", + "KeyMetadata$SigningAlgorithms": "

A list of signing algorithms that the CMK supports. You cannot use the CMK with other signing algorithms within AWS KMS.

This field appears only when the KeyUsage of the CMK is SIGN_VERIFY.

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

A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

", "refs": { @@ -999,7 +1148,7 @@ "TagList": { "base": null, "refs": { - "CreateKeyRequest$Tags": "

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.

", + "CreateKeyRequest$Tags": "

One or more tags. Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string.

When you add tags to an AWS resource, AWS generates a cost allocation report with usage and costs aggregated by tags. For information about adding, changing, deleting and listing tags for CMKs, see Tagging Keys.

Use this parameter to tag the CMK when it is created. To add tags to an existing CMK, use the TagResource operation.

", "ListResourceTagsResponse$Tags": "

A list of tags. Each tag consists of a tag key and a tag value.

", "TagResourceRequest$Tags": "

One or more tags. Each tag consists of a tag key and a tag value.

" } @@ -1052,6 +1201,16 @@ "refs": { } }, + "VerifyRequest": { + "base": null, + "refs": { + } + }, + "VerifyResponse": { + "base": null, + "refs": { + } + }, "WrappingKeySpec": { "base": null, "refs": { diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index 70ab245b1c6..fed1014d779 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -159,7 +159,23 @@ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"TooManyRequestsException"}, - {"shape":"InvalidParameterValueException"} + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceConflictException"} + ] + }, + "DeleteFunctionEventInvokeConfig":{ + "name":"DeleteFunctionEventInvokeConfig", + "http":{ + "method":"DELETE", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", + "responseCode":204 + }, + "input":{"shape":"DeleteFunctionEventInvokeConfigRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} ] }, "DeleteLayerVersion":{ @@ -253,6 +269,22 @@ {"shape":"InvalidParameterValueException"} ] }, + "GetFunctionEventInvokeConfig":{ + "name":"GetFunctionEventInvokeConfig", + "http":{ + "method":"GET", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", + "responseCode":200 + }, + "input":{"shape":"GetFunctionEventInvokeConfigRequest"}, + "output":{"shape":"FunctionEventInvokeConfig"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ] + }, "GetLayerVersion":{ "name":"GetLayerVersion", "http":{ @@ -345,7 +377,9 @@ {"shape":"KMSInvalidStateException"}, {"shape":"KMSAccessDeniedException"}, {"shape":"KMSNotFoundException"}, - {"shape":"InvalidRuntimeException"} + {"shape":"InvalidRuntimeException"}, + {"shape":"ResourceConflictException"}, + {"shape":"ResourceNotReadyException"} ] }, "InvokeAsync":{ @@ -361,7 +395,8 @@ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidRequestContentException"}, - {"shape":"InvalidRuntimeException"} + {"shape":"InvalidRuntimeException"}, + {"shape":"ResourceConflictException"} ], "deprecated":true }, @@ -397,6 +432,22 @@ {"shape":"TooManyRequestsException"} ] }, + "ListFunctionEventInvokeConfigs":{ + "name":"ListFunctionEventInvokeConfigs", + "http":{ + "method":"GET", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config/list", + "responseCode":200 + }, + "input":{"shape":"ListFunctionEventInvokeConfigsRequest"}, + "output":{"shape":"ListFunctionEventInvokeConfigsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"} + ] + }, "ListFunctions":{ "name":"ListFunctions", "http":{ @@ -506,7 +557,8 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, {"shape":"CodeStorageExceededException"}, - {"shape":"PreconditionFailedException"} + {"shape":"PreconditionFailedException"}, + {"shape":"ResourceConflictException"} ] }, "PutFunctionConcurrency":{ @@ -522,6 +574,23 @@ {"shape":"ServiceException"}, {"shape":"InvalidParameterValueException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"} + ] + }, + "PutFunctionEventInvokeConfig":{ + "name":"PutFunctionEventInvokeConfig", + "http":{ + "method":"PUT", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", + "responseCode":200 + }, + "input":{"shape":"PutFunctionEventInvokeConfigRequest"}, + "output":{"shape":"FunctionEventInvokeConfig"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ] }, @@ -601,7 +670,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, - {"shape":"PreconditionFailedException"} + {"shape":"PreconditionFailedException"}, + {"shape":"ResourceConflictException"} ] }, "UpdateEventSourceMapping":{ @@ -637,7 +707,8 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, {"shape":"CodeStorageExceededException"}, - {"shape":"PreconditionFailedException"} + {"shape":"PreconditionFailedException"}, + {"shape":"ResourceConflictException"} ] }, "UpdateFunctionConfiguration":{ @@ -657,6 +728,22 @@ {"shape":"ResourceConflictException"}, {"shape":"PreconditionFailedException"} ] + }, + "UpdateFunctionEventInvokeConfig":{ + "name":"UpdateFunctionEventInvokeConfig", + "http":{ + "method":"POST", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", + "responseCode":200 + }, + "input":{"shape":"UpdateFunctionEventInvokeConfigRequest"}, + "output":{"shape":"FunctionEventInvokeConfig"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ] } }, "shapes":{ @@ -800,6 +887,7 @@ "max":10000, "min":1 }, + "BisectBatchOnFunctionError":{"type":"boolean"}, "Blob":{ "type":"blob", "sensitive":true @@ -860,8 +948,13 @@ "Enabled":{"shape":"Enabled"}, "BatchSize":{"shape":"BatchSize"}, "MaximumBatchingWindowInSeconds":{"shape":"MaximumBatchingWindowInSeconds"}, + "ParallelizationFactor":{"shape":"ParallelizationFactor"}, "StartingPosition":{"shape":"EventSourcePosition"}, - "StartingPositionTimestamp":{"shape":"Date"} + "StartingPositionTimestamp":{"shape":"Date"}, + "DestinationConfig":{"shape":"DestinationConfig"}, + "MaximumRecordAgeInSeconds":{"shape":"MaximumRecordAgeInSeconds"}, + "BisectBatchOnFunctionError":{"shape":"BisectBatchOnFunctionError"}, + "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"} } }, "CreateFunctionRequest":{ @@ -940,6 +1033,22 @@ } } }, + "DeleteFunctionEventInvokeConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "location":"querystring", + "locationName":"Qualifier" + } + } + }, "DeleteFunctionRequest":{ "type":"structure", "required":["FunctionName"], @@ -980,6 +1089,19 @@ "max":256, "min":0 }, + "DestinationArn":{ + "type":"string", + "max":350, + "min":0, + "pattern":"^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)" + }, + "DestinationConfig":{ + "type":"structure", + "members":{ + "OnSuccess":{"shape":"OnSuccess"}, + "OnFailure":{"shape":"OnFailure"} + } + }, "EC2AccessDeniedException":{ "type":"structure", "members":{ @@ -1059,12 +1181,17 @@ "UUID":{"shape":"String"}, "BatchSize":{"shape":"BatchSize"}, "MaximumBatchingWindowInSeconds":{"shape":"MaximumBatchingWindowInSeconds"}, + "ParallelizationFactor":{"shape":"ParallelizationFactor"}, "EventSourceArn":{"shape":"Arn"}, "FunctionArn":{"shape":"FunctionArn"}, "LastModified":{"shape":"Date"}, "LastProcessingResult":{"shape":"String"}, "State":{"shape":"String"}, - "StateTransitionReason":{"shape":"String"} + "StateTransitionReason":{"shape":"String"}, + "DestinationConfig":{"shape":"DestinationConfig"}, + "MaximumRecordAgeInSeconds":{"shape":"MaximumRecordAgeInSeconds"}, + "BisectBatchOnFunctionError":{"shape":"BisectBatchOnFunctionError"}, + "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"} } }, "EventSourceMappingsList":{ @@ -1127,9 +1254,29 @@ "TracingConfig":{"shape":"TracingConfigResponse"}, "MasterArn":{"shape":"FunctionArn"}, "RevisionId":{"shape":"String"}, - "Layers":{"shape":"LayersReferenceList"} + "Layers":{"shape":"LayersReferenceList"}, + "State":{"shape":"State"}, + "StateReason":{"shape":"StateReason"}, + "StateReasonCode":{"shape":"StateReasonCode"}, + "LastUpdateStatus":{"shape":"LastUpdateStatus"}, + "LastUpdateStatusReason":{"shape":"LastUpdateStatusReason"}, + "LastUpdateStatusReasonCode":{"shape":"LastUpdateStatusReasonCode"} } }, + "FunctionEventInvokeConfig":{ + "type":"structure", + "members":{ + "LastModified":{"shape":"Date"}, + "FunctionArn":{"shape":"FunctionArn"}, + "MaximumRetryAttempts":{"shape":"MaximumRetryAttempts"}, + "MaximumEventAgeInSeconds":{"shape":"MaximumEventAgeInSeconds"}, + "DestinationConfig":{"shape":"DestinationConfig"} + } + }, + "FunctionEventInvokeConfigList":{ + "type":"list", + "member":{"shape":"FunctionEventInvokeConfig"} + }, "FunctionList":{ "type":"list", "member":{"shape":"FunctionConfiguration"} @@ -1202,6 +1349,22 @@ } } }, + "GetFunctionEventInvokeConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "location":"querystring", + "locationName":"Qualifier" + } + } + }, "GetFunctionRequest":{ "type":"structure", "required":["FunctionName"], @@ -1514,6 +1677,24 @@ "error":{"httpStatusCode":502}, "exception":true }, + "LastUpdateStatus":{ + "type":"string", + "enum":[ + "Successful", + "Failed", + "InProgress" + ] + }, + "LastUpdateStatusReason":{"type":"string"}, + "LastUpdateStatusReasonCode":{ + "type":"string", + "enum":[ + "EniLimitExceeded", + "InsufficientRolePermissions", + "InvalidConfiguration", + "InternalError" + ] + }, "Layer":{ "type":"structure", "members":{ @@ -1669,6 +1850,34 @@ "EventSourceMappings":{"shape":"EventSourceMappingsList"} } }, + "ListFunctionEventInvokeConfigsRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + }, + "Marker":{ + "shape":"String", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxFunctionEventInvokeConfigListItems", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFunctionEventInvokeConfigsResponse":{ + "type":"structure", + "members":{ + "FunctionEventInvokeConfigs":{"shape":"FunctionEventInvokeConfigList"}, + "NextMarker":{"shape":"String"} + } + }, "ListFunctionsRequest":{ "type":"structure", "members":{ @@ -1818,6 +2027,11 @@ "type":"string", "pattern":"ALL|[a-z]{2}(-gov)?-[a-z]+-\\d{1}" }, + "MaxFunctionEventInvokeConfigListItems":{ + "type":"integer", + "max":50, + "min":1 + }, "MaxLayerListItems":{ "type":"integer", "max":50, @@ -1833,6 +2047,26 @@ "max":300, "min":0 }, + "MaximumEventAgeInSeconds":{ + "type":"integer", + "max":21600, + "min":60 + }, + "MaximumRecordAgeInSeconds":{ + "type":"integer", + "max":604800, + "min":60 + }, + "MaximumRetryAttempts":{ + "type":"integer", + "max":2, + "min":0 + }, + "MaximumRetryAttemptsEventSourceMapping":{ + "type":"integer", + "max":10000, + "min":0 + }, "MemorySize":{ "type":"integer", "max":3008, @@ -1854,10 +2088,27 @@ "min":1, "pattern":"([a-zA-Z0-9-_.]+)" }, + "OnFailure":{ + "type":"structure", + "members":{ + "Destination":{"shape":"DestinationArn"} + } + }, + "OnSuccess":{ + "type":"structure", + "members":{ + "Destination":{"shape":"DestinationArn"} + } + }, "OrganizationId":{ "type":"string", "pattern":"o-[a-z0-9]{10,32}" }, + "ParallelizationFactor":{ + "type":"integer", + "max":10, + "min":1 + }, "PolicyLengthExceededException":{ "type":"structure", "members":{ @@ -1940,6 +2191,25 @@ "ReservedConcurrentExecutions":{"shape":"ReservedConcurrentExecutions"} } }, + "PutFunctionEventInvokeConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "location":"querystring", + "locationName":"Qualifier" + }, + "MaximumRetryAttempts":{"shape":"MaximumRetryAttempts"}, + "MaximumEventAgeInSeconds":{"shape":"MaximumEventAgeInSeconds"}, + "DestinationConfig":{"shape":"DestinationConfig"} + } + }, "Qualifier":{ "type":"string", "max":128, @@ -2049,6 +2319,15 @@ "error":{"httpStatusCode":404}, "exception":true }, + "ResourceNotReadyException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":502}, + "exception":true + }, "RoleArn":{ "type":"string", "pattern":"arn:(aws[a-zA-Z-]*)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" @@ -2116,6 +2395,29 @@ "type":"string", "pattern":"\\d{12}" }, + "State":{ + "type":"string", + "enum":[ + "Pending", + "Active", + "Inactive", + "Failed" + ] + }, + "StateReason":{"type":"string"}, + "StateReasonCode":{ + "type":"string", + "enum":[ + "Idle", + "Creating", + "Restoring", + "EniLimitExceeded", + "InsufficientRolePermissions", + "InvalidConfiguration", + "InternalError", + "SubnetOutOfIPAddresses" + ] + }, "StatementId":{ "type":"string", "max":100, @@ -2280,7 +2582,12 @@ "FunctionName":{"shape":"FunctionName"}, "Enabled":{"shape":"Enabled"}, "BatchSize":{"shape":"BatchSize"}, - "MaximumBatchingWindowInSeconds":{"shape":"MaximumBatchingWindowInSeconds"} + "MaximumBatchingWindowInSeconds":{"shape":"MaximumBatchingWindowInSeconds"}, + "DestinationConfig":{"shape":"DestinationConfig"}, + "MaximumRecordAgeInSeconds":{"shape":"MaximumRecordAgeInSeconds"}, + "BisectBatchOnFunctionError":{"shape":"BisectBatchOnFunctionError"}, + "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"}, + "ParallelizationFactor":{"shape":"ParallelizationFactor"} } }, "UpdateFunctionCodeRequest":{ @@ -2325,6 +2632,25 @@ "Layers":{"shape":"LayerList"} } }, + "UpdateFunctionEventInvokeConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "location":"querystring", + "locationName":"Qualifier" + }, + "MaximumRetryAttempts":{"shape":"MaximumRetryAttempts"}, + "MaximumEventAgeInSeconds":{"shape":"MaximumEventAgeInSeconds"}, + "DestinationConfig":{"shape":"DestinationConfig"} + } + }, "Version":{ "type":"string", "max":1024, diff --git a/models/apis/lambda/2015-03-31/docs-2.json b/models/apis/lambda/2015-03-31/docs-2.json index 208ccc1d763..32f31fbb3ed 100644 --- a/models/apis/lambda/2015-03-31/docs-2.json +++ b/models/apis/lambda/2015-03-31/docs-2.json @@ -3,48 +3,53 @@ "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": { "AddLayerVersionPermission": "

Adds permissions to the resource-based policy of a version of an AWS Lambda layer. Use this action to grant layer usage permission to other accounts. You can grant permission to a single account, all AWS accounts, or all accounts in an organization.

To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you added it.

", - "AddPermission": "

Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.

To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN or owning account of the associated resource as the SourceArn or SourceAccount. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permission policy for the function. For more information about function policies, see Lambda Function Policies.

", + "AddPermission": "

Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.

To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN or owning account of the associated resource as the SourceArn or SourceAccount. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies.

", "CreateAlias": "

Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.

You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives.

", - "CreateEventSourceMapping": "

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

", - "CreateFunction": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

", + "CreateEventSourceMapping": "

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

", + "CreateFunction": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

", "DeleteAlias": "

Deletes a Lambda function alias.

", - "DeleteEventSourceMapping": "

Deletes an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

", + "DeleteEventSourceMapping": "

Deletes an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

When you delete an event source mapping, it enters a Deleting state and might not be completely deleted for several seconds.

", "DeleteFunction": "

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted.

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For AWS services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

", "DeleteFunctionConcurrency": "

Removes a concurrent execution limit from a function.

", + "DeleteFunctionEventInvokeConfig": "

Deletes the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "DeleteLayerVersion": "

Deletes a version of an AWS Lambda layer. Deleted versions can no longer be viewed or added to functions. To avoid breaking functions, a copy of the version remains in Lambda until no functions refer to it.

", "GetAccountSettings": "

Retrieves details about your account's limits and usage in an AWS Region.

", "GetAlias": "

Returns details about a Lambda function alias.

", "GetEventSourceMapping": "

Returns details about an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

", "GetFunction": "

Returns information about the function or function version, with a link to download the deployment package that's valid for 10 minutes. If you specify a function version, only details that are specific to that version are returned.

", "GetFunctionConfiguration": "

Returns the version-specific settings of a Lambda function or version. The output includes only options that can vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration.

To get all of a function's details, including function-level settings, use GetFunction.

", + "GetFunctionEventInvokeConfig": "

Retrieves the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "GetLayerVersion": "

Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes.

", "GetLayerVersionByArn": "

Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes.

", "GetLayerVersionPolicy": "

Returns the permission policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission.

", "GetPolicy": "

Returns the resource-based IAM policy for a function, version, or alias.

", - "Invoke": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace. To record function errors for asynchronous invocations, configure your function with a dead letter queue.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action.

", + "Invoke": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action.

", "InvokeAsync": "

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

", "ListAliases": "

Returns a list of aliases for a Lambda function.

", "ListEventSourceMappings": "

Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a single event source.

", + "ListFunctionEventInvokeConfigs": "

Retrieves a list of configurations for asynchronous invocation for a function.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "ListFunctions": "

Returns a list of Lambda functions, with the version-specific configuration of each.

Set FunctionVersion to ALL to include all published versions of each function in addition to the unpublished version. To get more information about a function or version, use GetFunction.

", "ListLayerVersions": "

Lists the versions of an AWS Lambda layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only versions that indicate that they're compatible with that runtime.

", "ListLayers": "

Lists AWS Lambda layers and shows information about the latest version of each. Specify a runtime identifier to list only layers that indicate that they're compatible with that runtime.

", "ListTags": "

Returns a function's tags. You can also view tags with GetFunction.

", "ListVersionsByFunction": "

Returns a list of versions, with the version-specific configuration of each.

", - "PublishLayerVersion": "

Creates an AWS Lambda layer from a ZIP archive. Each time you call PublishLayerVersion with the same version name, a new version is created.

Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

", + "PublishLayerVersion": "

Creates an AWS Lambda layer from a ZIP archive. Each time you call PublishLayerVersion with the same layer name, a new version is created.

Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

", "PublishVersion": "

Creates a version from the current code and configuration of a function. Use versions to create a snapshot of your function code and configuration that doesn't change.

AWS Lambda doesn't publish a version if the function's configuration and code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a version.

Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.

", "PutFunctionConcurrency": "

Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency level.

Concurrency settings apply to the function as a whole, including all published versions and the unpublished version. Reserving concurrency both ensures that your function has capacity to process the specified number of events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see the current setting for a function.

Use GetAccountSettings to see your regional concurrency limit. You can reserve concurrency for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that aren't configured with a per-function limit. For more information, see Managing Concurrency.

", + "PutFunctionEventInvokeConfig": "

Configures options for asynchronous invocation on a function, version, or alias.

By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with UpdateFunctionConfiguration.

", "RemoveLayerVersionPermission": "

Removes a statement from the permissions policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission.

", "RemovePermission": "

Revokes function-use permission from an AWS service or another account. You can get the ID of the statement from the output of GetPolicy.

", "TagResource": "

Adds tags to a function.

", "UntagResource": "

Removes tags from a function.

", "UpdateAlias": "

Updates the configuration of a Lambda function alias.

", - "UpdateEventSourceMapping": "

Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and resume later from the same location.

", + "UpdateEventSourceMapping": "

Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and resume later from the same location.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

", "UpdateFunctionCode": "

Updates a Lambda function's code.

The function's code is locked when you publish a version. You can't modify the code of a published version, only the unpublished version.

", - "UpdateFunctionConfiguration": "

Modify the version-specific settings of a Lambda function.

These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version.

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account or AWS service, use AddPermission.

" + "UpdateFunctionConfiguration": "

Modify the version-specific settings of a Lambda function.

When you update a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration indicate when the update is complete and the function is processing events with the new configuration. For more information, see Function States.

These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version.

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account or AWS service, use AddPermission.

", + "UpdateFunctionEventInvokeConfig": "

Updates the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

" }, "shapes": { "AccountLimit": { - "base": "

Limits that are related to concurrency and code storage. All file and storage sizes are in bytes.

", + "base": "

Limits that are related to concurrency and storage. All file and storage sizes are in bytes.

", "refs": { "GetAccountSettingsResponse$AccountLimit": "

Limits that are related to concurrency and code storage.

" } @@ -140,6 +145,14 @@ "UpdateEventSourceMappingRequest$BatchSize": "

The maximum number of items to retrieve in a single batch.

" } }, + "BisectBatchOnFunctionError": { + "base": null, + "refs": { + "CreateEventSourceMappingRequest$BisectBatchOnFunctionError": "

(Streams) If the function returns an error, split the batch in two and retry.

", + "EventSourceMappingConfiguration$BisectBatchOnFunctionError": "

(Streams) If the function returns an error, split the batch in two and retry.

", + "UpdateEventSourceMappingRequest$BisectBatchOnFunctionError": "

(Streams) If the function returns an error, split the batch in two and retry.

" + } + }, "Blob": { "base": null, "refs": { @@ -203,15 +216,16 @@ "base": null, "refs": { "CreateEventSourceMappingRequest$StartingPositionTimestamp": "

With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.

", - "EventSourceMappingConfiguration$LastModified": "

The date that the event source mapping was last updated.

" + "EventSourceMappingConfiguration$LastModified": "

The date that the event source mapping was last updated, or its state changed.

", + "FunctionEventInvokeConfig$LastModified": "

The date and time that the configuration was last updated.

" } }, "DeadLetterConfig": { - "base": "

The dead letter queue for failed asynchronous invocations.

", + "base": "

The dead-letter queue for failed asynchronous invocations.

", "refs": { - "CreateFunctionRequest$DeadLetterConfig": "

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

", + "CreateFunctionRequest$DeadLetterConfig": "

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

", "FunctionConfiguration$DeadLetterConfig": "

The function's dead letter queue.

", - "UpdateFunctionConfigurationRequest$DeadLetterConfig": "

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" + "UpdateFunctionConfigurationRequest$DeadLetterConfig": "

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" } }, "DeleteAliasRequest": { @@ -229,6 +243,11 @@ "refs": { } }, + "DeleteFunctionEventInvokeConfigRequest": { + "base": null, + "refs": { + } + }, "DeleteFunctionRequest": { "base": null, "refs": { @@ -255,6 +274,24 @@ "UpdateFunctionConfigurationRequest$Description": "

A description of the function.

" } }, + "DestinationArn": { + "base": null, + "refs": { + "OnFailure$Destination": "

The Amazon Resource Name (ARN) of the destination resource.

", + "OnSuccess$Destination": "

The Amazon Resource Name (ARN) of the destination resource.

" + } + }, + "DestinationConfig": { + "base": "

A configuration object that specifies the destination of an event after Lambda processes it.

", + "refs": { + "CreateEventSourceMappingRequest$DestinationConfig": "

(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

", + "EventSourceMappingConfiguration$DestinationConfig": "

(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

", + "FunctionEventInvokeConfig$DestinationConfig": "

A destination for events after they have been sent to a function for processing.

Destinations

", + "PutFunctionEventInvokeConfigRequest$DestinationConfig": "

A destination for events after they have been sent to a function for processing.

Destinations

", + "UpdateEventSourceMappingRequest$DestinationConfig": "

(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

", + "UpdateFunctionEventInvokeConfigRequest$DestinationConfig": "

A destination for events after they have been sent to a function for processing.

Destinations

" + } + }, "EC2AccessDeniedException": { "base": "

Need additional permissions to configure VPC settings.

", "refs": { @@ -271,7 +308,7 @@ } }, "ENILimitReachedException": { - "base": "

AWS Lambda was not able to create an Elastic Network Interface (ENI) in the VPC, specified as part of Lambda function configuration, because the limit for network interfaces has been reached.

", + "base": "

AWS Lambda was not able to create an elastic network interface in the VPC, specified as part of Lambda function configuration, because the limit for network interfaces has been reached.

", "refs": { } }, @@ -296,7 +333,7 @@ } }, "EnvironmentResponse": { - "base": "

The results of a configuration update that applied environment variables.

", + "base": "

The results of an operation to update or read environment variables. If the operation is successful, the response contains the environment variables. If it failed, the response contains details about the error.

", "refs": { "FunctionConfiguration$Environment": "

The function's environment variables.

" } @@ -350,6 +387,7 @@ "AliasConfiguration$AliasArn": "

The Amazon Resource Name (ARN) of the alias.

", "EventSourceMappingConfiguration$FunctionArn": "

The ARN of the Lambda function.

", "FunctionConfiguration$MasterArn": "

For Lambda@Edge functions, the ARN of the master function.

", + "FunctionEventInvokeConfig$FunctionArn": "

The Amazon Resource Name (ARN) of the function.

", "ListTagsRequest$Resource": "

The function's Amazon Resource Name (ARN).

", "TagResourceRequest$Resource": "

The function's Amazon Resource Name (ARN).

", "UntagResourceRequest$Resource": "

The function's Amazon Resource Name (ARN).

" @@ -374,6 +412,18 @@ "GetFunctionResponse$Configuration": "

The configuration of the function or version.

" } }, + "FunctionEventInvokeConfig": { + "base": null, + "refs": { + "FunctionEventInvokeConfigList$member": null + } + }, + "FunctionEventInvokeConfigList": { + "base": null, + "refs": { + "ListFunctionEventInvokeConfigsResponse$FunctionEventInvokeConfigs": "

A list of configurations.

" + } + }, "FunctionList": { "base": null, "refs": { @@ -390,17 +440,22 @@ "CreateFunctionRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteAliasRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteFunctionConcurrencyRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "DeleteFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteFunctionRequest$FunctionName": "

The name of the Lambda function or version.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetAliasRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "GetFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "ListAliasesRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "ListEventSourceMappingsRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

", + "ListFunctionEventInvokeConfigsRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "PublishVersionRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "PutFunctionConcurrencyRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "PutFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "RemovePermissionRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "UpdateAliasRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "UpdateEventSourceMappingRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

", "UpdateFunctionCodeRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", - "UpdateFunctionConfigurationRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

" + "UpdateFunctionConfigurationRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "UpdateFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

" } }, "FunctionVersion": { @@ -434,6 +489,11 @@ "refs": { } }, + "GetFunctionEventInvokeConfigRequest": { + "base": null, + "refs": { + } + }, "GetFunctionRequest": { "base": null, "refs": { @@ -501,7 +561,7 @@ } }, "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 CreateFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

", + "base": "

One of the parameters in the request is invalid.

", "refs": { } }, @@ -575,7 +635,7 @@ "base": null, "refs": { "CreateFunctionRequest$KMSKeyArn": "

The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.

", - "FunctionConfiguration$KMSKeyArn": "

The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer-managed CMK.

", + "FunctionConfiguration$KMSKeyArn": "

The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

", "UpdateFunctionConfigurationRequest$KMSKeyArn": "

The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.

" } }, @@ -584,6 +644,24 @@ "refs": { } }, + "LastUpdateStatus": { + "base": null, + "refs": { + "FunctionConfiguration$LastUpdateStatus": "

The status of the last update that was performed on the function.

" + } + }, + "LastUpdateStatusReason": { + "base": null, + "refs": { + "FunctionConfiguration$LastUpdateStatusReason": "

The reason for the last update that was performed on the function.

" + } + }, + "LastUpdateStatusReasonCode": { + "base": null, + "refs": { + "FunctionConfiguration$LastUpdateStatusReasonCode": "

The reason code for the last update that was performed on the function.

" + } + }, "Layer": { "base": "

An AWS Lambda layer.

", "refs": { @@ -727,6 +805,16 @@ "refs": { } }, + "ListFunctionEventInvokeConfigsRequest": { + "base": null, + "refs": { + } + }, + "ListFunctionEventInvokeConfigsResponse": { + "base": null, + "refs": { + } + }, "ListFunctionsRequest": { "base": null, "refs": { @@ -787,7 +875,7 @@ "base": null, "refs": { "AccountLimit$TotalCodeSize": "

The amount of storage space that you can use for all deployment packages and layer archives.

", - "AccountLimit$CodeSizeUnzipped": "

The maximum size of your function's code and layers when they're extracted.

", + "AccountLimit$CodeSizeUnzipped": "

The maximum size of a function's deployment package and layers when they're extracted.

", "AccountLimit$CodeSizeZipped": "

The maximum size of a deployment package when it's uploaded directly to AWS Lambda. Use Amazon S3 for larger files.

", "AccountUsage$TotalCodeSize": "

The amount of storage space, in bytes, that's being used by deployment packages and layer archives.

", "AccountUsage$FunctionCount": "

The number of Lambda functions.

", @@ -802,6 +890,12 @@ "ListFunctionsRequest$MasterRegion": "

For Lambda@Edge functions, the AWS Region of the master function. For example, us-east-2 or ALL. If specified, you must set FunctionVersion to ALL.

" } }, + "MaxFunctionEventInvokeConfigListItems": { + "base": null, + "refs": { + "ListFunctionEventInvokeConfigsRequest$MaxItems": "

The maximum number of configurations to return.

" + } + }, "MaxLayerListItems": { "base": null, "refs": { @@ -821,9 +915,41 @@ "MaximumBatchingWindowInSeconds": { "base": null, "refs": { - "CreateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": null, - "EventSourceMappingConfiguration$MaximumBatchingWindowInSeconds": null, - "UpdateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": null + "CreateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

The maximum amount of time to gather records before invoking the function, in seconds.

", + "EventSourceMappingConfiguration$MaximumBatchingWindowInSeconds": "

The maximum amount of time to gather records before invoking the function, in seconds.

", + "UpdateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

The maximum amount of time to gather records before invoking the function, in seconds.

" + } + }, + "MaximumEventAgeInSeconds": { + "base": null, + "refs": { + "FunctionEventInvokeConfig$MaximumEventAgeInSeconds": "

The maximum age of a request that Lambda sends to a function for processing.

", + "PutFunctionEventInvokeConfigRequest$MaximumEventAgeInSeconds": "

The maximum age of a request that Lambda sends to a function for processing.

", + "UpdateFunctionEventInvokeConfigRequest$MaximumEventAgeInSeconds": "

The maximum age of a request that Lambda sends to a function for processing.

" + } + }, + "MaximumRecordAgeInSeconds": { + "base": null, + "refs": { + "CreateEventSourceMappingRequest$MaximumRecordAgeInSeconds": "

(Streams) The maximum age of a record that Lambda sends to a function for processing.

", + "EventSourceMappingConfiguration$MaximumRecordAgeInSeconds": "

(Streams) The maximum age of a record that Lambda sends to a function for processing.

", + "UpdateEventSourceMappingRequest$MaximumRecordAgeInSeconds": "

(Streams) The maximum age of a record that Lambda sends to a function for processing.

" + } + }, + "MaximumRetryAttempts": { + "base": null, + "refs": { + "FunctionEventInvokeConfig$MaximumRetryAttempts": "

The maximum number of times to retry when the function returns an error.

", + "PutFunctionEventInvokeConfigRequest$MaximumRetryAttempts": "

The maximum number of times to retry when the function returns an error.

", + "UpdateFunctionEventInvokeConfigRequest$MaximumRetryAttempts": "

The maximum number of times to retry when the function returns an error.

" + } + }, + "MaximumRetryAttemptsEventSourceMapping": { + "base": null, + "refs": { + "CreateEventSourceMappingRequest$MaximumRetryAttempts": "

(Streams) The maximum number of times to retry when the function returns an error.

", + "EventSourceMappingConfiguration$MaximumRetryAttempts": "

(Streams) The maximum number of times to retry when the function returns an error.

", + "UpdateEventSourceMappingRequest$MaximumRetryAttempts": "

(Streams) The maximum number of times to retry when the function returns an error.

" } }, "MemorySize": { @@ -858,12 +984,32 @@ "RemovePermissionRequest$StatementId": "

Statement ID of the permission to remove.

" } }, + "OnFailure": { + "base": "

A destination for events that failed processing.

", + "refs": { + "DestinationConfig$OnFailure": "

The destination configuration for failed invocations.

" + } + }, + "OnSuccess": { + "base": "

A destination for events that were processed successfully.

", + "refs": { + "DestinationConfig$OnSuccess": "

The destination configuration for successful invocations.

" + } + }, "OrganizationId": { "base": null, "refs": { "AddLayerVersionPermissionRequest$OrganizationId": "

With the principal set to *, grant permission to all accounts in the specified organization.

" } }, + "ParallelizationFactor": { + "base": null, + "refs": { + "CreateEventSourceMappingRequest$ParallelizationFactor": "

(Streams) The number of batches to process from each shard concurrently.

", + "EventSourceMappingConfiguration$ParallelizationFactor": "

(Streams) The number of batches to process from each shard concurrently.

", + "UpdateEventSourceMappingRequest$ParallelizationFactor": "

(Streams) The number of batches to process from each shard concurrently.

" + } + }, "PolicyLengthExceededException": { "base": "

The permissions policy for the resource is too large. Learn more

", "refs": { @@ -900,16 +1046,25 @@ "refs": { } }, + "PutFunctionEventInvokeConfigRequest": { + "base": null, + "refs": { + } + }, "Qualifier": { "base": null, "refs": { "AddPermissionRequest$Qualifier": "

Specify a version or alias to add permissions to a published version of the function.

", + "DeleteFunctionEventInvokeConfigRequest$Qualifier": "

A version number or alias name.

", "DeleteFunctionRequest$Qualifier": "

Specify a version to delete. You can't delete a version that's referenced by an alias.

", "GetFunctionConfigurationRequest$Qualifier": "

Specify a version or alias to get details about a published version of the function.

", + "GetFunctionEventInvokeConfigRequest$Qualifier": "

A version number or alias name.

", "GetFunctionRequest$Qualifier": "

Specify a version or alias to get details about a published version of the function.

", "GetPolicyRequest$Qualifier": "

Specify a version or alias to get the policy for that resource.

", "InvocationRequest$Qualifier": "

Specify a version or alias to invoke a published version of the function.

", - "RemovePermissionRequest$Qualifier": "

Specify a version or alias to remove permissions from a published version of the function.

" + "PutFunctionEventInvokeConfigRequest$Qualifier": "

A version number or alias name.

", + "RemovePermissionRequest$Qualifier": "

Specify a version or alias to remove permissions from a published version of the function.

", + "UpdateFunctionEventInvokeConfigRequest$Qualifier": "

A version number or alias name.

" } }, "RemoveLayerVersionPermissionRequest": { @@ -941,7 +1096,7 @@ } }, "ResourceConflictException": { - "base": "

The resource already exists.

", + "base": "

The resource already exists, or another operation is in progress.

", "refs": { } }, @@ -951,7 +1106,12 @@ } }, "ResourceNotFoundException": { - "base": "

The resource (for example, a Lambda function or access policy statement) specified in the request does not exist.

", + "base": "

The resource specified in the request does not exist.

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

The function is inactive and its VPC connection is no longer available. Wait for the VPC connection to reestablish and try again.

", "refs": { } }, @@ -1028,6 +1188,24 @@ "AddPermissionRequest$SourceAccount": "

For AWS services, the ID of the account that owns the resource. Use this instead of SourceArn to grant permission to resources that are owned by another account (for example, all of an account's Amazon S3 buckets). Or use it together with SourceArn to ensure that the resource is owned by the specified account. For example, an Amazon S3 bucket could be deleted by its owner and recreated by another account.

" } }, + "State": { + "base": null, + "refs": { + "FunctionConfiguration$State": "

The current state of the function. When the state is Inactive, you can reactivate the function by invoking it.

" + } + }, + "StateReason": { + "base": null, + "refs": { + "FunctionConfiguration$StateReason": "

The reason for the function's current state.

" + } + }, + "StateReasonCode": { + "base": null, + "refs": { + "FunctionConfiguration$StateReasonCode": "

The reason code for the function's current state. When the code is Creating, you can't invoke or modify the function.

" + } + }, "StatementId": { "base": null, "refs": { @@ -1061,7 +1239,7 @@ "EventSourceMappingConfiguration$UUID": "

The identifier of the event source mapping.

", "EventSourceMappingConfiguration$LastProcessingResult": "

The result of the last AWS Lambda invocation of your Lambda function.

", "EventSourceMappingConfiguration$State": "

The state of the event source mapping. It can be one of the following: Creating, Enabling, Enabled, Disabling, Disabled, Updating, or Deleting.

", - "EventSourceMappingConfiguration$StateTransitionReason": "

The cause of the last state change, either User initiated or Lambda initiated.

", + "EventSourceMappingConfiguration$StateTransitionReason": "

Indicates whether the last change to the event source mapping was made by a user, or by the Lambda service.

", "FunctionCodeLocation$RepositoryType": "

The service that's hosting the file.

", "FunctionCodeLocation$Location": "

A presigned URL that you can use to download the deployment package.

", "FunctionConfiguration$CodeSha256": "

The SHA256 hash of the function's deployment package.

", @@ -1100,6 +1278,8 @@ "ListAliasesResponse$NextMarker": "

The pagination token that's included if more results are available.

", "ListEventSourceMappingsRequest$Marker": "

A pagination token returned by a previous call.

", "ListEventSourceMappingsResponse$NextMarker": "

A pagination token that's returned when the response doesn't contain all event source mappings.

", + "ListFunctionEventInvokeConfigsRequest$Marker": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", + "ListFunctionEventInvokeConfigsResponse$NextMarker": "

The pagination token that's included if more results are available.

", "ListFunctionsRequest$Marker": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "ListFunctionsResponse$NextMarker": "

The pagination token that's included if more results are available.

", "ListLayerVersionsRequest$Marker": "

A pagination token returned by a previous call.

", @@ -1124,6 +1304,8 @@ "ResourceInUseException$Message": null, "ResourceNotFoundException$Type": null, "ResourceNotFoundException$Message": null, + "ResourceNotReadyException$Type": "

The exception type.

", + "ResourceNotReadyException$message": "

The exception message.

", "ServiceException$Type": null, "ServiceException$Message": null, "SubnetIPAddressLimitReachedException$Type": null, @@ -1214,7 +1396,7 @@ } }, "TooManyRequestsException": { - "base": "

Request throughput limit exceeded.

", + "base": "

The request throughput limit was exceeded.

", "refs": { } }, @@ -1274,6 +1456,11 @@ "refs": { } }, + "UpdateFunctionEventInvokeConfigRequest": { + "base": null, + "refs": { + } + }, "Version": { "base": null, "refs": { @@ -1286,10 +1473,10 @@ } }, "VpcConfig": { - "base": "

The VPC security groups and subnets that are attached to a Lambda function.

", + "base": "

The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

", "refs": { - "CreateFunctionRequest$VpcConfig": "

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

", - "UpdateFunctionConfigurationRequest$VpcConfig": "

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

" + "CreateFunctionRequest$VpcConfig": "

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

", + "UpdateFunctionConfigurationRequest$VpcConfig": "

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

" } }, "VpcConfigResponse": { diff --git a/models/apis/lambda/2015-03-31/paginators-1.json b/models/apis/lambda/2015-03-31/paginators-1.json index 70e843994f4..927107530ce 100644 --- a/models/apis/lambda/2015-03-31/paginators-1.json +++ b/models/apis/lambda/2015-03-31/paginators-1.json @@ -12,6 +12,12 @@ "output_token": "NextMarker", "result_key": "EventSourceMappings" }, + "ListFunctionEventInvokeConfigs": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "FunctionEventInvokeConfigs" + }, "ListFunctions": { "input_token": "Marker", "limit_key": "MaxItems", diff --git a/models/apis/lambda/2015-03-31/waiters-2.json b/models/apis/lambda/2015-03-31/waiters-2.json index 07d1ab253a5..af39bfc169c 100644 --- a/models/apis/lambda/2015-03-31/waiters-2.json +++ b/models/apis/lambda/2015-03-31/waiters-2.json @@ -17,6 +17,58 @@ "expected": "ResourceNotFoundException" } ] + }, + "FunctionActive": { + "delay": 5, + "maxAttempts": 60, + "operation": "GetFunctionConfiguration", + "description": "Waits for the function's State to be Active.", + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "Active" + }, + { + "state": "failure", + "matcher": "path", + "argument": "State", + "expected": "Failed" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "Pending" + } + ] + }, + "FunctionUpdated": { + "delay": 5, + "maxAttempts": 60, + "operation": "GetFunctionConfiguration", + "description": "Waits for the function's LastUpdateStatus to be Successful.", + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "LastUpdateStatus", + "expected": "Successful" + }, + { + "state": "failure", + "matcher": "path", + "argument": "LastUpdateStatus", + "expected": "Failed" + }, + { + "state": "retry", + "matcher": "path", + "argument": "LastUpdateStatus", + "expected": "InProgress" + } + ] } } } diff --git a/models/apis/mediaconvert/2017-08-29/api-2.json b/models/apis/mediaconvert/2017-08-29/api-2.json index 660be2dddcb..2f6cc6613d3 100644 --- a/models/apis/mediaconvert/2017-08-29/api-2.json +++ b/models/apis/mediaconvert/2017-08-29/api-2.json @@ -1094,6 +1094,13 @@ } } }, + "AlphaBehavior": { + "type": "string", + "enum": [ + "DISCARD", + "REMAP_TO_LUMA" + ] + }, "AncillaryConvert608To708": { "type": "string", "enum": [ @@ -2698,6 +2705,10 @@ "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "shadowYOffset" }, + "SubtitlingType": { + "shape": "DvbSubtitlingType", + "locationName": "subtitlingType" + }, "TeletextSpacing": { "shape": "DvbSubtitleTeletextSpacing", "locationName": "teletextSpacing" @@ -2773,6 +2784,13 @@ "PROPORTIONAL" ] }, + "DvbSubtitlingType": { + "type": "string", + "enum": [ + "HEARING_IMPAIRED", + "STANDARD" + ] + }, "DvbTdtSettings": { "type": "structure", "members": { @@ -7623,7 +7641,7 @@ "locationName": "fixedAfd" }, "Height": { - "shape": "__integerMin32Max4096", + "shape": "__integerMin32Max8192", "locationName": "height" }, "Position": { @@ -7651,7 +7669,7 @@ "locationName": "videoPreprocessors" }, "Width": { - "shape": "__integerMin32Max4096", + "shape": "__integerMin32Max8192", "locationName": "width" } } @@ -7701,6 +7719,10 @@ "VideoSelector": { "type": "structure", "members": { + "AlphaBehavior": { + "shape": "AlphaBehavior", + "locationName": "alphaBehavior" + }, "ColorSpace": { "shape": "ColorSpace", "locationName": "colorSpace" @@ -8054,15 +8076,15 @@ "min": 32000, "max": 48000 }, - "__integerMin32Max4096": { + "__integerMin32Max8182": { "type": "integer", "min": 32, - "max": 4096 + "max": 8182 }, - "__integerMin32Max8182": { + "__integerMin32Max8192": { "type": "integer", "min": 32, - "max": 8182 + "max": 8192 }, "__integerMin384000Max768000": { "type": "integer", diff --git a/models/apis/mediaconvert/2017-08-29/docs-2.json b/models/apis/mediaconvert/2017-08-29/docs-2.json index 46b86087f71..3e1c49bff1b 100644 --- a/models/apis/mediaconvert/2017-08-29/docs-2.json +++ b/models/apis/mediaconvert/2017-08-29/docs-2.json @@ -147,6 +147,12 @@ "AudioCodecSettings$AiffSettings": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AIFF." } }, + "AlphaBehavior": { + "base": "Ignore this setting unless this input is a QuickTime animation. Specify which part of this input MediaConvert uses for your outputs. Leave this setting set to DISCARD in order to delete the alpha channel and preserve the video. Use REMAP_TO_LUMA for this setting to delete the video and map the alpha channel to the luma channel of your outputs.", + "refs": { + "VideoSelector$AlphaBehavior": "Ignore this setting unless this input is a QuickTime animation. Specify which part of this input MediaConvert uses for your outputs. Leave this setting set to DISCARD in order to delete the alpha channel and preserve the video. Use REMAP_TO_LUMA for this setting to delete the video and map the alpha channel to the luma channel of your outputs." + } + }, "AncillaryConvert608To708": { "base": "Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708.", "refs": { @@ -804,6 +810,12 @@ "DvbSubDestinationSettings$TeletextSpacing": "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." } }, + "DvbSubtitlingType": { + "base": "Specify whether your DVB subtitles are standard or for hearing impaired. Choose hearing impaired if your subtitles include audio descriptions and dialogue. Choose standard if your subtitles include only dialogue.", + "refs": { + "DvbSubDestinationSettings$SubtitlingType": "Specify whether your DVB subtitles are standard or for hearing impaired. Choose hearing impaired if your subtitles include audio descriptions and dialogue. Choose standard if your subtitles include only dialogue." + } + }, "DvbTdtSettings": { "base": "Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.", "refs": { @@ -3187,13 +3199,6 @@ "Mp2Settings$SampleRate": "Sample rate in hz." } }, - "__integerMin32Max4096": { - "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.", - "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": { @@ -3214,6 +3219,13 @@ "__listOf__integerMin32Max8182$member": null } }, + "__integerMin32Max8192": { + "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.", + "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." + } + }, "__integerMin384000Max768000": { "base": null, "refs": { @@ -3822,8 +3834,8 @@ "base": null, "refs": { "AudioDescription$CustomLanguageCode": "Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control (AudioLanguageCodeControl) to Use configured (USE_CONFIGURED). The service also uses your specified custom language code when you set Language code control (AudioLanguageCodeControl) to Follow input (FOLLOW_INPUT), but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.", - "CaptionDescription$CustomLanguageCode": "Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.", - "CaptionDescriptionPreset$CustomLanguageCode": "Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming." + "CaptionDescription$CustomLanguageCode": "Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.", + "CaptionDescriptionPreset$CustomLanguageCode": "Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming." } }, "__stringPatternArnAwsUsGovAcm": { diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index f0e4741acec..0fb0afe4407 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -6,10 +6,10 @@ "serviceFullName": "AWS Elemental MediaLive", "serviceId": "MediaLive", "protocol": "rest-json", - "jsonVersion": "1.1", "uid": "medialive-2017-10-14", "signatureVersion": "v4", - "serviceAbbreviation": "MediaLive" + "serviceAbbreviation": "MediaLive", + "jsonVersion": "1.1" }, "operations": { "BatchUpdateSchedule": { @@ -160,6 +160,86 @@ } ] }, + "CreateMultiplex": { + "name": "CreateMultiplex", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes", + "responseCode": 201 + }, + "input": { + "shape": "CreateMultiplexRequest" + }, + "output": { + "shape": "CreateMultiplexResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateMultiplexProgram": { + "name": "CreateMultiplexProgram", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes/{multiplexId}/programs", + "responseCode": 201 + }, + "input": { + "shape": "CreateMultiplexProgramRequest" + }, + "output": { + "shape": "CreateMultiplexProgramResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "CreateTags": { "name": "CreateTags", "http": { @@ -302,6 +382,86 @@ } ] }, + "DeleteMultiplex": { + "name": "DeleteMultiplex", + "http": { + "method": "DELETE", + "requestUri": "/prod/multiplexes/{multiplexId}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteMultiplexRequest" + }, + "output": { + "shape": "DeleteMultiplexResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteMultiplexProgram": { + "name": "DeleteMultiplexProgram", + "http": { + "method": "DELETE", + "requestUri": "/prod/multiplexes/{multiplexId}/programs/{programName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteMultiplexProgramRequest" + }, + "output": { + "shape": "DeleteMultiplexProgramResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "DeleteReservation": { "name": "DeleteReservation", "http": { @@ -515,6 +675,80 @@ } ] }, + "DescribeMultiplex": { + "name": "DescribeMultiplex", + "http": { + "method": "GET", + "requestUri": "/prod/multiplexes/{multiplexId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeMultiplexRequest" + }, + "output": { + "shape": "DescribeMultiplexResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "DescribeMultiplexProgram": { + "name": "DescribeMultiplexProgram", + "http": { + "method": "GET", + "requestUri": "/prod/multiplexes/{multiplexId}/programs/{programName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeMultiplexProgramRequest" + }, + "output": { + "shape": "DescribeMultiplexProgramResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "DescribeOffering": { "name": "DescribeOffering", "http": { @@ -728,18 +962,18 @@ } ] }, - "ListOfferings": { - "name": "ListOfferings", + "ListMultiplexPrograms": { + "name": "ListMultiplexPrograms", "http": { "method": "GET", - "requestUri": "/prod/offerings", + "requestUri": "/prod/multiplexes/{multiplexId}/programs", "responseCode": 200 }, "input": { - "shape": "ListOfferingsRequest" + "shape": "ListMultiplexProgramsRequest" }, "output": { - "shape": "ListOfferingsResponse" + "shape": "ListMultiplexProgramsResponse" }, "errors": [ { @@ -754,6 +988,9 @@ { "shape": "BadGatewayException" }, + { + "shape": "NotFoundException" + }, { "shape": "GatewayTimeoutException" }, @@ -762,18 +999,18 @@ } ] }, - "ListReservations": { - "name": "ListReservations", + "ListMultiplexes": { + "name": "ListMultiplexes", "http": { "method": "GET", - "requestUri": "/prod/reservations", + "requestUri": "/prod/multiplexes", "responseCode": 200 }, "input": { - "shape": "ListReservationsRequest" + "shape": "ListMultiplexesRequest" }, "output": { - "shape": "ListReservationsResponse" + "shape": "ListMultiplexesResponse" }, "errors": [ { @@ -796,23 +1033,20 @@ } ] }, - "ListTagsForResource": { - "name": "ListTagsForResource", + "ListOfferings": { + "name": "ListOfferings", "http": { "method": "GET", - "requestUri": "/prod/tags/{resource-arn}", + "requestUri": "/prod/offerings", "responseCode": 200 }, "input": { - "shape": "ListTagsForResourceRequest" + "shape": "ListOfferingsRequest" }, "output": { - "shape": "ListTagsForResourceResponse" + "shape": "ListOfferingsResponse" }, "errors": [ - { - "shape": "NotFoundException" - }, { "shape": "BadRequestException" }, @@ -821,21 +1055,30 @@ }, { "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" } ] }, - "PurchaseOffering": { - "name": "PurchaseOffering", + "ListReservations": { + "name": "ListReservations", "http": { - "method": "POST", - "requestUri": "/prod/offerings/{offeringId}/purchase", - "responseCode": 201 + "method": "GET", + "requestUri": "/prod/reservations", + "responseCode": 200 }, "input": { - "shape": "PurchaseOfferingRequest" + "shape": "ListReservationsRequest" }, "output": { - "shape": "PurchaseOfferingResponse" + "shape": "ListReservationsResponse" }, "errors": [ { @@ -850,15 +1093,77 @@ { "shape": "BadGatewayException" }, - { - "shape": "NotFoundException" - }, { "shape": "GatewayTimeoutException" }, { "shape": "TooManyRequestsException" - }, + } + ] + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/prod/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "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" } @@ -904,6 +1209,46 @@ } ] }, + "StartMultiplex": { + "name": "StartMultiplex", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes/{multiplexId}/start", + "responseCode": 202 + }, + "input": { + "shape": "StartMultiplexRequest" + }, + "output": { + "shape": "StartMultiplexResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "StopChannel": { "name": "StopChannel", "http": { @@ -944,6 +1289,46 @@ } ] }, + "StopMultiplex": { + "name": "StopMultiplex", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes/{multiplexId}/stop", + "responseCode": 202 + }, + "input": { + "shape": "StopMultiplexRequest" + }, + "output": { + "shape": "StopMultiplexResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "UpdateChannel": { "name": "UpdateChannel", "http": { @@ -1098,6 +1483,86 @@ } ] }, + "UpdateMultiplex": { + "name": "UpdateMultiplex", + "http": { + "method": "PUT", + "requestUri": "/prod/multiplexes/{multiplexId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMultiplexRequest" + }, + "output": { + "shape": "UpdateMultiplexResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UpdateMultiplexProgram": { + "name": "UpdateMultiplexProgram", + "http": { + "method": "PUT", + "requestUri": "/prod/multiplexes/{multiplexId}/programs/{programName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMultiplexProgramRequest" + }, + "output": { + "shape": "UpdateMultiplexProgramResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "ConflictException" + } + ] + }, "UpdateReservation": { "name": "UpdateReservation", "http": { @@ -2552,13 +3017,25 @@ } } }, - "CreateTagsRequest": { + "CreateMultiplex": { "type": "structure", "members": { - "ResourceArn": { + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { "shape": "__string", - "location": "uri", - "locationName": "resource-arn" + "locationName": "name" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true }, "Tags": { "shape": "Tags", @@ -2566,52 +3043,192 @@ } }, "required": [ - "ResourceArn" + "RequestId", + "MultiplexSettings", + "AvailabilityZones", + "Name" ] }, - "DeleteChannelRequest": { + "CreateMultiplexProgram": { "type": "structure", "members": { - "ChannelId": { + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings" + }, + "ProgramName": { "shape": "__string", - "location": "uri", - "locationName": "channelId" + "locationName": "programName" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true } }, "required": [ - "ChannelId" + "RequestId", + "MultiplexProgramSettings", + "ProgramName" ] }, - "DeleteChannelResponse": { + "CreateMultiplexProgramRequest": { "type": "structure", "members": { - "Arn": { + "MultiplexId": { "shape": "__string", - "locationName": "arn" - }, - "ChannelClass": { - "shape": "ChannelClass", - "locationName": "channelClass" - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations" - }, - "EgressEndpoints": { - "shape": "__listOfChannelEgressEndpoint", - "locationName": "egressEndpoints" + "location": "uri", + "locationName": "multiplexId" }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings" }, - "Id": { + "ProgramName": { "shape": "__string", - "locationName": "id" - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments" + "locationName": "programName" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true + } + }, + "required": [ + "MultiplexId", + "RequestId", + "MultiplexProgramSettings", + "ProgramName" + ] + }, + "CreateMultiplexProgramResponse": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram" + } + } + }, + "CreateMultiplexProgramResultModel": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram" + } + } + }, + "CreateMultiplexRequest": { + "type": "structure", + "members": { + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "RequestId", + "MultiplexSettings", + "AvailabilityZones", + "Name" + ] + }, + "CreateMultiplexResponse": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex" + } + } + }, + "CreateMultiplexResultModel": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex" + } + } + }, + "CreateTagsRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "ResourceArn" + ] + }, + "DeleteChannelRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId" + } + }, + "required": [ + "ChannelId" + ] + }, + "DeleteChannelResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass" + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations" + }, + "EgressEndpoints": { + "shape": "__listOfChannelEgressEndpoint", + "locationName": "egressEndpoints" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "Id": { + "shape": "__string", + "locationName": "id" + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments" }, "InputSpecification": { "shape": "InputSpecification", @@ -2683,6 +3300,104 @@ "members": { } }, + "DeleteMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + }, + "ProgramName": { + "shape": "__string", + "location": "uri", + "locationName": "programName" + } + }, + "required": [ + "MultiplexId", + "ProgramName" + ] + }, + "DeleteMultiplexProgramResponse": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId" + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings" + }, + "PacketIdentifiersMap": { + "shape": "MultiplexProgramPacketIdentifiersMap", + "locationName": "packetIdentifiersMap" + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName" + } + } + }, + "DeleteMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "DeleteMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations" + }, + "Id": { + "shape": "__string", + "locationName": "id" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount" + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount" + }, + "State": { + "shape": "MultiplexState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, "DeleteReservationRequest": { "type": "structure", "members": { @@ -3004,6 +3719,104 @@ } } }, + "DescribeMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + }, + "ProgramName": { + "shape": "__string", + "location": "uri", + "locationName": "programName" + } + }, + "required": [ + "MultiplexId", + "ProgramName" + ] + }, + "DescribeMultiplexProgramResponse": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId" + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings" + }, + "PacketIdentifiersMap": { + "shape": "MultiplexProgramPacketIdentifiersMap", + "locationName": "packetIdentifiersMap" + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName" + } + } + }, + "DescribeMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "DescribeMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations" + }, + "Id": { + "shape": "__string", + "locationName": "id" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount" + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount" + }, + "State": { + "shape": "MultiplexState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, "DescribeOfferingRequest": { "type": "structure", "members": { @@ -3663,6 +4476,10 @@ "shape": "GlobalConfiguration", "locationName": "globalConfiguration" }, + "NielsenConfiguration": { + "shape": "NielsenConfiguration", + "locationName": "nielsenConfiguration" + }, "OutputGroups": { "shape": "__listOfOutputGroup", "locationName": "outputGroups" @@ -3797,7 +4614,7 @@ "type": "structure", "members": { "CaptureInterval": { - "shape": "__integerMin1Max3600", + "shape": "__integerMin1Max3600000", "locationName": "captureInterval" } }, @@ -4084,7 +4901,7 @@ "locationName": "gopNumBFrames" }, "GopSize": { - "shape": "__doubleMin1", + "shape": "__double", "locationName": "gopSize" }, "GopSizeUnits": { @@ -4306,6 +5123,7 @@ "type": "string", "enum": [ "CBR", + "MULTIPLEX", "QVBR" ] }, @@ -4374,7 +5192,7 @@ "locationName": "gopClosedCadence" }, "GopSize": { - "shape": "__doubleMin1", + "shape": "__double", "locationName": "gopSize" }, "GopSizeUnits": { @@ -5689,7 +6507,97 @@ } } }, - "ListOfferingsRequest": { + "ListMultiplexProgramsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + }, + "required": [ + "MultiplexId" + ] + }, + "ListMultiplexProgramsResponse": { + "type": "structure", + "members": { + "MultiplexPrograms": { + "shape": "__listOfMultiplexProgramSummary", + "locationName": "multiplexPrograms" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListMultiplexProgramsResultModel": { + "type": "structure", + "members": { + "MultiplexPrograms": { + "shape": "__listOfMultiplexProgramSummary", + "locationName": "multiplexPrograms" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListMultiplexesRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + } + }, + "ListMultiplexesResponse": { + "type": "structure", + "members": { + "Multiplexes": { + "shape": "__listOfMultiplexSummary", + "locationName": "multiplexes" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListMultiplexesResultModel": { + "type": "structure", + "members": { + "Multiplexes": { + "shape": "__listOfMultiplexSummary", + "locationName": "multiplexes" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListOfferingsRequest": { "type": "structure", "members": { "ChannelClass": { @@ -5707,6 +6615,11 @@ "location": "querystring", "locationName": "codec" }, + "Duration": { + "shape": "__string", + "location": "querystring", + "locationName": "duration" + }, "MaxResults": { "shape": "MaxResults", "location": "querystring", @@ -5972,6 +6885,13 @@ "PASSTHROUGH" ] }, + "M2tsNielsenId3Behavior": { + "type": "string", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, "M2tsPcrControl": { "type": "string", "enum": [ @@ -6122,6 +7042,10 @@ "shape": "__string", "locationName": "klvDataPids" }, + "NielsenId3Behavior": { + "shape": "M2tsNielsenId3Behavior", + "locationName": "nielsenId3Behavior" + }, "NullPacketBitrate": { "shape": "__doubleMin0", "locationName": "nullPacketBitrate" @@ -6207,6 +7131,13 @@ "PASSTHROUGH" ] }, + "M3u8NielsenId3Behavior": { + "type": "string", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, "M3u8PcrControl": { "type": "string", "enum": [ @@ -6236,6 +7167,10 @@ "shape": "__string", "locationName": "ecmPid" }, + "NielsenId3Behavior": { + "shape": "M3u8NielsenId3Behavior", + "locationName": "nielsenId3Behavior" + }, "PatInterval": { "shape": "__integerMin0Max1000", "locationName": "patInterval" @@ -6437,40 +7372,402 @@ "shape": "SmoothGroupSparseTrackType", "locationName": "sparseTrackType" }, - "StreamManifestBehavior": { - "shape": "SmoothGroupStreamManifestBehavior", - "locationName": "streamManifestBehavior" + "StreamManifestBehavior": { + "shape": "SmoothGroupStreamManifestBehavior", + "locationName": "streamManifestBehavior" + }, + "TimestampOffset": { + "shape": "__string", + "locationName": "timestampOffset" + }, + "TimestampOffsetMode": { + "shape": "SmoothGroupTimestampOffsetMode", + "locationName": "timestampOffsetMode" + } + }, + "required": [ + "Destination" + ] + }, + "MsSmoothH265PackagingType": { + "type": "string", + "enum": [ + "HEV1", + "HVC1" + ] + }, + "MsSmoothOutputSettings": { + "type": "structure", + "members": { + "H265PackagingType": { + "shape": "MsSmoothH265PackagingType", + "locationName": "h265PackagingType" + }, + "NameModifier": { + "shape": "__string", + "locationName": "nameModifier" + } + } + }, + "Multiplex": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations" + }, + "Id": { + "shape": "__string", + "locationName": "id" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount" + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount" + }, + "State": { + "shape": "MultiplexState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "MultiplexConfigurationValidationError": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + }, + "ValidationErrors": { + "shape": "__listOfMultiplexValidationError", + "locationName": "validationErrors" + } + } + }, + "MultiplexGroupSettings": { + "type": "structure", + "members": { + } + }, + "MultiplexMediaConnectOutputDestinationSettings": { + "type": "structure", + "members": { + "EntitlementArn": { + "shape": "__stringMin1", + "locationName": "entitlementArn" + } + } + }, + "MultiplexOutputDestination": { + "type": "structure", + "members": { + "MediaConnectSettings": { + "shape": "MultiplexMediaConnectOutputDestinationSettings", + "locationName": "mediaConnectSettings" + } + } + }, + "MultiplexOutputSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination" + } + }, + "required": [ + "Destination" + ] + }, + "MultiplexProgram": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId" + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings" + }, + "PacketIdentifiersMap": { + "shape": "MultiplexProgramPacketIdentifiersMap", + "locationName": "packetIdentifiersMap" + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName" + } + } + }, + "MultiplexProgramChannelDestinationSettings": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__stringMin1", + "locationName": "multiplexId" + }, + "ProgramName": { + "shape": "__stringMin1", + "locationName": "programName" + } + } + }, + "MultiplexProgramPacketIdentifiersMap": { + "type": "structure", + "members": { + "AudioPids": { + "shape": "__listOf__integer", + "locationName": "audioPids" + }, + "DvbSubPids": { + "shape": "__listOf__integer", + "locationName": "dvbSubPids" + }, + "DvbTeletextPid": { + "shape": "__integer", + "locationName": "dvbTeletextPid" + }, + "EtvPlatformPid": { + "shape": "__integer", + "locationName": "etvPlatformPid" + }, + "EtvSignalPid": { + "shape": "__integer", + "locationName": "etvSignalPid" + }, + "KlvDataPids": { + "shape": "__listOf__integer", + "locationName": "klvDataPids" + }, + "PcrPid": { + "shape": "__integer", + "locationName": "pcrPid" + }, + "PmtPid": { + "shape": "__integer", + "locationName": "pmtPid" + }, + "PrivateMetadataPid": { + "shape": "__integer", + "locationName": "privateMetadataPid" + }, + "Scte27Pids": { + "shape": "__listOf__integer", + "locationName": "scte27Pids" + }, + "Scte35Pid": { + "shape": "__integer", + "locationName": "scte35Pid" + }, + "TimedMetadataPid": { + "shape": "__integer", + "locationName": "timedMetadataPid" + }, + "VideoPid": { + "shape": "__integer", + "locationName": "videoPid" + } + } + }, + "MultiplexProgramServiceDescriptor": { + "type": "structure", + "members": { + "ProviderName": { + "shape": "__stringMax256", + "locationName": "providerName" + }, + "ServiceName": { + "shape": "__stringMax256", + "locationName": "serviceName" + } + }, + "required": [ + "ProviderName", + "ServiceName" + ] + }, + "MultiplexProgramSettings": { + "type": "structure", + "members": { + "ProgramNumber": { + "shape": "__integerMin0Max65535", + "locationName": "programNumber" + }, + "ServiceDescriptor": { + "shape": "MultiplexProgramServiceDescriptor", + "locationName": "serviceDescriptor" + }, + "VideoSettings": { + "shape": "MultiplexVideoSettings", + "locationName": "videoSettings" + } + }, + "required": [ + "ProgramNumber" + ] + }, + "MultiplexProgramSummary": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId" + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName" + } + } + }, + "MultiplexSettings": { + "type": "structure", + "members": { + "MaximumVideoBufferDelayMilliseconds": { + "shape": "__integerMin1000Max3000", + "locationName": "maximumVideoBufferDelayMilliseconds" + }, + "TransportStreamBitrate": { + "shape": "__integerMin1000000Max100000000", + "locationName": "transportStreamBitrate" + }, + "TransportStreamId": { + "shape": "__integerMin0Max65535", + "locationName": "transportStreamId" + }, + "TransportStreamReservedBitrate": { + "shape": "__integerMin0Max100000000", + "locationName": "transportStreamReservedBitrate" + } + }, + "required": [ + "TransportStreamBitrate", + "TransportStreamId" + ] + }, + "MultiplexSettingsSummary": { + "type": "structure", + "members": { + "TransportStreamBitrate": { + "shape": "__integerMin1000000Max100000000", + "locationName": "transportStreamBitrate" + } + } + }, + "MultiplexState": { + "type": "string", + "enum": [ + "CREATING", + "CREATE_FAILED", + "IDLE", + "STARTING", + "RUNNING", + "RECOVERING", + "STOPPING", + "DELETING", + "DELETED" + ] + }, + "MultiplexStatmuxVideoSettings": { + "type": "structure", + "members": { + "MaximumBitrate": { + "shape": "__integerMin100000Max100000000", + "locationName": "maximumBitrate" + }, + "MinimumBitrate": { + "shape": "__integerMin100000Max100000000", + "locationName": "minimumBitrate" + } + } + }, + "MultiplexSummary": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "Id": { + "shape": "__string", + "locationName": "id" + }, + "MultiplexSettings": { + "shape": "MultiplexSettingsSummary", + "locationName": "multiplexSettings" }, - "TimestampOffset": { + "Name": { "shape": "__string", - "locationName": "timestampOffset" + "locationName": "name" }, - "TimestampOffsetMode": { - "shape": "SmoothGroupTimestampOffsetMode", - "locationName": "timestampOffsetMode" + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount" + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount" + }, + "State": { + "shape": "MultiplexState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" } - }, - "required": [ - "Destination" - ] - }, - "MsSmoothH265PackagingType": { - "type": "string", - "enum": [ - "HEV1", - "HVC1" - ] + } }, - "MsSmoothOutputSettings": { + "MultiplexValidationError": { "type": "structure", "members": { - "H265PackagingType": { - "shape": "MsSmoothH265PackagingType", - "locationName": "h265PackagingType" + "ElementPath": { + "shape": "__string", + "locationName": "elementPath" }, - "NameModifier": { + "ErrorMessage": { "shape": "__string", - "locationName": "nameModifier" + "locationName": "errorMessage" + } + } + }, + "MultiplexVideoSettings": { + "type": "structure", + "members": { + "ConstantBitrate": { + "shape": "__integerMin100000Max100000000", + "locationName": "constantBitrate" + }, + "StatmuxSettings": { + "shape": "MultiplexStatmuxVideoSettings", + "locationName": "statmuxSettings" } } }, @@ -6494,6 +7791,26 @@ } } }, + "NielsenConfiguration": { + "type": "structure", + "members": { + "DistributorId": { + "shape": "__string", + "locationName": "distributorId" + }, + "NielsenPcmToId3Tagging": { + "shape": "NielsenPcmToId3TaggingState", + "locationName": "nielsenPcmToId3Tagging" + } + } + }, + "NielsenPcmToId3TaggingState": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, "NotFoundException": { "type": "structure", "members": { @@ -6607,6 +7924,10 @@ "shape": "__listOfMediaPackageOutputDestinationSettings", "locationName": "mediaPackageSettings" }, + "MultiplexSettings": { + "shape": "MultiplexProgramChannelDestinationSettings", + "locationName": "multiplexSettings" + }, "Settings": { "shape": "__listOfOutputDestinationSettings", "locationName": "settings" @@ -6678,6 +7999,10 @@ "shape": "MsSmoothGroupSettings", "locationName": "msSmoothGroupSettings" }, + "MultiplexGroupSettings": { + "shape": "MultiplexGroupSettings", + "locationName": "multiplexGroupSettings" + }, "RtmpGroupSettings": { "shape": "RtmpGroupSettings", "locationName": "rtmpGroupSettings" @@ -6720,6 +8045,10 @@ "shape": "MsSmoothOutputSettings", "locationName": "msSmoothOutputSettings" }, + "MultiplexOutputSettings": { + "shape": "MultiplexOutputSettings", + "locationName": "multiplexOutputSettings" + }, "RtmpOutputSettings": { "shape": "RtmpOutputSettings", "locationName": "rtmpOutputSettings" @@ -6998,6 +8327,7 @@ "enum": [ "SD", "HD", + "FHD", "UHD" ] }, @@ -7043,6 +8373,7 @@ "enum": [ "INPUT", "OUTPUT", + "MULTIPLEX", "CHANNEL" ] }, @@ -7703,6 +9034,64 @@ } } }, + "StartMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "StartMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations" + }, + "Id": { + "shape": "__string", + "locationName": "id" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount" + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount" + }, + "State": { + "shape": "MultiplexState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, "StartTimecode": { "type": "structure", "members": { @@ -7867,6 +9256,64 @@ } } }, + "StopMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "StopMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones" + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations" + }, + "Id": { + "shape": "__string", + "locationName": "id" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount" + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount" + }, + "State": { + "shape": "MultiplexState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, "StopTimecode": { "type": "structure", "members": { @@ -8032,7 +9479,7 @@ "locationName": "message" }, "ValidationErrors": { - "shape": "__listOfValidationError", + "shape": "__listOfMultiplexValidationError", "locationName": "validationErrors" } }, @@ -8303,6 +9750,108 @@ } } }, + "UpdateMultiplex": { + "type": "structure", + "members": { + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + } + } + }, + "UpdateMultiplexProgram": { + "type": "structure", + "members": { + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings" + } + } + }, + "UpdateMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings" + }, + "ProgramName": { + "shape": "__string", + "location": "uri", + "locationName": "programName" + } + }, + "required": [ + "MultiplexId", + "ProgramName" + ] + }, + "UpdateMultiplexProgramResponse": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram" + } + } + }, + "UpdateMultiplexProgramResultModel": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram" + } + } + }, + "UpdateMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId" + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings" + }, + "Name": { + "shape": "__string", + "locationName": "name" + } + }, + "required": [ + "MultiplexId" + ] + }, + "UpdateMultiplexResponse": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex" + } + } + }, + "UpdateMultiplexResultModel": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex" + } + } + }, "UpdateReservation": { "type": "structure", "members": { @@ -8505,18 +10054,9 @@ "__doubleMin0": { "type": "double" }, - "__doubleMin0Max1000000000": { - "type": "double" - }, - "__doubleMin0Max65535": { - "type": "double" - }, "__doubleMin1": { "type": "double" }, - "__doubleMin10000Max1000000000": { - "type": "double" - }, "__doubleMinNegative59Max0": { "type": "double" }, @@ -8552,6 +10092,11 @@ "min": 0, "max": 1000000 }, + "__integerMin0Max100000000": { + "type": "integer", + "min": 0, + "max": 100000000 + }, "__integerMin0Max128": { "type": "integer", "min": 0, @@ -8620,6 +10165,16 @@ "type": "integer", "min": 1000 }, + "__integerMin1000000Max100000000": { + "type": "integer", + "min": 1000000, + "max": 100000000 + }, + "__integerMin100000Max100000000": { + "type": "integer", + "min": 100000, + "max": 100000000 + }, "__integerMin100000Max40000000": { "type": "integer", "min": 100000, @@ -8630,6 +10185,11 @@ "min": 100000, "max": 80000000 }, + "__integerMin1000Max3000": { + "type": "integer", + "min": 1000, + "max": 3000 + }, "__integerMin1000Max30000": { "type": "integer", "min": 1000, @@ -8670,10 +10230,10 @@ "min": 1, "max": 32 }, - "__integerMin1Max3600": { + "__integerMin1Max3600000": { "type": "integer", "min": 1, - "max": 3600 + "max": 3600000 }, "__integerMin1Max4": { "type": "integer", @@ -8870,6 +10430,30 @@ "shape": "MediaPackageOutputDestinationSettings" } }, + "__listOfMultiplexOutputDestination": { + "type": "list", + "member": { + "shape": "MultiplexOutputDestination" + } + }, + "__listOfMultiplexProgramSummary": { + "type": "list", + "member": { + "shape": "MultiplexProgramSummary" + } + }, + "__listOfMultiplexSummary": { + "type": "list", + "member": { + "shape": "MultiplexSummary" + } + }, + "__listOfMultiplexValidationError": { + "type": "list", + "member": { + "shape": "MultiplexValidationError" + } + }, "__listOfOffering": { "type": "list", "member": { @@ -8942,6 +10526,12 @@ "shape": "VideoDescription" } }, + "__listOf__integer": { + "type": "list", + "member": { + "shape": "__integer" + } + }, "__listOf__string": { "type": "list", "member": { diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index 0fb2bb04a25..9c471b1c15b 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -6,32 +6,44 @@ "CreateChannel": "Creates a new channel", "CreateInput": "Create an input", "CreateInputSecurityGroup": "Creates a Input Security Group", + "CreateMultiplex": "Create a new multiplex.", + "CreateMultiplexProgram": "Create a new program in the multiplex.", "CreateTags": "Create tags for a resource", "DeleteChannel": "Starts deletion of channel. The associated outputs are also deleted.", "DeleteInput": "Deletes the input end point", "DeleteInputSecurityGroup": "Deletes an Input Security Group", + "DeleteMultiplex": "Delete a multiplex. The multiplex must be idle.", + "DeleteMultiplexProgram": "Delete a program from a multiplex.", "DeleteReservation": "Delete an expired reservation.", "DeleteSchedule": "Delete all schedule actions on a channel.", "DeleteTags": "Removes tags for a resource", "DescribeChannel": "Gets details about a channel", "DescribeInput": "Produces details about an input", "DescribeInputSecurityGroup": "Produces a summary of an Input Security Group", + "DescribeMultiplex": "Gets details about a multiplex.", + "DescribeMultiplexProgram": "Get the details for a program in a multiplex.", "DescribeOffering": "Get details for an offering.", "DescribeReservation": "Get details for a reservation.", "DescribeSchedule": "Get a channel schedule", "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", + "ListMultiplexPrograms": "List the programs that currently exist for a specific multiplex.", + "ListMultiplexes": "Retrieve a list of the existing multiplexes.", "ListOfferings": "List offerings available for purchase.", "ListReservations": "List purchased reservations.", "ListTagsForResource": "Produces list of tags that have been created for a resource", "PurchaseOffering": "Purchase an offering and create a reservation.", "StartChannel": "Starts an existing channel", + "StartMultiplex": "Start (run) the multiplex. Starting the multiplex does not start the channels. You must explicitly start each channel.", "StopChannel": "Stops a running channel", + "StopMultiplex": "Stops a running multiplex. If the multiplex isn't running, this action has no effect.", "UpdateChannel": "Updates a channel.", "UpdateChannelClass": "Changes the class of the channel.", "UpdateInput": "Updates an input.", "UpdateInputSecurityGroup": "Update an Input Security Group's Whilelists.", + "UpdateMultiplex": "Updates a multiplex.", + "UpdateMultiplexProgram": "Update a program in a multiplex.", "UpdateReservation": "Update reservation." }, "shapes": { @@ -392,7 +404,7 @@ } }, "CaptionDescription": { - "base": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", + "base": "Caption Description", "refs": { "__listOfCaptionDescription$member": null } @@ -499,6 +511,26 @@ "refs": { } }, + "CreateMultiplex": { + "base": null, + "refs": { + } + }, + "CreateMultiplexProgram": { + "base": null, + "refs": { + } + }, + "CreateMultiplexProgramResultModel": { + "base": null, + "refs": { + } + }, + "CreateMultiplexResultModel": { + "base": null, + "refs": { + } + }, "DvbNitSettings": { "base": "DVB Network Information Table (NIT)", "refs": { @@ -1503,6 +1535,16 @@ "refs": { } }, + "ListMultiplexProgramsResultModel": { + "base": null, + "refs": { + } + }, + "ListMultiplexesResultModel": { + "base": null, + "refs": { + } + }, "ListOfferingsResultModel": { "base": "ListOfferings response", "refs": { @@ -1594,6 +1636,12 @@ "M2tsSettings$Klv": "If set to passthrough, passes any KLV data from the input source to this output." } }, + "M2tsNielsenId3Behavior": { + "base": "M2ts Nielsen Id3 Behavior", + "refs": { + "M2tsSettings$NielsenId3Behavior": "If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." + } + }, "M2tsPcrControl": { "base": "M2ts Pcr Control", "refs": { @@ -1637,6 +1685,12 @@ "M2tsSettings$TimedMetadataBehavior": "When set to passthrough, timed metadata will be passed through from input to output." } }, + "M3u8NielsenId3Behavior": { + "base": "M3u8 Nielsen Id3 Behavior", + "refs": { + "M3u8Settings$NielsenId3Behavior": "If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." + } + }, "M3u8PcrControl": { "base": "M3u8 Pcr Control", "refs": { @@ -1721,6 +1775,126 @@ "OutputSettings$MsSmoothOutputSettings": null } }, + "Multiplex": { + "base": "The multiplex object.", + "refs": { + "CreateMultiplexResultModel$Multiplex": "The newly created multiplex.", + "UpdateMultiplexResultModel$Multiplex": "The updated multiplex." + } + }, + "MultiplexConfigurationValidationError": { + "base": null, + "refs": { + } + }, + "MultiplexGroupSettings": { + "base": "Multiplex Group Settings", + "refs": { + "OutputGroupSettings$MultiplexGroupSettings": null + } + }, + "MultiplexMediaConnectOutputDestinationSettings": { + "base": "Multiplex MediaConnect output destination settings.", + "refs": { + "MultiplexOutputDestination$MediaConnectSettings": "Multiplex MediaConnect output destination settings." + } + }, + "MultiplexOutputDestination": { + "base": "Multiplex output destination settings", + "refs": { + "__listOfMultiplexOutputDestination$member": null + } + }, + "MultiplexOutputSettings": { + "base": "Multiplex Output Settings", + "refs": { + "OutputSettings$MultiplexOutputSettings": null + } + }, + "MultiplexProgram": { + "base": "The multiplex program object.", + "refs": { + "CreateMultiplexProgramResultModel$MultiplexProgram": "The newly created multiplex program.", + "UpdateMultiplexProgramResultModel$MultiplexProgram": "The updated multiplex program." + } + }, + "MultiplexProgramChannelDestinationSettings": { + "base": "Multiplex Program Input Destination Settings for outputting a Channel to a Multiplex", + "refs": { + "OutputDestination$MultiplexSettings": "Destination settings for a Multiplex output; one destination for both encoders." + } + }, + "MultiplexProgramPacketIdentifiersMap": { + "base": "Packet identifiers map for a given Multiplex program.", + "refs": { + "MultiplexProgram$PacketIdentifiersMap": "The packet identifier map for this multiplex program." + } + }, + "MultiplexProgramServiceDescriptor": { + "base": "Transport stream service descriptor configuration for the Multiplex program.", + "refs": { + "MultiplexProgramSettings$ServiceDescriptor": "Transport stream service descriptor configuration for the Multiplex program." + } + }, + "MultiplexProgramSettings": { + "base": "Multiplex Program settings configuration.", + "refs": { + "CreateMultiplexProgram$MultiplexProgramSettings": "The settings for this multiplex program.", + "MultiplexProgram$MultiplexProgramSettings": "The settings for this multiplex program.", + "UpdateMultiplexProgram$MultiplexProgramSettings": "The new settings for a multiplex program." + } + }, + "MultiplexProgramSummary": { + "base": null, + "refs": { + "__listOfMultiplexProgramSummary$member": null + } + }, + "MultiplexSettings": { + "base": "Contains configuration for a Multiplex event", + "refs": { + "CreateMultiplex$MultiplexSettings": "Configuration for a multiplex event.", + "Multiplex$MultiplexSettings": "Configuration for a multiplex event.", + "UpdateMultiplex$MultiplexSettings": "The new settings for a multiplex." + } + }, + "MultiplexSettingsSummary": { + "base": "Contains summary configuration for a Multiplex event.", + "refs": { + "MultiplexSummary$MultiplexSettings": "Configuration for a multiplex event." + } + }, + "MultiplexState": { + "base": "The current state of the multiplex.", + "refs": { + "Multiplex$State": "The current state of the multiplex.", + "MultiplexSummary$State": "The current state of the multiplex." + } + }, + "MultiplexStatmuxVideoSettings": { + "base": "Statmux rate control settings", + "refs": { + "MultiplexVideoSettings$StatmuxSettings": "Statmux rate control settings.\nWhen this field is defined, ConstantBitrate must be undefined." + } + }, + "MultiplexSummary": { + "base": null, + "refs": { + "__listOfMultiplexSummary$member": null + } + }, + "MultiplexValidationError": { + "base": null, + "refs": { + "__listOfMultiplexValidationError$member": null + } + }, + "MultiplexVideoSettings": { + "base": "The video configuration for each program in a multiplex.", + "refs": { + "MultiplexProgramSettings$VideoSettings": "Program video settings configuration." + } + }, "NetworkInputServerValidation": { "base": "Network Input Server Validation", "refs": { @@ -1733,6 +1907,18 @@ "InputSettings$NetworkInputSettings": "Input settings." } }, + "NielsenConfiguration": { + "base": "Nielsen Configuration", + "refs": { + "EncoderSettings$NielsenConfiguration": "Nielsen configuration settings." + } + }, + "NielsenPcmToId3TaggingState": { + "base": "State of Nielsen PCM to ID3 tagging", + "refs": { + "NielsenConfiguration$NielsenPcmToId3Tagging": "Enables Nielsen PCM to ID3 tagging" + } + }, "NotFoundException": { "base": null, "refs": { @@ -1796,6 +1982,7 @@ "HlsGroupSettings$Destination": "A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled).", "MediaPackageGroupSettings$Destination": "MediaPackage channel destination.", "MsSmoothGroupSettings$Destination": "Smooth Streaming publish point on an IIS server. Elemental Live acts as a \"Push\" encoder to IIS.", + "MultiplexOutputSettings$Destination": "Destination is a Multiplex.", "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)." } @@ -1893,7 +2080,7 @@ } }, "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", + "base": "Resolution based on lines of vertical resolution; SD is less than 720 lines, HD is 720 to 1080 lines, FHD is 1080 lines, UHD is greater than 1080 lines\n", "refs": { "ReservationResourceSpecification$Resolution": "Resolution, e.g. 'HD'" } @@ -1906,9 +2093,9 @@ } }, "ReservationResourceType": { - "base": "Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'", + "base": "Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'", "refs": { - "ReservationResourceSpecification$ResourceType": "Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'" + "ReservationResourceSpecification$ResourceType": "Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'" } }, "ReservationSpecialFeature": { @@ -2238,9 +2425,12 @@ "ChannelSummary$Tags": "A collection of key-value pairs.", "CreateChannel$Tags": "A collection of key-value pairs.", "CreateInput$Tags": "A collection of key-value pairs.", + "CreateMultiplex$Tags": "A collection of key-value pairs.", "Input$Tags": "A collection of key-value pairs.", "InputSecurityGroup$Tags": "A collection of key-value pairs.", "InputSecurityGroupWhitelistRequest$Tags": "A collection of key-value pairs.", + "Multiplex$Tags": "A collection of key-value pairs.", + "MultiplexSummary$Tags": "A collection of key-value pairs.", "PurchaseOffering$Tags": "A collection of key-value pairs", "Reservation$Tags": "A collection of key-value pairs", "TagsModel$Tags": null @@ -2351,6 +2541,26 @@ "refs": { } }, + "UpdateMultiplex": { + "base": null, + "refs": { + } + }, + "UpdateMultiplexProgram": { + "base": null, + "refs": { + } + }, + "UpdateMultiplexProgramResultModel": { + "base": null, + "refs": { + } + }, + "UpdateMultiplexResultModel": { + "base": null, + "refs": { + } + }, "UpdateReservation": { "base": "UpdateReservation request", "refs": { @@ -2444,6 +2654,8 @@ "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.\nIf gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1.\nIf gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer.", + "H265Settings$GopSize": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.\nIf gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1.\nIf gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer.", "Mp2Settings$Bitrate": "Average bitrate in bits/second.", "Mp2Settings$SampleRate": "Sample rate in Hz.", "Offering$FixedPrice": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering", @@ -2462,8 +2674,6 @@ "__doubleMin1": { "base": null, "refs": { - "H264Settings$GopSize": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero.", - "H265Settings$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_." } }, @@ -2483,11 +2693,25 @@ "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$ParNumerator": "Pixel Aspect Ratio numerator.", + "Multiplex$PipelinesRunningCount": "The number of currently healthy pipelines.", + "Multiplex$ProgramCount": "The number of programs in the multiplex.", + "MultiplexProgramPacketIdentifiersMap$DvbTeletextPid": null, + "MultiplexProgramPacketIdentifiersMap$EtvPlatformPid": null, + "MultiplexProgramPacketIdentifiersMap$EtvSignalPid": null, + "MultiplexProgramPacketIdentifiersMap$PcrPid": null, + "MultiplexProgramPacketIdentifiersMap$PmtPid": null, + "MultiplexProgramPacketIdentifiersMap$PrivateMetadataPid": null, + "MultiplexProgramPacketIdentifiersMap$Scte35Pid": null, + "MultiplexProgramPacketIdentifiersMap$TimedMetadataPid": null, + "MultiplexProgramPacketIdentifiersMap$VideoPid": null, + "MultiplexSummary$PipelinesRunningCount": "The number of currently healthy pipelines.", + "MultiplexSummary$ProgramCount": "The number of programs in the multiplex.", "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. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required.", - "VideoDescription$Width": "Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required." + "VideoDescription$Width": "Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required.", + "__listOf__integer$member": null } }, "__integerMin0": { @@ -2572,6 +2796,12 @@ "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." } }, + "__integerMin0Max100000000": { + "base": null, + "refs": { + "MultiplexSettings$TransportStreamReservedBitrate": "Transport stream reserved bit rate." + } + }, "__integerMin0Max128": { "base": null, "refs": { @@ -2608,8 +2838,8 @@ "__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", - "H265Settings$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$MinIInterval": "Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1", + "H265Settings$MinIInterval": "Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" } }, "__integerMin0Max32768": { @@ -2647,7 +2877,9 @@ "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." + "M3u8Settings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", + "MultiplexProgramSettings$ProgramNumber": "Unique program number.", + "MultiplexSettings$TransportStreamId": "Transport stream ID." } }, "__integerMin0Max65536": { @@ -2702,6 +2934,21 @@ "H264Settings$MaxBitrate": "For QVBR: See the tooltip for Quality level\n\nFor VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video." } }, + "__integerMin1000000Max100000000": { + "base": null, + "refs": { + "MultiplexSettings$TransportStreamBitrate": "Transport stream bit rate.", + "MultiplexSettingsSummary$TransportStreamBitrate": "Transport stream bit rate." + } + }, + "__integerMin100000Max100000000": { + "base": null, + "refs": { + "MultiplexStatmuxVideoSettings$MaximumBitrate": "Maximum statmux bitrate.", + "MultiplexStatmuxVideoSettings$MinimumBitrate": "Minimum statmux bitrate.", + "MultiplexVideoSettings$ConstantBitrate": "The constant bitrate configuration for the video encode.\nWhen this field is defined, StatmuxSettings must be undefined." + } + }, "__integerMin100000Max40000000": { "base": null, "refs": { @@ -2715,6 +2962,12 @@ "H265Settings$BufSize": "Size of buffer (HRD buffer model) in bits." } }, + "__integerMin1000Max3000": { + "base": null, + "refs": { + "MultiplexSettings$MaximumVideoBufferDelayMilliseconds": "Maximum video buffer delay in milliseconds." + } + }, "__integerMin1000Max30000": { "base": null, "refs": { @@ -2766,10 +3019,10 @@ "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." } }, - "__integerMin1Max3600": { + "__integerMin1Max3600000": { "base": null, "refs": { - "FrameCaptureSettings$CaptureInterval": "The frequency, in seconds, for capturing frames for inclusion in the output. For example, \"10\" means capture a frame every 10 seconds." + "FrameCaptureSettings$CaptureInterval": "The frequency at which to capture frames for inclusion in the output. May be specified in either seconds or milliseconds, as specified by captureIntervalUnits." } }, "__integerMin1Max4": { @@ -2994,6 +3247,30 @@ "OutputDestination$MediaPackageSettings": "Destination settings for a MediaPackage output; one destination for both encoders." } }, + "__listOfMultiplexOutputDestination": { + "base": null, + "refs": { + "Multiplex$Destinations": "A list of the multiplex output destinations." + } + }, + "__listOfMultiplexProgramSummary": { + "base": null, + "refs": { + "ListMultiplexProgramsResultModel$MultiplexPrograms": "List of multiplex programs." + } + }, + "__listOfMultiplexSummary": { + "base": null, + "refs": { + "ListMultiplexesResultModel$Multiplexes": "List of multiplexes." + } + }, + "__listOfMultiplexValidationError": { + "base": null, + "refs": { + "MultiplexConfigurationValidationError$ValidationErrors": "A collection of validation error responses." + } + }, "__listOfOffering": { "base": null, "refs": { @@ -3073,17 +3350,29 @@ "EncoderSettings$VideoDescriptions": null } }, + "__listOf__integer": { + "base": null, + "refs": { + "MultiplexProgramPacketIdentifiersMap$AudioPids": null, + "MultiplexProgramPacketIdentifiersMap$DvbSubPids": null, + "MultiplexProgramPacketIdentifiersMap$KlvDataPids": null, + "MultiplexProgramPacketIdentifiersMap$Scte27Pids": null + } + }, "__listOf__string": { "base": null, "refs": { "BatchScheduleActionDeleteRequest$ActionNames": "A list of schedule actions to delete.", "CreateInput$InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", + "CreateMultiplex$AvailabilityZones": "A list of availability zones for the multiplex. You must specify exactly two.", "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 Input Security Groups attached to the input.", "InputSecurityGroup$Inputs": "The list of inputs currently using this Input Security Group.", "InputSwitchScheduleActionSettings$UrlPath": "The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source.", "InputVpcRequest$SecurityGroupIds": "A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network interfaces.\nRequires subnetIds. If none are specified then the VPC default security group will be used.\n", "InputVpcRequest$SubnetIds": "A list of 2 VPC subnet IDs from the same VPC.\nSubnet IDs must be mapped to two unique availability zones (AZ).\n", + "Multiplex$AvailabilityZones": "A list of availability zones for the multiplex.", + "MultiplexSummary$AvailabilityZones": "A list of availability zones for the multiplex.", "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." @@ -3131,10 +3420,6 @@ "Channel$Id": "The unique id of the channel.", "Channel$Name": "The name of the channel. (user-mutable)", "Channel$RoleArn": "The Amazon Resource Name (ARN) of the role assumed when running the Channel.", - "ChannelAlert$AlertType": null, - "ChannelAlert$Id": null, - "ChannelAlert$Message": null, - "ChannelAlert$PipelineId": null, "ChannelConfigurationValidationError$Message": null, "ChannelEgressEndpoint$SourceIp": "Public IP of where a channel's output comes from", "ChannelSummary$Arn": "The unique arn of the channel.", @@ -3148,6 +3433,10 @@ "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", "CreateInput$RoleArn": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation.", + "CreateMultiplex$Name": "Name of multiplex.", + "CreateMultiplex$RequestId": "Unique request ID. This prevents retries from creating multiple\nresources.\n", + "CreateMultiplexProgram$ProgramName": "Name of multiplex program.", + "CreateMultiplexProgram$RequestId": "Unique request ID. This prevents retries from creating multiple\nresources.\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.", "FixedModeScheduleActionStartSettings$Time": "Start time for the action to start in the channel. (Not the time for the action to be added to the schedule: actions are always added to the schedule immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits (for example, mm might be 01) except for the two constants \"T\" for time and \"Z\" for \"UTC format\".", "FollowModeScheduleActionStartSettings$ReferenceActionName": "The action name of another action that this one refers to.", @@ -3190,10 +3479,11 @@ "InternalServiceError$Message": null, "InvalidRequest$Message": null, "LimitExceeded$Message": null, - "ListAlertsResultModel$NextToken": null, "ListChannelsResultModel$NextToken": null, "ListInputSecurityGroupsResultModel$NextToken": null, "ListInputsResultModel$NextToken": null, + "ListMultiplexProgramsResultModel$NextToken": "Token for the next ListMultiplexProgram request.", + "ListMultiplexesResultModel$NextToken": "Token for the next ListMultiplexes request.", "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).", @@ -3223,6 +3513,20 @@ "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.", + "Multiplex$Arn": "The unique arn of the multiplex.", + "Multiplex$Id": "The unique id of the multiplex.", + "Multiplex$Name": "The name of the multiplex.", + "MultiplexConfigurationValidationError$Message": "The error message.", + "MultiplexProgram$ChannelId": "The MediaLive channel associated with the program.", + "MultiplexProgram$ProgramName": "The name of the multiplex program.", + "MultiplexProgramSummary$ChannelId": "The MediaLive Channel associated with the program.", + "MultiplexProgramSummary$ProgramName": "The name of the multiplex program.", + "MultiplexSummary$Arn": "The unique arn of the multiplex.", + "MultiplexSummary$Id": "The unique id of the multiplex.", + "MultiplexSummary$Name": "The name of the multiplex.", + "MultiplexValidationError$ElementPath": "Path to the source of the error.", + "MultiplexValidationError$ErrorMessage": "The error message.", + "NielsenConfiguration$DistributorId": "Enter the Distributor ID assigned to your organization by Nielsen.", "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)'", @@ -3264,6 +3568,7 @@ "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.", "UpdateInput$RoleArn": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation.", + "UpdateMultiplex$Name": "Name of the multiplex.", "UpdateReservation$Name": "Name of the reservation", "ValidationError$ElementPath": null, "ValidationError$ErrorMessage": null, @@ -3271,6 +3576,13 @@ "__listOf__string$member": null } }, + "__stringMax256": { + "base": null, + "refs": { + "MultiplexProgramServiceDescriptor$ProviderName": "Name of the provider.", + "MultiplexProgramServiceDescriptor$ServiceName": "Name of the service." + } + }, "__stringMax32": { "base": null, "refs": { @@ -3284,7 +3596,10 @@ "CaptionLanguageMapping$LanguageDescription": "Textual description of language", "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.", "HlsOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Accepts \\\"Format Identifiers\\\":#formatIdentifierParameters.", - "MediaPackageOutputDestinationSettings$ChannelId": "ID of the channel in MediaPackage that is the destination for this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same region." + "MediaPackageOutputDestinationSettings$ChannelId": "ID of the channel in MediaPackage that is the destination for this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same region.", + "MultiplexMediaConnectOutputDestinationSettings$EntitlementArn": "The MediaConnect entitlement ARN available as a Flow source.", + "MultiplexProgramChannelDestinationSettings$MultiplexId": "The ID of the Multiplex that the encoder is providing output to. You do not need to specify the individual inputs to the Multiplex; MediaLive will handle the connection of the two MediaLive pipelines to the two Multiplex instances.\nThe Multiplex must be in the same region as the Channel.", + "MultiplexProgramChannelDestinationSettings$ProgramName": "The program name of the Multiplex program that the encoder is providing output to." } }, "__stringMin1Max255": { diff --git a/models/apis/medialive/2017-10-14/paginators-1.json b/models/apis/medialive/2017-10-14/paginators-1.json index 6b6597570cf..ca39535729b 100644 --- a/models/apis/medialive/2017-10-14/paginators-1.json +++ b/models/apis/medialive/2017-10-14/paginators-1.json @@ -35,6 +35,18 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "Reservations" + }, + "ListMultiplexPrograms": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "MultiplexPrograms" + }, + "ListMultiplexes": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Multiplexes" } } } diff --git a/models/apis/medialive/2017-10-14/waiters-2.json b/models/apis/medialive/2017-10-14/waiters-2.json index 93721381389..6b9f74cbce8 100644 --- a/models/apis/medialive/2017-10-14/waiters-2.json +++ b/models/apis/medialive/2017-10-14/waiters-2.json @@ -106,6 +106,112 @@ "expected": 500 } ] + }, + "MultiplexCreated": { + "description": "Wait until a multiplex has been created", + "operation": "DescribeMultiplex", + "delay": 3, + "maxAttempts": 5, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "CREATING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + }, + { + "state": "failure", + "matcher": "path", + "argument": "State", + "expected": "CREATE_FAILED" + } + ] + }, + "MultiplexRunning": { + "description": "Wait until a multiplex is running", + "operation": "DescribeMultiplex", + "delay": 5, + "maxAttempts": 120, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "RUNNING" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STARTING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "MultiplexStopped": { + "description": "Wait until a multiplex has is stopped", + "operation": "DescribeMultiplex", + "delay": 5, + "maxAttempts": 28, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STOPPING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "MultiplexDeleted": { + "description": "Wait until a multiplex has been deleted", + "operation": "DescribeMultiplex", + "delay": 5, + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "DELETED" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "DELETING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] } } } diff --git a/models/apis/mediapackage-vod/2018-11-07/api-2.json b/models/apis/mediapackage-vod/2018-11-07/api-2.json index 72b988085b2..60b72e43230 100644 --- a/models/apis/mediapackage-vod/2018-11-07/api-2.json +++ b/models/apis/mediapackage-vod/2018-11-07/api-2.json @@ -728,6 +728,10 @@ "locationName": "arn", "shape": "__string" }, + "DomainName": { + "locationName": "domainName", + "shape": "__string" + }, "Id": { "locationName": "id", "shape": "__string" @@ -954,6 +958,10 @@ "locationName": "arn", "shape": "__string" }, + "DomainName": { + "locationName": "domainName", + "shape": "__string" + }, "Id": { "locationName": "id", "shape": "__string" @@ -1322,6 +1330,10 @@ "locationName": "arn", "shape": "__string" }, + "DomainName": { + "locationName": "domainName", + "shape": "__string" + }, "Id": { "locationName": "id", "shape": "__string" diff --git a/models/apis/mediapackage-vod/2018-11-07/docs-2.json b/models/apis/mediapackage-vod/2018-11-07/docs-2.json index 11b8dc9cca1..64e38a58855 100644 --- a/models/apis/mediapackage-vod/2018-11-07/docs-2.json +++ b/models/apis/mediapackage-vod/2018-11-07/docs-2.json @@ -285,6 +285,7 @@ "PackagingConfigurationCreateParameters$PackagingGroupId" : "The ID of a PackagingGroup.", "PackagingConfigurationList$NextToken" : "A token that can be used to resume pagination from the end of the collection.", "PackagingGroup$Arn" : "The ARN of the PackagingGroup.", + "PackagingGroup$DomainName" : "The fully qualified domain name for Assets in the PackagingGroup.", "PackagingGroup$Id" : "The ID of the PackagingGroup.", "PackagingGroupCreateParameters$Id" : "The ID of the PackagingGroup.", "PackagingGroupList$NextToken" : "A token that can be used to resume pagination from the end of the collection.", diff --git a/models/apis/monitoring/2010-08-01/api-2.json b/models/apis/monitoring/2010-08-01/api-2.json index 5ae06e888e3..70ea702d94c 100644 --- a/models/apis/monitoring/2010-08-01/api-2.json +++ b/models/apis/monitoring/2010-08-01/api-2.json @@ -58,6 +58,22 @@ {"shape":"InternalServiceFault"} ] }, + "DeleteInsightRules":{ + "name":"DeleteInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInsightRulesInput"}, + "output":{ + "shape":"DeleteInsightRulesOutput", + "resultWrapper":"DeleteInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"} + ] + }, "DescribeAlarmHistory":{ "name":"DescribeAlarmHistory", "http":{ @@ -117,6 +133,21 @@ {"shape":"InvalidParameterValueException"} ] }, + "DescribeInsightRules":{ + "name":"DescribeInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInsightRulesInput"}, + "output":{ + "shape":"DescribeInsightRulesOutput", + "resultWrapper":"DescribeInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidNextToken"} + ] + }, "DisableAlarmActions":{ "name":"DisableAlarmActions", "http":{ @@ -125,6 +156,22 @@ }, "input":{"shape":"DisableAlarmActionsInput"} }, + "DisableInsightRules":{ + "name":"DisableInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableInsightRulesInput"}, + "output":{ + "shape":"DisableInsightRulesOutput", + "resultWrapper":"DisableInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"} + ] + }, "EnableAlarmActions":{ "name":"EnableAlarmActions", "http":{ @@ -133,6 +180,23 @@ }, "input":{"shape":"EnableAlarmActionsInput"} }, + "EnableInsightRules":{ + "name":"EnableInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableInsightRulesInput"}, + "output":{ + "shape":"EnableInsightRulesOutput", + "resultWrapper":"EnableInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"LimitExceededException"} + ] + }, "GetDashboard":{ "name":"GetDashboard", "http":{ @@ -150,6 +214,23 @@ {"shape":"InternalServiceFault"} ] }, + "GetInsightRuleReport":{ + "name":"GetInsightRuleReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInsightRuleReportInput"}, + "output":{ + "shape":"GetInsightRuleReportOutput", + "resultWrapper":"GetInsightRuleReportResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetMetricData":{ "name":"GetMetricData", "http":{ @@ -278,6 +359,23 @@ {"shape":"InternalServiceFault"} ] }, + "PutInsightRule":{ + "name":"PutInsightRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInsightRuleInput"}, + "output":{ + "shape":"PutInsightRuleOutput", + "resultWrapper":"PutInsightRuleResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"LimitExceededException"} + ] + }, "PutMetricAlarm":{ "name":"PutMetricAlarm", "http":{ @@ -430,6 +528,10 @@ "member":{"shape":"AnomalyDetector"} }, "AwsQueryErrorMessage":{"type":"string"}, + "BatchFailures":{ + "type":"list", + "member":{"shape":"PartialFailure"} + }, "ComparisonOperator":{ "type":"string", "enum":[ @@ -595,6 +697,19 @@ "members":{ } }, + "DeleteInsightRulesInput":{ + "type":"structure", + "required":["RuleNames"], + "members":{ + "RuleNames":{"shape":"InsightRuleNames"} + } + }, + "DeleteInsightRulesOutput":{ + "type":"structure", + "members":{ + "Failures":{"shape":"BatchFailures"} + } + }, "DescribeAlarmHistoryInput":{ "type":"structure", "members":{ @@ -670,6 +785,20 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeInsightRulesInput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"InsightRuleMaxResults"} + } + }, + "DescribeInsightRulesOutput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "InsightRules":{"shape":"InsightRules"} + } + }, "Dimension":{ "type":"structure", "required":[ @@ -720,6 +849,19 @@ "AlarmNames":{"shape":"AlarmNames"} } }, + "DisableInsightRulesInput":{ + "type":"structure", + "required":["RuleNames"], + "members":{ + "RuleNames":{"shape":"InsightRuleNames"} + } + }, + "DisableInsightRulesOutput":{ + "type":"structure", + "members":{ + "Failures":{"shape":"BatchFailures"} + } + }, "EnableAlarmActionsInput":{ "type":"structure", "required":["AlarmNames"], @@ -727,6 +869,19 @@ "AlarmNames":{"shape":"AlarmNames"} } }, + "EnableInsightRulesInput":{ + "type":"structure", + "required":["RuleNames"], + "members":{ + "RuleNames":{"shape":"InsightRuleNames"} + } + }, + "EnableInsightRulesOutput":{ + "type":"structure", + "members":{ + "Failures":{"shape":"BatchFailures"} + } + }, "ErrorMessage":{ "type":"string", "max":255, @@ -741,6 +896,7 @@ "type":"integer", "min":1 }, + "ExceptionType":{"type":"string"}, "ExtendedStatistic":{ "type":"string", "pattern":"p(\\d{1,2}(\\.\\d{0,2})?|100)" @@ -751,6 +907,9 @@ "max":10, "min":1 }, + "FailureCode":{"type":"string"}, + "FailureDescription":{"type":"string"}, + "FailureResource":{"type":"string"}, "FaultDescription":{"type":"string"}, "GetDashboardInput":{ "type":"structure", @@ -767,6 +926,35 @@ "DashboardName":{"shape":"DashboardName"} } }, + "GetInsightRuleReportInput":{ + "type":"structure", + "required":[ + "RuleName", + "StartTime", + "EndTime", + "Period" + ], + "members":{ + "RuleName":{"shape":"InsightRuleName"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "Period":{"shape":"Period"}, + "MaxContributorCount":{"shape":"InsightRuleUnboundInteger"}, + "Metrics":{"shape":"InsightRuleMetricList"}, + "OrderBy":{"shape":"InsightRuleOrderBy"} + } + }, + "GetInsightRuleReportOutput":{ + "type":"structure", + "members":{ + "KeyLabels":{"shape":"InsightRuleContributorKeyLabels"}, + "AggregationStatistic":{"shape":"InsightRuleAggregationStatistic"}, + "AggregateValue":{"shape":"InsightRuleUnboundDouble"}, + "ApproximateUniqueCount":{"shape":"InsightRuleUnboundLong"}, + "Contributors":{"shape":"InsightRuleContributors"}, + "MetricDatapoints":{"shape":"InsightRuleMetricDatapoints"} + } + }, "GetMetricDataInput":{ "type":"structure", "required":[ @@ -852,6 +1040,133 @@ "max":255, "min":1 }, + "InsightRule":{ + "type":"structure", + "required":[ + "Name", + "State", + "Schema", + "Definition" + ], + "members":{ + "Name":{"shape":"InsightRuleName"}, + "State":{"shape":"InsightRuleState"}, + "Schema":{"shape":"InsightRuleSchema"}, + "Definition":{"shape":"InsightRuleDefinition"} + } + }, + "InsightRuleAggregationStatistic":{"type":"string"}, + "InsightRuleContributor":{ + "type":"structure", + "required":[ + "Keys", + "ApproximateAggregateValue", + "Datapoints" + ], + "members":{ + "Keys":{"shape":"InsightRuleContributorKeys"}, + "ApproximateAggregateValue":{"shape":"InsightRuleUnboundDouble"}, + "Datapoints":{"shape":"InsightRuleContributorDatapoints"} + } + }, + "InsightRuleContributorDatapoint":{ + "type":"structure", + "required":[ + "Timestamp", + "ApproximateValue" + ], + "members":{ + "Timestamp":{"shape":"Timestamp"}, + "ApproximateValue":{"shape":"InsightRuleUnboundDouble"} + } + }, + "InsightRuleContributorDatapoints":{ + "type":"list", + "member":{"shape":"InsightRuleContributorDatapoint"} + }, + "InsightRuleContributorKey":{"type":"string"}, + "InsightRuleContributorKeyLabel":{"type":"string"}, + "InsightRuleContributorKeyLabels":{ + "type":"list", + "member":{"shape":"InsightRuleContributorKeyLabel"} + }, + "InsightRuleContributorKeys":{ + "type":"list", + "member":{"shape":"InsightRuleContributorKey"} + }, + "InsightRuleContributors":{ + "type":"list", + "member":{"shape":"InsightRuleContributor"} + }, + "InsightRuleDefinition":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"[\\x00-\\x7F]+" + }, + "InsightRuleMaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "InsightRuleMetricDatapoint":{ + "type":"structure", + "required":["Timestamp"], + "members":{ + "Timestamp":{"shape":"Timestamp"}, + "UniqueContributors":{"shape":"InsightRuleUnboundDouble"}, + "MaxContributorValue":{"shape":"InsightRuleUnboundDouble"}, + "SampleCount":{"shape":"InsightRuleUnboundDouble"}, + "Average":{"shape":"InsightRuleUnboundDouble"}, + "Sum":{"shape":"InsightRuleUnboundDouble"}, + "Minimum":{"shape":"InsightRuleUnboundDouble"}, + "Maximum":{"shape":"InsightRuleUnboundDouble"} + } + }, + "InsightRuleMetricDatapoints":{ + "type":"list", + "member":{"shape":"InsightRuleMetricDatapoint"} + }, + "InsightRuleMetricList":{ + "type":"list", + "member":{"shape":"InsightRuleMetricName"} + }, + "InsightRuleMetricName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleNames":{ + "type":"list", + "member":{"shape":"InsightRuleName"} + }, + "InsightRuleOrderBy":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleSchema":{"type":"string"}, + "InsightRuleState":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleUnboundDouble":{"type":"double"}, + "InsightRuleUnboundInteger":{"type":"integer"}, + "InsightRuleUnboundLong":{"type":"long"}, + "InsightRules":{ + "type":"list", + "member":{"shape":"InsightRule"} + }, "InternalServiceFault":{ "type":"structure", "members":{ @@ -1193,6 +1508,15 @@ }, "NextToken":{"type":"string"}, "OutputFormat":{"type":"string"}, + "PartialFailure":{ + "type":"structure", + "members":{ + "FailureResource":{"shape":"FailureResource"}, + "ExceptionType":{"shape":"ExceptionType"}, + "FailureCode":{"shape":"FailureCode"}, + "FailureDescription":{"shape":"FailureDescription"} + } + }, "Period":{ "type":"integer", "min":1 @@ -1234,6 +1558,23 @@ "DashboardValidationMessages":{"shape":"DashboardValidationMessages"} } }, + "PutInsightRuleInput":{ + "type":"structure", + "required":[ + "RuleName", + "RuleDefinition" + ], + "members":{ + "RuleName":{"shape":"InsightRuleName"}, + "RuleState":{"shape":"InsightRuleState"}, + "RuleDefinition":{"shape":"InsightRuleDefinition"} + } + }, + "PutInsightRuleOutput":{ + "type":"structure", + "members":{ + } + }, "PutMetricAlarmInput":{ "type":"structure", "required":[ diff --git a/models/apis/monitoring/2010-08-01/docs-2.json b/models/apis/monitoring/2010-08-01/docs-2.json index bb28cecb056..11ccf4e4917 100644 --- a/models/apis/monitoring/2010-08-01/docs-2.json +++ b/models/apis/monitoring/2010-08-01/docs-2.json @@ -5,14 +5,19 @@ "DeleteAlarms": "

Deletes the specified alarms. You can delete up to 50 alarms in one operation. In the event of an error, no alarms are deleted.

", "DeleteAnomalyDetector": "

Deletes the specified anomaly detection model from your account.

", "DeleteDashboards": "

Deletes all dashboards that you specify. You may specify up to 100 dashboards to delete. If there is an error during this call, no dashboards are deleted.

", + "DeleteInsightRules": "

Permanently deletes the specified Contributor Insights rules.

If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created may or may not be available.

", "DescribeAlarmHistory": "

Retrieves the history for the specified alarm. You can filter the results by date range or item type. If an alarm name is not specified, the histories for all alarms are returned.

CloudWatch retains the history of an alarm even if you delete the alarm.

", "DescribeAlarms": "

Retrieves the specified alarms. If no alarms are specified, all alarms are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action.

", "DescribeAlarmsForMetric": "

Retrieves the alarms for the specified metric. To filter the results, specify a statistic, period, or unit.

", "DescribeAnomalyDetectors": "

Lists the anomaly detection models that you have created in your account. You can list all models in your account or filter the results to only the models that are related to a certain namespace, metric name, or metric dimension.

", + "DescribeInsightRules": "

Returns a list of all the Contributor Insights rules in your account. All rules in your account are returned with a single operation.

For more information about Contributor Insights, see Using Contributor Insights to Analyze High-Cardinality Data.

", "DisableAlarmActions": "

Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes.

", + "DisableInsightRules": "

Disables the specified Contributor Insights rules. When rules are disabled, they do not analyze log groups and do not incur costs.

", "EnableAlarmActions": "

Enables the actions for the specified alarms.

", + "EnableInsightRules": "

Enables the specified Contributor Insights rules. When rules are enabled, they immediately begin analyzing log data.

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

Amazon CloudWatch retains metric data as follows:

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

If you omit Unit in your request, all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

", + "GetInsightRuleReport": "

This operation returns the time series data collected by a Contributor Insights rule. The data includes the identity and number of contributors to the log group.

You can also optionally return one or more statistics about each data point in the time series. These statistics can include the following:

", + "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 data points. You can also optionally perform math expressions on the values of the returned statistics, to create new time series that represent new insights into your data. For example, using Lambda metrics, you could divide the Errors metric by the Invocations metric to get an error rate time series. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Calls to the GetMetricData API have a different pricing structure than calls to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch Pricing.

Amazon CloudWatch retains metric data as follows:

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

If you omit Unit in your request, all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

", "GetMetricStatistics": "

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:

Percentile statistics are not available for metrics when any of the metric values are negative numbers.

Amazon CloudWatch retains metric data as follows:

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

", "GetMetricWidgetImage": "

You can use the GetMetricWidgetImage API to retrieve a snapshot graph of one or more Amazon CloudWatch metrics as a bitmap image. You can then embed this image into your services and products, such as wiki pages, reports, and documents. You could also retrieve images regularly, such as every minute, and create your own custom live dashboard.

The graph you retrieve can include all CloudWatch metric graph features, including metric math and horizontal and vertical annotations.

There is a limit of 20 transactions per second for this API. Each GetMetricWidgetImage action has the following limits:

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

ListDashboards returns up to 1000 results on one page. If there are more than 1000 dashboards, you can call ListDashboards again and include the value you received for NextToken in the first call, to receive the next 1000 results.

", @@ -20,8 +25,9 @@ "ListTagsForResource": "

Displays the tags associated with a CloudWatch resource. Alarms support tagging.

", "PutAnomalyDetector": "

Creates an anomaly detection model for a CloudWatch metric. You can use the model to display a band of expected normal values when the metric is graphed.

For more information, see CloudWatch Anomaly Detection.

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

All dashboards in your account are global, not region-specific.

A simple way to create a dashboard using PutDashboard is to copy an existing dashboard. To copy an existing dashboard using the console, you can load the dashboard and then use the View/edit source command in the Actions menu to display the JSON block for that dashboard. Another way to copy a dashboard is to use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard.

When you create a dashboard with PutDashboard, a good practice is to add a text widget at the top of the dashboard with a message that the dashboard was created by script and should not be changed in the console. This message could also point console users to the location of the DashboardBody script or the CloudFormation template used to create the dashboard.

", + "PutInsightRule": "

Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch Logs log group, enabling you to find contributor data for the log events in that log group. For more information, see Using Contributor Insights to Analyze High-Cardinality Data.

If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created may or may not be available.

", "PutMetricAlarm": "

Creates or updates an alarm and associates it with the specified metric, metric math expression, or anomaly detection model.

Alarms based on anomaly detection models cannot have Auto Scaling actions.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some alarm operations:

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed.

If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions.

The first time you create an alarm in the AWS Management Console, the CLI, or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. For more information, see AWS service-linked role.

", - "PutMetricData": "

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricDatum structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 20 different metrics.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of 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. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted.

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:

", + "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.

You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricDatum structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 20 different metrics.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted.

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:

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

", "TagResource": "

Assigns one or more tags (key-value pairs) to the specified CloudWatch resource. Currently, the only CloudWatch resources that can be tagged are alarms.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with an alarm that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a resource.

", "UntagResource": "

Removes one or more tags from the specified resource.

" @@ -100,7 +106,7 @@ } }, "AnomalyDetector": { - "base": "

An anomaly detection model associated with a particular CloudWatch metric athresnd statistic. You can use the model to display a band of expected normal values when the metric is graphed.

", + "base": "

An anomaly detection model associated with a particular CloudWatch metric and statistic. You can use the model to display a band of expected normal values when the metric is graphed.

", "refs": { "AnomalyDetectors$member": null } @@ -138,6 +144,14 @@ "MissingRequiredParameterException$message": "

" } }, + "BatchFailures": { + "base": null, + "refs": { + "DeleteInsightRulesOutput$Failures": "

An array listing the rules that could not be deleted. You cannot delete built-in rules.

", + "DisableInsightRulesOutput$Failures": "

An array listing the rules that could not be disabled. You cannot disable built-in rules.

", + "EnableInsightRulesOutput$Failures": "

An array listing the rules that could not be enabled. You cannot disable or enable built-in rules.

" + } + }, "ComparisonOperator": { "base": null, "refs": { @@ -257,7 +271,7 @@ "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.

", + "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 -2^360 to 2^360. 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.

", "StatisticSet$Minimum": "

The minimum value of the sample set.

", @@ -286,8 +300,8 @@ "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.

" + "MetricAlarm$DatapointsToAlarm": "

The number of data points that must be breaching to trigger the alarm.

", + "PutMetricAlarmInput$DatapointsToAlarm": "

The number of data points that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon CloudWatch User Guide.

" } }, "DeleteAlarmsInput": { @@ -315,6 +329,16 @@ "refs": { } }, + "DeleteInsightRulesInput": { + "base": null, + "refs": { + } + }, + "DeleteInsightRulesOutput": { + "base": null, + "refs": { + } + }, "DescribeAlarmHistoryInput": { "base": null, "refs": { @@ -355,6 +379,16 @@ "refs": { } }, + "DescribeInsightRulesInput": { + "base": null, + "refs": { + } + }, + "DescribeInsightRulesOutput": { + "base": null, + "refs": { + } + }, "Dimension": { "base": "

Expands the identity of a metric.

", "refs": { @@ -407,11 +441,31 @@ "refs": { } }, + "DisableInsightRulesInput": { + "base": null, + "refs": { + } + }, + "DisableInsightRulesOutput": { + "base": null, + "refs": { + } + }, "EnableAlarmActionsInput": { "base": null, "refs": { } }, + "EnableInsightRulesInput": { + "base": null, + "refs": { + } + }, + "EnableInsightRulesOutput": { + "base": null, + "refs": { + } + }, "ErrorMessage": { "base": null, "refs": { @@ -435,6 +489,12 @@ "PutMetricAlarmInput$EvaluationPeriods": "

The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N.

An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds.

" } }, + "ExceptionType": { + "base": null, + "refs": { + "PartialFailure$ExceptionType": "

The type of error.

" + } + }, "ExtendedStatistic": { "base": null, "refs": { @@ -451,6 +511,24 @@ "GetMetricStatisticsInput$ExtendedStatistics": "

The percentile statistics. Specify values between p0.0 and p100. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both. Percentile statistics are not available for metrics when any of the metric values are negative numbers.

" } }, + "FailureCode": { + "base": null, + "refs": { + "PartialFailure$FailureCode": "

The code of the error.

" + } + }, + "FailureDescription": { + "base": null, + "refs": { + "PartialFailure$FailureDescription": "

A description of the error.

" + } + }, + "FailureResource": { + "base": null, + "refs": { + "PartialFailure$FailureResource": "

The specified rule that could not be deleted.

" + } + }, "FaultDescription": { "base": null, "refs": { @@ -467,6 +545,16 @@ "refs": { } }, + "GetInsightRuleReportInput": { + "base": null, + "refs": { + } + }, + "GetInsightRuleReportOutput": { + "base": null, + "refs": { + } + }, "GetMetricDataInput": { "base": null, "refs": { @@ -522,6 +610,172 @@ "AlarmHistoryItem$HistorySummary": "

A summary of the alarm history, in text format.

" } }, + "InsightRule": { + "base": "

This structure contains the definition for a Contributor Insights rule.

", + "refs": { + "InsightRules$member": null + } + }, + "InsightRuleAggregationStatistic": { + "base": null, + "refs": { + "GetInsightRuleReportOutput$AggregationStatistic": "

Specifies whether this rule aggregates contributor data by COUNT or SUM.

" + } + }, + "InsightRuleContributor": { + "base": "

One of the unique contributors found by a Contributor Insights rule. If the rule contains multiple keys, then a unique contributor is a unique combination of values from all the keys in the rule.

If the rule contains a single key, then each unique contributor is each unique value for this key.

For more information, see GetInsightRuleReport.

", + "refs": { + "InsightRuleContributors$member": null + } + }, + "InsightRuleContributorDatapoint": { + "base": "

One data point related to one contributor.

For more information, see GetInsightRuleReport and InsightRuleContributor.

", + "refs": { + "InsightRuleContributorDatapoints$member": null + } + }, + "InsightRuleContributorDatapoints": { + "base": null, + "refs": { + "InsightRuleContributor$Datapoints": "

An array of the data points where this contributor is present. Only the data points when this contributor appeared are included in the array.

" + } + }, + "InsightRuleContributorKey": { + "base": null, + "refs": { + "InsightRuleContributorKeys$member": null + } + }, + "InsightRuleContributorKeyLabel": { + "base": null, + "refs": { + "InsightRuleContributorKeyLabels$member": null + } + }, + "InsightRuleContributorKeyLabels": { + "base": null, + "refs": { + "GetInsightRuleReportOutput$KeyLabels": "

An array of the strings used as the keys for this rule. The keys are the dimensions used to classify contributors. If the rule contains more than one key, then each unique combination of values for the keys is counted as a unique contributor.

" + } + }, + "InsightRuleContributorKeys": { + "base": null, + "refs": { + "InsightRuleContributor$Keys": "

One of the log entry field keywords that is used to define contributors for this rule.

" + } + }, + "InsightRuleContributors": { + "base": null, + "refs": { + "GetInsightRuleReportOutput$Contributors": "

An array of the unique contributors found by this rule in this time period. If the rule contains multiple keys, each combination of values for the keys counts as a unique contributor.

" + } + }, + "InsightRuleDefinition": { + "base": null, + "refs": { + "InsightRule$Definition": "

The definition of the rule, as a JSON object. The definition contains the keywords used to define contributors, the value to aggregate on if this rule returns a sum instead of a count, and the filters. For details on the valid syntax, see Contributor Insights Rule Syntax.

", + "PutInsightRuleInput$RuleDefinition": "

The definition of the rule, as a JSON object. For details on the valid syntax, see Contributor Insights Rule Syntax.

" + } + }, + "InsightRuleMaxResults": { + "base": null, + "refs": { + "DescribeInsightRulesInput$MaxResults": "

This parameter is not currently used. Reserved for future use. If it is used in the future, the maximum value may be different.

" + } + }, + "InsightRuleMetricDatapoint": { + "base": "

One data point from the metric time series returned in a Contributor Insights rule report.

For more information, see GetInsightRuleReport.

", + "refs": { + "InsightRuleMetricDatapoints$member": null + } + }, + "InsightRuleMetricDatapoints": { + "base": null, + "refs": { + "GetInsightRuleReportOutput$MetricDatapoints": "

A time series of metric data points that matches the time period in the rule request.

" + } + }, + "InsightRuleMetricList": { + "base": null, + "refs": { + "GetInsightRuleReportInput$Metrics": "

Specifies which metrics to use for aggregation of contributor values for the report. You can specify one or more of the following metrics:

" + } + }, + "InsightRuleMetricName": { + "base": null, + "refs": { + "InsightRuleMetricList$member": null + } + }, + "InsightRuleName": { + "base": null, + "refs": { + "GetInsightRuleReportInput$RuleName": "

The name of the rule that you want to see data from.

", + "InsightRule$Name": "

The name of the rule.

", + "InsightRuleNames$member": null, + "PutInsightRuleInput$RuleName": "

A unique name for the rule.

" + } + }, + "InsightRuleNames": { + "base": null, + "refs": { + "DeleteInsightRulesInput$RuleNames": "

An array of the rule names to delete. If you need to find out the names of your rules, use DescribeInsightRules.

", + "DisableInsightRulesInput$RuleNames": "

An array of the rule names to disable. If you need to find out the names of your rules, use DescribeInsightRules.

", + "EnableInsightRulesInput$RuleNames": "

An array of the rule names to enable. If you need to find out the names of your rules, use DescribeInsightRules.

" + } + }, + "InsightRuleOrderBy": { + "base": null, + "refs": { + "GetInsightRuleReportInput$OrderBy": "

Determines what statistic to use to rank the contributors. Valid values are SUM and MAXIMUM.

" + } + }, + "InsightRuleSchema": { + "base": null, + "refs": { + "InsightRule$Schema": "

For rules that you create, this is always {\"Name\": \"CloudWatchLogRule\", \"Version\": 1}. For built-in rules, this is {\"Name\": \"ServiceLogRule\", \"Version\": 1}

" + } + }, + "InsightRuleState": { + "base": null, + "refs": { + "InsightRule$State": "

Indicates whether the rule is enabled or disabled.

", + "PutInsightRuleInput$RuleState": "

The state of the rule. Valid values are ENABLED and DISABLED.

" + } + }, + "InsightRuleUnboundDouble": { + "base": null, + "refs": { + "GetInsightRuleReportOutput$AggregateValue": "

The sum of the values from all individual contributors that match the rule.

", + "InsightRuleContributor$ApproximateAggregateValue": "

An approximation of the aggregate value that comes from this contributor.

", + "InsightRuleContributorDatapoint$ApproximateValue": "

The approximate value that this contributor added during this timestamp.

", + "InsightRuleMetricDatapoint$UniqueContributors": "

The number of unique contributors who published data during this timestamp.

This statistic is returned only if you included it in the Metrics array in your request.

", + "InsightRuleMetricDatapoint$MaxContributorValue": "

The maximum value provided by one contributor during this timestamp. Each timestamp is evaluated separately, so the identity of the max contributor could be different for each timestamp.

This statistic is returned only if you included it in the Metrics array in your request.

", + "InsightRuleMetricDatapoint$SampleCount": "

The number of occurrences that matched the rule during this data point.

This statistic is returned only if you included it in the Metrics array in your request.

", + "InsightRuleMetricDatapoint$Average": "

The average value from all contributors during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

", + "InsightRuleMetricDatapoint$Sum": "

The sum of the values from all contributors during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

", + "InsightRuleMetricDatapoint$Minimum": "

The minimum value from a single contributor during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

", + "InsightRuleMetricDatapoint$Maximum": "

The maximum value from a single occurence from a single contributor during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

" + } + }, + "InsightRuleUnboundInteger": { + "base": null, + "refs": { + "GetInsightRuleReportInput$MaxContributorCount": "

The maximum number of contributors to include in the report. The range is 1 to 100. If you omit this, the default of 10 is used.

" + } + }, + "InsightRuleUnboundLong": { + "base": null, + "refs": { + "GetInsightRuleReportOutput$ApproximateUniqueCount": "

An approximate count of the unique contributors found by this rule in this time period.

" + } + }, + "InsightRules": { + "base": null, + "refs": { + "DescribeInsightRulesOutput$InsightRules": "

The rules returned by the operation.

" + } + }, "InternalServiceFault": { "base": "

Request processing has failed due to some unknown error, exception, or failure.

", "refs": { @@ -788,6 +1042,8 @@ "DescribeAlarmsOutput$NextToken": "

The token that marks the start of the next batch of returned results.

", "DescribeAnomalyDetectorsInput$NextToken": "

Use the token returned by the previous operation to request the next page of results.

", "DescribeAnomalyDetectorsOutput$NextToken": "

A token that you can use in a subsequent operation to retrieve the next set of results.

", + "DescribeInsightRulesInput$NextToken": "

Reserved for future use.

", + "DescribeInsightRulesOutput$NextToken": "

Reserved for future use.

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

", @@ -802,13 +1058,20 @@ "GetMetricWidgetImageInput$OutputFormat": "

The format of the resulting image. Only PNG images are supported.

The default is png. If you specify png, the API returns an HTTP response with the content-type set to text/xml. The image data is in a MetricWidgetImage field. For example:

<GetMetricWidgetImageResponse xmlns=<URLstring>>

<GetMetricWidgetImageResult>

<MetricWidgetImage>

iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...

</MetricWidgetImage>

</GetMetricWidgetImageResult>

<ResponseMetadata>

<RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId>

</ResponseMetadata>

</GetMetricWidgetImageResponse>

The image/png setting is intended only for custom HTTP requests. For most use cases, and all actions using an AWS SDK, you should use png. If you specify image/png, the HTTP response has a content-type set to image/png, and the body of the response is a PNG image.

" } }, + "PartialFailure": { + "base": "

This array is empty if the API operation was successful for all the rules specified in the request. If the operation could not process one of the rules, the following data is returned for each of those rules.

", + "refs": { + "BatchFailures$member": null + } + }, "Period": { "base": null, "refs": { "DescribeAlarmsForMetricInput$Period": "

The period, in seconds, over which the statistic is applied.

", + "GetInsightRuleReportInput$Period": "

The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint results.

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

", "MetricAlarm$Period": "

The period, in seconds, over which the statistic is applied.

", - "MetricDataQuery$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 operation that includes a StorageResolution of 1 second.

Use this field only when you are performing a GetMetricData operation, and only when you are specifying the Expression field. Do not use this field with a PutMetricAlarm operation or when you are specifying a MetricStat in a GetMetricData operation.

", + "MetricDataQuery$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 operation that includes a StorageResolution of 1 second.

If you are performing a GetMetricData operation, use this field only if you are specifying an Expression. Do not use this field when you are specifying a MetricStat in a GetMetricData operation.

", "MetricStat$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:

", "PutMetricAlarmInput$Period": "

The length, in seconds, used each time the metric specified in MetricName is evaluated. Valid values are 10, 30, and any multiple of 60.

Period is required for alarms based on static thresholds. If you are creating an alarm based on a metric math expression, you specify the period for each metric within the objects in the Metrics array.

Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a StorageResolution of 1. If you specify a period of 10 or 30 for a metric that does not have sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing.

An alarm's total current evaluation period can be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.

" } @@ -833,6 +1096,16 @@ "refs": { } }, + "PutInsightRuleInput": { + "base": null, + "refs": { + } + }, + "PutInsightRuleOutput": { + "base": null, + "refs": { + } + }, "PutMetricAlarmInput": { "base": null, "refs": { @@ -1044,10 +1317,14 @@ "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.

", + "GetInsightRuleReportInput$StartTime": "

The start time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

", + "GetInsightRuleReportInput$EndTime": "

The end time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

", "GetMetricDataInput$StartTime": "

The time stamp indicating the earliest data to be returned.

The value specified is inclusive; results include data points with the specified time stamp.

CloudWatch rounds the specified time stamp as follows:

If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the StartTime.

", "GetMetricDataInput$EndTime": "

The time stamp indicating the latest data to be returned.

The value specified is exclusive; results include data points up to the specified time stamp.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the EndTime.

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

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

", + "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. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).

CloudWatch rounds the specified time stamp as follows:

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. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).

", + "InsightRuleContributorDatapoint$Timestamp": "

The timestamp of the data point.

", + "InsightRuleMetricDatapoint$Timestamp": "

The timestamp of the data point.

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

", @@ -1082,7 +1359,7 @@ "Values": { "base": null, "refs": { - "MetricDatum$Values": "

Array of numbers representing the values for the metric during the period. Each unique value is listed just once in this array, and the corresponding number in the Counts array specifies the number of times that value occurred during the period. You can include up to 150 unique values in each PutMetricData action that specifies a Values array.

Although the Values array accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of 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.

" + "MetricDatum$Values": "

Array of numbers representing the values for the metric during the period. Each unique value is listed just once in this array, and the corresponding number in the Counts array specifies the number of times that value occurred during the period. You can include up to 150 unique values in each PutMetricData action that specifies a Values array.

Although the Values array accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

" } } } diff --git a/models/apis/monitoring/2010-08-01/paginators-1.json b/models/apis/monitoring/2010-08-01/paginators-1.json index a9875d40650..c6c3444620e 100644 --- a/models/apis/monitoring/2010-08-01/paginators-1.json +++ b/models/apis/monitoring/2010-08-01/paginators-1.json @@ -15,6 +15,11 @@ "DescribeAlarmsForMetric": { "result_key": "MetricAlarms" }, + "DescribeInsightRules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "GetMetricData": { "input_token": "NextToken", "limit_key": "MaxDatapoints", diff --git a/models/apis/ram/2018-01-04/api-2.json b/models/apis/ram/2018-01-04/api-2.json index 393d49602a7..bdc35630257 100644 --- a/models/apis/ram/2018-01-04/api-2.json +++ b/models/apis/ram/2018-01-04/api-2.json @@ -56,6 +56,24 @@ {"shape":"UnknownResourceException"} ] }, + "AssociateResourceSharePermission":{ + "name":"AssociateResourceSharePermission", + "http":{ + "method":"POST", + "requestUri":"/associateresourcesharepermission" + }, + "input":{"shape":"AssociateResourceSharePermissionRequest"}, + "output":{"shape":"AssociateResourceSharePermissionResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ] + }, "CreateResourceShare":{ "name":"CreateResourceShare", "http":{ @@ -119,6 +137,24 @@ {"shape":"UnknownResourceException"} ] }, + "DisassociateResourceSharePermission":{ + "name":"DisassociateResourceSharePermission", + "http":{ + "method":"POST", + "requestUri":"/disassociateresourcesharepermission" + }, + "input":{"shape":"DisassociateResourceSharePermissionRequest"}, + "output":{"shape":"DisassociateResourceSharePermissionResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ] + }, "EnableSharingWithAwsOrganization":{ "name":"EnableSharingWithAwsOrganization", "http":{ @@ -133,6 +169,23 @@ {"shape":"ServiceUnavailableException"} ] }, + "GetPermission":{ + "name":"GetPermission", + "http":{ + "method":"POST", + "requestUri":"/getpermission" + }, + "input":{"shape":"GetPermissionRequest"}, + "output":{"shape":"GetPermissionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ] + }, "GetResourcePolicies":{ "name":"GetResourcePolicies", "http":{ @@ -222,6 +275,22 @@ {"shape":"ResourceShareInvitationExpiredException"} ] }, + "ListPermissions":{ + "name":"ListPermissions", + "http":{ + "method":"POST", + "requestUri":"/listpermissions" + }, + "input":{"shape":"ListPermissionsRequest"}, + "output":{"shape":"ListPermissionsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ] + }, "ListPrincipals":{ "name":"ListPrincipals", "http":{ @@ -239,6 +308,24 @@ {"shape":"ServiceUnavailableException"} ] }, + "ListResourceSharePermissions":{ + "name":"ListResourceSharePermissions", + "http":{ + "method":"POST", + "requestUri":"/listresourcesharepermissions" + }, + "input":{"shape":"ListResourceSharePermissionsRequest"}, + "output":{"shape":"ListResourceSharePermissionsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ] + }, "ListResources":{ "name":"ListResources", "http":{ @@ -257,6 +344,23 @@ {"shape":"ServiceUnavailableException"} ] }, + "PromoteResourceShareCreatedFromPolicy":{ + "name":"PromoteResourceShareCreatedFromPolicy", + "http":{ + "method":"POST", + "requestUri":"/promoteresourcesharecreatedfrompolicy" + }, + "input":{"shape":"PromoteResourceShareCreatedFromPolicyRequest"}, + "output":{"shape":"PromoteResourceShareCreatedFromPolicyResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "RejectResourceShareInvitation":{ "name":"RejectResourceShareInvitation", "http":{ @@ -347,6 +451,26 @@ "clientToken":{"shape":"String"} } }, + "AssociateResourceSharePermissionRequest":{ + "type":"structure", + "required":[ + "resourceShareArn", + "permissionArn" + ], + "members":{ + "resourceShareArn":{"shape":"String"}, + "permissionArn":{"shape":"String"}, + "replace":{"shape":"Boolean"}, + "clientToken":{"shape":"String"} + } + }, + "AssociateResourceSharePermissionResponse":{ + "type":"structure", + "members":{ + "returnValue":{"shape":"Boolean"}, + "clientToken":{"shape":"String"} + } + }, "AssociateResourceShareRequest":{ "type":"structure", "required":["resourceShareArn"], @@ -374,7 +498,8 @@ "principals":{"shape":"PrincipalArnOrIdList"}, "tags":{"shape":"TagList"}, "allowExternalPrincipals":{"shape":"Boolean"}, - "clientToken":{"shape":"String"} + "clientToken":{"shape":"String"}, + "permissionArns":{"shape":"PermissionArnList"} } }, "CreateResourceShareResponse":{ @@ -408,6 +533,25 @@ "clientToken":{"shape":"String"} } }, + "DisassociateResourceSharePermissionRequest":{ + "type":"structure", + "required":[ + "resourceShareArn", + "permissionArn" + ], + "members":{ + "resourceShareArn":{"shape":"String"}, + "permissionArn":{"shape":"String"}, + "clientToken":{"shape":"String"} + } + }, + "DisassociateResourceSharePermissionResponse":{ + "type":"structure", + "members":{ + "returnValue":{"shape":"Boolean"}, + "clientToken":{"shape":"String"} + } + }, "DisassociateResourceShareRequest":{ "type":"structure", "required":["resourceShareArn"], @@ -436,6 +580,20 @@ "returnValue":{"shape":"Boolean"} } }, + "GetPermissionRequest":{ + "type":"structure", + "required":["permissionArn"], + "members":{ + "permissionArn":{"shape":"String"}, + "permissionVersion":{"shape":"Integer"} + } + }, + "GetPermissionResponse":{ + "type":"structure", + "members":{ + "permission":{"shape":"ResourceSharePermissionDetail"} + } + }, "GetResourcePoliciesRequest":{ "type":"structure", "required":["resourceArns"], @@ -518,6 +676,7 @@ "error":{"httpStatusCode":400}, "exception":true }, + "Integer":{"type":"integer"}, "InvalidClientTokenException":{ "type":"structure", "required":["message"], @@ -588,6 +747,21 @@ "nextToken":{"shape":"String"} } }, + "ListPermissionsRequest":{ + "type":"structure", + "members":{ + "resourceType":{"shape":"String"}, + "nextToken":{"shape":"String"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListPermissionsResponse":{ + "type":"structure", + "members":{ + "permissions":{"shape":"ResourceSharePermissionList"}, + "nextToken":{"shape":"String"} + } + }, "ListPrincipalsRequest":{ "type":"structure", "required":["resourceOwner"], @@ -608,6 +782,22 @@ "nextToken":{"shape":"String"} } }, + "ListResourceSharePermissionsRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{"shape":"String"}, + "nextToken":{"shape":"String"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListResourceSharePermissionsResponse":{ + "type":"structure", + "members":{ + "permissions":{"shape":"ResourceSharePermissionList"}, + "nextToken":{"shape":"String"} + } + }, "ListResourcesRequest":{ "type":"structure", "required":["resourceOwner"], @@ -660,6 +850,10 @@ "error":{"httpStatusCode":400}, "exception":true }, + "PermissionArnList":{ + "type":"list", + "member":{"shape":"String"} + }, "Policy":{"type":"string"}, "PolicyList":{ "type":"list", @@ -683,6 +877,23 @@ "type":"list", "member":{"shape":"Principal"} }, + "PromoteResourceShareCreatedFromPolicyRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{ + "shape":"String", + "location":"querystring", + "locationName":"resourceShareArn" + } + } + }, + "PromoteResourceShareCreatedFromPolicyResponse":{ + "type":"structure", + "members":{ + "returnValue":{"shape":"Boolean"} + } + }, "RejectResourceShareInvitationRequest":{ "type":"structure", "required":["resourceShareInvitationArn"], @@ -704,6 +915,7 @@ "arn":{"shape":"String"}, "type":{"shape":"String"}, "resourceShareArn":{"shape":"String"}, + "resourceGroupArn":{"shape":"String"}, "status":{"shape":"ResourceStatus"}, "statusMessage":{"shape":"String"}, "creationTime":{"shape":"DateTime"}, @@ -745,7 +957,8 @@ "statusMessage":{"shape":"String"}, "tags":{"shape":"TagList"}, "creationTime":{"shape":"DateTime"}, - "lastUpdatedTime":{"shape":"DateTime"} + "lastUpdatedTime":{"shape":"DateTime"}, + "featureSet":{"shape":"ResourceShareFeatureSet"} } }, "ResourceShareArnList":{ @@ -787,6 +1000,14 @@ "RESOURCE" ] }, + "ResourceShareFeatureSet":{ + "type":"string", + "enum":[ + "CREATED_FROM_POLICY", + "PROMOTING_TO_STANDARD", + "STANDARD" + ] + }, "ResourceShareInvitation":{ "type":"structure", "members":{ @@ -870,6 +1091,36 @@ "type":"list", "member":{"shape":"ResourceShare"} }, + "ResourceSharePermissionDetail":{ + "type":"structure", + "members":{ + "arn":{"shape":"String"}, + "version":{"shape":"String"}, + "defaultVersion":{"shape":"Boolean"}, + "name":{"shape":"String"}, + "resourceType":{"shape":"String"}, + "permission":{"shape":"String"}, + "creationTime":{"shape":"DateTime"}, + "lastUpdatedTime":{"shape":"DateTime"} + } + }, + "ResourceSharePermissionList":{ + "type":"list", + "member":{"shape":"ResourceSharePermissionSummary"} + }, + "ResourceSharePermissionSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"String"}, + "version":{"shape":"String"}, + "defaultVersion":{"shape":"Boolean"}, + "name":{"shape":"String"}, + "resourceType":{"shape":"String"}, + "status":{"shape":"String"}, + "creationTime":{"shape":"DateTime"}, + "lastUpdatedTime":{"shape":"DateTime"} + } + }, "ResourceShareStatus":{ "type":"string", "enum":[ diff --git a/models/apis/ram/2018-01-04/docs-2.json b/models/apis/ram/2018-01-04/docs-2.json index e8a480ce1a2..f80299b0095 100644 --- a/models/apis/ram/2018-01-04/docs-2.json +++ b/models/apis/ram/2018-01-04/docs-2.json @@ -4,17 +4,23 @@ "operations": { "AcceptResourceShareInvitation": "

Accepts an invitation to a resource share from another AWS account.

", "AssociateResourceShare": "

Associates the specified resource share with the specified principals and resources.

", + "AssociateResourceSharePermission": "

Associates a permission with a resource share.

", "CreateResourceShare": "

Creates a resource share.

", "DeleteResourceShare": "

Deletes the specified resource share.

", "DisassociateResourceShare": "

Disassociates the specified principals or resources from the specified resource share.

", + "DisassociateResourceSharePermission": "

Disassociates an AWS RAM permission from a resource share.

", "EnableSharingWithAwsOrganization": "

Enables resource sharing within your AWS Organization.

The caller must be the master account for the AWS Organization.

", + "GetPermission": "

Gets the contents of an AWS RAM permission in JSON format.

", "GetResourcePolicies": "

Gets the policies for the specified resources that you own and have shared.

", "GetResourceShareAssociations": "

Gets the resources or principals for the resource shares that you own.

", "GetResourceShareInvitations": "

Gets the invitations for resource sharing that you've received.

", "GetResourceShares": "

Gets the resource shares that you own or the resource shares that are shared with you.

", "ListPendingInvitationResources": "

Lists the resources in a resource share that is shared with you but that the invitation is still pending for.

", - "ListPrincipals": "

Lists the principals that you have shared resources with or the principals that have shared resources with you.

", + "ListPermissions": "

Lists the AWS RAM permissions.

", + "ListPrincipals": "

Lists the principals that you have shared resources with or that have shared resources with you.

", + "ListResourceSharePermissions": "

Lists the AWS RAM permissions that are associated with a resource share.

", "ListResources": "

Lists the resources that you added to a resource shares or the resources that are shared with you.

", + "PromoteResourceShareCreatedFromPolicy": "

Resource shares that were created by attaching a policy to a resource are visible only to the resource share owner, and the resource share cannot be modified in AWS RAM.

Use this API action to promote the resource share. When you promote the resource share, it becomes:

", "RejectResourceShareInvitation": "

Rejects an invitation to a resource share from another AWS account.

", "TagResource": "

Adds the specified tags to the specified resource share that you own.

", "UntagResource": "

Removes the specified tags from the specified resource share that you own.

", @@ -31,6 +37,16 @@ "refs": { } }, + "AssociateResourceSharePermissionRequest": { + "base": null, + "refs": { + } + }, + "AssociateResourceSharePermissionResponse": { + "base": null, + "refs": { + } + }, "AssociateResourceShareRequest": { "base": null, "refs": { @@ -44,12 +60,18 @@ "Boolean": { "base": null, "refs": { + "AssociateResourceSharePermissionRequest$replace": "

Indicates whether the permission should replace the permissions that are currently associated with the resource share. Use true to replace the current permissions. Use false to add the permission to the current permission.

", + "AssociateResourceSharePermissionResponse$returnValue": "

Indicates whether the request succeeded.

", "CreateResourceShareRequest$allowExternalPrincipals": "

Indicates whether principals outside your AWS organization can be associated with a resource share.

", "DeleteResourceShareResponse$returnValue": "

Indicates whether the request succeeded.

", + "DisassociateResourceSharePermissionResponse$returnValue": "

Indicates whether the request succeeded.

", "EnableSharingWithAwsOrganizationResponse$returnValue": "

Indicates whether the request succeeded.

", "Principal$external": "

Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

", + "PromoteResourceShareCreatedFromPolicyResponse$returnValue": "

Indicates whether the request succeeded.

", "ResourceShare$allowExternalPrincipals": "

Indicates whether principals outside your AWS organization can be associated with a resource share.

", "ResourceShareAssociation$external": "

Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

", + "ResourceSharePermissionDetail$defaultVersion": "

The identifier for the version of the permission that is set as the default version.

", + "ResourceSharePermissionSummary$defaultVersion": "

The identifier for the version of the permission that is set as the default version.

", "UpdateResourceShareRequest$allowExternalPrincipals": "

Indicates whether principals outside your AWS organization can be associated with a resource share.

" } }, @@ -74,7 +96,11 @@ "ResourceShare$lastUpdatedTime": "

The time when the resource share was last updated.

", "ResourceShareAssociation$creationTime": "

The time when the association was created.

", "ResourceShareAssociation$lastUpdatedTime": "

The time when the association was last updated.

", - "ResourceShareInvitation$invitationTimestamp": "

The date and time when the invitation was sent.

" + "ResourceShareInvitation$invitationTimestamp": "

The date and time when the invitation was sent.

", + "ResourceSharePermissionDetail$creationTime": "

The date and time when the permission was created.

", + "ResourceSharePermissionDetail$lastUpdatedTime": "

The date and time when the permission was last updated.

", + "ResourceSharePermissionSummary$creationTime": "

The date and time when the permission was created.

", + "ResourceSharePermissionSummary$lastUpdatedTime": "

The date and time when the permission was last updated.

" } }, "DeleteResourceShareRequest": { @@ -87,6 +113,16 @@ "refs": { } }, + "DisassociateResourceSharePermissionRequest": { + "base": null, + "refs": { + } + }, + "DisassociateResourceSharePermissionResponse": { + "base": null, + "refs": { + } + }, "DisassociateResourceShareRequest": { "base": null, "refs": { @@ -107,6 +143,16 @@ "refs": { } }, + "GetPermissionRequest": { + "base": null, + "refs": { + } + }, + "GetPermissionResponse": { + "base": null, + "refs": { + } + }, "GetResourcePoliciesRequest": { "base": null, "refs": { @@ -152,6 +198,12 @@ "refs": { } }, + "Integer": { + "base": null, + "refs": { + "GetPermissionRequest$permissionVersion": "

The identifier for the version of the permission.

" + } + }, "InvalidClientTokenException": { "base": "

A client token is not valid.

", "refs": { @@ -192,6 +244,16 @@ "refs": { } }, + "ListPermissionsRequest": { + "base": null, + "refs": { + } + }, + "ListPermissionsResponse": { + "base": null, + "refs": { + } + }, "ListPrincipalsRequest": { "base": null, "refs": { @@ -202,6 +264,16 @@ "refs": { } }, + "ListResourceSharePermissionsRequest": { + "base": null, + "refs": { + } + }, + "ListResourceSharePermissionsResponse": { + "base": null, + "refs": { + } + }, "ListResourcesRequest": { "base": null, "refs": { @@ -225,7 +297,9 @@ "GetResourceShareInvitationsRequest$maxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", "GetResourceSharesRequest$maxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", "ListPendingInvitationResourcesRequest$maxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", + "ListPermissionsRequest$maxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", "ListPrincipalsRequest$maxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", + "ListResourceSharePermissionsRequest$maxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", "ListResourcesRequest$maxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" } }, @@ -239,6 +313,12 @@ "refs": { } }, + "PermissionArnList": { + "base": null, + "refs": { + "CreateResourceShareRequest$permissionArns": "

The ARNs of the permissions to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type.

" + } + }, "Policy": { "base": null, "refs": { @@ -272,6 +352,16 @@ "ListPrincipalsResponse$principals": "

The principals.

" } }, + "PromoteResourceShareCreatedFromPolicyRequest": { + "base": null, + "refs": { + } + }, + "PromoteResourceShareCreatedFromPolicyResponse": { + "base": null, + "refs": { + } + }, "RejectResourceShareInvitationRequest": { "base": null, "refs": { @@ -293,7 +383,7 @@ "refs": { "AssociateResourceShareRequest$resourceArns": "

The Amazon Resource Names (ARN) of the resources.

", "CreateResourceShareRequest$resourceArns": "

The Amazon Resource Names (ARN) of the resources to associate with the resource share.

", - "DisassociateResourceShareRequest$resourceArns": "

The Amazon Resource Names (ARN) of the resources.

", + "DisassociateResourceShareRequest$resourceArns": "

The Amazon Resource Names (ARNs) of the resources.

", "GetResourcePoliciesRequest$resourceArns": "

The Amazon Resource Names (ARN) of the resources.

", "ListResourcesRequest$resourceArns": "

The Amazon Resource Names (ARN) of the resources.

" } @@ -348,7 +438,7 @@ "AssociateResourceShareResponse$resourceShareAssociations": "

Information about the associations.

", "DisassociateResourceShareResponse$resourceShareAssociations": "

Information about the associations.

", "GetResourceShareAssociationsResponse$resourceShareAssociations": "

Information about the associations.

", - "ResourceShareInvitation$resourceShareAssociations": "

To view the resources associated with a pending resource share invitation, use ListPendingInvitationResources.

" + "ResourceShareInvitation$resourceShareAssociations": "

To view the resources associated with a pending resource share invitation, use ListPendingInvitationResources.

" } }, "ResourceShareAssociationStatus": { @@ -361,10 +451,16 @@ "ResourceShareAssociationType": { "base": null, "refs": { - "GetResourceShareAssociationsRequest$associationType": "

The association type.

", + "GetResourceShareAssociationsRequest$associationType": "

The association type. Specify PRINCIPAL to list the principals that are associated with the specified resource share. Specify RESOURCE to list the resources that are associated with the specified resource share.

", "ResourceShareAssociation$associationType": "

The association type.

" } }, + "ResourceShareFeatureSet": { + "base": null, + "refs": { + "ResourceShare$featureSet": "

Indicates how the resource share was created. Possible values include:

" + } + }, "ResourceShareInvitation": { "base": "

Describes an invitation to join a resource share.

", "refs": { @@ -422,6 +518,25 @@ "GetResourceSharesResponse$resourceShares": "

Information about the resource shares.

" } }, + "ResourceSharePermissionDetail": { + "base": "

Information about an AWS RAM permission.

", + "refs": { + "GetPermissionResponse$permission": "

Information about the permission.

" + } + }, + "ResourceSharePermissionList": { + "base": null, + "refs": { + "ListPermissionsResponse$permissions": "

Information about the permissions.

", + "ListResourceSharePermissionsResponse$permissions": "

The permissions associated with the resource share.

" + } + }, + "ResourceSharePermissionSummary": { + "base": "

Information about a permission that is associated with a resource share.

", + "refs": { + "ResourceSharePermissionList$member": null + } + }, "ResourceShareStatus": { "base": null, "refs": { @@ -451,6 +566,10 @@ "AcceptResourceShareInvitationRequest$resourceShareInvitationArn": "

The Amazon Resource Name (ARN) of the invitation.

", "AcceptResourceShareInvitationRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "AcceptResourceShareInvitationResponse$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "AssociateResourceSharePermissionRequest$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", + "AssociateResourceSharePermissionRequest$permissionArn": "

The ARN of the AWS RAM permission to associate with the resource share.

", + "AssociateResourceSharePermissionRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "AssociateResourceSharePermissionResponse$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "AssociateResourceShareRequest$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", "AssociateResourceShareRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "AssociateResourceShareResponse$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", @@ -460,9 +579,14 @@ "DeleteResourceShareRequest$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", "DeleteResourceShareRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "DeleteResourceShareResponse$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "DisassociateResourceSharePermissionRequest$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", + "DisassociateResourceSharePermissionRequest$permissionArn": "

The ARN of the permission to disassociate from the resource share.

", + "DisassociateResourceSharePermissionRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "DisassociateResourceSharePermissionResponse$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "DisassociateResourceShareRequest$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", "DisassociateResourceShareRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "DisassociateResourceShareResponse$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "GetPermissionRequest$permissionArn": "

The ARN of the permission.

", "GetResourcePoliciesRequest$principal": "

The principal.

", "GetResourcePoliciesRequest$nextToken": "

The token for the next page of results.

", "GetResourcePoliciesResponse$nextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -485,26 +609,35 @@ "ListPendingInvitationResourcesRequest$resourceShareInvitationArn": "

The Amazon Resource Name (ARN) of the invitation.

", "ListPendingInvitationResourcesRequest$nextToken": "

The token for the next page of results.

", "ListPendingInvitationResourcesResponse$nextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "ListPermissionsRequest$resourceType": "

Specifies the resource type for which to list permissions. For example, to list only permissions that apply to EC2 subnets, specify ec2:Subnet.

", + "ListPermissionsRequest$nextToken": "

The token for the next page of results.

", + "ListPermissionsResponse$nextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "ListPrincipalsRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource.

", - "ListPrincipalsRequest$resourceType": "

The resource type.

Valid values: route53resolver:ResolverRule | ec2:TransitGateway | ec2:Subnet | license-manager:LicenseConfiguration

", + "ListPrincipalsRequest$resourceType": "

The resource type.

Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster | route53resolver:ResolverRule I resource-groups:Group

", "ListPrincipalsRequest$nextToken": "

The token for the next page of results.

", "ListPrincipalsResponse$nextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "ListResourceSharePermissionsRequest$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", + "ListResourceSharePermissionsRequest$nextToken": "

The token for the next page of results.

", + "ListResourceSharePermissionsResponse$nextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "ListResourcesRequest$principal": "

The principal.

", - "ListResourcesRequest$resourceType": "

The resource type.

Valid values: route53resolver:ResolverRule | ec2:TransitGateway | ec2:Subnet | license-manager:LicenseConfiguration

", + "ListResourcesRequest$resourceType": "

The resource type.

Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster | route53resolver:ResolverRule | resource-groups:Group

", "ListResourcesRequest$nextToken": "

The token for the next page of results.

", "ListResourcesResponse$nextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "MalformedArnException$message": null, "MissingRequiredParameterException$message": null, "OperationNotPermittedException$message": null, + "PermissionArnList$member": null, "Principal$id": "

The ID of the principal.

", "Principal$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", "PrincipalArnOrIdList$member": null, + "PromoteResourceShareCreatedFromPolicyRequest$resourceShareArn": "

The ARN of the resource share to promote.

", "RejectResourceShareInvitationRequest$resourceShareInvitationArn": "

The Amazon Resource Name (ARN) of the invitation.

", "RejectResourceShareInvitationRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "RejectResourceShareInvitationResponse$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "Resource$arn": "

The Amazon Resource Name (ARN) of the resource.

", "Resource$type": "

The resource type.

", "Resource$resourceShareArn": "

The Amazon Resource Name (ARN) of the resource share.

", + "Resource$resourceGroupArn": "

The ARN of the resource group. This value is returned only if the resource is a resource group.

", "Resource$statusMessage": "

A message about the status of the resource.

", "ResourceArnList$member": null, "ResourceArnNotFoundException$message": null, @@ -528,6 +661,16 @@ "ResourceShareInvitationArnNotFoundException$message": null, "ResourceShareInvitationExpiredException$message": null, "ResourceShareLimitExceededException$message": null, + "ResourceSharePermissionDetail$arn": "

The ARN of the permission.

", + "ResourceSharePermissionDetail$version": "

The identifier for the version of the permission.

", + "ResourceSharePermissionDetail$name": "

The name of the permission.

", + "ResourceSharePermissionDetail$resourceType": "

The resource type to which the permission applies.

", + "ResourceSharePermissionDetail$permission": "

The permission's effect and actions in JSON format. The effect indicates whether the actions are allowed or denied. The actions list the API actions to which the principal is granted or denied access.

", + "ResourceSharePermissionSummary$arn": "

The ARN of the permission.

", + "ResourceSharePermissionSummary$version": "

The identifier for the version of the permission.

", + "ResourceSharePermissionSummary$name": "

The name of the permission.

", + "ResourceSharePermissionSummary$resourceType": "

The type of resource to which the permission applies.

", + "ResourceSharePermissionSummary$status": "

The current status of the permission.

", "ServerInternalException$message": null, "ServiceUnavailableException$message": null, "TagLimitExceededException$message": null, diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 33c49c2d045..1cb02680633 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -2463,7 +2463,8 @@ "DBClusterEndpointIdentifier":{"shape":"String"}, "EndpointType":{"shape":"String"}, "StaticMembers":{"shape":"StringList"}, - "ExcludedMembers":{"shape":"StringList"} + "ExcludedMembers":{"shape":"StringList"}, + "Tags":{"shape":"TagList"} } }, "CreateDBClusterMessage":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 2fb87a97ab7..71f53f5d40d 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -85,7 +85,7 @@ "ModifyCurrentDBClusterCapacity": "

Set the capacity of an Aurora Serverless DB cluster to a specific value.

Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity to set the capacity explicitly.

After this call sets the DB cluster capacity, Aurora Serverless can automatically scale the DB cluster based on the cooldown period for scaling up and the cooldown period for scaling down.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

", "ModifyDBCluster": "

Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

", "ModifyDBClusterEndpoint": "

Modifies the properties of an endpoint in an Amazon Aurora DB cluster.

This action only applies to Aurora DB clusters.

", - "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 What Is Amazon Aurora? in the Amazon Aurora User Guide.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified.

This action only applies to Aurora DB clusters.

", + "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 What Is Amazon Aurora? in the Amazon Aurora User Guide.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified.

If the modified DB cluster parameter group is used by an Aurora Serverless cluster, Aurora applies the update immediately. The cluster restart might interrupt your workload. In that case, your application must reopen any connections and retry any transactions that were active when the parameter changes took effect.

This action only applies to Aurora DB clusters.

", "ModifyDBClusterSnapshotAttribute": "

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

This action only applies to Aurora DB clusters.

", "ModifyDBInstance": "

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.

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

MariaDB

Constraints to the amount of storage for each storage type are the following:

PostgreSQL

Constraints to the amount of storage for each storage type are the following:

Oracle

Constraints to the amount of storage for each storage type are the following:

SQL Server

Constraints to the amount of storage for each storage type are the following:

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

Default: 1

Constraints:

", "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 Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: Must be a multiple between 1 and 50 of the storage amount for the DB instance.

", + "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 Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must be a multiple between .5 and 50 of the storage amount for the DB instance. For SQL Server DB instances, must be a multiple between 1 and 50 of the storage amount for the DB instance.

", "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 in the Amazon Aurora User Guide.

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

", @@ -3069,7 +3069,7 @@ "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier": "

The identifier of the event source to be added.

Constraints:

", "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, hardware-maintenance

", + "ApplyPendingMaintenanceActionMessage$ApplyAction": "

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation

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

", "AttributeValueList$member": null, "AuthorizeDBSecurityGroupIngressMessage$DBSecurityGroupName": "

The name of the DB security group to add authorization to.

", @@ -3649,7 +3649,7 @@ "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. Valid actions are system-update, db-upgrade, and hardware-maintenance.

", + "PendingMaintenanceAction$Action": "

The type of pending maintenance action that is available for the resource. Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.

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

", @@ -3955,6 +3955,7 @@ "CopyDBParameterGroupMessage$Tags": null, "CopyDBSnapshotMessage$Tags": null, "CopyOptionGroupMessage$Tags": null, + "CreateDBClusterEndpointMessage$Tags": "

The tags to be assigned to the Amazon RDS resource.

", "CreateDBClusterMessage$Tags": "

Tags to assign to the DB cluster.

", "CreateDBClusterParameterGroupMessage$Tags": "

Tags to assign to the DB cluster parameter group.

", "CreateDBClusterSnapshotMessage$Tags": "

The tags to be assigned to the DB cluster snapshot.

", diff --git a/models/apis/redshift/2012-12-01/api-2.json b/models/apis/redshift/2012-12-01/api-2.json index 01efc05cd98..e0ef0d6bc48 100644 --- a/models/apis/redshift/2012-12-01/api-2.json +++ b/models/apis/redshift/2012-12-01/api-2.json @@ -314,6 +314,26 @@ {"shape":"InvalidTagFault"} ] }, + "CreateScheduledAction":{ + "name":"CreateScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScheduledActionMessage"}, + "output":{ + "shape":"ScheduledAction", + "resultWrapper":"CreateScheduledActionResult" + }, + "errors":[ + {"shape":"ScheduledActionAlreadyExistsFault"}, + {"shape":"ScheduledActionQuotaExceededFault"}, + {"shape":"ScheduledActionTypeUnsupportedFault"}, + {"shape":"InvalidScheduleFault"}, + {"shape":"InvalidScheduledActionFault"}, + {"shape":"UnauthorizedOperation"} + ] + }, "CreateSnapshotCopyGrant":{ "name":"CreateSnapshotCopyGrant", "http":{ @@ -474,6 +494,18 @@ {"shape":"HsmConfigurationNotFoundFault"} ] }, + "DeleteScheduledAction":{ + "name":"DeleteScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScheduledActionMessage"}, + "errors":[ + {"shape":"ScheduledActionNotFoundFault"}, + {"shape":"UnauthorizedOperation"} + ] + }, "DeleteSnapshotCopyGrant":{ "name":"DeleteSnapshotCopyGrant", "http":{ @@ -774,7 +806,9 @@ }, "errors":[ {"shape":"ClusterSnapshotNotFoundFault"}, - {"shape":"InvalidClusterSnapshotStateFault"} + {"shape":"InvalidClusterSnapshotStateFault"}, + {"shape":"ClusterNotFoundFault"}, + {"shape":"AccessToSnapshotDeniedFault"} ] }, "DescribeOrderableClusterOptions":{ @@ -838,6 +872,22 @@ {"shape":"ResizeNotFoundFault"} ] }, + "DescribeScheduledActions":{ + "name":"DescribeScheduledActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScheduledActionsMessage"}, + "output":{ + "shape":"ScheduledActionsMessage", + "resultWrapper":"DescribeScheduledActionsResult" + }, + "errors":[ + {"shape":"ScheduledActionNotFoundFault"}, + {"shape":"UnauthorizedOperation"} + ] + }, "DescribeSnapshotCopyGrants":{ "name":"DescribeSnapshotCopyGrants", "http":{ @@ -1192,6 +1242,25 @@ {"shape":"InvalidSubscriptionStateFault"} ] }, + "ModifyScheduledAction":{ + "name":"ModifyScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyScheduledActionMessage"}, + "output":{ + "shape":"ScheduledAction", + "resultWrapper":"ModifyScheduledActionResult" + }, + "errors":[ + {"shape":"ScheduledActionNotFoundFault"}, + {"shape":"ScheduledActionTypeUnsupportedFault"}, + {"shape":"InvalidScheduleFault"}, + {"shape":"InvalidScheduledActionFault"}, + {"shape":"UnauthorizedOperation"} + ] + }, "ModifySnapshotCopyRetentionPeriod":{ "name":"ModifySnapshotCopyRetentionPeriod", "http":{ @@ -1471,7 +1540,10 @@ }, "ActionType":{ "type":"string", - "enum":["restore-cluster"] + "enum":[ + "restore-cluster", + "recommend-node-config" + ] }, "AssociatedClusterList":{ "type":"list", @@ -2370,6 +2442,25 @@ "HsmConfiguration":{"shape":"HsmConfiguration"} } }, + "CreateScheduledActionMessage":{ + "type":"structure", + "required":[ + "ScheduledActionName", + "TargetAction", + "Schedule", + "IamRole" + ], + "members":{ + "ScheduledActionName":{"shape":"String"}, + "TargetAction":{"shape":"ScheduledActionType"}, + "Schedule":{"shape":"String"}, + "IamRole":{"shape":"String"}, + "ScheduledActionDescription":{"shape":"String"}, + "StartTime":{"shape":"TStamp"}, + "EndTime":{"shape":"TStamp"}, + "Enable":{"shape":"BooleanOptional"} + } + }, "CreateSnapshotCopyGrantMessage":{ "type":"structure", "required":["SnapshotCopyGrantName"], @@ -2535,6 +2626,13 @@ "HsmConfigurationIdentifier":{"shape":"String"} } }, + "DeleteScheduledActionMessage":{ + "type":"structure", + "required":["ScheduledActionName"], + "members":{ + "ScheduledActionName":{"shape":"String"} + } + }, "DeleteSnapshotCopyGrantMessage":{ "type":"structure", "required":["SnapshotCopyGrantName"], @@ -2755,6 +2853,7 @@ "required":["ActionType"], "members":{ "ActionType":{"shape":"ActionType"}, + "ClusterIdentifier":{"shape":"String"}, "SnapshotIdentifier":{"shape":"String"}, "OwnerAccount":{"shape":"String"}, "Filters":{ @@ -2797,6 +2896,19 @@ "ClusterIdentifier":{"shape":"String"} } }, + "DescribeScheduledActionsMessage":{ + "type":"structure", + "members":{ + "ScheduledActionName":{"shape":"String"}, + "TargetActionType":{"shape":"ScheduledActionTypeValues"}, + "StartTime":{"shape":"TStamp"}, + "EndTime":{"shape":"TStamp"}, + "Active":{"shape":"BooleanOptional"}, + "Filters":{"shape":"ScheduledActionFilterList"}, + "Marker":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"} + } + }, "DescribeSnapshotCopyGrantsMessage":{ "type":"structure", "members":{ @@ -3469,6 +3581,17 @@ }, "exception":true }, + "InvalidScheduledActionFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidScheduledAction", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSnapshotCopyGrantStateFault":{ "type":"structure", "members":{ @@ -3567,6 +3690,13 @@ "UpdateTargets":{"shape":"EligibleTracksToUpdateList"} } }, + "Mode":{ + "type":"string", + "enum":[ + "standard", + "high-performance" + ] + }, "ModifyClusterDbRevisionMessage":{ "type":"structure", "required":[ @@ -3723,6 +3853,20 @@ "EventSubscription":{"shape":"EventSubscription"} } }, + "ModifyScheduledActionMessage":{ + "type":"structure", + "required":["ScheduledActionName"], + "members":{ + "ScheduledActionName":{"shape":"String"}, + "TargetAction":{"shape":"ScheduledActionType"}, + "Schedule":{"shape":"String"}, + "IamRole":{"shape":"String"}, + "ScheduledActionDescription":{"shape":"String"}, + "StartTime":{"shape":"TStamp"}, + "EndTime":{"shape":"TStamp"}, + "Enable":{"shape":"BooleanOptional"} + } + }, "ModifySnapshotCopyRetentionPeriodMessage":{ "type":"structure", "required":[ @@ -3757,7 +3901,8 @@ "members":{ "NodeType":{"shape":"String"}, "NumberOfNodes":{"shape":"Integer"}, - "EstimatedDiskUtilizationPercent":{"shape":"DoubleOptional"} + "EstimatedDiskUtilizationPercent":{"shape":"DoubleOptional"}, + "Mode":{"shape":"Mode"} } }, "NodeConfigurationOptionList":{ @@ -3790,7 +3935,8 @@ "enum":[ "NodeType", "NumberOfNodes", - "EstimatedDiskUtilizationPercent" + "EstimatedDiskUtilizationPercent", + "Mode" ] }, "NodeConfigurationOptionsMessage":{ @@ -4364,6 +4510,127 @@ "FAILED" ] }, + "ScheduledAction":{ + "type":"structure", + "members":{ + "ScheduledActionName":{"shape":"String"}, + "TargetAction":{"shape":"ScheduledActionType"}, + "Schedule":{"shape":"String"}, + "IamRole":{"shape":"String"}, + "ScheduledActionDescription":{"shape":"String"}, + "State":{"shape":"ScheduledActionState"}, + "NextInvocations":{"shape":"ScheduledActionTimeList"}, + "StartTime":{"shape":"TStamp"}, + "EndTime":{"shape":"TStamp"} + } + }, + "ScheduledActionAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ScheduledActionAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduledActionFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{"shape":"ScheduledActionFilterName"}, + "Values":{"shape":"ValueStringList"} + } + }, + "ScheduledActionFilterList":{ + "type":"list", + "member":{ + "shape":"ScheduledActionFilter", + "locationName":"ScheduledActionFilter" + } + }, + "ScheduledActionFilterName":{ + "type":"string", + "enum":[ + "cluster-identifier", + "iam-role" + ] + }, + "ScheduledActionList":{ + "type":"list", + "member":{ + "shape":"ScheduledAction", + "locationName":"ScheduledAction" + } + }, + "ScheduledActionNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ScheduledActionNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduledActionQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ScheduledActionQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduledActionState":{ + "type":"string", + "enum":[ + "ACTIVE", + "DISABLED" + ] + }, + "ScheduledActionTimeList":{ + "type":"list", + "member":{ + "shape":"TStamp", + "locationName":"ScheduledActionTime" + } + }, + "ScheduledActionType":{ + "type":"structure", + "members":{ + "ResizeCluster":{"shape":"ResizeClusterMessage"} + } + }, + "ScheduledActionTypeUnsupportedFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ScheduledActionTypeUnsupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduledActionTypeValues":{ + "type":"string", + "enum":["ResizeCluster"] + }, + "ScheduledActionsMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "ScheduledActions":{"shape":"ScheduledActionList"} + } + }, "ScheduledSnapshotTimeList":{ "type":"list", "member":{ @@ -4650,7 +4917,8 @@ "cluster", "cluster-parameter-group", "cluster-security-group", - "cluster-snapshot" + "cluster-snapshot", + "scheduled-action" ] }, "String":{"type":"string"}, diff --git a/models/apis/redshift/2012-12-01/docs-2.json b/models/apis/redshift/2012-12-01/docs-2.json index 0332884e587..694dfd728e7 100644 --- a/models/apis/redshift/2012-12-01/docs-2.json +++ b/models/apis/redshift/2012-12-01/docs-2.json @@ -17,6 +17,7 @@ "CreateEventSubscription": "

Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the source type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and Backup categories for the specified clusters.

If you specify both the source type and source IDs, such as source type = cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your AWS account. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift sources belonging to your AWS account. You must specify a source type if you specify a source ID.

", "CreateHsmClientCertificate": "

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.

", + "CreateScheduledAction": "

Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For example, you can create a schedule of when to run the ResizeCluster API operation.

", "CreateSnapshotCopyGrant": "

Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied snapshots in a destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

", "CreateSnapshotSchedule": "

Creates a new snapshot schedule.

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

", @@ -28,6 +29,7 @@ "DeleteEventSubscription": "

Deletes an Amazon Redshift event notification subscription.

", "DeleteHsmClientCertificate": "

Deletes the specified HSM client certificate.

", "DeleteHsmConfiguration": "

Deletes the specified Amazon Redshift HSM configuration.

", + "DeleteScheduledAction": "

Deletes a scheduled action.

", "DeleteSnapshotCopyGrant": "

Deletes the specified snapshot copy grant.

", "DeleteSnapshotSchedule": "

Deletes a snapshot schedule.

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

", @@ -53,6 +55,7 @@ "DescribeReservedNodeOfferings": "

Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

", "DescribeReservedNodes": "

Returns the descriptions of the reserved nodes.

", "DescribeResize": "

Returns information about the last resize operation for the specified cluster. If no resize operation has ever been initiated for the specified cluster, a HTTP 404 error is returned. If a resize operation was initiated and completed, the status of the resize remains as SUCCEEDED until the next resize.

A resize operation can be requested using ModifyCluster and specifying a different number or type of nodes for the cluster.

", + "DescribeScheduledActions": "

Describes properties of scheduled actions.

", "DescribeSnapshotCopyGrants": "

Returns a list of snapshot copy grants owned by the AWS account in the destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

", "DescribeSnapshotSchedules": "

Returns a list of snapshot schedules.

", "DescribeStorage": "

Returns the total amount of snapshot usage and provisioned storage in megabytes.

", @@ -73,6 +76,7 @@ "ModifyClusterSnapshotSchedule": "

Modifies a snapshot schedule for a cluster.

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

", "ModifyEventSubscription": "

Modifies an existing Amazon Redshift event notification subscription.

", + "ModifyScheduledAction": "

Modify a scheduled action.

", "ModifySnapshotCopyRetentionPeriod": "

Modifies the number of days to retain snapshots in the destination AWS Region after they are copied from the source AWS Region. By default, this operation only changes the retention period of copied automated snapshots. The retention periods for both new and existing copied automated snapshots are updated with the new retention period. You can set the manual option to change only the retention periods of copied manual snapshots. If you set this option, only newly copied manual snapshots have the new retention period.

", "ModifySnapshotSchedule": "

Modifies a snapshot schedule. Any schedule associated with a cluster is modified asynchronously.

", "PurchaseReservedNodeOffering": "

Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

", @@ -127,7 +131,7 @@ "ActionType": { "base": null, "refs": { - "DescribeNodeConfigurationOptionsMessage$ActionType": "

The action type to evaluate for possible node configurations. Currently, it must be \"restore-cluster\".

" + "DescribeNodeConfigurationOptionsMessage$ActionType": "

The action type to evaluate for possible node configurations. Specify \"restore-cluster\" to get configuration combinations based on an existing snapshot. Specify \"recommend-node-config\" to get configuration recommendations based on an existing cluster or snapshot.

" } }, "AssociatedClusterList": { @@ -279,8 +283,10 @@ "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, and set to false to create the subscription but not activate it.

", + "CreateScheduledActionMessage$Enable": "

If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about state of the scheduled action, see ScheduledAction.

", "CreateSnapshotScheduleMessage$DryRun": "

", "DescribeClusterSnapshotsMessage$ClusterExists": "

A value that indicates whether to return snapshots only for an existing cluster. You can perform table-level restore only by using a snapshot of an existing cluster, that is, a cluster that has not been deleted. Values for this parameter work as follows:

", + "DescribeScheduledActionsMessage$Active": "

If true, retrieve only active scheduled actions. If false, retrieve only disabled scheduled actions.

", "GetClusterCredentialsMessage$AutoCreate": "

Create a database user with the name specified for the user named in DbUser if one does not exist.

", "ModifyClusterMaintenanceMessage$DeferMaintenance": "

A boolean indicating whether to enable the deferred maintenance window.

", "ModifyClusterMessage$AllowVersionUpgrade": "

If true, major version upgrades will be applied automatically to the cluster during the maintenance window.

Default: false

", @@ -289,6 +295,7 @@ "ModifyClusterMessage$Encrypted": "

Indicates whether the cluster is encrypted. If the cluster is encrypted and you provide a value for the KmsKeyId parameter, we will encrypt the cluster with the provided KmsKeyId. If you don't provide a KmsKeyId, we will encrypt with the default key. In the China region we will use legacy encryption if you specify that the cluster is encrypted.

", "ModifyClusterSnapshotScheduleMessage$DisassociateSchedule": "

A boolean to indicate whether to remove the assoiciation between the cluster and the schedule.

", "ModifyEventSubscriptionMessage$Enabled": "

A Boolean value indicating if the subscription is enabled. true indicates the subscription is enabled

", + "ModifyScheduledActionMessage$Enable": "

A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.

", "PendingModifiedValues$PubliclyAccessible": "

The pending or in-progress change of the ability to connect to the cluster from the public network.

", "PendingModifiedValues$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

", "ResizeClusterMessage$Classic": "

A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false, the resize type is elastic.

", @@ -697,6 +704,11 @@ "refs": { } }, + "CreateScheduledActionMessage": { + "base": null, + "refs": { + } + }, "CreateSnapshotCopyGrantMessage": { "base": "

The result of the CreateSnapshotCopyGrant action.

", "refs": { @@ -809,6 +821,11 @@ "refs": { } }, + "DeleteScheduledActionMessage": { + "base": null, + "refs": { + } + }, "DeleteSnapshotCopyGrantMessage": { "base": "

The result of the DeleteSnapshotCopyGrant action.

", "refs": { @@ -949,6 +966,11 @@ "refs": { } }, + "DescribeScheduledActionsMessage": { + "base": null, + "refs": { + } + }, "DescribeSnapshotCopyGrantsMessage": { "base": "

The result of the DescribeSnapshotCopyGrants action.

", "refs": { @@ -999,7 +1021,7 @@ "ReservedNode$UsagePrice": "

The hourly rate Amazon Redshift charges you for this reserved node.

", "ReservedNodeOffering$FixedPrice": "

The upfront fixed charge you will pay to purchase the specific reserved node offering.

", "ReservedNodeOffering$UsagePrice": "

The rate you are charged for each hour the cluster that is using the offering is running.

", - "RestoreStatus$CurrentRestoreRateInMegaBytesPerSecond": "

The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup.

", + "RestoreStatus$CurrentRestoreRateInMegaBytesPerSecond": "

The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup. This field is only updated when you restore to DC2 and DS2 node types.

", "Snapshot$TotalBackupSizeInMegaBytes": "

The size of the complete set of backup data that would be used to restore the cluster.

", "Snapshot$ActualIncrementalBackupSizeInMegaBytes": "

The size of the incremental backup.

", "Snapshot$BackupProgressInMegaBytes": "

The number of megabytes that have been transferred to the snapshot backup.

", @@ -1335,6 +1357,7 @@ "DescribeOrderableClusterOptionsMessage$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.

", "DescribeReservedNodeOfferingsMessage$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.

", "DescribeReservedNodesMessage$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.

", + "DescribeScheduledActionsMessage$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.

", "DescribeSnapshotCopyGrantsMessage$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.

", "DescribeSnapshotSchedulesMessage$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.

", "DescribeTableRestoreStatusMessage$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.

", @@ -1446,6 +1469,11 @@ "refs": { } }, + "InvalidScheduledActionFault": { + "base": "

The scheduled action is not valid.

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

The snapshot copy grant can't be deleted because it is used by one or more clusters.

", "refs": { @@ -1492,10 +1520,10 @@ "ClusterSnapshotCopyStatus$RetentionPeriod": "

The number of days that automated snapshots are retained in the destination region after they are copied from a source region.

", "DataTransferProgress$TotalDataInMegaBytes": "

Describes the total amount of data to be transfered in megabytes.

", "DataTransferProgress$DataTransferredInMegaBytes": "

Describes the total amount of data that has been transfered in MB's.

", - "RestoreStatus$SnapshotSizeInMegaBytes": "

The size of the set of snapshot data used to restore the cluster.

", - "RestoreStatus$ProgressInMegaBytes": "

The number of megabytes that have been transferred from snapshot storage.

", - "RestoreStatus$ElapsedTimeInSeconds": "

The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish.

", - "RestoreStatus$EstimatedTimeToCompletionInSeconds": "

The estimate of the time remaining before the restore will complete. Returns 0 for a completed restore.

", + "RestoreStatus$SnapshotSizeInMegaBytes": "

The size of the set of snapshot data used to restore the cluster. This field is only updated when you restore to DC2 and DS2 node types.

", + "RestoreStatus$ProgressInMegaBytes": "

The number of megabytes that have been transferred from snapshot storage. This field is only updated when you restore to DC2 and DS2 node types.

", + "RestoreStatus$ElapsedTimeInSeconds": "

The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish. This field is only updated when you restore to DC2 and DS2 node types.

", + "RestoreStatus$EstimatedTimeToCompletionInSeconds": "

The estimate of the time remaining before the restore will complete. Returns 0 for a completed restore. This field is only updated when you restore to DC2 and DS2 node types.

", "Snapshot$EstimatedSecondsToCompletion": "

The estimate of the time remaining before the snapshot backup will complete. Returns 0 for a completed backup.

", "Snapshot$ElapsedTimeInSeconds": "

The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed backup to finish.

" } @@ -1519,6 +1547,12 @@ "TrackList$member": null } }, + "Mode": { + "base": null, + "refs": { + "NodeConfigurationOption$Mode": "

The category of the node configuration recommendation.

" + } + }, "ModifyClusterDbRevisionMessage": { "base": null, "refs": { @@ -1599,6 +1633,11 @@ "refs": { } }, + "ModifyScheduledActionMessage": { + "base": null, + "refs": { + } + }, "ModifySnapshotCopyRetentionPeriodMessage": { "base": "

", "refs": { @@ -1831,6 +1870,7 @@ "ResizeClusterMessage": { "base": null, "refs": { + "ScheduledActionType$ResizeCluster": "

An action that runs a ResizeCluster API operation.

" } }, "ResizeClusterResult": { @@ -1968,6 +2008,87 @@ "ClusterAssociatedToSchedule$ScheduleAssociationState": "

" } }, + "ScheduledAction": { + "base": "

Describes a scheduled action. You can use a scheduled action to trigger some Amazon Redshift API operations on a schedule. For information about which API operations can be scheduled, see ScheduledActionType.

", + "refs": { + "ScheduledActionList$member": null + } + }, + "ScheduledActionAlreadyExistsFault": { + "base": "

The scheduled action already exists.

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

A set of elements to filter the returned scheduled actions.

", + "refs": { + "ScheduledActionFilterList$member": null + } + }, + "ScheduledActionFilterList": { + "base": null, + "refs": { + "DescribeScheduledActionsMessage$Filters": "

List of scheduled action filters.

" + } + }, + "ScheduledActionFilterName": { + "base": null, + "refs": { + "ScheduledActionFilter$Name": "

The type of element to filter.

" + } + }, + "ScheduledActionList": { + "base": null, + "refs": { + "ScheduledActionsMessage$ScheduledActions": "

List of retrieved scheduled actions.

" + } + }, + "ScheduledActionNotFoundFault": { + "base": "

The scheduled action cannot be found.

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

The quota for scheduled actions exceeded.

", + "refs": { + } + }, + "ScheduledActionState": { + "base": null, + "refs": { + "ScheduledAction$State": "

The state of the scheduled action. For example, DISABLED.

" + } + }, + "ScheduledActionTimeList": { + "base": null, + "refs": { + "ScheduledAction$NextInvocations": "

List of times when the scheduled action will run.

" + } + }, + "ScheduledActionType": { + "base": "

The action type that specifies an Amazon Redshift API operation that is supported by the Amazon Redshift scheduler.

", + "refs": { + "CreateScheduledActionMessage$TargetAction": "

A JSON format string of the Amazon Redshift API operation with input parameters. For more information about this parameter, see ScheduledAction.

", + "ModifyScheduledActionMessage$TargetAction": "

A modified JSON format of the scheduled action. For more information about this parameter, see ScheduledAction.

", + "ScheduledAction$TargetAction": "

A JSON format string of the Amazon Redshift API operation with input parameters.

\"{\\\"ResizeCluster\\\":{\\\"NodeType\\\":\\\"ds2.8xlarge\\\",\\\"ClusterIdentifier\\\":\\\"my-test-cluster\\\",\\\"NumberOfNodes\\\":3}}\".

" + } + }, + "ScheduledActionTypeUnsupportedFault": { + "base": "

The action type specified for a scheduled action is not supported.

", + "refs": { + } + }, + "ScheduledActionTypeValues": { + "base": null, + "refs": { + "DescribeScheduledActionsMessage$TargetActionType": "

The type of the scheduled actions to retrieve.

" + } + }, + "ScheduledActionsMessage": { + "base": null, + "refs": { + } + }, "ScheduledSnapshotTimeList": { "base": null, "refs": { @@ -2261,6 +2382,10 @@ "CreateHsmConfigurationMessage$HsmPartitionName": "

The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.

", "CreateHsmConfigurationMessage$HsmPartitionPassword": "

The password required to access the HSM partition.

", "CreateHsmConfigurationMessage$HsmServerPublicCertificate": "

The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.

", + "CreateScheduledActionMessage$ScheduledActionName": "

The name of the scheduled action. The name must be unique within an account. For more information about this parameter, see ScheduledAction.

", + "CreateScheduledActionMessage$Schedule": "

The schedule in at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.

", + "CreateScheduledActionMessage$IamRole": "

The IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction.

", + "CreateScheduledActionMessage$ScheduledActionDescription": "

The description of the scheduled action.

", "CreateSnapshotCopyGrantMessage$SnapshotCopyGrantName": "

The name of the snapshot copy grant. This name must be unique in the region for the AWS account.

Constraints:

", "CreateSnapshotCopyGrantMessage$KmsKeyId": "

The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift permission. If no key is specified, the default key is used.

", "CreateSnapshotScheduleMessage$ScheduleIdentifier": "

A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed for the identifier.

", @@ -2281,6 +2406,7 @@ "DeleteEventSubscriptionMessage$SubscriptionName": "

The name of the Amazon Redshift event notification subscription to be deleted.

", "DeleteHsmClientCertificateMessage$HsmClientCertificateIdentifier": "

The identifier of the HSM client certificate to be deleted.

", "DeleteHsmConfigurationMessage$HsmConfigurationIdentifier": "

The identifier of the Amazon Redshift HSM configuration to be deleted.

", + "DeleteScheduledActionMessage$ScheduledActionName": "

The name of the scheduled action to delete.

", "DeleteSnapshotCopyGrantMessage$SnapshotCopyGrantName": "

The name of the snapshot copy grant to delete.

", "DeleteSnapshotScheduleMessage$ScheduleIdentifier": "

A unique identifier of the snapshot schedule 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.

", @@ -2319,6 +2445,7 @@ "DescribeHsmConfigurationsMessage$HsmConfigurationIdentifier": "

The identifier of a specific Amazon Redshift HSM configuration to be described. If no identifier is specified, information is returned for all HSM configurations owned by your AWS customer account.

", "DescribeHsmConfigurationsMessage$Marker": "

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeHsmConfigurations request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", "DescribeLoggingStatusMessage$ClusterIdentifier": "

The identifier of the cluster from which to get the logging status.

Example: examplecluster

", + "DescribeNodeConfigurationOptionsMessage$ClusterIdentifier": "

The identifier of the cluster to evaluate for possible node configurations.

", "DescribeNodeConfigurationOptionsMessage$SnapshotIdentifier": "

The identifier of the snapshot to evaluate for possible node configurations.

", "DescribeNodeConfigurationOptionsMessage$OwnerAccount": "

The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.

", "DescribeNodeConfigurationOptionsMessage$Marker": "

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeNodeConfigurationOptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", @@ -2330,6 +2457,8 @@ "DescribeReservedNodesMessage$ReservedNodeId": "

Identifier for the node reservation.

", "DescribeReservedNodesMessage$Marker": "

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeReservedNodes request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", "DescribeResizeMessage$ClusterIdentifier": "

The unique identifier of a cluster whose resize progress you are requesting. This parameter is case-sensitive.

By default, resize operations for all clusters defined for an AWS account are returned.

", + "DescribeScheduledActionsMessage$ScheduledActionName": "

The name of the scheduled action to retrieve.

", + "DescribeScheduledActionsMessage$Marker": "

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeScheduledActions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", "DescribeSnapshotCopyGrantsMessage$SnapshotCopyGrantName": "

The name of the snapshot copy grant.

", "DescribeSnapshotCopyGrantsMessage$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.

", "DescribeSnapshotSchedulesMessage$ClusterIdentifier": "

The unique identifier for the cluster whose snapshot schedules you want to view.

", @@ -2429,6 +2558,10 @@ "ModifyEventSubscriptionMessage$SnsTopicArn": "

The Amazon Resource Name (ARN) of the SNS topic to be used by the event notification subscription.

", "ModifyEventSubscriptionMessage$SourceType": "

The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs.

Valid values: cluster, cluster-parameter-group, cluster-security-group, and cluster-snapshot.

", "ModifyEventSubscriptionMessage$Severity": "

Specifies the Amazon Redshift event severity to be published by the event notification subscription.

Values: ERROR, INFO

", + "ModifyScheduledActionMessage$ScheduledActionName": "

The name of the scheduled action to modify.

", + "ModifyScheduledActionMessage$Schedule": "

A modified schedule in either at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.

", + "ModifyScheduledActionMessage$IamRole": "

A different IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction.

", + "ModifyScheduledActionMessage$ScheduledActionDescription": "

A modified description of the scheduled action.

", "ModifySnapshotCopyRetentionPeriodMessage$ClusterIdentifier": "

The unique identifier of the cluster for which you want to change the retention period for either automated or manual snapshots that are copied to a destination AWS Region.

Constraints: Must be the valid name of an existing cluster that has cross-region snapshot copy enabled.

", "ModifySnapshotScheduleMessage$ScheduleIdentifier": "

A unique alphanumeric identifier of the schedule to modify.

", "NodeConfigurationOption$NodeType": "

The node type, such as, \"ds2.8xlarge\".

", @@ -2515,6 +2648,11 @@ "RevokeSnapshotAccessMessage$AccountWithRestoreAccess": "

The identifier of the AWS customer account that can no longer restore the specified snapshot.

", "RotateEncryptionKeyMessage$ClusterIdentifier": "

The unique identifier of the cluster that you want to rotate the encryption keys for.

Constraints: Must be the name of valid cluster that has encryption enabled.

", "ScheduleDefinitionList$member": null, + "ScheduledAction$ScheduledActionName": "

The name of the scheduled action.

", + "ScheduledAction$Schedule": "

The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.

Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)\". For example, \"at(2016-03-04T17:27:00)\".

Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)\". For example, \"cron(0, 10, *, *, MON, *)\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.

", + "ScheduledAction$IamRole": "

The IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "ScheduledAction$ScheduledActionDescription": "

The description of the scheduled action.

", + "ScheduledActionsMessage$Marker": "

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeScheduledActions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", "Snapshot$SnapshotIdentifier": "

The snapshot identifier that is provided in the request.

", "Snapshot$ClusterIdentifier": "

The identifier of the cluster for which the snapshot was taken.

", "Snapshot$Status": "

The snapshot status. The value of the status depends on the API operation used:

", @@ -2654,20 +2792,29 @@ "Cluster$NextMaintenanceWindowStartTime": "

The date and time in UTC when system maintenance can begin.

", "ClusterCredentials$Expiration": "

The date and time the password in DbPassword expires.

", "ClusterDbRevision$DatabaseRevisionReleaseDate": "

The date on which the database revision was released.

", + "CreateScheduledActionMessage$StartTime": "

The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger. For more information about this parameter, see ScheduledAction.

", + "CreateScheduledActionMessage$EndTime": "

The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger. For more information about this parameter, see ScheduledAction.

", "DeferredMaintenanceWindow$DeferMaintenanceStartTime": "

A timestamp for the beginning of the time period when we defer maintenance.

", "DeferredMaintenanceWindow$DeferMaintenanceEndTime": "

A timestamp for the end of the time period when we defer maintenance.

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

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

", + "DescribeScheduledActionsMessage$StartTime": "

The start time in UTC of the scheduled actions to retrieve. Only active scheduled actions that have invocations after this time are retrieved.

", + "DescribeScheduledActionsMessage$EndTime": "

The end time in UTC of the scheduled action to retrieve. Only active scheduled actions that have invocations before this time are retrieved.

", "Event$Date": "

The date and time of the event.

", "EventSubscription$SubscriptionCreationTime": "

The date and time the Amazon Redshift event notification subscription was created.

", "LoggingStatus$LastSuccessfulDeliveryTime": "

The last time that logs were delivered.

", "LoggingStatus$LastFailureTime": "

The last time when logs failed to be delivered.

", "ModifyClusterMaintenanceMessage$DeferMaintenanceStartTime": "

A timestamp indicating the start time for the deferred maintenance window.

", "ModifyClusterMaintenanceMessage$DeferMaintenanceEndTime": "

A timestamp indicating end time for the deferred maintenance window. If you specify an end time, you can't specify a duration.

", + "ModifyScheduledActionMessage$StartTime": "

A modified start time of the scheduled action. For more information about this parameter, see ScheduledAction.

", + "ModifyScheduledActionMessage$EndTime": "

A modified end time of the scheduled action. For more information about this parameter, see ScheduledAction.

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

", + "ScheduledAction$StartTime": "

The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

", + "ScheduledAction$EndTime": "

The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

", + "ScheduledActionTimeList$member": null, "ScheduledSnapshotTimeList$member": null, "Snapshot$SnapshotCreateTime": "

The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

", "Snapshot$ClusterCreateTime": "

The time (UTC) when the cluster was originally created.

", @@ -2839,7 +2986,8 @@ "ValueStringList": { "base": null, "refs": { - "NodeConfigurationOptionsFilter$Values": "

List of values. Compare Name using Operator to Values. If filter Name is NumberOfNodes, then values can range from 0 to 200. If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. For example, filter NumberOfNodes (name) GT (operator) 3 (values).

" + "NodeConfigurationOptionsFilter$Values": "

List of values. Compare Name using Operator to Values. If filter Name is NumberOfNodes, then values can range from 0 to 200. If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. For example, filter NumberOfNodes (name) GT (operator) 3 (values).

", + "ScheduledActionFilter$Values": "

List of values. Compare if the value (of type defined by Name) equals an item in the list of scheduled actions.

" } }, "VpcSecurityGroupIdList": { diff --git a/models/apis/redshift/2012-12-01/paginators-1.json b/models/apis/redshift/2012-12-01/paginators-1.json index 165f7f74ff0..e9690c816d8 100644 --- a/models/apis/redshift/2012-12-01/paginators-1.json +++ b/models/apis/redshift/2012-12-01/paginators-1.json @@ -95,6 +95,12 @@ "limit_key": "MaxRecords", "output_token": "Marker", "result_key": "ReservedNodes" + }, + "DescribeScheduledActions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ScheduledActions" } } } \ No newline at end of file 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 5d0253bccd3..883ed0558ed 100644 --- a/models/apis/runtime.lex/2016-11-28/api-2.json +++ b/models/apis/runtime.lex/2016-11-28/api-2.json @@ -496,7 +496,12 @@ "location":"header", "locationName":"x-amz-lex-input-transcript" }, - "audioStream":{"shape":"BlobStream"} + "audioStream":{"shape":"BlobStream"}, + "sessionId":{ + "shape":"String", + "location":"header", + "locationName":"x-amz-lex-session-id" + } }, "payload":"audioStream" }, @@ -540,7 +545,8 @@ "messageFormat":{"shape":"MessageFormatType"}, "dialogState":{"shape":"DialogState"}, "slotToElicit":{"shape":"String"}, - "responseCard":{"shape":"ResponseCard"} + "responseCard":{"shape":"ResponseCard"}, + "sessionId":{"shape":"String"} } }, "PutSessionRequest":{ 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 891ec82b0f6..b1f44defd10 100644 --- a/models/apis/runtime.lex/2016-11-28/docs-2.json +++ b/models/apis/runtime.lex/2016-11-28/docs-2.json @@ -316,7 +316,9 @@ "PostContentResponse$sentimentResponse": "

The sentiment expressed in and utterance.

When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, this field contains the result of the analysis.

", "PostContentResponse$slotToElicit": "

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", "PostContentResponse$inputTranscript": "

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.

", + "PostContentResponse$sessionId": "

The unique identifier for the session.

", "PostTextResponse$slotToElicit": "

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", + "PostTextResponse$sessionId": "

A unique identifier for the session.

", "PutSessionResponse$slots": "

Map of zero or more intent slots Amazon Lex detected from the user input during the conversation.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy the default is ORIGINAL_VALUE.

", "PutSessionResponse$sessionAttributes": "

Map of key/value pairs representing session-specific context information.

", "PutSessionResponse$slotToElicit": "

If the dialogState is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", diff --git a/models/apis/sesv2/2019-09-27/api-2.json b/models/apis/sesv2/2019-09-27/api-2.json index efca020db69..3422598bfaa 100644 --- a/models/apis/sesv2/2019-09-27/api-2.json +++ b/models/apis/sesv2/2019-09-27/api-2.json @@ -156,6 +156,20 @@ {"shape":"ConcurrentModificationException"} ] }, + "DeleteSuppressedDestination":{ + "name":"DeleteSuppressedDestination", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/suppression/addresses/{EmailAddress}" + }, + "input":{"shape":"DeleteSuppressedDestinationRequest"}, + "output":{"shape":"DeleteSuppressedDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ] + }, "GetAccount":{ "name":"GetAccount", "http":{ @@ -309,6 +323,20 @@ {"shape":"BadRequestException"} ] }, + "GetSuppressedDestination":{ + "name":"GetSuppressedDestination", + "http":{ + "method":"GET", + "requestUri":"/v2/email/suppression/addresses/{EmailAddress}" + }, + "input":{"shape":"GetSuppressedDestinationRequest"}, + "output":{"shape":"GetSuppressedDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"} + ] + }, "ListConfigurationSets":{ "name":"ListConfigurationSets", "http":{ @@ -376,6 +404,20 @@ {"shape":"BadRequestException"} ] }, + "ListSuppressedDestinations":{ + "name":"ListSuppressedDestinations", + "http":{ + "method":"GET", + "requestUri":"/v2/email/suppression/addresses" + }, + "input":{"shape":"ListSuppressedDestinationsRequest"}, + "output":{"shape":"ListSuppressedDestinationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidNextTokenException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -416,6 +458,19 @@ {"shape":"BadRequestException"} ] }, + "PutAccountSuppressionAttributes":{ + "name":"PutAccountSuppressionAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/account/suppression" + }, + "input":{"shape":"PutAccountSuppressionAttributesRequest"}, + "output":{"shape":"PutAccountSuppressionAttributesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "PutConfigurationSetDeliveryOptions":{ "name":"PutConfigurationSetDeliveryOptions", "http":{ @@ -458,6 +513,20 @@ {"shape":"BadRequestException"} ] }, + "PutConfigurationSetSuppressionOptions":{ + "name":"PutConfigurationSetSuppressionOptions", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options" + }, + "input":{"shape":"PutConfigurationSetSuppressionOptionsRequest"}, + "output":{"shape":"PutConfigurationSetSuppressionOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "PutConfigurationSetTrackingOptions":{ "name":"PutConfigurationSetTrackingOptions", "http":{ @@ -558,6 +627,19 @@ {"shape":"BadRequestException"} ] }, + "PutSuppressedDestination":{ + "name":"PutSuppressedDestination", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/suppression/addresses" + }, + "input":{"shape":"PutSuppressedDestinationRequest"}, + "output":{"shape":"PutSuppressedDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ] + }, "SendEmail":{ "name":"SendEmail", "http":{ @@ -759,7 +841,8 @@ "DeliveryOptions":{"shape":"DeliveryOptions"}, "ReputationOptions":{"shape":"ReputationOptions"}, "SendingOptions":{"shape":"SendingOptions"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "SuppressionOptions":{"shape":"SuppressionOptions"} } }, "CreateConfigurationSetResponse":{ @@ -924,6 +1007,22 @@ "members":{ } }, + "DeleteSuppressedDestinationRequest":{ + "type":"structure", + "required":["EmailAddress"], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "location":"uri", + "locationName":"EmailAddress" + } + } + }, + "DeleteSuppressedDestinationResponse":{ + "type":"structure", + "members":{ + } + }, "DeliverabilityDashboardAccountStatus":{ "type":"string", "enum":[ @@ -1120,6 +1219,7 @@ "type":"list", "member":{"shape":"EventType"} }, + "FeedbackId":{"type":"string"}, "GeneralEnforcementStatus":{"type":"string"}, "GetAccountRequest":{ "type":"structure", @@ -1129,11 +1229,12 @@ "GetAccountResponse":{ "type":"structure", "members":{ - "SendQuota":{"shape":"SendQuota"}, - "SendingEnabled":{"shape":"Enabled"}, "DedicatedIpAutoWarmupEnabled":{"shape":"Enabled"}, "EnforcementStatus":{"shape":"GeneralEnforcementStatus"}, - "ProductionAccessEnabled":{"shape":"Enabled"} + "ProductionAccessEnabled":{"shape":"Enabled"}, + "SendQuota":{"shape":"SendQuota"}, + "SendingEnabled":{"shape":"Enabled"}, + "SuppressionAttributes":{"shape":"SuppressionAttributes"} } }, "GetBlacklistReportsRequest":{ @@ -1190,7 +1291,8 @@ "DeliveryOptions":{"shape":"DeliveryOptions"}, "ReputationOptions":{"shape":"ReputationOptions"}, "SendingOptions":{"shape":"SendingOptions"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "SuppressionOptions":{"shape":"SuppressionOptions"} } }, "GetDedicatedIpRequest":{ @@ -1355,6 +1457,24 @@ "Tags":{"shape":"TagList"} } }, + "GetSuppressedDestinationRequest":{ + "type":"structure", + "required":["EmailAddress"], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "location":"uri", + "locationName":"EmailAddress" + } + } + }, + "GetSuppressedDestinationResponse":{ + "type":"structure", + "required":["SuppressedDestination"], + "members":{ + "SuppressedDestination":{"shape":"SuppressedDestination"} + } + }, "Identity":{"type":"string"}, "IdentityInfo":{ "type":"structure", @@ -1384,6 +1504,13 @@ "TrackedIsps":{"shape":"IspNameList"} } }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "Ip":{"type":"string"}, "IpList":{ "type":"list", @@ -1560,6 +1687,43 @@ "type":"list", "member":{"shape":"PoolName"} }, + "ListSuppressedDestinationsRequest":{ + "type":"structure", + "members":{ + "Reasons":{ + "shape":"SuppressionListReasons", + "location":"querystring", + "locationName":"Reason" + }, + "StartDate":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"EndDate" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "location":"querystring", + "locationName":"PageSize" + } + } + }, + "ListSuppressedDestinationsResponse":{ + "type":"structure", + "members":{ + "SuppressedDestinationSummaries":{"shape":"SuppressedDestinationSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["ResourceArn"], @@ -1706,6 +1870,17 @@ "members":{ } }, + "PutAccountSuppressionAttributesRequest":{ + "type":"structure", + "members":{ + "SuppressedReasons":{"shape":"SuppressionListReasons"} + } + }, + "PutAccountSuppressionAttributesResponse":{ + "type":"structure", + "members":{ + } + }, "PutConfigurationSetDeliveryOptionsRequest":{ "type":"structure", "required":["ConfigurationSetName"], @@ -1758,6 +1933,23 @@ "members":{ } }, + "PutConfigurationSetSuppressionOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "SuppressedReasons":{"shape":"SuppressionListReasons"} + } + }, + "PutConfigurationSetSuppressionOptionsResponse":{ + "type":"structure", + "members":{ + } + }, "PutConfigurationSetTrackingOptionsRequest":{ "type":"structure", "required":["ConfigurationSetName"], @@ -1880,6 +2072,22 @@ "members":{ } }, + "PutSuppressedDestinationRequest":{ + "type":"structure", + "required":[ + "EmailAddress", + "Reason" + ], + "members":{ + "EmailAddress":{"shape":"EmailAddress"}, + "Reason":{"shape":"SuppressionListReason"} + } + }, + "PutSuppressedDestinationResponse":{ + "type":"structure", + "members":{ + } + }, "RawMessage":{ "type":"structure", "required":["Data"], @@ -1951,6 +2159,67 @@ } }, "Subject":{"type":"string"}, + "SuppressedDestination":{ + "type":"structure", + "required":[ + "EmailAddress", + "Reason", + "LastUpdateTime" + ], + "members":{ + "EmailAddress":{"shape":"EmailAddress"}, + "Reason":{"shape":"SuppressionListReason"}, + "LastUpdateTime":{"shape":"Timestamp"}, + "Attributes":{"shape":"SuppressedDestinationAttributes"} + } + }, + "SuppressedDestinationAttributes":{ + "type":"structure", + "members":{ + "MessageId":{"shape":"OutboundMessageId"}, + "FeedbackId":{"shape":"FeedbackId"} + } + }, + "SuppressedDestinationSummaries":{ + "type":"list", + "member":{"shape":"SuppressedDestinationSummary"} + }, + "SuppressedDestinationSummary":{ + "type":"structure", + "required":[ + "EmailAddress", + "Reason", + "LastUpdateTime" + ], + "members":{ + "EmailAddress":{"shape":"EmailAddress"}, + "Reason":{"shape":"SuppressionListReason"}, + "LastUpdateTime":{"shape":"Timestamp"} + } + }, + "SuppressionAttributes":{ + "type":"structure", + "members":{ + "SuppressedReasons":{"shape":"SuppressionListReasons"} + } + }, + "SuppressionListReason":{ + "type":"string", + "enum":[ + "BOUNCE", + "COMPLAINT" + ] + }, + "SuppressionListReasons":{ + "type":"list", + "member":{"shape":"SuppressionListReason"} + }, + "SuppressionOptions":{ + "type":"structure", + "members":{ + "SuppressedReasons":{"shape":"SuppressionListReasons"} + } + }, "Tag":{ "type":"structure", "required":[ diff --git a/models/apis/sesv2/2019-09-27/docs-2.json b/models/apis/sesv2/2019-09-27/docs-2.json index d955d412b54..b24883ff7ca 100644 --- a/models/apis/sesv2/2019-09-27/docs-2.json +++ b/models/apis/sesv2/2019-09-27/docs-2.json @@ -11,6 +11,7 @@ "DeleteConfigurationSetEventDestination": "

Delete an event destination.

Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

", "DeleteDedicatedIpPool": "

Delete a dedicated IP pool.

", "DeleteEmailIdentity": "

Deletes an email identity. An identity can be either an email address or a domain name.

", + "DeleteSuppressedDestination": "

Used to delete a suppressed email destination from your suppression list.

", "GetAccount": "

Obtain information about the email-sending status and capabilities of your Amazon SES account in the current AWS Region.

", "GetBlacklistReports": "

Retrieve a list of the blacklists that your dedicated IP addresses appear on.

", "GetConfigurationSet": "

Get information about an existing configuration set, including the dedicated IP pool that it's associated with, whether or not it's enabled for sending email, and more.

Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", @@ -22,17 +23,21 @@ "GetDomainDeliverabilityCampaign": "

Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for.

", "GetDomainStatisticsReport": "

Retrieve inbox placement and engagement rates for the domains that you use to send email.

", "GetEmailIdentity": "

Provides information about a specific identity, including the identity's verification status, its DKIM authentication status, and its custom Mail-From settings.

", + "GetSuppressedDestination": "

Used to fetch a single suppressed email destination from your suppression list.

", "ListConfigurationSets": "

List all of the configuration sets associated with your account in the current region.

Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", "ListDedicatedIpPools": "

List all of the dedicated IP pools that exist in your AWS account in the current Region.

", "ListDeliverabilityTestReports": "

Show a list of the predictive inbox placement tests that you've performed, regardless of their statuses. For predictive inbox placement tests that are complete, you can use the GetDeliverabilityTestReport operation to view the results.

", "ListDomainDeliverabilityCampaigns": "

Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard for the domain.

", "ListEmailIdentities": "

Returns a list of all of the email identities that are associated with your AWS account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't. This operation returns identities that are associated with Amazon SES and Amazon Pinpoint.

", + "ListSuppressedDestinations": "

Used to fetch a list suppressed email destinations from your suppression list.

", "ListTagsForResource": "

Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

", "PutAccountDedicatedIpWarmupAttributes": "

Enable or disable the automatic warm-up feature for dedicated IP addresses.

", "PutAccountSendingAttributes": "

Enable or disable the ability of your account to send email.

", + "PutAccountSuppressionAttributes": "

Change your account's suppression preferences for your account.

", "PutConfigurationSetDeliveryOptions": "

Associate a configuration set with a dedicated IP pool. You can use dedicated IP pools to create groups of dedicated IP addresses for sending specific types of email.

", "PutConfigurationSetReputationOptions": "

Enable or disable collection of reputation metrics for emails that you send using a particular configuration set in a specific AWS Region.

", "PutConfigurationSetSendingOptions": "

Enable or disable email sending for messages that use a particular configuration set in a specific AWS Region.

", + "PutConfigurationSetSuppressionOptions": "

Specify your account's suppression preferences for a configuration set.

", "PutConfigurationSetTrackingOptions": "

Specify a custom domain to use for open and click tracking elements in email that you send.

", "PutDedicatedIpInPool": "

Move a dedicated IP address to an existing dedicated IP pool.

The dedicated IP address that you specify must already exist, and must be associated with your AWS account.

The dedicated IP pool you specify must already exist. You can create a new pool by using the CreateDedicatedIpPool operation.

", "PutDedicatedIpWarmupAttributes": "

", @@ -40,6 +45,7 @@ "PutEmailIdentityDkimAttributes": "

Used to enable or disable DKIM authentication for an email identity.

", "PutEmailIdentityFeedbackAttributes": "

Used to enable or disable feedback forwarding for an identity. This setting determines what happens when an identity is used to send an email that results in a bounce or complaint event.

If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email.

You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).

", "PutEmailIdentityMailFromAttributes": "

Used to enable or disable the custom Mail-From domain configuration for an email identity.

", + "PutSuppressedDestination": "

Puts (overwrites) an email destination in your suppression list.

", "SendEmail": "

Sends an email message. You can use the Amazon SES API v2 to send two types of messages:

", "TagResource": "

Add one or more tags (keys and values) to a specified resource. A tag is a label that you optionally define and associate with a resource. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

", "UntagResource": "

Remove one or more tags (keys and values) from a specified resource.

", @@ -174,6 +180,7 @@ "PutConfigurationSetDeliveryOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to associate with a dedicated IP pool.

", "PutConfigurationSetReputationOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to enable or disable reputation metric tracking for.

", "PutConfigurationSetSendingOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to enable or disable email sending for.

", + "PutConfigurationSetSuppressionOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to enable or disable email sending for.

", "PutConfigurationSetTrackingOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to add a custom tracking domain to.

", "SendEmailRequest$ConfigurationSetName": "

The name of the configuration set that you want to use when sending the email.

", "UpdateConfigurationSetEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set that contains the event destination that you want to modify.

" @@ -321,6 +328,16 @@ "refs": { } }, + "DeleteSuppressedDestinationRequest": { + "base": "

A request to delete a suppressed email destination.

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

An HTTP 200 response if the request succeeds, or an error message if the request fails.

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

The current status of your Deliverability dashboard subscription. If this value is PENDING_EXPIRATION, your subscription is scheduled to expire at the end of the current calendar month.

", "refs": { @@ -454,10 +471,15 @@ "base": null, "refs": { "CreateDeliverabilityTestReportRequest$FromEmailAddress": "

The email address that the predictive inbox placement test email was sent from.

", + "DeleteSuppressedDestinationRequest$EmailAddress": "

The suppressed email destination to delete.

", "DeliverabilityTestReport$FromEmailAddress": "

The sender address that you specified for the predictive inbox placement test.

", "EmailAddressList$member": null, + "GetSuppressedDestinationRequest$EmailAddress": "

Email destination to fetch from the suppression list.

", + "PutSuppressedDestinationRequest$EmailAddress": "

Email destination to be suppressed.

", "SendEmailRequest$FromEmailAddress": "

The email address that you want to use as the \"From\" address for the email. The address that you specify has to be verified.

", - "SendEmailRequest$FeedbackForwardingEmailAddress": "

The address that you want bounce and complaint notifications to be sent to.

" + "SendEmailRequest$FeedbackForwardingEmailAddress": "

The address that you want bounce and complaint notifications to be sent to.

", + "SuppressedDestination$EmailAddress": "

The suppressed email destination.

", + "SuppressedDestinationSummary$EmailAddress": "

The suppressed email destination.

" } }, "EmailAddressList": { @@ -483,9 +505,9 @@ "DkimAttributes$SigningEnabled": "

If the value is true, then the messages that you send from the identity are signed using DKIM. If the value is false, then the messages that you send from the identity aren't DKIM-signed.

", "EventDestination$Enabled": "

If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

", "EventDestinationDefinition$Enabled": "

If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

", - "GetAccountResponse$SendingEnabled": "

Indicates whether or not email sending is enabled for your Amazon SES account in the current AWS Region.

", "GetAccountResponse$DedicatedIpAutoWarmupEnabled": "

Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.

", "GetAccountResponse$ProductionAccessEnabled": "

Indicates whether or not your account has production access in the current AWS Region.

If the value is false, then your account is in the sandbox. When your account is in the sandbox, you can only send email to verified identities. Additionally, the maximum number of emails you can send in a 24-hour period (your sending quota) is 200, and the maximum number of emails you can send per second (your maximum sending rate) is 1.

If the value is true, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.

", + "GetAccountResponse$SendingEnabled": "

Indicates whether or not email sending is enabled for your Amazon SES account in the current AWS Region.

", "GetDeliverabilityDashboardOptionsResponse$DashboardEnabled": "

Specifies whether the Deliverability dashboard is enabled. If this value is true, the dashboard is enabled.

", "GetEmailIdentityResponse$FeedbackForwardingStatus": "

The feedback forwarding configuration for the identity.

If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email.

You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).

", "GetEmailIdentityResponse$VerifiedForSendingStatus": "

Specifies whether or not the identity is verified. You can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

", @@ -555,6 +577,12 @@ "EventDestinationDefinition$MatchingEventTypes": "

An array that specifies which events the Amazon SES API v2 should send to the destinations in this EventDestinationDefinition.

" } }, + "FeedbackId": { + "base": null, + "refs": { + "SuppressedDestinationAttributes$FeedbackId": "

A unique identifier of the suppression cause.

" + } + }, "GeneralEnforcementStatus": { "base": null, "refs": { @@ -671,6 +699,16 @@ "refs": { } }, + "GetSuppressedDestinationRequest": { + "base": "

A request to get a suppressed email destination.

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

Information about the suppressed email destination.

", + "refs": { + } + }, "Identity": { "base": null, "refs": { @@ -717,6 +755,11 @@ "DomainDeliverabilityTrackingOption$InboxPlacementTrackingOption": "

An object that contains information about the inbox placement data settings for the domain.

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

The specified request includes an invalid or expired token. Please attempt to get a new token.

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

An IPv4 address.

", "refs": { @@ -833,6 +876,16 @@ "ListDedicatedIpPoolsResponse$DedicatedIpPools": "

A list of all of the dedicated IP pools that are associated with your AWS account in the current Region.

" } }, + "ListSuppressedDestinationsRequest": { + "base": "

A request to obtain a list of suppressed email destinations.

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

A list of suppressed email destinations.

", + "refs": { + } + }, "ListTagsForResourceRequest": { "base": null, "refs": { @@ -881,7 +934,8 @@ "ListDedicatedIpPoolsRequest$PageSize": "

The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

", "ListDeliverabilityTestReportsRequest$PageSize": "

The number of results to show in a single call to ListDeliverabilityTestReports. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

", "ListDomainDeliverabilityCampaignsRequest$PageSize": "

The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results.

", - "ListEmailIdentitiesRequest$PageSize": "

The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

" + "ListEmailIdentitiesRequest$PageSize": "

The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

", + "ListSuppressedDestinationsRequest$PageSize": "

The number of results to show in a single call to ListSuppressedDestinations. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

" } }, "MaxSendRate": { @@ -951,7 +1005,9 @@ "ListDomainDeliverabilityCampaignsRequest$NextToken": "

A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of a campaign in the list of campaigns.

", "ListDomainDeliverabilityCampaignsResponse$NextToken": "

A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of the campaign in the list of campaigns.

", "ListEmailIdentitiesRequest$NextToken": "

A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.

", - "ListEmailIdentitiesResponse$NextToken": "

A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListEmailIdentities, and pass this token in the NextToken parameter.

" + "ListEmailIdentitiesResponse$NextToken": "

A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListEmailIdentities, and pass this token in the NextToken parameter.

", + "ListSuppressedDestinationsRequest$NextToken": "

A token returned from a previous call to ListSuppressedDestinations to indicate the position in the list of suppressed email destinations.

", + "ListSuppressedDestinationsResponse$NextToken": "

A token that indicates that there are additional suppressed destinations to list. To view additional suppressed destinations, issue another request to ListSuppressedDestinations, and pass this token in the NextToken parameter.

" } }, "NotFoundException": { @@ -962,7 +1018,8 @@ "OutboundMessageId": { "base": null, "refs": { - "SendEmailResponse$MessageId": "

A unique identifier for the message that is generated when the message is accepted.

It is possible for the Amazon SES API v2 to accept a message without sending it. This can happen when the message that you're trying to send has an attachment contains a virus, or when you send a templated email that contains invalid personalization content, for example.

" + "SendEmailResponse$MessageId": "

A unique identifier for the message that is generated when the message is accepted.

It is possible for the Amazon SES API v2 to accept a message without sending it. This can happen when the message that you're trying to send has an attachment contains a virus, or when you send a templated email that contains invalid personalization content, for example.

", + "SuppressedDestinationAttributes$MessageId": "

A unique identifier of the message that caused the suppression of the email destination.

" } }, "OverallVolume": { @@ -1040,6 +1097,16 @@ "refs": { } }, + "PutAccountSuppressionAttributesRequest": { + "base": "

A request to change your account's suppression preferences.

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

An HTTP 200 response if the request succeeds, or an error message if the request fails.

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

A request to associate a configuration set with a dedicated IP pool.

", "refs": { @@ -1070,6 +1137,16 @@ "refs": { } }, + "PutConfigurationSetSuppressionOptionsRequest": { + "base": "

A request to change your account's suppression preferences for an specific configuration set.

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

An HTTP 200 response if the request succeeds, or an error message if the request fails.

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

A request to add a custom domain for tracking open and click events to a configuration set.

", "refs": { @@ -1140,6 +1217,16 @@ "refs": { } }, + "PutSuppressedDestinationRequest": { + "base": "

A request to suppress an email destination.

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

An HTTP 200 response if the request succeeds, or an error message if the request fails.

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

The raw email message.

", "refs": { @@ -1233,6 +1320,62 @@ "DomainDeliverabilityCampaign$Subject": "

The subject line, or title, of the email message.

" } }, + "SuppressedDestination": { + "base": "

An object containing information about the suppressed email destination.

", + "refs": { + "GetSuppressedDestinationResponse$SuppressedDestination": "

An object containing information about the suppressed email destination.

" + } + }, + "SuppressedDestinationAttributes": { + "base": "

An object containing additional attributes related to a suppressed destination.

", + "refs": { + "SuppressedDestination$Attributes": "

Optional value with information about the sources of the suppression.

" + } + }, + "SuppressedDestinationSummaries": { + "base": null, + "refs": { + "ListSuppressedDestinationsResponse$SuppressedDestinationSummaries": "

A list of summaries, each containing a summary for a suppressed email destination.

" + } + }, + "SuppressedDestinationSummary": { + "base": "

A summary for the suppressed email destination.

", + "refs": { + "SuppressedDestinationSummaries$member": null + } + }, + "SuppressionAttributes": { + "base": "

An object that contains information about your account's suppression preferences.

", + "refs": { + "GetAccountResponse$SuppressionAttributes": "

An object that contains information about your account's suppression preferences.

" + } + }, + "SuppressionListReason": { + "base": "

A string representing the cause for suppression for an email destination. It can be one of the following:

", + "refs": { + "PutSuppressedDestinationRequest$Reason": "

Reason for which the email destination is suppressed.

", + "SuppressedDestination$Reason": "

The reason for which the email destination is suppressed.

", + "SuppressedDestinationSummary$Reason": "

The reason for which the email destination is suppressed.

", + "SuppressionListReasons$member": null + } + }, + "SuppressionListReasons": { + "base": null, + "refs": { + "ListSuppressedDestinationsRequest$Reasons": "

Filters email destinations suppressed by the given reasons.

", + "PutAccountSuppressionAttributesRequest$SuppressedReasons": "

A list of reasons to suppress email addresses. The only valid reasons are:

", + "PutConfigurationSetSuppressionOptionsRequest$SuppressedReasons": "

A list of reasons to suppress email addresses. The only valid reasons are:

", + "SuppressionAttributes$SuppressedReasons": "

A list of reasons to suppress email addresses. The only valid reasons are:

", + "SuppressionOptions$SuppressedReasons": "

A list of reasons to suppress email addresses. The only valid reasons are:

" + } + }, + "SuppressionOptions": { + "base": "

An object that contains information about your account's suppression preferences.

", + "refs": { + "CreateConfigurationSetRequest$SuppressionOptions": null, + "GetConfigurationSetResponse$SuppressionOptions": "

An object that contains information about your account's suppression preferences.

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

An object that defines the tags that are associated with a resource. A tag is a label that you optionally define and associate with a resource. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor within a tag key. A tag key can contain as many as 128 characters. A tag value can contain as many as 256 characters. The characters can be Unicode letters, digits, white space, or one of the following symbols: _ . : / = + -. The following additional restrictions apply to tags:

", "refs": { @@ -1313,7 +1456,11 @@ "GetDomainStatisticsReportRequest$StartDate": "

The first day (in Unix time) that you want to obtain domain deliverability metrics for.

", "GetDomainStatisticsReportRequest$EndDate": "

The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.

", "ListDomainDeliverabilityCampaignsRequest$StartDate": "

The first day, in Unix time format, that you want to obtain deliverability data for.

", - "ListDomainDeliverabilityCampaignsRequest$EndDate": "

The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.

" + "ListDomainDeliverabilityCampaignsRequest$EndDate": "

The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.

", + "ListSuppressedDestinationsRequest$StartDate": "

Filters email destinations suppressed before the given time.

", + "ListSuppressedDestinationsRequest$EndDate": "

Filters email destinations suppressed after the given time.

", + "SuppressedDestination$LastUpdateTime": "

The last time the suppressed destination was updated.

", + "SuppressedDestinationSummary$LastUpdateTime": "

The last time the suppressed destination was updated.

" } }, "TlsPolicy": { diff --git a/models/apis/sesv2/2019-09-27/paginators-1.json b/models/apis/sesv2/2019-09-27/paginators-1.json index 8a17fd2e79a..c5e4de2551c 100644 --- a/models/apis/sesv2/2019-09-27/paginators-1.json +++ b/models/apis/sesv2/2019-09-27/paginators-1.json @@ -29,6 +29,11 @@ "input_token": "NextToken", "output_token": "NextToken", "limit_key": "PageSize" + }, + "ListSuppressedDestinations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize" } } } diff --git a/models/apis/ssm/2014-11-06/api-2.json b/models/apis/ssm/2014-11-06/api-2.json index 07f1daf8301..86914f052e0 100644 --- a/models/apis/ssm/2014-11-06/api-2.json +++ b/models/apis/ssm/2014-11-06/api-2.json @@ -1795,6 +1795,17 @@ "member":{"shape":"AccountId"}, "max":20 }, + "AccountSharingInfo":{ + "type":"structure", + "members":{ + "AccountId":{"shape":"AccountId"}, + "SharedDocumentVersion":{"shape":"SharedDocumentVersion"} + } + }, + "AccountSharingInfoList":{ + "type":"list", + "member":{"shape":"AccountSharingInfo"} + }, "Accounts":{ "type":"list", "member":{"shape":"Account"}, @@ -2989,6 +3000,7 @@ ], "members":{ "Content":{"shape":"DocumentContent"}, + "Requires":{"shape":"DocumentRequiresList"}, "Attachments":{"shape":"AttachmentsSourceList"}, "Name":{"shape":"DocumentName"}, "VersionName":{"shape":"DocumentVersionName"}, @@ -3155,7 +3167,8 @@ "members":{ "Name":{"shape":"DocumentName"}, "DocumentVersion":{"shape":"DocumentVersion"}, - "VersionName":{"shape":"DocumentVersionName"} + "VersionName":{"shape":"DocumentVersionName"}, + "Force":{"shape":"Boolean"} } }, "DeleteDocumentResult":{ @@ -3490,7 +3503,8 @@ "DescribeDocumentPermissionResponse":{ "type":"structure", "members":{ - "AccountIds":{"shape":"AccountIdList"} + "AccountIds":{"shape":"AccountIdList"}, + "AccountSharingInfoList":{"shape":"AccountSharingInfoList"} } }, "DescribeDocumentRequest":{ @@ -4018,7 +4032,8 @@ "DocumentFormat":{"shape":"DocumentFormat"}, "TargetType":{"shape":"TargetType"}, "Tags":{"shape":"TagList"}, - "AttachmentsInformation":{"shape":"AttachmentInformationList"} + "AttachmentsInformation":{"shape":"AttachmentInformationList"}, + "Requires":{"shape":"DocumentRequiresList"} } }, "DocumentFilter":{ @@ -4080,7 +4095,8 @@ "SchemaVersion":{"shape":"DocumentSchemaVersion"}, "DocumentFormat":{"shape":"DocumentFormat"}, "TargetType":{"shape":"TargetType"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "Requires":{"shape":"DocumentRequiresList"} } }, "DocumentIdentifierList":{ @@ -4160,6 +4176,19 @@ "type":"string", "enum":["Share"] }, + "DocumentRequires":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"DocumentARN"}, + "Version":{"shape":"DocumentVersion"} + } + }, + "DocumentRequiresList":{ + "type":"list", + "member":{"shape":"DocumentRequires"}, + "min":1 + }, "DocumentSchemaVersion":{ "type":"string", "pattern":"([0-9]+)\\.([0-9]+)" @@ -4183,7 +4212,10 @@ "Policy", "Automation", "Session", - "Package" + "Package", + "ApplicationConfiguration", + "ApplicationConfigurationSchema", + "DeploymentStrategy" ] }, "DocumentVersion":{ @@ -4431,6 +4463,7 @@ "Content":{"shape":"DocumentContent"}, "DocumentType":{"shape":"DocumentType"}, "DocumentFormat":{"shape":"DocumentFormat"}, + "Requires":{"shape":"DocumentRequiresList"}, "AttachmentsContent":{"shape":"AttachmentContentList"} } }, @@ -5900,7 +5933,7 @@ "type":"structure", "required":["Name"], "members":{ - "Name":{"shape":"DocumentName"}, + "Name":{"shape":"DocumentARN"}, "MaxResults":{ "shape":"MaxResults", "box":true @@ -6459,7 +6492,8 @@ "Name":{"shape":"DocumentName"}, "PermissionType":{"shape":"DocumentPermissionType"}, "AccountIdsToAdd":{"shape":"AccountIdList"}, - "AccountIdsToRemove":{"shape":"AccountIdList"} + "AccountIdsToRemove":{"shape":"AccountIdList"}, + "SharedDocumentVersion":{"shape":"SharedDocumentVersion"} } }, "ModifyDocumentPermissionResponse":{ @@ -8315,6 +8349,11 @@ "UnspecifiedCount":{"shape":"ComplianceSummaryCount"} } }, + "SharedDocumentVersion":{ + "type":"string", + "max":8, + "pattern":"([$]LATEST|[$]DEFAULT|[$]ALL)" + }, "SignalType":{ "type":"string", "enum":[ diff --git a/models/apis/ssm/2014-11-06/docs-2.json b/models/apis/ssm/2014-11-06/docs-2.json index a59cf34ba84..4ce29f925bf 100644 --- a/models/apis/ssm/2014-11-06/docs-2.json +++ b/models/apis/ssm/2014-11-06/docs-2.json @@ -134,7 +134,8 @@ "AccountId": { "base": null, "refs": { - "AccountIdList$member": null + "AccountIdList$member": null, + "AccountSharingInfo$AccountId": "

The AWS account ID where the current document is shared.

" } }, "AccountIdList": { @@ -145,6 +146,18 @@ "ModifyDocumentPermissionRequest$AccountIdsToRemove": "

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.

" } }, + "AccountSharingInfo": { + "base": "

Information includes the AWS account ID where the current document is shared and the version shared with that account.

", + "refs": { + "AccountSharingInfoList$member": null + } + }, + "AccountSharingInfoList": { + "base": "

A list of of AWS accounts where the current document is shared and the version shared with each account.

", + "refs": { + "DescribeDocumentPermissionResponse$AccountSharingInfoList": "

A list of of AWS accounts where the current document is shared and the version shared with each account.

" + } + }, "Accounts": { "base": null, "refs": { @@ -817,6 +830,7 @@ "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.

", + "DeleteDocumentRequest$Force": "

Some SSM document types require that you specify a Force flag before you can delete the document. For example, you must specify a Force flag to delete a document of type ApplicationConfigurationSchema. You can restrict access to the Force flag in an AWS Identity and Access Management (IAM) policy.

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

", @@ -1919,9 +1933,11 @@ "DescribeDocumentRequest$Name": "

The name of the Systems Manager document.

", "DocumentDescription$Name": "

The name of the Systems Manager document.

", "DocumentIdentifier$Name": "

The name of the Systems Manager document.

", + "DocumentRequires$Name": "

The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

", "GetDocumentRequest$Name": "

The name of the Systems Manager document.

", "GetDocumentResult$Name": "

The name of the Systems Manager document.

", "InstanceAssociationStatusInfo$Name": "

The name of the association.

", + "ListDocumentVersionsRequest$Name": "

The name of the document. You can specify an Amazon Resource Name (ARN).

", "SendCommandRequest$DocumentName": "

Required. The name of the Systems Manager document to run. This can be a public document or a custom document.

", "StartAutomationExecutionRequest$DocumentName": "

The name of the Automation document to use for this execution.

", "StartSessionRequest$DocumentName": "

The name of the SSM document to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell. If no document name is provided, a shell to the instance is launched by default.

", @@ -2069,7 +2085,6 @@ "DocumentDefaultVersionDescription$Name": "

The name of the document.

", "DocumentVersionInfo$Name": "

The document name.

", "GetCommandInvocationResult$DocumentName": "

The name of the document that was run. For example, AWS-RunShellScript.

", - "ListDocumentVersionsRequest$Name": "

The name of the document about which you want version information.

", "ModifyDocumentPermissionRequest$Name": "

The name of the document that you want to share.

", "Session$DocumentName": "

The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell.

", "UpdateDocumentDefaultVersionRequest$Name": "

The name of a custom document that you want to set as the default version.

", @@ -2131,6 +2146,21 @@ "ModifyDocumentPermissionRequest$PermissionType": "

The permission type for the document. The permission type can be Share.

" } }, + "DocumentRequires": { + "base": "

An SSM document required by the current document.

", + "refs": { + "DocumentRequiresList$member": null + } + }, + "DocumentRequiresList": { + "base": null, + "refs": { + "CreateDocumentRequest$Requires": "

A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

", + "DocumentDescription$Requires": "

A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

", + "DocumentIdentifier$Requires": "

A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

", + "GetDocumentResult$Requires": "

A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

" + } + }, "DocumentSchemaVersion": { "base": null, "refs": { @@ -2188,6 +2218,7 @@ "DocumentDescription$LatestVersion": "

The latest version of the document.

", "DocumentDescription$DefaultVersion": "

The default version.

", "DocumentIdentifier$DocumentVersion": "

The document version.

", + "DocumentRequires$Version": "

The document version required by the current document.

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

", @@ -6249,6 +6280,13 @@ "NonCompliantSummary$SeveritySummary": "

A summary of the non-compliance severity by compliance type

" } }, + "SharedDocumentVersion": { + "base": "

The document version shared with other accounts. You can share Latest, Default or All versions.

", + "refs": { + "AccountSharingInfo$SharedDocumentVersion": "

The version of the current document shared with the account.

", + "ModifyDocumentPermissionRequest$SharedDocumentVersion": "

(Optional) The version of the document to share. If it's not specified, the system choose the Default version to share.

" + } + }, "SignalType": { "base": null, "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 09abe38a30a..3a368228402 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -2681,6 +2681,7 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -3719,6 +3720,7 @@ }, "endpoints" : { "ap-east-1" : { }, + "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, diff --git a/service/alexaforbusiness/api.go b/service/alexaforbusiness/api.go index 1038fc8e8de..8e745944075 100644 --- a/service/alexaforbusiness/api.go +++ b/service/alexaforbusiness/api.go @@ -4178,7 +4178,10 @@ func (c *AlexaForBusiness) ListBusinessReportSchedulesRequest(input *ListBusines // ListBusinessReportSchedules API operation for Alexa For Business. // -// Lists the details of the schedules that a user configured. +// Lists the details of the schedules that a user configured. A download URL +// of the report associated with each schedule is returned every time this action +// is called. A new download URL is returned each time, and is valid for 24 +// hours. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10278,6 +10281,78 @@ func (s *CreateContactOutput) SetContactArn(v string) *CreateContactOutput { return s } +// Creates settings for the end of meeting reminder feature that are applied +// to a room profile. The end of meeting reminder enables Alexa to remind users +// when a meeting is ending. +type CreateEndOfMeetingReminder struct { + _ struct{} `type:"structure"` + + // Whether an end of meeting reminder is enabled or not. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // A range of 3 to 15 minutes that determines when the reminder begins. + // + // ReminderAtMinutes is a required field + ReminderAtMinutes []*int64 `min:"1" type:"list" required:"true"` + + // The type of sound that users hear during the end of meeting reminder. + // + // ReminderType is a required field + ReminderType *string `type:"string" required:"true" enum:"EndOfMeetingReminderType"` +} + +// String returns the string representation +func (s CreateEndOfMeetingReminder) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndOfMeetingReminder) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEndOfMeetingReminder) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEndOfMeetingReminder"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.ReminderAtMinutes == nil { + invalidParams.Add(request.NewErrParamRequired("ReminderAtMinutes")) + } + if s.ReminderAtMinutes != nil && len(s.ReminderAtMinutes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReminderAtMinutes", 1)) + } + if s.ReminderType == nil { + invalidParams.Add(request.NewErrParamRequired("ReminderType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateEndOfMeetingReminder) SetEnabled(v bool) *CreateEndOfMeetingReminder { + s.Enabled = &v + return s +} + +// SetReminderAtMinutes sets the ReminderAtMinutes field's value. +func (s *CreateEndOfMeetingReminder) SetReminderAtMinutes(v []*int64) *CreateEndOfMeetingReminder { + s.ReminderAtMinutes = v + return s +} + +// SetReminderType sets the ReminderType field's value. +func (s *CreateEndOfMeetingReminder) SetReminderType(v string) *CreateEndOfMeetingReminder { + s.ReminderType = &v + return s +} + type CreateGatewayGroupInput struct { _ struct{} `type:"structure"` @@ -10363,6 +10438,144 @@ func (s *CreateGatewayGroupOutput) SetGatewayGroupArn(v string) *CreateGatewayGr return s } +// Creates settings for the instant booking feature that are applied to a room +// profile. When users start their meeting with Alexa, Alexa automatically books +// the room for the configured duration if the room is available. +type CreateInstantBooking struct { + _ struct{} `type:"structure"` + + // Duration between 15 and 240 minutes at increments of 15 that determines how + // long to book an available room when a meeting is started with Alexa. + // + // DurationInMinutes is a required field + DurationInMinutes *int64 `type:"integer" required:"true"` + + // Whether instant booking is enabled or not. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s CreateInstantBooking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInstantBooking) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateInstantBooking) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstantBooking"} + if s.DurationInMinutes == nil { + invalidParams.Add(request.NewErrParamRequired("DurationInMinutes")) + } + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDurationInMinutes sets the DurationInMinutes field's value. +func (s *CreateInstantBooking) SetDurationInMinutes(v int64) *CreateInstantBooking { + s.DurationInMinutes = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateInstantBooking) SetEnabled(v bool) *CreateInstantBooking { + s.Enabled = &v + return s +} + +// Creates meeting room settings of a room profile. +type CreateMeetingRoomConfiguration struct { + _ struct{} `type:"structure"` + + // Creates settings for the end of meeting reminder feature that are applied + // to a room profile. The end of meeting reminder enables Alexa to remind users + // when a meeting is ending. + EndOfMeetingReminder *CreateEndOfMeetingReminder `type:"structure"` + + // Settings to automatically book a room for a configured duration if it's free + // when joining a meeting with Alexa. + InstantBooking *CreateInstantBooking `type:"structure"` + + // Settings for requiring a check in when a room is reserved. Alexa can cancel + // a room reservation if it's not checked into to make the room available for + // others. Users can check in by joining the meeting with Alexa or an AVS device, + // or by saying “Alexa, check in.” + RequireCheckIn *CreateRequireCheckIn `type:"structure"` + + // Whether room utilization metrics are enabled or not. + RoomUtilizationMetricsEnabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s CreateMeetingRoomConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMeetingRoomConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMeetingRoomConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMeetingRoomConfiguration"} + if s.EndOfMeetingReminder != nil { + if err := s.EndOfMeetingReminder.Validate(); err != nil { + invalidParams.AddNested("EndOfMeetingReminder", err.(request.ErrInvalidParams)) + } + } + if s.InstantBooking != nil { + if err := s.InstantBooking.Validate(); err != nil { + invalidParams.AddNested("InstantBooking", err.(request.ErrInvalidParams)) + } + } + if s.RequireCheckIn != nil { + if err := s.RequireCheckIn.Validate(); err != nil { + invalidParams.AddNested("RequireCheckIn", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndOfMeetingReminder sets the EndOfMeetingReminder field's value. +func (s *CreateMeetingRoomConfiguration) SetEndOfMeetingReminder(v *CreateEndOfMeetingReminder) *CreateMeetingRoomConfiguration { + s.EndOfMeetingReminder = v + return s +} + +// SetInstantBooking sets the InstantBooking field's value. +func (s *CreateMeetingRoomConfiguration) SetInstantBooking(v *CreateInstantBooking) *CreateMeetingRoomConfiguration { + s.InstantBooking = v + return s +} + +// SetRequireCheckIn sets the RequireCheckIn field's value. +func (s *CreateMeetingRoomConfiguration) SetRequireCheckIn(v *CreateRequireCheckIn) *CreateMeetingRoomConfiguration { + s.RequireCheckIn = v + return s +} + +// SetRoomUtilizationMetricsEnabled sets the RoomUtilizationMetricsEnabled field's value. +func (s *CreateMeetingRoomConfiguration) SetRoomUtilizationMetricsEnabled(v bool) *CreateMeetingRoomConfiguration { + s.RoomUtilizationMetricsEnabled = &v + return s +} + type CreateNetworkProfileInput struct { _ struct{} `type:"structure"` @@ -10552,12 +10765,16 @@ type CreateProfileInput struct { // DistanceUnit is a required field DistanceUnit *string `type:"string" required:"true" enum:"DistanceUnit"` - // The locale of the room profile. + // The locale of the room profile. (This is currently only available to a limited + // preview audience.) Locale *string `min:"1" type:"string"` // The maximum volume limit for a room profile. MaxVolumeLimit *int64 `type:"integer"` + // The meeting room settings of a room profile. + MeetingRoomConfiguration *CreateMeetingRoomConfiguration `type:"structure"` + // Whether PSTN calling is enabled. PSTNEnabled *bool `type:"boolean"` @@ -10631,6 +10848,11 @@ func (s *CreateProfileInput) Validate() error { if s.WakeWord == nil { invalidParams.Add(request.NewErrParamRequired("WakeWord")) } + if s.MeetingRoomConfiguration != nil { + if err := s.MeetingRoomConfiguration.Validate(); err != nil { + invalidParams.AddNested("MeetingRoomConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -10668,6 +10890,12 @@ func (s *CreateProfileInput) SetMaxVolumeLimit(v int64) *CreateProfileInput { return s } +// SetMeetingRoomConfiguration sets the MeetingRoomConfiguration field's value. +func (s *CreateProfileInput) SetMeetingRoomConfiguration(v *CreateMeetingRoomConfiguration) *CreateProfileInput { + s.MeetingRoomConfiguration = v + return s +} + // SetPSTNEnabled sets the PSTNEnabled field's value. func (s *CreateProfileInput) SetPSTNEnabled(v bool) *CreateProfileInput { s.PSTNEnabled = &v @@ -10727,6 +10955,62 @@ func (s *CreateProfileOutput) SetProfileArn(v string) *CreateProfileOutput { return s } +// Creates settings for the require check in feature that are applied to a room +// profile. Require check in allows a meeting room’s Alexa or AVS device to +// prompt the user to check in; otherwise, the room will be released. +type CreateRequireCheckIn struct { + _ struct{} `type:"structure"` + + // Whether require check in is enabled or not. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // Duration between 5 and 20 minutes to determine when to release the room if + // it's not checked into. + // + // ReleaseAfterMinutes is a required field + ReleaseAfterMinutes *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s CreateRequireCheckIn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRequireCheckIn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRequireCheckIn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRequireCheckIn"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.ReleaseAfterMinutes == nil { + invalidParams.Add(request.NewErrParamRequired("ReleaseAfterMinutes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateRequireCheckIn) SetEnabled(v bool) *CreateRequireCheckIn { + s.Enabled = &v + return s +} + +// SetReleaseAfterMinutes sets the ReleaseAfterMinutes field's value. +func (s *CreateRequireCheckIn) SetReleaseAfterMinutes(v int64) *CreateRequireCheckIn { + s.ReleaseAfterMinutes = &v + return s +} + type CreateRoomInput struct { _ struct{} `type:"structure"` @@ -12498,6 +12782,50 @@ func (s DisassociateSkillGroupFromRoomOutput) GoString() string { return s.String() } +// Settings for the end of meeting reminder feature that are applied to a room +// profile. The end of meeting reminder enables Alexa to remind users when a +// meeting is ending. +type EndOfMeetingReminder struct { + _ struct{} `type:"structure"` + + // Whether an end of meeting reminder is enabled or not. + Enabled *bool `type:"boolean"` + + // A range of 3 to 15 minutes that determines when the reminder begins. + ReminderAtMinutes []*int64 `min:"1" type:"list"` + + // The type of sound that users hear during the end of meeting reminder. + ReminderType *string `type:"string" enum:"EndOfMeetingReminderType"` +} + +// String returns the string representation +func (s EndOfMeetingReminder) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndOfMeetingReminder) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *EndOfMeetingReminder) SetEnabled(v bool) *EndOfMeetingReminder { + s.Enabled = &v + return s +} + +// SetReminderAtMinutes sets the ReminderAtMinutes field's value. +func (s *EndOfMeetingReminder) SetReminderAtMinutes(v []*int64) *EndOfMeetingReminder { + s.ReminderAtMinutes = v + return s +} + +// SetReminderType sets the ReminderType field's value. +func (s *EndOfMeetingReminder) SetReminderType(v string) *EndOfMeetingReminder { + s.ReminderType = &v + return s +} + // 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. type Filter struct { @@ -13601,6 +13929,42 @@ func (s *IPDialIn) SetEndpoint(v string) *IPDialIn { return s } +// Settings for the instant booking feature that are applied to a room profile. +// When users start their meeting with Alexa, Alexa automatically books the +// room for the configured duration if the room is available. +type InstantBooking struct { + _ struct{} `type:"structure"` + + // Duration between 15 and 240 minutes at increments of 15 that determines how + // long to book an available room when a meeting is started with Alexa. + DurationInMinutes *int64 `type:"integer"` + + // Whether instant booking is enabled or not. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s InstantBooking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstantBooking) GoString() string { + return s.String() +} + +// SetDurationInMinutes sets the DurationInMinutes field's value. +func (s *InstantBooking) SetDurationInMinutes(v int64) *InstantBooking { + s.DurationInMinutes = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *InstantBooking) SetEnabled(v bool) *InstantBooking { + s.Enabled = &v + return s +} + type ListBusinessReportSchedulesInput struct { _ struct{} `type:"structure"` @@ -14045,22 +14409,20 @@ func (s *ListGatewaysOutput) SetNextToken(v string) *ListGatewaysOutput { type ListSkillsInput struct { _ struct{} `type:"structure"` - // Whether the skill is enabled under the user's account, or if it requires - // linking to be used. + // Whether the skill is enabled under the user's account. EnablementType *string `type:"string" enum:"EnablementTypeFilter"` // 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. + // so that the remaining results can be retrieved. MaxResults *int64 `min:"1" type:"integer"` // 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. NextToken *string `min:"1" type:"string"` - // The ARN of the skill group for which to list enabled skills. Required. + // The ARN of the skill group for which to list enabled skills. SkillGroupArn *string `type:"string"` // Whether the skill is publicly available or is a private skill. @@ -14524,6 +14886,63 @@ func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput { return s } +// Meeting room settings of a room profile. +type MeetingRoomConfiguration struct { + _ struct{} `type:"structure"` + + // Settings for the end of meeting reminder feature that are applied to a room + // profile. The end of meeting reminder enables Alexa to remind users when a + // meeting is ending. + EndOfMeetingReminder *EndOfMeetingReminder `type:"structure"` + + // Settings to automatically book the room if available for a configured duration + // when joining a meeting with Alexa. + InstantBooking *InstantBooking `type:"structure"` + + // Settings for requiring a check in when a room is reserved. Alexa can cancel + // a room reservation if it's not checked into. This makes the room available + // for others. Users can check in by joining the meeting with Alexa or an AVS + // device, or by saying “Alexa, check in.” + RequireCheckIn *RequireCheckIn `type:"structure"` + + // Whether room utilization metrics are enabled or not. + RoomUtilizationMetricsEnabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s MeetingRoomConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeetingRoomConfiguration) GoString() string { + return s.String() +} + +// SetEndOfMeetingReminder sets the EndOfMeetingReminder field's value. +func (s *MeetingRoomConfiguration) SetEndOfMeetingReminder(v *EndOfMeetingReminder) *MeetingRoomConfiguration { + s.EndOfMeetingReminder = v + return s +} + +// SetInstantBooking sets the InstantBooking field's value. +func (s *MeetingRoomConfiguration) SetInstantBooking(v *InstantBooking) *MeetingRoomConfiguration { + s.InstantBooking = v + return s +} + +// SetRequireCheckIn sets the RequireCheckIn field's value. +func (s *MeetingRoomConfiguration) SetRequireCheckIn(v *RequireCheckIn) *MeetingRoomConfiguration { + s.RequireCheckIn = v + return s +} + +// SetRoomUtilizationMetricsEnabled sets the RoomUtilizationMetricsEnabled field's value. +func (s *MeetingRoomConfiguration) SetRoomUtilizationMetricsEnabled(v bool) *MeetingRoomConfiguration { + s.RoomUtilizationMetricsEnabled = &v + return s +} + // The values that indicate whether a pin is always required (YES), never required // (NO), or OPTIONAL. // @@ -14924,12 +15343,16 @@ type Profile struct { // Retrieves if the profile is default or not. IsDefault *bool `type:"boolean"` - // The locale of a room profile. + // The locale of a room profile. (This is currently available only to a limited + // preview audience.) Locale *string `min:"1" type:"string"` // The max volume limit of a room profile. MaxVolumeLimit *int64 `type:"integer"` + // Meeting room settings of a room profile. + MeetingRoomConfiguration *MeetingRoomConfiguration `type:"structure"` + // The PSTN setting of a room profile. PSTNEnabled *bool `type:"boolean"` @@ -14998,6 +15421,12 @@ func (s *Profile) SetMaxVolumeLimit(v int64) *Profile { return s } +// SetMeetingRoomConfiguration sets the MeetingRoomConfiguration field's value. +func (s *Profile) SetMeetingRoomConfiguration(v *MeetingRoomConfiguration) *Profile { + s.MeetingRoomConfiguration = v + return s +} + // SetPSTNEnabled sets the PSTNEnabled field's value. func (s *Profile) SetPSTNEnabled(v bool) *Profile { s.PSTNEnabled = &v @@ -15053,7 +15482,8 @@ type ProfileData struct { // Retrieves if the profile data is default or not. IsDefault *bool `type:"boolean"` - // The locale of a room profile. + // The locale of a room profile. (This is currently available only to a limited + // preview audience.) Locale *string `min:"1" type:"string"` // The ARN of a room profile. @@ -15065,7 +15495,7 @@ type ProfileData struct { // The temperature unit of a room profile. TemperatureUnit *string `type:"string" enum:"TemperatureUnit"` - // The timezone of a room profile. + // The time zone of a room profile. Timezone *string `min:"1" type:"string"` // The wake word of a room profile. @@ -15599,6 +16029,42 @@ func (s RejectSkillOutput) GoString() string { return s.String() } +// Settings for the require check in feature that are applied to a room profile. +// Require check in allows a meeting room’s Alexa or AVS device to prompt +// the user to check in; otherwise, the room will be released. +type RequireCheckIn struct { + _ struct{} `type:"structure"` + + // Whether require check in is enabled or not. + Enabled *bool `type:"boolean"` + + // Duration between 5 and 20 minutes to determine when to release the room if + // it's not checked into. + ReleaseAfterMinutes *int64 `type:"integer"` +} + +// String returns the string representation +func (s RequireCheckIn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RequireCheckIn) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *RequireCheckIn) SetEnabled(v bool) *RequireCheckIn { + s.Enabled = &v + return s +} + +// SetReleaseAfterMinutes sets the ReleaseAfterMinutes field's value. +func (s *RequireCheckIn) SetReleaseAfterMinutes(v int64) *RequireCheckIn { + s.ReleaseAfterMinutes = &v + return s +} + type ResolveRoomInput struct { _ struct{} `type:"structure"` @@ -17824,7 +18290,7 @@ type Tag struct { // Key is a required field Key *string `min:"1" type:"string" required:"true"` - // The value of a tag. Tag values are case-sensitive and can be null. + // The value of a tag. Tag values are case sensitive and can be null. // // Value is a required field Value *string `type:"string" required:"true"` @@ -18552,6 +19018,65 @@ func (s UpdateDeviceOutput) GoString() string { return s.String() } +// Settings for the end of meeting reminder feature that are applied to a room +// profile. The end of meeting reminder enables Alexa to remind users when a +// meeting is ending. +type UpdateEndOfMeetingReminder struct { + _ struct{} `type:"structure"` + + // Whether an end of meeting reminder is enabled or not. + Enabled *bool `type:"boolean"` + + // Updates settings for the end of meeting reminder feature that are applied + // to a room profile. The end of meeting reminder enables Alexa to remind users + // when a meeting is ending. + ReminderAtMinutes []*int64 `min:"1" type:"list"` + + // The type of sound that users hear during the end of meeting reminder. + ReminderType *string `type:"string" enum:"EndOfMeetingReminderType"` +} + +// String returns the string representation +func (s UpdateEndOfMeetingReminder) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndOfMeetingReminder) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEndOfMeetingReminder) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEndOfMeetingReminder"} + if s.ReminderAtMinutes != nil && len(s.ReminderAtMinutes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReminderAtMinutes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateEndOfMeetingReminder) SetEnabled(v bool) *UpdateEndOfMeetingReminder { + s.Enabled = &v + return s +} + +// SetReminderAtMinutes sets the ReminderAtMinutes field's value. +func (s *UpdateEndOfMeetingReminder) SetReminderAtMinutes(v []*int64) *UpdateEndOfMeetingReminder { + s.ReminderAtMinutes = v + return s +} + +// SetReminderType sets the ReminderType field's value. +func (s *UpdateEndOfMeetingReminder) SetReminderType(v string) *UpdateEndOfMeetingReminder { + s.ReminderType = &v + return s +} + type UpdateGatewayGroupInput struct { _ struct{} `type:"structure"` @@ -18711,6 +19236,114 @@ func (s UpdateGatewayOutput) GoString() string { return s.String() } +// Updates settings for the instant booking feature that are applied to a room +// profile. If instant booking is enabled, Alexa automatically reserves a room +// if it is free when a user joins a meeting with Alexa. +type UpdateInstantBooking struct { + _ struct{} `type:"structure"` + + // Duration between 15 and 240 minutes at increments of 15 that determines how + // long to book an available room when a meeting is started with Alexa. + DurationInMinutes *int64 `type:"integer"` + + // Whether instant booking is enabled or not. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s UpdateInstantBooking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInstantBooking) GoString() string { + return s.String() +} + +// SetDurationInMinutes sets the DurationInMinutes field's value. +func (s *UpdateInstantBooking) SetDurationInMinutes(v int64) *UpdateInstantBooking { + s.DurationInMinutes = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateInstantBooking) SetEnabled(v bool) *UpdateInstantBooking { + s.Enabled = &v + return s +} + +// Updates meeting room settings of a room profile. +type UpdateMeetingRoomConfiguration struct { + _ struct{} `type:"structure"` + + // Settings for the end of meeting reminder feature that are applied to a room + // profile. The end of meeting reminder enables Alexa to remind users when a + // meeting is ending. + EndOfMeetingReminder *UpdateEndOfMeetingReminder `type:"structure"` + + // Settings to automatically book an available room available for a configured + // duration when joining a meeting with Alexa. + InstantBooking *UpdateInstantBooking `type:"structure"` + + // Settings for requiring a check in when a room is reserved. Alexa can cancel + // a room reservation if it's not checked into to make the room available for + // others. Users can check in by joining the meeting with Alexa or an AVS device, + // or by saying “Alexa, check in.” + RequireCheckIn *UpdateRequireCheckIn `type:"structure"` + + // Whether room utilization metrics are enabled or not. + RoomUtilizationMetricsEnabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s UpdateMeetingRoomConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMeetingRoomConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMeetingRoomConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMeetingRoomConfiguration"} + if s.EndOfMeetingReminder != nil { + if err := s.EndOfMeetingReminder.Validate(); err != nil { + invalidParams.AddNested("EndOfMeetingReminder", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndOfMeetingReminder sets the EndOfMeetingReminder field's value. +func (s *UpdateMeetingRoomConfiguration) SetEndOfMeetingReminder(v *UpdateEndOfMeetingReminder) *UpdateMeetingRoomConfiguration { + s.EndOfMeetingReminder = v + return s +} + +// SetInstantBooking sets the InstantBooking field's value. +func (s *UpdateMeetingRoomConfiguration) SetInstantBooking(v *UpdateInstantBooking) *UpdateMeetingRoomConfiguration { + s.InstantBooking = v + return s +} + +// SetRequireCheckIn sets the RequireCheckIn field's value. +func (s *UpdateMeetingRoomConfiguration) SetRequireCheckIn(v *UpdateRequireCheckIn) *UpdateMeetingRoomConfiguration { + s.RequireCheckIn = v + return s +} + +// SetRoomUtilizationMetricsEnabled sets the RoomUtilizationMetricsEnabled field's value. +func (s *UpdateMeetingRoomConfiguration) SetRoomUtilizationMetricsEnabled(v bool) *UpdateMeetingRoomConfiguration { + s.RoomUtilizationMetricsEnabled = &v + return s +} + type UpdateNetworkProfileInput struct { _ struct{} `type:"structure"` @@ -18843,12 +19476,16 @@ type UpdateProfileInput struct { // done to the default status. IsDefault *bool `type:"boolean"` - // The updated locale for the room profile. + // The updated locale for the room profile. (This is currently only available + // to a limited preview audience.) Locale *string `min:"1" type:"string"` // The updated maximum volume limit for the room profile. MaxVolumeLimit *int64 `type:"integer"` + // The updated meeting room settings of a room profile. + MeetingRoomConfiguration *UpdateMeetingRoomConfiguration `type:"structure"` + // Whether the PSTN setting of the room profile is enabled. PSTNEnabled *bool `type:"boolean"` @@ -18896,6 +19533,11 @@ func (s *UpdateProfileInput) Validate() error { if s.Timezone != nil && len(*s.Timezone) < 1 { invalidParams.Add(request.NewErrParamMinLen("Timezone", 1)) } + if s.MeetingRoomConfiguration != nil { + if err := s.MeetingRoomConfiguration.Validate(); err != nil { + invalidParams.AddNested("MeetingRoomConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -18933,6 +19575,12 @@ func (s *UpdateProfileInput) SetMaxVolumeLimit(v int64) *UpdateProfileInput { return s } +// SetMeetingRoomConfiguration sets the MeetingRoomConfiguration field's value. +func (s *UpdateProfileInput) SetMeetingRoomConfiguration(v *UpdateMeetingRoomConfiguration) *UpdateProfileInput { + s.MeetingRoomConfiguration = v + return s +} + // SetPSTNEnabled sets the PSTNEnabled field's value. func (s *UpdateProfileInput) SetPSTNEnabled(v bool) *UpdateProfileInput { s.PSTNEnabled = &v @@ -18989,6 +19637,42 @@ func (s UpdateProfileOutput) GoString() string { return s.String() } +// Updates settings for the require check in feature that are applied to a room +// profile. Require check in allows a meeting room’s Alexa or AVS device to +// prompt the user to check in; otherwise, the room will be released. +type UpdateRequireCheckIn struct { + _ struct{} `type:"structure"` + + // Whether require check in is enabled or not. + Enabled *bool `type:"boolean"` + + // Duration between 5 and 20 minutes to determine when to release the room if + // it's not checked into. + ReleaseAfterMinutes *int64 `type:"integer"` +} + +// String returns the string representation +func (s UpdateRequireCheckIn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRequireCheckIn) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateRequireCheckIn) SetEnabled(v bool) *UpdateRequireCheckIn { + s.Enabled = &v + return s +} + +// SetReleaseAfterMinutes sets the ReleaseAfterMinutes field's value. +func (s *UpdateRequireCheckIn) SetReleaseAfterMinutes(v int64) *UpdateRequireCheckIn { + s.ReleaseAfterMinutes = &v + return s +} + type UpdateRoomInput struct { _ struct{} `type:"structure"` @@ -19243,6 +19927,9 @@ const ( // BusinessReportIntervalOneWeek is a BusinessReportInterval enum value BusinessReportIntervalOneWeek = "ONE_WEEK" + + // BusinessReportIntervalThirtyDays is a BusinessReportInterval enum value + BusinessReportIntervalThirtyDays = "THIRTY_DAYS" ) const ( @@ -19408,6 +20095,20 @@ const ( EnablementTypeFilterPending = "PENDING" ) +const ( + // EndOfMeetingReminderTypeAnnouncementTimeCheck is a EndOfMeetingReminderType enum value + EndOfMeetingReminderTypeAnnouncementTimeCheck = "ANNOUNCEMENT_TIME_CHECK" + + // EndOfMeetingReminderTypeAnnouncementVariableTimeLeft is a EndOfMeetingReminderType enum value + EndOfMeetingReminderTypeAnnouncementVariableTimeLeft = "ANNOUNCEMENT_VARIABLE_TIME_LEFT" + + // EndOfMeetingReminderTypeChime is a EndOfMeetingReminderType enum value + EndOfMeetingReminderTypeChime = "CHIME" + + // EndOfMeetingReminderTypeKnock is a EndOfMeetingReminderType enum value + EndOfMeetingReminderTypeKnock = "KNOCK" +) + const ( // EnrollmentStatusInitialized is a EnrollmentStatus enum value EnrollmentStatusInitialized = "INITIALIZED" diff --git a/service/appconfig/api.go b/service/appconfig/api.go new file mode 100644 index 00000000000..f9c355fb0a7 --- /dev/null +++ b/service/appconfig/api.go @@ -0,0 +1,7115 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package appconfig + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateApplication = "CreateApplication" + +// CreateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateApplication for more information on using the CreateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateApplicationRequest method. +// req, resp := client.CreateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateApplication +func (c *AppConfig) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) { + op := &request.Operation{ + Name: opCreateApplication, + HTTPMethod: "POST", + HTTPPath: "/applications", + } + + if input == nil { + input = &CreateApplicationInput{} + } + + output = &CreateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApplication API operation for Amazon AppConfig. +// +// An application in AppConfig is a logical unit of code that provides capabilities +// for your customers. For example, an application can be a microservice that +// runs on Amazon EC2 instances, a mobile application installed by your users, +// a serverless application using Amazon API Gateway and AWS Lambda, or any +// system you run on behalf of others. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation CreateApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateApplication +func (c *AppConfig) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + return out, req.Send() +} + +// CreateApplicationWithContext is the same as CreateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) { + req, out := c.CreateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateConfigurationProfile = "CreateConfigurationProfile" + +// CreateConfigurationProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateConfigurationProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateConfigurationProfile for more information on using the CreateConfigurationProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateConfigurationProfileRequest method. +// req, resp := client.CreateConfigurationProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile +func (c *AppConfig) CreateConfigurationProfileRequest(input *CreateConfigurationProfileInput) (req *request.Request, output *CreateConfigurationProfileOutput) { + op := &request.Operation{ + Name: opCreateConfigurationProfile, + HTTPMethod: "POST", + HTTPPath: "/applications/{ApplicationId}/configurationprofiles", + } + + if input == nil { + input = &CreateConfigurationProfileInput{} + } + + output = &CreateConfigurationProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateConfigurationProfile API operation for Amazon AppConfig. +// +// Information that enables AppConfig to access the configuration source. Valid +// configuration sources include Systems Manager (SSM) documents and SSM Parameter +// Store parameters. A configuration profile includes the following information. +// +// * The Uri location of the configuration data. +// +// * The AWS Identity and Access Management (IAM) role that provides access +// to the configuration data. +// +// * A validator for the configuration data. Available validators include +// either a JSON Schema or an AWS Lambda function. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation CreateConfigurationProfile for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile +func (c *AppConfig) CreateConfigurationProfile(input *CreateConfigurationProfileInput) (*CreateConfigurationProfileOutput, error) { + req, out := c.CreateConfigurationProfileRequest(input) + return out, req.Send() +} + +// CreateConfigurationProfileWithContext is the same as CreateConfigurationProfile with the addition of +// the ability to pass a context and additional request options. +// +// See CreateConfigurationProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) CreateConfigurationProfileWithContext(ctx aws.Context, input *CreateConfigurationProfileInput, opts ...request.Option) (*CreateConfigurationProfileOutput, error) { + req, out := c.CreateConfigurationProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDeploymentStrategy = "CreateDeploymentStrategy" + +// CreateDeploymentStrategyRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeploymentStrategy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDeploymentStrategy for more information on using the CreateDeploymentStrategy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDeploymentStrategyRequest method. +// req, resp := client.CreateDeploymentStrategyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateDeploymentStrategy +func (c *AppConfig) CreateDeploymentStrategyRequest(input *CreateDeploymentStrategyInput) (req *request.Request, output *CreateDeploymentStrategyOutput) { + op := &request.Operation{ + Name: opCreateDeploymentStrategy, + HTTPMethod: "POST", + HTTPPath: "/deploymentstrategies", + } + + if input == nil { + input = &CreateDeploymentStrategyInput{} + } + + output = &CreateDeploymentStrategyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDeploymentStrategy API operation for Amazon AppConfig. +// +// A deployment strategy defines important criteria for rolling out your configuration +// to the designated targets. A deployment strategy includes: the overall duration +// required, a percentage of targets to receive the deployment during each interval, +// an algorithm that defines how percentage grows, and bake time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation CreateDeploymentStrategy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateDeploymentStrategy +func (c *AppConfig) CreateDeploymentStrategy(input *CreateDeploymentStrategyInput) (*CreateDeploymentStrategyOutput, error) { + req, out := c.CreateDeploymentStrategyRequest(input) + return out, req.Send() +} + +// CreateDeploymentStrategyWithContext is the same as CreateDeploymentStrategy with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDeploymentStrategy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) CreateDeploymentStrategyWithContext(ctx aws.Context, input *CreateDeploymentStrategyInput, opts ...request.Option) (*CreateDeploymentStrategyOutput, error) { + req, out := c.CreateDeploymentStrategyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateEnvironment = "CreateEnvironment" + +// CreateEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the CreateEnvironment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateEnvironment for more information on using the CreateEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateEnvironmentRequest method. +// req, resp := client.CreateEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateEnvironment +func (c *AppConfig) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *CreateEnvironmentOutput) { + op := &request.Operation{ + Name: opCreateEnvironment, + HTTPMethod: "POST", + HTTPPath: "/applications/{ApplicationId}/environments", + } + + if input == nil { + input = &CreateEnvironmentInput{} + } + + output = &CreateEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEnvironment API operation for Amazon AppConfig. +// +// For each application, you define one or more environments. An environment +// is a logical deployment group of AppConfig targets, such as applications +// in a Beta or Production environment. You can also define environments for +// application subcomponents such as the Web, Mobile and Back-end components +// for your application. You can configure Amazon CloudWatch alarms for each +// environment. The system monitors alarms during a configuration deployment. +// If an alarm is triggered, the system rolls back the configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation CreateEnvironment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateEnvironment +func (c *AppConfig) CreateEnvironment(input *CreateEnvironmentInput) (*CreateEnvironmentOutput, error) { + req, out := c.CreateEnvironmentRequest(input) + return out, req.Send() +} + +// CreateEnvironmentWithContext is the same as CreateEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEnvironment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEnvironmentInput, opts ...request.Option) (*CreateEnvironmentOutput, error) { + req, out := c.CreateEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteApplication = "DeleteApplication" + +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteApplication for more information on using the DeleteApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteApplication +func (c *AppConfig) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { + op := &request.Operation{ + Name: opDeleteApplication, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{ApplicationId}", + } + + if input == nil { + input = &DeleteApplicationInput{} + } + + output = &DeleteApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApplication API operation for Amazon AppConfig. +// +// Delete an application. Deleting an application does not delete a configuration +// from a host. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteApplication +func (c *AppConfig) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + return out, req.Send() +} + +// DeleteApplicationWithContext is the same as DeleteApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteConfigurationProfile = "DeleteConfigurationProfile" + +// DeleteConfigurationProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConfigurationProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteConfigurationProfile for more information on using the DeleteConfigurationProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteConfigurationProfileRequest method. +// req, resp := client.DeleteConfigurationProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteConfigurationProfile +func (c *AppConfig) DeleteConfigurationProfileRequest(input *DeleteConfigurationProfileInput) (req *request.Request, output *DeleteConfigurationProfileOutput) { + op := &request.Operation{ + Name: opDeleteConfigurationProfile, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + } + + if input == nil { + input = &DeleteConfigurationProfileInput{} + } + + output = &DeleteConfigurationProfileOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteConfigurationProfile API operation for Amazon AppConfig. +// +// Delete a configuration profile. Deleting a configuration profile does not +// delete a configuration from a host. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation DeleteConfigurationProfile for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeConflictException "ConflictException" +// The request could not be processed because of conflict in the current state +// of the resource. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteConfigurationProfile +func (c *AppConfig) DeleteConfigurationProfile(input *DeleteConfigurationProfileInput) (*DeleteConfigurationProfileOutput, error) { + req, out := c.DeleteConfigurationProfileRequest(input) + return out, req.Send() +} + +// DeleteConfigurationProfileWithContext is the same as DeleteConfigurationProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteConfigurationProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) DeleteConfigurationProfileWithContext(ctx aws.Context, input *DeleteConfigurationProfileInput, opts ...request.Option) (*DeleteConfigurationProfileOutput, error) { + req, out := c.DeleteConfigurationProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDeploymentStrategy = "DeleteDeploymentStrategy" + +// DeleteDeploymentStrategyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeploymentStrategy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDeploymentStrategy for more information on using the DeleteDeploymentStrategy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDeploymentStrategyRequest method. +// req, resp := client.DeleteDeploymentStrategyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteDeploymentStrategy +func (c *AppConfig) DeleteDeploymentStrategyRequest(input *DeleteDeploymentStrategyInput) (req *request.Request, output *DeleteDeploymentStrategyOutput) { + op := &request.Operation{ + Name: opDeleteDeploymentStrategy, + HTTPMethod: "DELETE", + HTTPPath: "/deployementstrategies/{DeploymentStrategyId}", + } + + if input == nil { + input = &DeleteDeploymentStrategyInput{} + } + + output = &DeleteDeploymentStrategyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDeploymentStrategy API operation for Amazon AppConfig. +// +// Delete a deployment strategy. Deleting a deployment strategy does not delete +// a configuration from a host. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation DeleteDeploymentStrategy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteDeploymentStrategy +func (c *AppConfig) DeleteDeploymentStrategy(input *DeleteDeploymentStrategyInput) (*DeleteDeploymentStrategyOutput, error) { + req, out := c.DeleteDeploymentStrategyRequest(input) + return out, req.Send() +} + +// DeleteDeploymentStrategyWithContext is the same as DeleteDeploymentStrategy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDeploymentStrategy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) DeleteDeploymentStrategyWithContext(ctx aws.Context, input *DeleteDeploymentStrategyInput, opts ...request.Option) (*DeleteDeploymentStrategyOutput, error) { + req, out := c.DeleteDeploymentStrategyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEnvironment = "DeleteEnvironment" + +// DeleteEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEnvironment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEnvironment for more information on using the DeleteEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteEnvironmentRequest method. +// req, resp := client.DeleteEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteEnvironment +func (c *AppConfig) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) { + op := &request.Operation{ + Name: opDeleteEnvironment, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{ApplicationId}/environments/{EnvironmentId}", + } + + if input == nil { + input = &DeleteEnvironmentInput{} + } + + output = &DeleteEnvironmentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEnvironment API operation for Amazon AppConfig. +// +// Delete an environment. Deleting an environment does not delete a configuration +// from a host. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation DeleteEnvironment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeConflictException "ConflictException" +// The request could not be processed because of conflict in the current state +// of the resource. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteEnvironment +func (c *AppConfig) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) { + req, out := c.DeleteEnvironmentRequest(input) + return out, req.Send() +} + +// DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEnvironment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) { + req, out := c.DeleteEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApplication = "GetApplication" + +// GetApplicationRequest generates a "aws/request.Request" representing the +// client's request for the GetApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetApplication for more information on using the GetApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetApplicationRequest method. +// req, resp := client.GetApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetApplication +func (c *AppConfig) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) { + op := &request.Operation{ + Name: opGetApplication, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationId}", + } + + if input == nil { + input = &GetApplicationInput{} + } + + output = &GetApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApplication API operation for Amazon AppConfig. +// +// Retrieve information about an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation GetApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetApplication +func (c *AppConfig) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) { + req, out := c.GetApplicationRequest(input) + return out, req.Send() +} + +// GetApplicationWithContext is the same as GetApplication with the addition of +// the ability to pass a context and additional request options. +// +// See GetApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) GetApplicationWithContext(ctx aws.Context, input *GetApplicationInput, opts ...request.Option) (*GetApplicationOutput, error) { + req, out := c.GetApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetConfiguration = "GetConfiguration" + +// GetConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetConfiguration for more information on using the GetConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetConfigurationRequest method. +// req, resp := client.GetConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfiguration +func (c *AppConfig) GetConfigurationRequest(input *GetConfigurationInput) (req *request.Request, output *GetConfigurationOutput) { + op := &request.Operation{ + Name: opGetConfiguration, + HTTPMethod: "GET", + HTTPPath: "/applications/{Application}/environments/{Environment}/configurations/{Configuration}", + } + + if input == nil { + input = &GetConfigurationInput{} + } + + output = &GetConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConfiguration API operation for Amazon AppConfig. +// +// Retrieve information about a configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation GetConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfiguration +func (c *AppConfig) GetConfiguration(input *GetConfigurationInput) (*GetConfigurationOutput, error) { + req, out := c.GetConfigurationRequest(input) + return out, req.Send() +} + +// GetConfigurationWithContext is the same as GetConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) GetConfigurationWithContext(ctx aws.Context, input *GetConfigurationInput, opts ...request.Option) (*GetConfigurationOutput, error) { + req, out := c.GetConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetConfigurationProfile = "GetConfigurationProfile" + +// GetConfigurationProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetConfigurationProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetConfigurationProfile for more information on using the GetConfigurationProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetConfigurationProfileRequest method. +// req, resp := client.GetConfigurationProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile +func (c *AppConfig) GetConfigurationProfileRequest(input *GetConfigurationProfileInput) (req *request.Request, output *GetConfigurationProfileOutput) { + op := &request.Operation{ + Name: opGetConfigurationProfile, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + } + + if input == nil { + input = &GetConfigurationProfileInput{} + } + + output = &GetConfigurationProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConfigurationProfile API operation for Amazon AppConfig. +// +// Retrieve information about a configuration profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation GetConfigurationProfile for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile +func (c *AppConfig) GetConfigurationProfile(input *GetConfigurationProfileInput) (*GetConfigurationProfileOutput, error) { + req, out := c.GetConfigurationProfileRequest(input) + return out, req.Send() +} + +// GetConfigurationProfileWithContext is the same as GetConfigurationProfile with the addition of +// the ability to pass a context and additional request options. +// +// See GetConfigurationProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) GetConfigurationProfileWithContext(ctx aws.Context, input *GetConfigurationProfileInput, opts ...request.Option) (*GetConfigurationProfileOutput, error) { + req, out := c.GetConfigurationProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDeployment = "GetDeployment" + +// GetDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDeployment for more information on using the GetDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDeploymentRequest method. +// req, resp := client.GetDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment +func (c *AppConfig) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) { + op := &request.Operation{ + Name: opGetDeployment, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", + } + + if input == nil { + input = &GetDeploymentInput{} + } + + output = &GetDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDeployment API operation for Amazon AppConfig. +// +// Retrieve information about a configuration deployment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation GetDeployment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment +func (c *AppConfig) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + return out, req.Send() +} + +// GetDeploymentWithContext is the same as GetDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See GetDeployment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDeploymentStrategy = "GetDeploymentStrategy" + +// GetDeploymentStrategyRequest generates a "aws/request.Request" representing the +// client's request for the GetDeploymentStrategy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDeploymentStrategy for more information on using the GetDeploymentStrategy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDeploymentStrategyRequest method. +// req, resp := client.GetDeploymentStrategyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeploymentStrategy +func (c *AppConfig) GetDeploymentStrategyRequest(input *GetDeploymentStrategyInput) (req *request.Request, output *GetDeploymentStrategyOutput) { + op := &request.Operation{ + Name: opGetDeploymentStrategy, + HTTPMethod: "GET", + HTTPPath: "/deploymentstrategies/{DeploymentStrategyId}", + } + + if input == nil { + input = &GetDeploymentStrategyInput{} + } + + output = &GetDeploymentStrategyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDeploymentStrategy API operation for Amazon AppConfig. +// +// Retrieve information about a deployment strategy. A deployment strategy defines +// important criteria for rolling out your configuration to the designated targets. +// A deployment strategy includes: the overall duration required, a percentage +// of targets to receive the deployment during each interval, an algorithm that +// defines how percentage grows, and bake time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation GetDeploymentStrategy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeploymentStrategy +func (c *AppConfig) GetDeploymentStrategy(input *GetDeploymentStrategyInput) (*GetDeploymentStrategyOutput, error) { + req, out := c.GetDeploymentStrategyRequest(input) + return out, req.Send() +} + +// GetDeploymentStrategyWithContext is the same as GetDeploymentStrategy with the addition of +// the ability to pass a context and additional request options. +// +// See GetDeploymentStrategy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) GetDeploymentStrategyWithContext(ctx aws.Context, input *GetDeploymentStrategyInput, opts ...request.Option) (*GetDeploymentStrategyOutput, error) { + req, out := c.GetDeploymentStrategyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEnvironment = "GetEnvironment" + +// GetEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the GetEnvironment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetEnvironment for more information on using the GetEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetEnvironmentRequest method. +// req, resp := client.GetEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetEnvironment +func (c *AppConfig) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.Request, output *GetEnvironmentOutput) { + op := &request.Operation{ + Name: opGetEnvironment, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationId}/environments/{EnvironmentId}", + } + + if input == nil { + input = &GetEnvironmentInput{} + } + + output = &GetEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEnvironment API operation for Amazon AppConfig. +// +// Retrieve information about an environment. An environment is a logical deployment +// group of AppConfig applications, such as applications in a Production environment +// or in an EU_Region environment. Each configuration deployment targets an +// environment. You can enable one or more Amazon CloudWatch alarms for an environment. +// If an alarm is triggered during a deployment, AppConfig roles back the configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation GetEnvironment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetEnvironment +func (c *AppConfig) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) { + req, out := c.GetEnvironmentRequest(input) + return out, req.Send() +} + +// GetEnvironmentWithContext is the same as GetEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See GetEnvironment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) { + req, out := c.GetEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListApplications = "ListApplications" + +// ListApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplications operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListApplications for more information on using the ListApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListApplicationsRequest method. +// req, resp := client.ListApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListApplications +func (c *AppConfig) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) { + op := &request.Operation{ + Name: opListApplications, + HTTPMethod: "GET", + HTTPPath: "/applications", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListApplicationsInput{} + } + + output = &ListApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplications API operation for Amazon AppConfig. +// +// List all applications in your AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation ListApplications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListApplications +func (c *AppConfig) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + return out, req.Send() +} + +// ListApplicationsWithContext is the same as ListApplications with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplications for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) { + req, out := c.ListApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApplicationsPages iterates over the pages of a ListApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplications method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListApplications operation. +// pageNum := 0 +// err := client.ListApplicationsPages(params, +// func(page *appconfig.ListApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppConfig) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error { + return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApplicationsPagesWithContext same as ListApplicationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApplicationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApplicationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListConfigurationProfiles = "ListConfigurationProfiles" + +// ListConfigurationProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListConfigurationProfiles operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListConfigurationProfiles for more information on using the ListConfigurationProfiles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListConfigurationProfilesRequest method. +// req, resp := client.ListConfigurationProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListConfigurationProfiles +func (c *AppConfig) ListConfigurationProfilesRequest(input *ListConfigurationProfilesInput) (req *request.Request, output *ListConfigurationProfilesOutput) { + op := &request.Operation{ + Name: opListConfigurationProfiles, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationId}/configurationprofiles", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListConfigurationProfilesInput{} + } + + output = &ListConfigurationProfilesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListConfigurationProfiles API operation for Amazon AppConfig. +// +// Lists the configuration profiles for an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation ListConfigurationProfiles for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListConfigurationProfiles +func (c *AppConfig) ListConfigurationProfiles(input *ListConfigurationProfilesInput) (*ListConfigurationProfilesOutput, error) { + req, out := c.ListConfigurationProfilesRequest(input) + return out, req.Send() +} + +// ListConfigurationProfilesWithContext is the same as ListConfigurationProfiles with the addition of +// the ability to pass a context and additional request options. +// +// See ListConfigurationProfiles for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListConfigurationProfilesWithContext(ctx aws.Context, input *ListConfigurationProfilesInput, opts ...request.Option) (*ListConfigurationProfilesOutput, error) { + req, out := c.ListConfigurationProfilesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListConfigurationProfilesPages iterates over the pages of a ListConfigurationProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConfigurationProfiles method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListConfigurationProfiles operation. +// pageNum := 0 +// err := client.ListConfigurationProfilesPages(params, +// func(page *appconfig.ListConfigurationProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppConfig) ListConfigurationProfilesPages(input *ListConfigurationProfilesInput, fn func(*ListConfigurationProfilesOutput, bool) bool) error { + return c.ListConfigurationProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListConfigurationProfilesPagesWithContext same as ListConfigurationProfilesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListConfigurationProfilesPagesWithContext(ctx aws.Context, input *ListConfigurationProfilesInput, fn func(*ListConfigurationProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConfigurationProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConfigurationProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConfigurationProfilesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDeploymentStrategies = "ListDeploymentStrategies" + +// ListDeploymentStrategiesRequest generates a "aws/request.Request" representing the +// client's request for the ListDeploymentStrategies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDeploymentStrategies for more information on using the ListDeploymentStrategies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDeploymentStrategiesRequest method. +// req, resp := client.ListDeploymentStrategiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeploymentStrategies +func (c *AppConfig) ListDeploymentStrategiesRequest(input *ListDeploymentStrategiesInput) (req *request.Request, output *ListDeploymentStrategiesOutput) { + op := &request.Operation{ + Name: opListDeploymentStrategies, + HTTPMethod: "GET", + HTTPPath: "/deploymentstrategies", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDeploymentStrategiesInput{} + } + + output = &ListDeploymentStrategiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDeploymentStrategies API operation for Amazon AppConfig. +// +// List deployment strategies. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation ListDeploymentStrategies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeploymentStrategies +func (c *AppConfig) ListDeploymentStrategies(input *ListDeploymentStrategiesInput) (*ListDeploymentStrategiesOutput, error) { + req, out := c.ListDeploymentStrategiesRequest(input) + return out, req.Send() +} + +// ListDeploymentStrategiesWithContext is the same as ListDeploymentStrategies with the addition of +// the ability to pass a context and additional request options. +// +// See ListDeploymentStrategies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListDeploymentStrategiesWithContext(ctx aws.Context, input *ListDeploymentStrategiesInput, opts ...request.Option) (*ListDeploymentStrategiesOutput, error) { + req, out := c.ListDeploymentStrategiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDeploymentStrategiesPages iterates over the pages of a ListDeploymentStrategies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeploymentStrategies method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListDeploymentStrategies operation. +// pageNum := 0 +// err := client.ListDeploymentStrategiesPages(params, +// func(page *appconfig.ListDeploymentStrategiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppConfig) ListDeploymentStrategiesPages(input *ListDeploymentStrategiesInput, fn func(*ListDeploymentStrategiesOutput, bool) bool) error { + return c.ListDeploymentStrategiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDeploymentStrategiesPagesWithContext same as ListDeploymentStrategiesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListDeploymentStrategiesPagesWithContext(ctx aws.Context, input *ListDeploymentStrategiesInput, fn func(*ListDeploymentStrategiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDeploymentStrategiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDeploymentStrategiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDeploymentStrategiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDeployments = "ListDeployments" + +// ListDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the ListDeployments operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDeployments for more information on using the ListDeployments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDeploymentsRequest method. +// req, resp := client.ListDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeployments +func (c *AppConfig) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) { + op := &request.Operation{ + Name: opListDeployments, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDeploymentsInput{} + } + + output = &ListDeploymentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDeployments API operation for Amazon AppConfig. +// +// Lists the deployments for an environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation ListDeployments for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeployments +func (c *AppConfig) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) { + req, out := c.ListDeploymentsRequest(input) + return out, req.Send() +} + +// ListDeploymentsWithContext is the same as ListDeployments with the addition of +// the ability to pass a context and additional request options. +// +// See ListDeployments for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) { + req, out := c.ListDeploymentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDeploymentsPages iterates over the pages of a ListDeployments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeployments method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListDeployments operation. +// pageNum := 0 +// err := client.ListDeploymentsPages(params, +// func(page *appconfig.ListDeploymentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppConfig) ListDeploymentsPages(input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool) error { + return c.ListDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDeploymentsPagesWithContext same as ListDeploymentsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListDeploymentsPagesWithContext(ctx aws.Context, input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDeploymentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDeploymentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDeploymentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEnvironments = "ListEnvironments" + +// ListEnvironmentsRequest generates a "aws/request.Request" representing the +// client's request for the ListEnvironments operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListEnvironments for more information on using the ListEnvironments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListEnvironmentsRequest method. +// req, resp := client.ListEnvironmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListEnvironments +func (c *AppConfig) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) { + op := &request.Operation{ + Name: opListEnvironments, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationId}/environments", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEnvironmentsInput{} + } + + output = &ListEnvironmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEnvironments API operation for Amazon AppConfig. +// +// List the environments for an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation ListEnvironments for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListEnvironments +func (c *AppConfig) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) { + req, out := c.ListEnvironmentsRequest(input) + return out, req.Send() +} + +// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of +// the ability to pass a context and additional request options. +// +// See ListEnvironments for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) { + req, out := c.ListEnvironmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEnvironmentsPages iterates over the pages of a ListEnvironments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEnvironments method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEnvironments operation. +// pageNum := 0 +// err := client.ListEnvironmentsPages(params, +// func(page *appconfig.ListEnvironmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppConfig) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error { + return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEnvironmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListTagsForResource +func (c *AppConfig) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon AppConfig. +// +// Retrieves the list of key-value tags assigned to the resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListTagsForResource +func (c *AppConfig) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartDeployment = "StartDeployment" + +// StartDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the StartDeployment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartDeployment for more information on using the StartDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartDeploymentRequest method. +// req, resp := client.StartDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment +func (c *AppConfig) StartDeploymentRequest(input *StartDeploymentInput) (req *request.Request, output *StartDeploymentOutput) { + op := &request.Operation{ + Name: opStartDeployment, + HTTPMethod: "POST", + HTTPPath: "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", + } + + if input == nil { + input = &StartDeploymentInput{} + } + + output = &StartDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartDeployment API operation for Amazon AppConfig. +// +// Starts a deployment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation StartDeployment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeConflictException "ConflictException" +// The request could not be processed because of conflict in the current state +// of the resource. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment +func (c *AppConfig) StartDeployment(input *StartDeploymentInput) (*StartDeploymentOutput, error) { + req, out := c.StartDeploymentRequest(input) + return out, req.Send() +} + +// StartDeploymentWithContext is the same as StartDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See StartDeployment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) StartDeploymentWithContext(ctx aws.Context, input *StartDeploymentInput, opts ...request.Option) (*StartDeploymentOutput, error) { + req, out := c.StartDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopDeployment = "StopDeployment" + +// StopDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the StopDeployment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopDeployment for more information on using the StopDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopDeploymentRequest method. +// req, resp := client.StopDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment +func (c *AppConfig) StopDeploymentRequest(input *StopDeploymentInput) (req *request.Request, output *StopDeploymentOutput) { + op := &request.Operation{ + Name: opStopDeployment, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", + } + + if input == nil { + input = &StopDeploymentInput{} + } + + output = &StopDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopDeployment API operation for Amazon AppConfig. +// +// Stops a deployment. This API action works only on deployments that have a +// status of DEPLOYING. This action moves the deployment to a status of ROLLED_BACK. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation StopDeployment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment +func (c *AppConfig) StopDeployment(input *StopDeploymentInput) (*StopDeploymentOutput, error) { + req, out := c.StopDeploymentRequest(input) + return out, req.Send() +} + +// StopDeploymentWithContext is the same as StopDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See StopDeployment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) StopDeploymentWithContext(ctx aws.Context, input *StopDeploymentInput, opts ...request.Option) (*StopDeploymentOutput, error) { + req, out := c.StopDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/TagResource +func (c *AppConfig) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon AppConfig. +// +// Metadata to assign to an AppConfig resource. Tags help organize and categorize +// your AppConfig resources. Each tag consists of a key and an optional value, +// both of which you define. You can specify a maximum of 50 tags for a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/TagResource +func (c *AppConfig) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UntagResource +func (c *AppConfig) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon AppConfig. +// +// Deletes a tag key and value from an AppConfig resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UntagResource +func (c *AppConfig) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApplication = "UpdateApplication" + +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateApplication for more information on using the UpdateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateApplication +func (c *AppConfig) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { + op := &request.Operation{ + Name: opUpdateApplication, + HTTPMethod: "PATCH", + HTTPPath: "/applications/{ApplicationId}", + } + + if input == nil { + input = &UpdateApplicationInput{} + } + + output = &UpdateApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApplication API operation for Amazon AppConfig. +// +// Updates an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation UpdateApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateApplication +func (c *AppConfig) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + return out, req.Send() +} + +// UpdateApplicationWithContext is the same as UpdateApplication with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) { + req, out := c.UpdateApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateConfigurationProfile = "UpdateConfigurationProfile" + +// UpdateConfigurationProfileRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfigurationProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateConfigurationProfile for more information on using the UpdateConfigurationProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateConfigurationProfileRequest method. +// req, resp := client.UpdateConfigurationProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile +func (c *AppConfig) UpdateConfigurationProfileRequest(input *UpdateConfigurationProfileInput) (req *request.Request, output *UpdateConfigurationProfileOutput) { + op := &request.Operation{ + Name: opUpdateConfigurationProfile, + HTTPMethod: "PATCH", + HTTPPath: "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + } + + if input == nil { + input = &UpdateConfigurationProfileInput{} + } + + output = &UpdateConfigurationProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConfigurationProfile API operation for Amazon AppConfig. +// +// Updates a configuration profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation UpdateConfigurationProfile for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile +func (c *AppConfig) UpdateConfigurationProfile(input *UpdateConfigurationProfileInput) (*UpdateConfigurationProfileOutput, error) { + req, out := c.UpdateConfigurationProfileRequest(input) + return out, req.Send() +} + +// UpdateConfigurationProfileWithContext is the same as UpdateConfigurationProfile with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfigurationProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) UpdateConfigurationProfileWithContext(ctx aws.Context, input *UpdateConfigurationProfileInput, opts ...request.Option) (*UpdateConfigurationProfileOutput, error) { + req, out := c.UpdateConfigurationProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDeploymentStrategy = "UpdateDeploymentStrategy" + +// UpdateDeploymentStrategyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDeploymentStrategy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDeploymentStrategy for more information on using the UpdateDeploymentStrategy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDeploymentStrategyRequest method. +// req, resp := client.UpdateDeploymentStrategyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateDeploymentStrategy +func (c *AppConfig) UpdateDeploymentStrategyRequest(input *UpdateDeploymentStrategyInput) (req *request.Request, output *UpdateDeploymentStrategyOutput) { + op := &request.Operation{ + Name: opUpdateDeploymentStrategy, + HTTPMethod: "PATCH", + HTTPPath: "/deploymentstrategies/{DeploymentStrategyId}", + } + + if input == nil { + input = &UpdateDeploymentStrategyInput{} + } + + output = &UpdateDeploymentStrategyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDeploymentStrategy API operation for Amazon AppConfig. +// +// Updates a deployment strategy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation UpdateDeploymentStrategy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateDeploymentStrategy +func (c *AppConfig) UpdateDeploymentStrategy(input *UpdateDeploymentStrategyInput) (*UpdateDeploymentStrategyOutput, error) { + req, out := c.UpdateDeploymentStrategyRequest(input) + return out, req.Send() +} + +// UpdateDeploymentStrategyWithContext is the same as UpdateDeploymentStrategy with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDeploymentStrategy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) UpdateDeploymentStrategyWithContext(ctx aws.Context, input *UpdateDeploymentStrategyInput, opts ...request.Option) (*UpdateDeploymentStrategyOutput, error) { + req, out := c.UpdateDeploymentStrategyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEnvironment = "UpdateEnvironment" + +// UpdateEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEnvironment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEnvironment for more information on using the UpdateEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateEnvironmentRequest method. +// req, resp := client.UpdateEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateEnvironment +func (c *AppConfig) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) { + op := &request.Operation{ + Name: opUpdateEnvironment, + HTTPMethod: "PATCH", + HTTPPath: "/applications/{ApplicationId}/environments/{EnvironmentId}", + } + + if input == nil { + input = &UpdateEnvironmentInput{} + } + + output = &UpdateEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEnvironment API operation for Amazon AppConfig. +// +// Updates an environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation UpdateEnvironment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateEnvironment +func (c *AppConfig) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) { + req, out := c.UpdateEnvironmentRequest(input) + return out, req.Send() +} + +// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEnvironment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) { + req, out := c.UpdateEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opValidateConfiguration = "ValidateConfiguration" + +// ValidateConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the ValidateConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidateConfiguration for more information on using the ValidateConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ValidateConfigurationRequest method. +// req, resp := client.ValidateConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ValidateConfiguration +func (c *AppConfig) ValidateConfigurationRequest(input *ValidateConfigurationInput) (req *request.Request, output *ValidateConfigurationOutput) { + op := &request.Operation{ + Name: opValidateConfiguration, + HTTPMethod: "POST", + HTTPPath: "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators", + } + + if input == nil { + input = &ValidateConfigurationInput{} + } + + output = &ValidateConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// ValidateConfiguration API operation for Amazon AppConfig. +// +// Uses the validators in a configuration profile to validate a configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppConfig's +// API operation ValidateConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The requested resource could not be found. +// +// * ErrCodeInternalServerException "InternalServerException" +// There was an internal failure in the AppConfig service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ValidateConfiguration +func (c *AppConfig) ValidateConfiguration(input *ValidateConfigurationInput) (*ValidateConfigurationOutput, error) { + req, out := c.ValidateConfigurationRequest(input) + return out, req.Send() +} + +// ValidateConfigurationWithContext is the same as ValidateConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See ValidateConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfig) ValidateConfigurationWithContext(ctx aws.Context, input *ValidateConfigurationInput, opts ...request.Option) (*ValidateConfigurationOutput, error) { + req, out := c.ValidateConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type Application struct { + _ struct{} `type:"structure"` + + // The description of the application. + Description *string `type:"string"` + + // The application ID. + Id *string `type:"string"` + + // The application name. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Application) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Application) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *Application) SetDescription(v string) *Application { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *Application) SetId(v string) *Application { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *Application) SetName(v string) *Application { + s.Name = &v + return s +} + +// A summary of a configuration profile. +type ConfigurationProfileSummary struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The ID of the configuration profile. + Id *string `type:"string"` + + // The URI location of the configuration. + LocationUri *string `min:"1" type:"string"` + + // The name of the configuration profile. + Name *string `min:"1" type:"string"` + + // The types of validators in the configuration profile. + ValidatorTypes []*string `type:"list"` +} + +// String returns the string representation +func (s ConfigurationProfileSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConfigurationProfileSummary) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ConfigurationProfileSummary) SetApplicationId(v string) *ConfigurationProfileSummary { + s.ApplicationId = &v + return s +} + +// SetId sets the Id field's value. +func (s *ConfigurationProfileSummary) SetId(v string) *ConfigurationProfileSummary { + s.Id = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *ConfigurationProfileSummary) SetLocationUri(v string) *ConfigurationProfileSummary { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *ConfigurationProfileSummary) SetName(v string) *ConfigurationProfileSummary { + s.Name = &v + return s +} + +// SetValidatorTypes sets the ValidatorTypes field's value. +func (s *ConfigurationProfileSummary) SetValidatorTypes(v []*string) *ConfigurationProfileSummary { + s.ValidatorTypes = v + return s +} + +type CreateApplicationInput struct { + _ struct{} `type:"structure"` + + // A description of the application. + Description *string `type:"string"` + + // A name for the application. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Metadata to assign to the application. Tags help organize and categorize + // your AppConfig resources. Each tag consists of a key and an optional value, + // both of which you define. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s CreateApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateApplicationInput) SetDescription(v string) *CreateApplicationInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApplicationInput) SetName(v string) *CreateApplicationInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateApplicationInput) SetTags(v map[string]*string) *CreateApplicationInput { + s.Tags = v + return s +} + +type CreateApplicationOutput struct { + _ struct{} `type:"structure"` + + // The description of the application. + Description *string `type:"string"` + + // The application ID. + Id *string `type:"string"` + + // The application name. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *CreateApplicationOutput) SetDescription(v string) *CreateApplicationOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateApplicationOutput) SetId(v string) *CreateApplicationOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateApplicationOutput) SetName(v string) *CreateApplicationOutput { + s.Name = &v + return s +} + +type CreateConfigurationProfileInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // A description of the configuration profile. + Description *string `type:"string"` + + // A URI to locate the configuration. You can specify either a Systems Manager + // (SSM) document or an SSM Parameter Store parameter. For an SSM document, + // specify either the document name in the format ssm-document:// + // or the Amazon Resource Name (ARN). For a parameter, specify either the parameter + // name in the format ssm-parameter:// or the ARN. + // + // LocationUri is a required field + LocationUri *string `min:"1" type:"string" required:"true"` + + // A name for the configuration profile. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The ARN of an IAM role with permission to access the configuration at the + // specified LocationUri. + // + // RetrievalRoleArn is a required field + RetrievalRoleArn *string `min:"20" type:"string" required:"true"` + + // Metadata to assign to the configuration profile. Tags help organize and categorize + // your AppConfig resources. Each tag consists of a key and an optional value, + // both of which you define. + Tags map[string]*string `type:"map"` + + // A list of methods for validating the configuration. + Validators []*Validator `type:"list"` +} + +// String returns the string representation +func (s CreateConfigurationProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConfigurationProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfigurationProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationProfileInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.LocationUri == nil { + invalidParams.Add(request.NewErrParamRequired("LocationUri")) + } + if s.LocationUri != nil && len(*s.LocationUri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LocationUri", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RetrievalRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RetrievalRoleArn")) + } + if s.RetrievalRoleArn != nil && len(*s.RetrievalRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RetrievalRoleArn", 20)) + } + if s.Validators != nil { + for i, v := range s.Validators { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Validators", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateConfigurationProfileInput) SetApplicationId(v string) *CreateConfigurationProfileInput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateConfigurationProfileInput) SetDescription(v string) *CreateConfigurationProfileInput { + s.Description = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *CreateConfigurationProfileInput) SetLocationUri(v string) *CreateConfigurationProfileInput { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateConfigurationProfileInput) SetName(v string) *CreateConfigurationProfileInput { + s.Name = &v + return s +} + +// SetRetrievalRoleArn sets the RetrievalRoleArn field's value. +func (s *CreateConfigurationProfileInput) SetRetrievalRoleArn(v string) *CreateConfigurationProfileInput { + s.RetrievalRoleArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateConfigurationProfileInput) SetTags(v map[string]*string) *CreateConfigurationProfileInput { + s.Tags = v + return s +} + +// SetValidators sets the Validators field's value. +func (s *CreateConfigurationProfileInput) SetValidators(v []*Validator) *CreateConfigurationProfileInput { + s.Validators = v + return s +} + +type CreateConfigurationProfileOutput struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The configuration profile description. + Description *string `type:"string"` + + // The configuration profile ID. + Id *string `type:"string"` + + // The URI location of the configuration. + LocationUri *string `min:"1" type:"string"` + + // The name of the configuration profile. + Name *string `min:"1" type:"string"` + + // The ARN of an IAM role with permission to access the configuration at the + // specified LocationUri. + RetrievalRoleArn *string `min:"20" type:"string"` + + // A list of methods for validating the configuration. + Validators []*Validator `type:"list"` +} + +// String returns the string representation +func (s CreateConfigurationProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConfigurationProfileOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateConfigurationProfileOutput) SetApplicationId(v string) *CreateConfigurationProfileOutput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateConfigurationProfileOutput) SetDescription(v string) *CreateConfigurationProfileOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateConfigurationProfileOutput) SetId(v string) *CreateConfigurationProfileOutput { + s.Id = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *CreateConfigurationProfileOutput) SetLocationUri(v string) *CreateConfigurationProfileOutput { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateConfigurationProfileOutput) SetName(v string) *CreateConfigurationProfileOutput { + s.Name = &v + return s +} + +// SetRetrievalRoleArn sets the RetrievalRoleArn field's value. +func (s *CreateConfigurationProfileOutput) SetRetrievalRoleArn(v string) *CreateConfigurationProfileOutput { + s.RetrievalRoleArn = &v + return s +} + +// SetValidators sets the Validators field's value. +func (s *CreateConfigurationProfileOutput) SetValidators(v []*Validator) *CreateConfigurationProfileOutput { + s.Validators = v + return s +} + +type CreateDeploymentStrategyInput struct { + _ struct{} `type:"structure"` + + // Total amount of time for a deployment to last. + // + // DeploymentDurationInMinutes is a required field + DeploymentDurationInMinutes *int64 `type:"integer" required:"true"` + + // A description of the deployment strategy. + Description *string `type:"string"` + + // The amount of time AppConfig monitors for alarms before considering the deployment + // to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets to receive a deployed configuration during each + // interval. + // + // GrowthFactor is a required field + GrowthFactor *float64 `min:"1" type:"float" required:"true"` + + // The algorithm used to define how percentage grows over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // A name for the deployment strategy. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Save the deployment strategy to a Systems Manager (SSM) document. + // + // ReplicateTo is a required field + ReplicateTo *string `type:"string" required:"true" enum:"ReplicateTo"` + + // Metadata to assign to the deployment strategy. Tags help organize and categorize + // your AppConfig resources. Each tag consists of a key and an optional value, + // both of which you define. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s CreateDeploymentStrategyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeploymentStrategyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDeploymentStrategyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentStrategyInput"} + if s.DeploymentDurationInMinutes == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentDurationInMinutes")) + } + if s.GrowthFactor == nil { + invalidParams.Add(request.NewErrParamRequired("GrowthFactor")) + } + if s.GrowthFactor != nil && *s.GrowthFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("GrowthFactor", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ReplicateTo == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicateTo")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *CreateDeploymentStrategyInput) SetDeploymentDurationInMinutes(v int64) *CreateDeploymentStrategyInput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateDeploymentStrategyInput) SetDescription(v string) *CreateDeploymentStrategyInput { + s.Description = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *CreateDeploymentStrategyInput) SetFinalBakeTimeInMinutes(v int64) *CreateDeploymentStrategyInput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *CreateDeploymentStrategyInput) SetGrowthFactor(v float64) *CreateDeploymentStrategyInput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *CreateDeploymentStrategyInput) SetGrowthType(v string) *CreateDeploymentStrategyInput { + s.GrowthType = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDeploymentStrategyInput) SetName(v string) *CreateDeploymentStrategyInput { + s.Name = &v + return s +} + +// SetReplicateTo sets the ReplicateTo field's value. +func (s *CreateDeploymentStrategyInput) SetReplicateTo(v string) *CreateDeploymentStrategyInput { + s.ReplicateTo = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDeploymentStrategyInput) SetTags(v map[string]*string) *CreateDeploymentStrategyInput { + s.Tags = v + return s +} + +type CreateDeploymentStrategyOutput struct { + _ struct{} `type:"structure"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The description of the deployment strategy. + Description *string `type:"string"` + + // The amount of time AppConfig monitored for alarms before considering the + // deployment to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets that received a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grew over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The deployment strategy ID. + Id *string `type:"string"` + + // The name of the deployment strategy. + Name *string `min:"1" type:"string"` + + // Save the deployment strategy to a Systems Manager (SSM) document. + ReplicateTo *string `type:"string" enum:"ReplicateTo"` +} + +// String returns the string representation +func (s CreateDeploymentStrategyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDeploymentStrategyOutput) GoString() string { + return s.String() +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *CreateDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *CreateDeploymentStrategyOutput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateDeploymentStrategyOutput) SetDescription(v string) *CreateDeploymentStrategyOutput { + s.Description = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *CreateDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *CreateDeploymentStrategyOutput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *CreateDeploymentStrategyOutput) SetGrowthFactor(v float64) *CreateDeploymentStrategyOutput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *CreateDeploymentStrategyOutput) SetGrowthType(v string) *CreateDeploymentStrategyOutput { + s.GrowthType = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateDeploymentStrategyOutput) SetId(v string) *CreateDeploymentStrategyOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDeploymentStrategyOutput) SetName(v string) *CreateDeploymentStrategyOutput { + s.Name = &v + return s +} + +// SetReplicateTo sets the ReplicateTo field's value. +func (s *CreateDeploymentStrategyOutput) SetReplicateTo(v string) *CreateDeploymentStrategyOutput { + s.ReplicateTo = &v + return s +} + +type CreateEnvironmentInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // A description of the environment. + Description *string `type:"string"` + + // Amazon CloudWatch alarms to monitor during the deployment process. + Monitors []*Monitor `type:"list"` + + // A name for the environment. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Metadata to assign to the environment. Tags help organize and categorize + // your AppConfig resources. Each tag consists of a key and an optional value, + // both of which you define. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s CreateEnvironmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Monitors != nil { + for i, v := range s.Monitors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Monitors", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateEnvironmentInput) SetApplicationId(v string) *CreateEnvironmentInput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput { + s.Description = &v + return s +} + +// SetMonitors sets the Monitors field's value. +func (s *CreateEnvironmentInput) SetMonitors(v []*Monitor) *CreateEnvironmentInput { + s.Monitors = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput { + s.Tags = v + return s +} + +type CreateEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The description of the environment. + Description *string `type:"string"` + + // The environment ID. + Id *string `type:"string"` + + // Amazon CloudWatch alarms monitored during the deployment. + Monitors []*Monitor `type:"list"` + + // The name of the environment. + Name *string `min:"1" type:"string"` + + // The state of the environment. An environment can be in one of the following + // states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK + State *string `type:"string" enum:"EnvironmentState"` +} + +// String returns the string representation +func (s CreateEnvironmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEnvironmentOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateEnvironmentOutput) SetApplicationId(v string) *CreateEnvironmentOutput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateEnvironmentOutput) SetDescription(v string) *CreateEnvironmentOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateEnvironmentOutput) SetId(v string) *CreateEnvironmentOutput { + s.Id = &v + return s +} + +// SetMonitors sets the Monitors field's value. +func (s *CreateEnvironmentOutput) SetMonitors(v []*Monitor) *CreateEnvironmentOutput { + s.Monitors = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateEnvironmentOutput) SetName(v string) *CreateEnvironmentOutput { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateEnvironmentOutput) SetState(v string) *CreateEnvironmentOutput { + s.State = &v + return s +} + +type DeleteApplicationInput struct { + _ struct{} `type:"structure"` + + // The ID of the application to delete. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput { + s.ApplicationId = &v + return s +} + +type DeleteApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationOutput) GoString() string { + return s.String() +} + +type DeleteConfigurationProfileInput struct { + _ struct{} `type:"structure"` + + // The application ID that includes the configuration profile you want to delete. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The ID of the configuration profile you want to delete. + // + // ConfigurationProfileId is a required field + ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteConfigurationProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteConfigurationProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfigurationProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationProfileInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ConfigurationProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId")) + } + if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteConfigurationProfileInput) SetApplicationId(v string) *DeleteConfigurationProfileInput { + s.ApplicationId = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *DeleteConfigurationProfileInput) SetConfigurationProfileId(v string) *DeleteConfigurationProfileInput { + s.ConfigurationProfileId = &v + return s +} + +type DeleteConfigurationProfileOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteConfigurationProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteConfigurationProfileOutput) GoString() string { + return s.String() +} + +type DeleteDeploymentStrategyInput struct { + _ struct{} `type:"structure"` + + // The ID of the deployment strategy you want to delete. + // + // DeploymentStrategyId is a required field + DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDeploymentStrategyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDeploymentStrategyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDeploymentStrategyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentStrategyInput"} + if s.DeploymentStrategyId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId")) + } + if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentStrategyId sets the DeploymentStrategyId field's value. +func (s *DeleteDeploymentStrategyInput) SetDeploymentStrategyId(v string) *DeleteDeploymentStrategyInput { + s.DeploymentStrategyId = &v + return s +} + +type DeleteDeploymentStrategyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDeploymentStrategyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDeploymentStrategyOutput) GoString() string { + return s.String() +} + +type DeleteEnvironmentInput struct { + _ struct{} `type:"structure"` + + // The application ID that includes the environment you want to delete. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The ID of the environment you want to delete. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEnvironmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteEnvironmentInput) SetApplicationId(v string) *DeleteEnvironmentInput { + s.ApplicationId = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *DeleteEnvironmentInput) SetEnvironmentId(v string) *DeleteEnvironmentInput { + s.EnvironmentId = &v + return s +} + +type DeleteEnvironmentOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEnvironmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEnvironmentOutput) GoString() string { + return s.String() +} + +type DeploymentStrategy struct { + _ struct{} `type:"structure"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The description of the deployment strategy. + Description *string `type:"string"` + + // The amount of time AppConfig monitored for alarms before considering the + // deployment to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets that received a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grew over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The deployment strategy ID. + Id *string `type:"string"` + + // The name of the deployment strategy. + Name *string `min:"1" type:"string"` + + // Save the deployment strategy to a Systems Manager (SSM) document. + ReplicateTo *string `type:"string" enum:"ReplicateTo"` +} + +// String returns the string representation +func (s DeploymentStrategy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeploymentStrategy) GoString() string { + return s.String() +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *DeploymentStrategy) SetDeploymentDurationInMinutes(v int64) *DeploymentStrategy { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DeploymentStrategy) SetDescription(v string) *DeploymentStrategy { + s.Description = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *DeploymentStrategy) SetFinalBakeTimeInMinutes(v int64) *DeploymentStrategy { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *DeploymentStrategy) SetGrowthFactor(v float64) *DeploymentStrategy { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *DeploymentStrategy) SetGrowthType(v string) *DeploymentStrategy { + s.GrowthType = &v + return s +} + +// SetId sets the Id field's value. +func (s *DeploymentStrategy) SetId(v string) *DeploymentStrategy { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeploymentStrategy) SetName(v string) *DeploymentStrategy { + s.Name = &v + return s +} + +// SetReplicateTo sets the ReplicateTo field's value. +func (s *DeploymentStrategy) SetReplicateTo(v string) *DeploymentStrategy { + s.ReplicateTo = &v + return s +} + +// Information about the deployment. +type DeploymentSummary struct { + _ struct{} `type:"structure"` + + // Time the deployment completed. + CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The name of the configuration. + ConfigurationName *string `min:"1" type:"string"` + + // The version of the configuration. + ConfigurationVersion *string `min:"1" type:"string"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The sequence number of the deployment. + DeploymentNumber *int64 `type:"integer"` + + // The amount of time AppConfig monitors for alarms before considering the deployment + // to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets to receive a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grows over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The percentage of targets for which the deployment is available. + PercentageComplete *float64 `min:"1" type:"float"` + + // Time the deployment started. + StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The state of the deployment. + State *string `type:"string" enum:"DeploymentState"` +} + +// String returns the string representation +func (s DeploymentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeploymentSummary) GoString() string { + return s.String() +} + +// SetCompletedAt sets the CompletedAt field's value. +func (s *DeploymentSummary) SetCompletedAt(v time.Time) *DeploymentSummary { + s.CompletedAt = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *DeploymentSummary) SetConfigurationName(v string) *DeploymentSummary { + s.ConfigurationName = &v + return s +} + +// SetConfigurationVersion sets the ConfigurationVersion field's value. +func (s *DeploymentSummary) SetConfigurationVersion(v string) *DeploymentSummary { + s.ConfigurationVersion = &v + return s +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *DeploymentSummary) SetDeploymentDurationInMinutes(v int64) *DeploymentSummary { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDeploymentNumber sets the DeploymentNumber field's value. +func (s *DeploymentSummary) SetDeploymentNumber(v int64) *DeploymentSummary { + s.DeploymentNumber = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *DeploymentSummary) SetFinalBakeTimeInMinutes(v int64) *DeploymentSummary { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *DeploymentSummary) SetGrowthFactor(v float64) *DeploymentSummary { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *DeploymentSummary) SetGrowthType(v string) *DeploymentSummary { + s.GrowthType = &v + return s +} + +// SetPercentageComplete sets the PercentageComplete field's value. +func (s *DeploymentSummary) SetPercentageComplete(v float64) *DeploymentSummary { + s.PercentageComplete = &v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *DeploymentSummary) SetStartedAt(v time.Time) *DeploymentSummary { + s.StartedAt = &v + return s +} + +// SetState sets the State field's value. +func (s *DeploymentSummary) SetState(v string) *DeploymentSummary { + s.State = &v + return s +} + +type Environment struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The description of the environment. + Description *string `type:"string"` + + // The environment ID. + Id *string `type:"string"` + + // Amazon CloudWatch alarms monitored during the deployment. + Monitors []*Monitor `type:"list"` + + // The name of the environment. + Name *string `min:"1" type:"string"` + + // The state of the environment. An environment can be in one of the following + // states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK + State *string `type:"string" enum:"EnvironmentState"` +} + +// String returns the string representation +func (s Environment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Environment) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *Environment) SetApplicationId(v string) *Environment { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Environment) SetDescription(v string) *Environment { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *Environment) SetId(v string) *Environment { + s.Id = &v + return s +} + +// SetMonitors sets the Monitors field's value. +func (s *Environment) SetMonitors(v []*Monitor) *Environment { + s.Monitors = v + return s +} + +// SetName sets the Name field's value. +func (s *Environment) SetName(v string) *Environment { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *Environment) SetState(v string) *Environment { + s.State = &v + return s +} + +type GetApplicationInput struct { + _ struct{} `type:"structure"` + + // The ID of the application you want to get. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApplicationInput) SetApplicationId(v string) *GetApplicationInput { + s.ApplicationId = &v + return s +} + +type GetApplicationOutput struct { + _ struct{} `type:"structure"` + + // The description of the application. + Description *string `type:"string"` + + // The application ID. + Id *string `type:"string"` + + // The application name. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApplicationOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *GetApplicationOutput) SetDescription(v string) *GetApplicationOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetApplicationOutput) SetId(v string) *GetApplicationOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetApplicationOutput) SetName(v string) *GetApplicationOutput { + s.Name = &v + return s +} + +type GetConfigurationInput struct { + _ struct{} `type:"structure"` + + // The application to get. + // + // Application is a required field + Application *string `location:"uri" locationName:"Application" min:"1" type:"string" required:"true"` + + // The configuration version returned in the most recent GetConfiguration response. + ClientConfigurationVersion *string `location:"querystring" locationName:"client_configuration_version" min:"1" type:"string"` + + // A unique ID to identify the client for the configuration. This ID enables + // AppConfig to deploy the configuration in intervals, as defined in the deployment + // strategy. + // + // ClientId is a required field + ClientId *string `location:"querystring" locationName:"client_id" min:"1" type:"string" required:"true"` + + // The configuration to get. + // + // Configuration is a required field + Configuration *string `location:"uri" locationName:"Configuration" min:"1" type:"string" required:"true"` + + // The environment to get. + // + // Environment is a required field + Environment *string `location:"uri" locationName:"Environment" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfigurationInput"} + if s.Application == nil { + invalidParams.Add(request.NewErrParamRequired("Application")) + } + if s.Application != nil && len(*s.Application) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Application", 1)) + } + if s.ClientConfigurationVersion != nil && len(*s.ClientConfigurationVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientConfigurationVersion", 1)) + } + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + if s.Configuration != nil && len(*s.Configuration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Configuration", 1)) + } + if s.Environment == nil { + invalidParams.Add(request.NewErrParamRequired("Environment")) + } + if s.Environment != nil && len(*s.Environment) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Environment", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplication sets the Application field's value. +func (s *GetConfigurationInput) SetApplication(v string) *GetConfigurationInput { + s.Application = &v + return s +} + +// SetClientConfigurationVersion sets the ClientConfigurationVersion field's value. +func (s *GetConfigurationInput) SetClientConfigurationVersion(v string) *GetConfigurationInput { + s.ClientConfigurationVersion = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *GetConfigurationInput) SetClientId(v string) *GetConfigurationInput { + s.ClientId = &v + return s +} + +// SetConfiguration sets the Configuration field's value. +func (s *GetConfigurationInput) SetConfiguration(v string) *GetConfigurationInput { + s.Configuration = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *GetConfigurationInput) SetEnvironment(v string) *GetConfigurationInput { + s.Environment = &v + return s +} + +type GetConfigurationOutput struct { + _ struct{} `type:"structure" payload:"Content"` + + // The configuration version. + ConfigurationVersion *string `location:"header" locationName:"Configuration-Version" min:"1" type:"string"` + + // The content of the configuration or the configuration data. + Content []byte `type:"blob"` + + // A standard MIME type describing the format of the configuration content. + // For more information, see Content-Type (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). + ContentType *string `location:"header" locationName:"Content-Type" type:"string"` +} + +// String returns the string representation +func (s GetConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfigurationVersion sets the ConfigurationVersion field's value. +func (s *GetConfigurationOutput) SetConfigurationVersion(v string) *GetConfigurationOutput { + s.ConfigurationVersion = &v + return s +} + +// SetContent sets the Content field's value. +func (s *GetConfigurationOutput) SetContent(v []byte) *GetConfigurationOutput { + s.Content = v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *GetConfigurationOutput) SetContentType(v string) *GetConfigurationOutput { + s.ContentType = &v + return s +} + +type GetConfigurationProfileInput struct { + _ struct{} `type:"structure"` + + // The ID of the application that includes the configuration profile you want + // to get. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The ID of the configuration profile you want to get. + // + // ConfigurationProfileId is a required field + ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetConfigurationProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConfigurationProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConfigurationProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfigurationProfileInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ConfigurationProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId")) + } + if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetConfigurationProfileInput) SetApplicationId(v string) *GetConfigurationProfileInput { + s.ApplicationId = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *GetConfigurationProfileInput) SetConfigurationProfileId(v string) *GetConfigurationProfileInput { + s.ConfigurationProfileId = &v + return s +} + +type GetConfigurationProfileOutput struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The configuration profile description. + Description *string `type:"string"` + + // The configuration profile ID. + Id *string `type:"string"` + + // The URI location of the configuration. + LocationUri *string `min:"1" type:"string"` + + // The name of the configuration profile. + Name *string `min:"1" type:"string"` + + // The ARN of an IAM role with permission to access the configuration at the + // specified LocationUri. + RetrievalRoleArn *string `min:"20" type:"string"` + + // A list of methods for validating the configuration. + Validators []*Validator `type:"list"` +} + +// String returns the string representation +func (s GetConfigurationProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConfigurationProfileOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetConfigurationProfileOutput) SetApplicationId(v string) *GetConfigurationProfileOutput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetConfigurationProfileOutput) SetDescription(v string) *GetConfigurationProfileOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetConfigurationProfileOutput) SetId(v string) *GetConfigurationProfileOutput { + s.Id = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *GetConfigurationProfileOutput) SetLocationUri(v string) *GetConfigurationProfileOutput { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetConfigurationProfileOutput) SetName(v string) *GetConfigurationProfileOutput { + s.Name = &v + return s +} + +// SetRetrievalRoleArn sets the RetrievalRoleArn field's value. +func (s *GetConfigurationProfileOutput) SetRetrievalRoleArn(v string) *GetConfigurationProfileOutput { + s.RetrievalRoleArn = &v + return s +} + +// SetValidators sets the Validators field's value. +func (s *GetConfigurationProfileOutput) SetValidators(v []*Validator) *GetConfigurationProfileOutput { + s.Validators = v + return s +} + +type GetDeploymentInput struct { + _ struct{} `type:"structure"` + + // The ID of the application that includes the deployment you want to get. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The sequence number of the deployment. + // + // DeploymentNumber is a required field + DeploymentNumber *int64 `location:"uri" locationName:"DeploymentNumber" type:"integer" required:"true"` + + // The ID of the environment that includes the deployment you want to get. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.DeploymentNumber == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentNumber")) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetDeploymentInput) SetApplicationId(v string) *GetDeploymentInput { + s.ApplicationId = &v + return s +} + +// SetDeploymentNumber sets the DeploymentNumber field's value. +func (s *GetDeploymentInput) SetDeploymentNumber(v int64) *GetDeploymentInput { + s.DeploymentNumber = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetDeploymentInput) SetEnvironmentId(v string) *GetDeploymentInput { + s.EnvironmentId = &v + return s +} + +type GetDeploymentOutput struct { + _ struct{} `type:"structure"` + + // The ID of the application that was deployed. + ApplicationId *string `type:"string"` + + // The time the deployment completed. + CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // Information about the source location of the configuration. + ConfigurationLocationUri *string `min:"1" type:"string"` + + // The name of the configuration. + ConfigurationName *string `min:"1" type:"string"` + + // The ID of the configuration profile that was deployed. + ConfigurationProfileId *string `type:"string"` + + // The configuration version that was deployed. + ConfigurationVersion *string `min:"1" type:"string"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The sequence number of the deployment. + DeploymentNumber *int64 `type:"integer"` + + // The ID of the deployment strategy that was deployed. + DeploymentStrategyId *string `type:"string"` + + // The description of the deployment. + Description *string `type:"string"` + + // The ID of the environment that was deployed. + EnvironmentId *string `type:"string"` + + // The amount of time AppConfig monitored for alarms before considering the + // deployment to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets to receive a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grew over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The percentage of targets for which the deployment is available. + PercentageComplete *float64 `min:"1" type:"float"` + + // The time the deployment started. + StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The state of the deployment. + State *string `type:"string" enum:"DeploymentState"` +} + +// String returns the string representation +func (s GetDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetDeploymentOutput) SetApplicationId(v string) *GetDeploymentOutput { + s.ApplicationId = &v + return s +} + +// SetCompletedAt sets the CompletedAt field's value. +func (s *GetDeploymentOutput) SetCompletedAt(v time.Time) *GetDeploymentOutput { + s.CompletedAt = &v + return s +} + +// SetConfigurationLocationUri sets the ConfigurationLocationUri field's value. +func (s *GetDeploymentOutput) SetConfigurationLocationUri(v string) *GetDeploymentOutput { + s.ConfigurationLocationUri = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *GetDeploymentOutput) SetConfigurationName(v string) *GetDeploymentOutput { + s.ConfigurationName = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *GetDeploymentOutput) SetConfigurationProfileId(v string) *GetDeploymentOutput { + s.ConfigurationProfileId = &v + return s +} + +// SetConfigurationVersion sets the ConfigurationVersion field's value. +func (s *GetDeploymentOutput) SetConfigurationVersion(v string) *GetDeploymentOutput { + s.ConfigurationVersion = &v + return s +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *GetDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *GetDeploymentOutput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDeploymentNumber sets the DeploymentNumber field's value. +func (s *GetDeploymentOutput) SetDeploymentNumber(v int64) *GetDeploymentOutput { + s.DeploymentNumber = &v + return s +} + +// SetDeploymentStrategyId sets the DeploymentStrategyId field's value. +func (s *GetDeploymentOutput) SetDeploymentStrategyId(v string) *GetDeploymentOutput { + s.DeploymentStrategyId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetDeploymentOutput) SetDescription(v string) *GetDeploymentOutput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetDeploymentOutput) SetEnvironmentId(v string) *GetDeploymentOutput { + s.EnvironmentId = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *GetDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *GetDeploymentOutput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *GetDeploymentOutput) SetGrowthFactor(v float64) *GetDeploymentOutput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *GetDeploymentOutput) SetGrowthType(v string) *GetDeploymentOutput { + s.GrowthType = &v + return s +} + +// SetPercentageComplete sets the PercentageComplete field's value. +func (s *GetDeploymentOutput) SetPercentageComplete(v float64) *GetDeploymentOutput { + s.PercentageComplete = &v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *GetDeploymentOutput) SetStartedAt(v time.Time) *GetDeploymentOutput { + s.StartedAt = &v + return s +} + +// SetState sets the State field's value. +func (s *GetDeploymentOutput) SetState(v string) *GetDeploymentOutput { + s.State = &v + return s +} + +type GetDeploymentStrategyInput struct { + _ struct{} `type:"structure"` + + // The ID of the deployment strategy to get. + // + // DeploymentStrategyId is a required field + DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDeploymentStrategyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentStrategyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDeploymentStrategyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDeploymentStrategyInput"} + if s.DeploymentStrategyId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId")) + } + if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentStrategyId sets the DeploymentStrategyId field's value. +func (s *GetDeploymentStrategyInput) SetDeploymentStrategyId(v string) *GetDeploymentStrategyInput { + s.DeploymentStrategyId = &v + return s +} + +type GetDeploymentStrategyOutput struct { + _ struct{} `type:"structure"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The description of the deployment strategy. + Description *string `type:"string"` + + // The amount of time AppConfig monitored for alarms before considering the + // deployment to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets that received a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grew over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The deployment strategy ID. + Id *string `type:"string"` + + // The name of the deployment strategy. + Name *string `min:"1" type:"string"` + + // Save the deployment strategy to a Systems Manager (SSM) document. + ReplicateTo *string `type:"string" enum:"ReplicateTo"` +} + +// String returns the string representation +func (s GetDeploymentStrategyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDeploymentStrategyOutput) GoString() string { + return s.String() +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *GetDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *GetDeploymentStrategyOutput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetDeploymentStrategyOutput) SetDescription(v string) *GetDeploymentStrategyOutput { + s.Description = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *GetDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *GetDeploymentStrategyOutput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *GetDeploymentStrategyOutput) SetGrowthFactor(v float64) *GetDeploymentStrategyOutput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *GetDeploymentStrategyOutput) SetGrowthType(v string) *GetDeploymentStrategyOutput { + s.GrowthType = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetDeploymentStrategyOutput) SetId(v string) *GetDeploymentStrategyOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetDeploymentStrategyOutput) SetName(v string) *GetDeploymentStrategyOutput { + s.Name = &v + return s +} + +// SetReplicateTo sets the ReplicateTo field's value. +func (s *GetDeploymentStrategyOutput) SetReplicateTo(v string) *GetDeploymentStrategyOutput { + s.ReplicateTo = &v + return s +} + +type GetEnvironmentInput struct { + _ struct{} `type:"structure"` + + // The ID of the application that includes the environment you want to get. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The ID of the environment you wnat to get. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetEnvironmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetEnvironmentInput) SetApplicationId(v string) *GetEnvironmentInput { + s.ApplicationId = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetEnvironmentInput) SetEnvironmentId(v string) *GetEnvironmentInput { + s.EnvironmentId = &v + return s +} + +type GetEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The description of the environment. + Description *string `type:"string"` + + // The environment ID. + Id *string `type:"string"` + + // Amazon CloudWatch alarms monitored during the deployment. + Monitors []*Monitor `type:"list"` + + // The name of the environment. + Name *string `min:"1" type:"string"` + + // The state of the environment. An environment can be in one of the following + // states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK + State *string `type:"string" enum:"EnvironmentState"` +} + +// String returns the string representation +func (s GetEnvironmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEnvironmentOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetEnvironmentOutput) SetApplicationId(v string) *GetEnvironmentOutput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetEnvironmentOutput) SetDescription(v string) *GetEnvironmentOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetEnvironmentOutput) SetId(v string) *GetEnvironmentOutput { + s.Id = &v + return s +} + +// SetMonitors sets the Monitors field's value. +func (s *GetEnvironmentOutput) SetMonitors(v []*Monitor) *GetEnvironmentOutput { + s.Monitors = v + return s +} + +// SetName sets the Name field's value. +func (s *GetEnvironmentOutput) SetName(v string) *GetEnvironmentOutput { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *GetEnvironmentOutput) SetState(v string) *GetEnvironmentOutput { + s.State = &v + return s +} + +type ListApplicationsInput struct { + _ struct{} `type:"structure"` + + // 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. + MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListApplicationsInput) SetMaxResults(v int64) *ListApplicationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput { + s.NextToken = &v + return s +} + +type ListApplicationsOutput struct { + _ struct{} `type:"structure"` + + // The elements from this collection. + Items []*Application `type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListApplicationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApplicationsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListApplicationsOutput) SetItems(v []*Application) *ListApplicationsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput { + s.NextToken = &v + return s +} + +type ListConfigurationProfilesInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // 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. + MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListConfigurationProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListConfigurationProfilesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListConfigurationProfilesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConfigurationProfilesInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListConfigurationProfilesInput) SetApplicationId(v string) *ListConfigurationProfilesInput { + s.ApplicationId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListConfigurationProfilesInput) SetMaxResults(v int64) *ListConfigurationProfilesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfigurationProfilesInput) SetNextToken(v string) *ListConfigurationProfilesInput { + s.NextToken = &v + return s +} + +type ListConfigurationProfilesOutput struct { + _ struct{} `type:"structure"` + + // The elements from this collection. + Items []*ConfigurationProfileSummary `type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListConfigurationProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListConfigurationProfilesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListConfigurationProfilesOutput) SetItems(v []*ConfigurationProfileSummary) *ListConfigurationProfilesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfigurationProfilesOutput) SetNextToken(v string) *ListConfigurationProfilesOutput { + s.NextToken = &v + return s +} + +type ListDeploymentStrategiesInput struct { + _ struct{} `type:"structure"` + + // 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. + MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDeploymentStrategiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeploymentStrategiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDeploymentStrategiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDeploymentStrategiesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDeploymentStrategiesInput) SetMaxResults(v int64) *ListDeploymentStrategiesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeploymentStrategiesInput) SetNextToken(v string) *ListDeploymentStrategiesInput { + s.NextToken = &v + return s +} + +type ListDeploymentStrategiesOutput struct { + _ struct{} `type:"structure"` + + // The elements from this collection. + Items []*DeploymentStrategy `type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDeploymentStrategiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeploymentStrategiesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListDeploymentStrategiesOutput) SetItems(v []*DeploymentStrategy) *ListDeploymentStrategiesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeploymentStrategiesOutput) SetNextToken(v string) *ListDeploymentStrategiesOutput { + s.NextToken = &v + return s +} + +type ListDeploymentsInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The environment ID. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"` + + // 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. + MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDeploymentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeploymentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDeploymentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListDeploymentsInput) SetApplicationId(v string) *ListDeploymentsInput { + s.ApplicationId = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *ListDeploymentsInput) SetEnvironmentId(v string) *ListDeploymentsInput { + s.EnvironmentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDeploymentsInput) SetMaxResults(v int64) *ListDeploymentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput { + s.NextToken = &v + return s +} + +type ListDeploymentsOutput struct { + _ struct{} `type:"structure"` + + // The elements from this collection. + Items []*DeploymentSummary `type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDeploymentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDeploymentsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListDeploymentsOutput) SetItems(v []*DeploymentSummary) *ListDeploymentsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput { + s.NextToken = &v + return s +} + +type ListEnvironmentsInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // 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. + MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListEnvironmentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEnvironmentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEnvironmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListEnvironmentsInput) SetApplicationId(v string) *ListEnvironmentsInput { + s.ApplicationId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput { + s.NextToken = &v + return s +} + +type ListEnvironmentsOutput struct { + _ struct{} `type:"structure"` + + // The elements from this collection. + Items []*Environment `type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListEnvironmentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEnvironmentsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListEnvironmentsOutput) SetItems(v []*Environment) *ListEnvironmentsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ARN. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // Metadata to assign to AppConfig resources. Tags help organize and categorize + // your AppConfig resources. Each tag consists of a key and an optional value, + // both of which you define. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// Amazon CloudWatch alarms to monitor during the deployment process. +type Monitor struct { + _ struct{} `type:"structure"` + + // ARN of the Amazon CloudWatch alarm. + AlarmArn *string `min:"20" type:"string"` + + // ARN of an IAM role for AppConfig to monitor AlarmArn. + AlarmRoleArn *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s Monitor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Monitor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Monitor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Monitor"} + if s.AlarmArn != nil && len(*s.AlarmArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AlarmArn", 20)) + } + if s.AlarmRoleArn != nil && len(*s.AlarmRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AlarmRoleArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmArn sets the AlarmArn field's value. +func (s *Monitor) SetAlarmArn(v string) *Monitor { + s.AlarmArn = &v + return s +} + +// SetAlarmRoleArn sets the AlarmRoleArn field's value. +func (s *Monitor) SetAlarmRoleArn(v string) *Monitor { + s.AlarmRoleArn = &v + return s +} + +type StartDeploymentInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The configuration profile ID. + // + // ConfigurationProfileId is a required field + ConfigurationProfileId *string `type:"string" required:"true"` + + // The configuration version to deploy. + // + // ConfigurationVersion is a required field + ConfigurationVersion *string `min:"1" type:"string" required:"true"` + + // The deployment strategy ID. + // + // DeploymentStrategyId is a required field + DeploymentStrategyId *string `type:"string" required:"true"` + + // A description of the deployment. + Description *string `type:"string"` + + // The environment ID. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"` + + // Metadata to assign to the deployment. Tags help organize and categorize your + // AppConfig resources. Each tag consists of a key and an optional value, both + // of which you define. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s StartDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartDeploymentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ConfigurationProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId")) + } + if s.ConfigurationVersion == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationVersion")) + } + if s.ConfigurationVersion != nil && len(*s.ConfigurationVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationVersion", 1)) + } + if s.DeploymentStrategyId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId")) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StartDeploymentInput) SetApplicationId(v string) *StartDeploymentInput { + s.ApplicationId = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *StartDeploymentInput) SetConfigurationProfileId(v string) *StartDeploymentInput { + s.ConfigurationProfileId = &v + return s +} + +// SetConfigurationVersion sets the ConfigurationVersion field's value. +func (s *StartDeploymentInput) SetConfigurationVersion(v string) *StartDeploymentInput { + s.ConfigurationVersion = &v + return s +} + +// SetDeploymentStrategyId sets the DeploymentStrategyId field's value. +func (s *StartDeploymentInput) SetDeploymentStrategyId(v string) *StartDeploymentInput { + s.DeploymentStrategyId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StartDeploymentInput) SetDescription(v string) *StartDeploymentInput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *StartDeploymentInput) SetEnvironmentId(v string) *StartDeploymentInput { + s.EnvironmentId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartDeploymentInput) SetTags(v map[string]*string) *StartDeploymentInput { + s.Tags = v + return s +} + +type StartDeploymentOutput struct { + _ struct{} `type:"structure"` + + // The ID of the application that was deployed. + ApplicationId *string `type:"string"` + + // The time the deployment completed. + CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // Information about the source location of the configuration. + ConfigurationLocationUri *string `min:"1" type:"string"` + + // The name of the configuration. + ConfigurationName *string `min:"1" type:"string"` + + // The ID of the configuration profile that was deployed. + ConfigurationProfileId *string `type:"string"` + + // The configuration version that was deployed. + ConfigurationVersion *string `min:"1" type:"string"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The sequence number of the deployment. + DeploymentNumber *int64 `type:"integer"` + + // The ID of the deployment strategy that was deployed. + DeploymentStrategyId *string `type:"string"` + + // The description of the deployment. + Description *string `type:"string"` + + // The ID of the environment that was deployed. + EnvironmentId *string `type:"string"` + + // The amount of time AppConfig monitored for alarms before considering the + // deployment to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets to receive a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grew over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The percentage of targets for which the deployment is available. + PercentageComplete *float64 `min:"1" type:"float"` + + // The time the deployment started. + StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The state of the deployment. + State *string `type:"string" enum:"DeploymentState"` +} + +// String returns the string representation +func (s StartDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartDeploymentOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StartDeploymentOutput) SetApplicationId(v string) *StartDeploymentOutput { + s.ApplicationId = &v + return s +} + +// SetCompletedAt sets the CompletedAt field's value. +func (s *StartDeploymentOutput) SetCompletedAt(v time.Time) *StartDeploymentOutput { + s.CompletedAt = &v + return s +} + +// SetConfigurationLocationUri sets the ConfigurationLocationUri field's value. +func (s *StartDeploymentOutput) SetConfigurationLocationUri(v string) *StartDeploymentOutput { + s.ConfigurationLocationUri = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *StartDeploymentOutput) SetConfigurationName(v string) *StartDeploymentOutput { + s.ConfigurationName = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *StartDeploymentOutput) SetConfigurationProfileId(v string) *StartDeploymentOutput { + s.ConfigurationProfileId = &v + return s +} + +// SetConfigurationVersion sets the ConfigurationVersion field's value. +func (s *StartDeploymentOutput) SetConfigurationVersion(v string) *StartDeploymentOutput { + s.ConfigurationVersion = &v + return s +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *StartDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *StartDeploymentOutput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDeploymentNumber sets the DeploymentNumber field's value. +func (s *StartDeploymentOutput) SetDeploymentNumber(v int64) *StartDeploymentOutput { + s.DeploymentNumber = &v + return s +} + +// SetDeploymentStrategyId sets the DeploymentStrategyId field's value. +func (s *StartDeploymentOutput) SetDeploymentStrategyId(v string) *StartDeploymentOutput { + s.DeploymentStrategyId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StartDeploymentOutput) SetDescription(v string) *StartDeploymentOutput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *StartDeploymentOutput) SetEnvironmentId(v string) *StartDeploymentOutput { + s.EnvironmentId = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *StartDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *StartDeploymentOutput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *StartDeploymentOutput) SetGrowthFactor(v float64) *StartDeploymentOutput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *StartDeploymentOutput) SetGrowthType(v string) *StartDeploymentOutput { + s.GrowthType = &v + return s +} + +// SetPercentageComplete sets the PercentageComplete field's value. +func (s *StartDeploymentOutput) SetPercentageComplete(v float64) *StartDeploymentOutput { + s.PercentageComplete = &v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *StartDeploymentOutput) SetStartedAt(v time.Time) *StartDeploymentOutput { + s.StartedAt = &v + return s +} + +// SetState sets the State field's value. +func (s *StartDeploymentOutput) SetState(v string) *StartDeploymentOutput { + s.State = &v + return s +} + +type StopDeploymentInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The sequence number of the deployment. + // + // DeploymentNumber is a required field + DeploymentNumber *int64 `location:"uri" locationName:"DeploymentNumber" type:"integer" required:"true"` + + // The environment ID. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopDeploymentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.DeploymentNumber == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentNumber")) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StopDeploymentInput) SetApplicationId(v string) *StopDeploymentInput { + s.ApplicationId = &v + return s +} + +// SetDeploymentNumber sets the DeploymentNumber field's value. +func (s *StopDeploymentInput) SetDeploymentNumber(v int64) *StopDeploymentInput { + s.DeploymentNumber = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *StopDeploymentInput) SetEnvironmentId(v string) *StopDeploymentInput { + s.EnvironmentId = &v + return s +} + +type StopDeploymentOutput struct { + _ struct{} `type:"structure"` + + // The ID of the application that was deployed. + ApplicationId *string `type:"string"` + + // The time the deployment completed. + CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // Information about the source location of the configuration. + ConfigurationLocationUri *string `min:"1" type:"string"` + + // The name of the configuration. + ConfigurationName *string `min:"1" type:"string"` + + // The ID of the configuration profile that was deployed. + ConfigurationProfileId *string `type:"string"` + + // The configuration version that was deployed. + ConfigurationVersion *string `min:"1" type:"string"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The sequence number of the deployment. + DeploymentNumber *int64 `type:"integer"` + + // The ID of the deployment strategy that was deployed. + DeploymentStrategyId *string `type:"string"` + + // The description of the deployment. + Description *string `type:"string"` + + // The ID of the environment that was deployed. + EnvironmentId *string `type:"string"` + + // The amount of time AppConfig monitored for alarms before considering the + // deployment to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets to receive a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grew over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The percentage of targets for which the deployment is available. + PercentageComplete *float64 `min:"1" type:"float"` + + // The time the deployment started. + StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The state of the deployment. + State *string `type:"string" enum:"DeploymentState"` +} + +// String returns the string representation +func (s StopDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopDeploymentOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *StopDeploymentOutput) SetApplicationId(v string) *StopDeploymentOutput { + s.ApplicationId = &v + return s +} + +// SetCompletedAt sets the CompletedAt field's value. +func (s *StopDeploymentOutput) SetCompletedAt(v time.Time) *StopDeploymentOutput { + s.CompletedAt = &v + return s +} + +// SetConfigurationLocationUri sets the ConfigurationLocationUri field's value. +func (s *StopDeploymentOutput) SetConfigurationLocationUri(v string) *StopDeploymentOutput { + s.ConfigurationLocationUri = &v + return s +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *StopDeploymentOutput) SetConfigurationName(v string) *StopDeploymentOutput { + s.ConfigurationName = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *StopDeploymentOutput) SetConfigurationProfileId(v string) *StopDeploymentOutput { + s.ConfigurationProfileId = &v + return s +} + +// SetConfigurationVersion sets the ConfigurationVersion field's value. +func (s *StopDeploymentOutput) SetConfigurationVersion(v string) *StopDeploymentOutput { + s.ConfigurationVersion = &v + return s +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *StopDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *StopDeploymentOutput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDeploymentNumber sets the DeploymentNumber field's value. +func (s *StopDeploymentOutput) SetDeploymentNumber(v int64) *StopDeploymentOutput { + s.DeploymentNumber = &v + return s +} + +// SetDeploymentStrategyId sets the DeploymentStrategyId field's value. +func (s *StopDeploymentOutput) SetDeploymentStrategyId(v string) *StopDeploymentOutput { + s.DeploymentStrategyId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StopDeploymentOutput) SetDescription(v string) *StopDeploymentOutput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *StopDeploymentOutput) SetEnvironmentId(v string) *StopDeploymentOutput { + s.EnvironmentId = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *StopDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *StopDeploymentOutput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *StopDeploymentOutput) SetGrowthFactor(v float64) *StopDeploymentOutput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *StopDeploymentOutput) SetGrowthType(v string) *StopDeploymentOutput { + s.GrowthType = &v + return s +} + +// SetPercentageComplete sets the PercentageComplete field's value. +func (s *StopDeploymentOutput) SetPercentageComplete(v float64) *StopDeploymentOutput { + s.PercentageComplete = &v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *StopDeploymentOutput) SetStartedAt(v time.Time) *StopDeploymentOutput { + s.StartedAt = &v + return s +} + +// SetState sets the State field's value. +func (s *StopDeploymentOutput) SetState(v string) *StopDeploymentOutput { + s.State = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource for which to retrieve tags. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // The key-value string map. The valid character set is [a-zA-Z+-=._:/]. The + // tag key can be up to 128 characters and must not start with aws:. The tag + // value can be up to 256 characters. + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource for which to remove tags. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // The tag keys to delete. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateApplicationInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // A description of the application. + Description *string `type:"string"` + + // The name of the application. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateApplicationInput) SetApplicationId(v string) *UpdateApplicationInput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateApplicationInput) SetDescription(v string) *UpdateApplicationInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateApplicationInput) SetName(v string) *UpdateApplicationInput { + s.Name = &v + return s +} + +type UpdateApplicationOutput struct { + _ struct{} `type:"structure"` + + // The description of the application. + Description *string `type:"string"` + + // The application ID. + Id *string `type:"string"` + + // The application name. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApplicationOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateApplicationOutput) SetDescription(v string) *UpdateApplicationOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateApplicationOutput) SetId(v string) *UpdateApplicationOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateApplicationOutput) SetName(v string) *UpdateApplicationOutput { + s.Name = &v + return s +} + +type UpdateConfigurationProfileInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The ID of the configuration profile. + // + // ConfigurationProfileId is a required field + ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"` + + // A description of the configuration profile. + Description *string `type:"string"` + + // The name of the configuration profile. + Name *string `min:"1" type:"string"` + + // The ARN of an IAM role with permission to access the configuration at the + // specified LocationUri. + RetrievalRoleArn *string `min:"20" type:"string"` + + // A list of methods for validating the configuration. + Validators []*Validator `type:"list"` +} + +// String returns the string representation +func (s UpdateConfigurationProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateConfigurationProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateConfigurationProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationProfileInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ConfigurationProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId")) + } + if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RetrievalRoleArn != nil && len(*s.RetrievalRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RetrievalRoleArn", 20)) + } + if s.Validators != nil { + for i, v := range s.Validators { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Validators", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateConfigurationProfileInput) SetApplicationId(v string) *UpdateConfigurationProfileInput { + s.ApplicationId = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *UpdateConfigurationProfileInput) SetConfigurationProfileId(v string) *UpdateConfigurationProfileInput { + s.ConfigurationProfileId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateConfigurationProfileInput) SetDescription(v string) *UpdateConfigurationProfileInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateConfigurationProfileInput) SetName(v string) *UpdateConfigurationProfileInput { + s.Name = &v + return s +} + +// SetRetrievalRoleArn sets the RetrievalRoleArn field's value. +func (s *UpdateConfigurationProfileInput) SetRetrievalRoleArn(v string) *UpdateConfigurationProfileInput { + s.RetrievalRoleArn = &v + return s +} + +// SetValidators sets the Validators field's value. +func (s *UpdateConfigurationProfileInput) SetValidators(v []*Validator) *UpdateConfigurationProfileInput { + s.Validators = v + return s +} + +type UpdateConfigurationProfileOutput struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The configuration profile description. + Description *string `type:"string"` + + // The configuration profile ID. + Id *string `type:"string"` + + // The URI location of the configuration. + LocationUri *string `min:"1" type:"string"` + + // The name of the configuration profile. + Name *string `min:"1" type:"string"` + + // The ARN of an IAM role with permission to access the configuration at the + // specified LocationUri. + RetrievalRoleArn *string `min:"20" type:"string"` + + // A list of methods for validating the configuration. + Validators []*Validator `type:"list"` +} + +// String returns the string representation +func (s UpdateConfigurationProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateConfigurationProfileOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateConfigurationProfileOutput) SetApplicationId(v string) *UpdateConfigurationProfileOutput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateConfigurationProfileOutput) SetDescription(v string) *UpdateConfigurationProfileOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateConfigurationProfileOutput) SetId(v string) *UpdateConfigurationProfileOutput { + s.Id = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *UpdateConfigurationProfileOutput) SetLocationUri(v string) *UpdateConfigurationProfileOutput { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateConfigurationProfileOutput) SetName(v string) *UpdateConfigurationProfileOutput { + s.Name = &v + return s +} + +// SetRetrievalRoleArn sets the RetrievalRoleArn field's value. +func (s *UpdateConfigurationProfileOutput) SetRetrievalRoleArn(v string) *UpdateConfigurationProfileOutput { + s.RetrievalRoleArn = &v + return s +} + +// SetValidators sets the Validators field's value. +func (s *UpdateConfigurationProfileOutput) SetValidators(v []*Validator) *UpdateConfigurationProfileOutput { + s.Validators = v + return s +} + +type UpdateDeploymentStrategyInput struct { + _ struct{} `type:"structure"` + + // Total amount of time for a deployment to last. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The deployment strategy ID. + // + // DeploymentStrategyId is a required field + DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"` + + // A description of the deployment strategy. + Description *string `type:"string"` + + // The amount of time AppConfig monitors for alarms before considering the deployment + // to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets to receive a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grows over time. + GrowthType *string `type:"string" enum:"GrowthType"` +} + +// String returns the string representation +func (s UpdateDeploymentStrategyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDeploymentStrategyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDeploymentStrategyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentStrategyInput"} + if s.DeploymentStrategyId == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId")) + } + if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1)) + } + if s.GrowthFactor != nil && *s.GrowthFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("GrowthFactor", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *UpdateDeploymentStrategyInput) SetDeploymentDurationInMinutes(v int64) *UpdateDeploymentStrategyInput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDeploymentStrategyId sets the DeploymentStrategyId field's value. +func (s *UpdateDeploymentStrategyInput) SetDeploymentStrategyId(v string) *UpdateDeploymentStrategyInput { + s.DeploymentStrategyId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateDeploymentStrategyInput) SetDescription(v string) *UpdateDeploymentStrategyInput { + s.Description = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *UpdateDeploymentStrategyInput) SetFinalBakeTimeInMinutes(v int64) *UpdateDeploymentStrategyInput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *UpdateDeploymentStrategyInput) SetGrowthFactor(v float64) *UpdateDeploymentStrategyInput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *UpdateDeploymentStrategyInput) SetGrowthType(v string) *UpdateDeploymentStrategyInput { + s.GrowthType = &v + return s +} + +type UpdateDeploymentStrategyOutput struct { + _ struct{} `type:"structure"` + + // Total amount of time the deployment lasted. + DeploymentDurationInMinutes *int64 `type:"integer"` + + // The description of the deployment strategy. + Description *string `type:"string"` + + // The amount of time AppConfig monitored for alarms before considering the + // deployment to be complete and no longer eligible for automatic roll back. + FinalBakeTimeInMinutes *int64 `type:"integer"` + + // The percentage of targets that received a deployed configuration during each + // interval. + GrowthFactor *float64 `min:"1" type:"float"` + + // The algorithm used to define how percentage grew over time. + GrowthType *string `type:"string" enum:"GrowthType"` + + // The deployment strategy ID. + Id *string `type:"string"` + + // The name of the deployment strategy. + Name *string `min:"1" type:"string"` + + // Save the deployment strategy to a Systems Manager (SSM) document. + ReplicateTo *string `type:"string" enum:"ReplicateTo"` +} + +// String returns the string representation +func (s UpdateDeploymentStrategyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDeploymentStrategyOutput) GoString() string { + return s.String() +} + +// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value. +func (s *UpdateDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *UpdateDeploymentStrategyOutput { + s.DeploymentDurationInMinutes = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateDeploymentStrategyOutput) SetDescription(v string) *UpdateDeploymentStrategyOutput { + s.Description = &v + return s +} + +// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value. +func (s *UpdateDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *UpdateDeploymentStrategyOutput { + s.FinalBakeTimeInMinutes = &v + return s +} + +// SetGrowthFactor sets the GrowthFactor field's value. +func (s *UpdateDeploymentStrategyOutput) SetGrowthFactor(v float64) *UpdateDeploymentStrategyOutput { + s.GrowthFactor = &v + return s +} + +// SetGrowthType sets the GrowthType field's value. +func (s *UpdateDeploymentStrategyOutput) SetGrowthType(v string) *UpdateDeploymentStrategyOutput { + s.GrowthType = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateDeploymentStrategyOutput) SetId(v string) *UpdateDeploymentStrategyOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDeploymentStrategyOutput) SetName(v string) *UpdateDeploymentStrategyOutput { + s.Name = &v + return s +} + +// SetReplicateTo sets the ReplicateTo field's value. +func (s *UpdateDeploymentStrategyOutput) SetReplicateTo(v string) *UpdateDeploymentStrategyOutput { + s.ReplicateTo = &v + return s +} + +type UpdateEnvironmentInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // A description of the environment. + Description *string `type:"string"` + + // The environment ID. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"` + + // Amazon CloudWatch alarms to monitor during the deployment process. + Monitors []*Monitor `type:"list"` + + // The name of the environment. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateEnvironmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Monitors != nil { + for i, v := range s.Monitors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Monitors", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateEnvironmentInput) SetApplicationId(v string) *UpdateEnvironmentInput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput { + s.EnvironmentId = &v + return s +} + +// SetMonitors sets the Monitors field's value. +func (s *UpdateEnvironmentInput) SetMonitors(v []*Monitor) *UpdateEnvironmentInput { + s.Monitors = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput { + s.Name = &v + return s +} + +type UpdateEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The application ID. + ApplicationId *string `type:"string"` + + // The description of the environment. + Description *string `type:"string"` + + // The environment ID. + Id *string `type:"string"` + + // Amazon CloudWatch alarms monitored during the deployment. + Monitors []*Monitor `type:"list"` + + // The name of the environment. + Name *string `min:"1" type:"string"` + + // The state of the environment. An environment can be in one of the following + // states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK + State *string `type:"string" enum:"EnvironmentState"` +} + +// String returns the string representation +func (s UpdateEnvironmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEnvironmentOutput) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateEnvironmentOutput) SetApplicationId(v string) *UpdateEnvironmentOutput { + s.ApplicationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateEnvironmentOutput) SetDescription(v string) *UpdateEnvironmentOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateEnvironmentOutput) SetId(v string) *UpdateEnvironmentOutput { + s.Id = &v + return s +} + +// SetMonitors sets the Monitors field's value. +func (s *UpdateEnvironmentOutput) SetMonitors(v []*Monitor) *UpdateEnvironmentOutput { + s.Monitors = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateEnvironmentOutput) SetName(v string) *UpdateEnvironmentOutput { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *UpdateEnvironmentOutput) SetState(v string) *UpdateEnvironmentOutput { + s.State = &v + return s +} + +type ValidateConfigurationInput struct { + _ struct{} `type:"structure"` + + // The application ID. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"` + + // The configuration profile ID. + // + // ConfigurationProfileId is a required field + ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"` + + // The version of the configuration to validate. + // + // ConfigurationVersion is a required field + ConfigurationVersion *string `location:"querystring" locationName:"configuration_version" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ValidateConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidateConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidateConfigurationInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ConfigurationProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId")) + } + if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1)) + } + if s.ConfigurationVersion == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationVersion")) + } + if s.ConfigurationVersion != nil && len(*s.ConfigurationVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ValidateConfigurationInput) SetApplicationId(v string) *ValidateConfigurationInput { + s.ApplicationId = &v + return s +} + +// SetConfigurationProfileId sets the ConfigurationProfileId field's value. +func (s *ValidateConfigurationInput) SetConfigurationProfileId(v string) *ValidateConfigurationInput { + s.ConfigurationProfileId = &v + return s +} + +// SetConfigurationVersion sets the ConfigurationVersion field's value. +func (s *ValidateConfigurationInput) SetConfigurationVersion(v string) *ValidateConfigurationInput { + s.ConfigurationVersion = &v + return s +} + +type ValidateConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ValidateConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateConfigurationOutput) GoString() string { + return s.String() +} + +// A validator provides a syntactic or semantic check to ensure the configuration +// you want to deploy functions as intended. To validate your application configuration +// data, you provide a schema or a Lambda function that runs against the configuration. +// The configuration deployment or update can only proceed when the configuration +// data is valid. +type Validator struct { + _ struct{} `type:"structure"` + + // Either the JSON Schema content or an AWS Lambda function name. + // + // Content is a required field + Content *string `type:"string" required:"true"` + + // AppConfig supports validators of type JSON_SCHEMA and LAMBDA + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ValidatorType"` +} + +// String returns the string representation +func (s Validator) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Validator) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Validator) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Validator"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *Validator) SetContent(v string) *Validator { + s.Content = &v + return s +} + +// SetType sets the Type field's value. +func (s *Validator) SetType(v string) *Validator { + s.Type = &v + return s +} + +const ( + // DeploymentStateBaking is a DeploymentState enum value + DeploymentStateBaking = "BAKING" + + // DeploymentStateValidating is a DeploymentState enum value + DeploymentStateValidating = "VALIDATING" + + // DeploymentStateDeploying is a DeploymentState enum value + DeploymentStateDeploying = "DEPLOYING" + + // DeploymentStateComplete is a DeploymentState enum value + DeploymentStateComplete = "COMPLETE" + + // DeploymentStateRollingBack is a DeploymentState enum value + DeploymentStateRollingBack = "ROLLING_BACK" + + // DeploymentStateRolledBack is a DeploymentState enum value + DeploymentStateRolledBack = "ROLLED_BACK" +) + +const ( + // EnvironmentStateReadyForDeployment is a EnvironmentState enum value + EnvironmentStateReadyForDeployment = "READY_FOR_DEPLOYMENT" + + // EnvironmentStateDeploying is a EnvironmentState enum value + EnvironmentStateDeploying = "DEPLOYING" + + // EnvironmentStateRollingBack is a EnvironmentState enum value + EnvironmentStateRollingBack = "ROLLING_BACK" + + // EnvironmentStateRolledBack is a EnvironmentState enum value + EnvironmentStateRolledBack = "ROLLED_BACK" +) + +const ( + // GrowthTypeLinear is a GrowthType enum value + GrowthTypeLinear = "LINEAR" +) + +const ( + // ReplicateToNone is a ReplicateTo enum value + ReplicateToNone = "NONE" + + // ReplicateToSsmDocument is a ReplicateTo enum value + ReplicateToSsmDocument = "SSM_DOCUMENT" +) + +const ( + // ValidatorTypeJsonSchema is a ValidatorType enum value + ValidatorTypeJsonSchema = "JSON_SCHEMA" + + // ValidatorTypeLambda is a ValidatorType enum value + ValidatorTypeLambda = "LAMBDA" +) diff --git a/service/appconfig/appconfigiface/interface.go b/service/appconfig/appconfigiface/interface.go new file mode 100644 index 00000000000..168c08de417 --- /dev/null +++ b/service/appconfig/appconfigiface/interface.go @@ -0,0 +1,195 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package appconfigiface provides an interface to enable mocking the Amazon AppConfig service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package appconfigiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/appconfig" +) + +// AppConfigAPI provides an interface to enable mocking the +// appconfig.AppConfig service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon AppConfig. +// func myFunc(svc appconfigiface.AppConfigAPI) bool { +// // Make svc.CreateApplication request +// } +// +// func main() { +// sess := session.New() +// svc := appconfig.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockAppConfigClient struct { +// appconfigiface.AppConfigAPI +// } +// func (m *mockAppConfigClient) CreateApplication(input *appconfig.CreateApplicationInput) (*appconfig.CreateApplicationOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockAppConfigClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type AppConfigAPI interface { + CreateApplication(*appconfig.CreateApplicationInput) (*appconfig.CreateApplicationOutput, error) + CreateApplicationWithContext(aws.Context, *appconfig.CreateApplicationInput, ...request.Option) (*appconfig.CreateApplicationOutput, error) + CreateApplicationRequest(*appconfig.CreateApplicationInput) (*request.Request, *appconfig.CreateApplicationOutput) + + CreateConfigurationProfile(*appconfig.CreateConfigurationProfileInput) (*appconfig.CreateConfigurationProfileOutput, error) + CreateConfigurationProfileWithContext(aws.Context, *appconfig.CreateConfigurationProfileInput, ...request.Option) (*appconfig.CreateConfigurationProfileOutput, error) + CreateConfigurationProfileRequest(*appconfig.CreateConfigurationProfileInput) (*request.Request, *appconfig.CreateConfigurationProfileOutput) + + CreateDeploymentStrategy(*appconfig.CreateDeploymentStrategyInput) (*appconfig.CreateDeploymentStrategyOutput, error) + CreateDeploymentStrategyWithContext(aws.Context, *appconfig.CreateDeploymentStrategyInput, ...request.Option) (*appconfig.CreateDeploymentStrategyOutput, error) + CreateDeploymentStrategyRequest(*appconfig.CreateDeploymentStrategyInput) (*request.Request, *appconfig.CreateDeploymentStrategyOutput) + + CreateEnvironment(*appconfig.CreateEnvironmentInput) (*appconfig.CreateEnvironmentOutput, error) + CreateEnvironmentWithContext(aws.Context, *appconfig.CreateEnvironmentInput, ...request.Option) (*appconfig.CreateEnvironmentOutput, error) + CreateEnvironmentRequest(*appconfig.CreateEnvironmentInput) (*request.Request, *appconfig.CreateEnvironmentOutput) + + DeleteApplication(*appconfig.DeleteApplicationInput) (*appconfig.DeleteApplicationOutput, error) + DeleteApplicationWithContext(aws.Context, *appconfig.DeleteApplicationInput, ...request.Option) (*appconfig.DeleteApplicationOutput, error) + DeleteApplicationRequest(*appconfig.DeleteApplicationInput) (*request.Request, *appconfig.DeleteApplicationOutput) + + DeleteConfigurationProfile(*appconfig.DeleteConfigurationProfileInput) (*appconfig.DeleteConfigurationProfileOutput, error) + DeleteConfigurationProfileWithContext(aws.Context, *appconfig.DeleteConfigurationProfileInput, ...request.Option) (*appconfig.DeleteConfigurationProfileOutput, error) + DeleteConfigurationProfileRequest(*appconfig.DeleteConfigurationProfileInput) (*request.Request, *appconfig.DeleteConfigurationProfileOutput) + + DeleteDeploymentStrategy(*appconfig.DeleteDeploymentStrategyInput) (*appconfig.DeleteDeploymentStrategyOutput, error) + DeleteDeploymentStrategyWithContext(aws.Context, *appconfig.DeleteDeploymentStrategyInput, ...request.Option) (*appconfig.DeleteDeploymentStrategyOutput, error) + DeleteDeploymentStrategyRequest(*appconfig.DeleteDeploymentStrategyInput) (*request.Request, *appconfig.DeleteDeploymentStrategyOutput) + + DeleteEnvironment(*appconfig.DeleteEnvironmentInput) (*appconfig.DeleteEnvironmentOutput, error) + DeleteEnvironmentWithContext(aws.Context, *appconfig.DeleteEnvironmentInput, ...request.Option) (*appconfig.DeleteEnvironmentOutput, error) + DeleteEnvironmentRequest(*appconfig.DeleteEnvironmentInput) (*request.Request, *appconfig.DeleteEnvironmentOutput) + + GetApplication(*appconfig.GetApplicationInput) (*appconfig.GetApplicationOutput, error) + GetApplicationWithContext(aws.Context, *appconfig.GetApplicationInput, ...request.Option) (*appconfig.GetApplicationOutput, error) + GetApplicationRequest(*appconfig.GetApplicationInput) (*request.Request, *appconfig.GetApplicationOutput) + + GetConfiguration(*appconfig.GetConfigurationInput) (*appconfig.GetConfigurationOutput, error) + GetConfigurationWithContext(aws.Context, *appconfig.GetConfigurationInput, ...request.Option) (*appconfig.GetConfigurationOutput, error) + GetConfigurationRequest(*appconfig.GetConfigurationInput) (*request.Request, *appconfig.GetConfigurationOutput) + + GetConfigurationProfile(*appconfig.GetConfigurationProfileInput) (*appconfig.GetConfigurationProfileOutput, error) + GetConfigurationProfileWithContext(aws.Context, *appconfig.GetConfigurationProfileInput, ...request.Option) (*appconfig.GetConfigurationProfileOutput, error) + GetConfigurationProfileRequest(*appconfig.GetConfigurationProfileInput) (*request.Request, *appconfig.GetConfigurationProfileOutput) + + GetDeployment(*appconfig.GetDeploymentInput) (*appconfig.GetDeploymentOutput, error) + GetDeploymentWithContext(aws.Context, *appconfig.GetDeploymentInput, ...request.Option) (*appconfig.GetDeploymentOutput, error) + GetDeploymentRequest(*appconfig.GetDeploymentInput) (*request.Request, *appconfig.GetDeploymentOutput) + + GetDeploymentStrategy(*appconfig.GetDeploymentStrategyInput) (*appconfig.GetDeploymentStrategyOutput, error) + GetDeploymentStrategyWithContext(aws.Context, *appconfig.GetDeploymentStrategyInput, ...request.Option) (*appconfig.GetDeploymentStrategyOutput, error) + GetDeploymentStrategyRequest(*appconfig.GetDeploymentStrategyInput) (*request.Request, *appconfig.GetDeploymentStrategyOutput) + + GetEnvironment(*appconfig.GetEnvironmentInput) (*appconfig.GetEnvironmentOutput, error) + GetEnvironmentWithContext(aws.Context, *appconfig.GetEnvironmentInput, ...request.Option) (*appconfig.GetEnvironmentOutput, error) + GetEnvironmentRequest(*appconfig.GetEnvironmentInput) (*request.Request, *appconfig.GetEnvironmentOutput) + + ListApplications(*appconfig.ListApplicationsInput) (*appconfig.ListApplicationsOutput, error) + ListApplicationsWithContext(aws.Context, *appconfig.ListApplicationsInput, ...request.Option) (*appconfig.ListApplicationsOutput, error) + ListApplicationsRequest(*appconfig.ListApplicationsInput) (*request.Request, *appconfig.ListApplicationsOutput) + + ListApplicationsPages(*appconfig.ListApplicationsInput, func(*appconfig.ListApplicationsOutput, bool) bool) error + ListApplicationsPagesWithContext(aws.Context, *appconfig.ListApplicationsInput, func(*appconfig.ListApplicationsOutput, bool) bool, ...request.Option) error + + ListConfigurationProfiles(*appconfig.ListConfigurationProfilesInput) (*appconfig.ListConfigurationProfilesOutput, error) + ListConfigurationProfilesWithContext(aws.Context, *appconfig.ListConfigurationProfilesInput, ...request.Option) (*appconfig.ListConfigurationProfilesOutput, error) + ListConfigurationProfilesRequest(*appconfig.ListConfigurationProfilesInput) (*request.Request, *appconfig.ListConfigurationProfilesOutput) + + ListConfigurationProfilesPages(*appconfig.ListConfigurationProfilesInput, func(*appconfig.ListConfigurationProfilesOutput, bool) bool) error + ListConfigurationProfilesPagesWithContext(aws.Context, *appconfig.ListConfigurationProfilesInput, func(*appconfig.ListConfigurationProfilesOutput, bool) bool, ...request.Option) error + + ListDeploymentStrategies(*appconfig.ListDeploymentStrategiesInput) (*appconfig.ListDeploymentStrategiesOutput, error) + ListDeploymentStrategiesWithContext(aws.Context, *appconfig.ListDeploymentStrategiesInput, ...request.Option) (*appconfig.ListDeploymentStrategiesOutput, error) + ListDeploymentStrategiesRequest(*appconfig.ListDeploymentStrategiesInput) (*request.Request, *appconfig.ListDeploymentStrategiesOutput) + + ListDeploymentStrategiesPages(*appconfig.ListDeploymentStrategiesInput, func(*appconfig.ListDeploymentStrategiesOutput, bool) bool) error + ListDeploymentStrategiesPagesWithContext(aws.Context, *appconfig.ListDeploymentStrategiesInput, func(*appconfig.ListDeploymentStrategiesOutput, bool) bool, ...request.Option) error + + ListDeployments(*appconfig.ListDeploymentsInput) (*appconfig.ListDeploymentsOutput, error) + ListDeploymentsWithContext(aws.Context, *appconfig.ListDeploymentsInput, ...request.Option) (*appconfig.ListDeploymentsOutput, error) + ListDeploymentsRequest(*appconfig.ListDeploymentsInput) (*request.Request, *appconfig.ListDeploymentsOutput) + + ListDeploymentsPages(*appconfig.ListDeploymentsInput, func(*appconfig.ListDeploymentsOutput, bool) bool) error + ListDeploymentsPagesWithContext(aws.Context, *appconfig.ListDeploymentsInput, func(*appconfig.ListDeploymentsOutput, bool) bool, ...request.Option) error + + ListEnvironments(*appconfig.ListEnvironmentsInput) (*appconfig.ListEnvironmentsOutput, error) + ListEnvironmentsWithContext(aws.Context, *appconfig.ListEnvironmentsInput, ...request.Option) (*appconfig.ListEnvironmentsOutput, error) + ListEnvironmentsRequest(*appconfig.ListEnvironmentsInput) (*request.Request, *appconfig.ListEnvironmentsOutput) + + ListEnvironmentsPages(*appconfig.ListEnvironmentsInput, func(*appconfig.ListEnvironmentsOutput, bool) bool) error + ListEnvironmentsPagesWithContext(aws.Context, *appconfig.ListEnvironmentsInput, func(*appconfig.ListEnvironmentsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*appconfig.ListTagsForResourceInput) (*appconfig.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *appconfig.ListTagsForResourceInput, ...request.Option) (*appconfig.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*appconfig.ListTagsForResourceInput) (*request.Request, *appconfig.ListTagsForResourceOutput) + + StartDeployment(*appconfig.StartDeploymentInput) (*appconfig.StartDeploymentOutput, error) + StartDeploymentWithContext(aws.Context, *appconfig.StartDeploymentInput, ...request.Option) (*appconfig.StartDeploymentOutput, error) + StartDeploymentRequest(*appconfig.StartDeploymentInput) (*request.Request, *appconfig.StartDeploymentOutput) + + StopDeployment(*appconfig.StopDeploymentInput) (*appconfig.StopDeploymentOutput, error) + StopDeploymentWithContext(aws.Context, *appconfig.StopDeploymentInput, ...request.Option) (*appconfig.StopDeploymentOutput, error) + StopDeploymentRequest(*appconfig.StopDeploymentInput) (*request.Request, *appconfig.StopDeploymentOutput) + + TagResource(*appconfig.TagResourceInput) (*appconfig.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *appconfig.TagResourceInput, ...request.Option) (*appconfig.TagResourceOutput, error) + TagResourceRequest(*appconfig.TagResourceInput) (*request.Request, *appconfig.TagResourceOutput) + + UntagResource(*appconfig.UntagResourceInput) (*appconfig.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *appconfig.UntagResourceInput, ...request.Option) (*appconfig.UntagResourceOutput, error) + UntagResourceRequest(*appconfig.UntagResourceInput) (*request.Request, *appconfig.UntagResourceOutput) + + UpdateApplication(*appconfig.UpdateApplicationInput) (*appconfig.UpdateApplicationOutput, error) + UpdateApplicationWithContext(aws.Context, *appconfig.UpdateApplicationInput, ...request.Option) (*appconfig.UpdateApplicationOutput, error) + UpdateApplicationRequest(*appconfig.UpdateApplicationInput) (*request.Request, *appconfig.UpdateApplicationOutput) + + UpdateConfigurationProfile(*appconfig.UpdateConfigurationProfileInput) (*appconfig.UpdateConfigurationProfileOutput, error) + UpdateConfigurationProfileWithContext(aws.Context, *appconfig.UpdateConfigurationProfileInput, ...request.Option) (*appconfig.UpdateConfigurationProfileOutput, error) + UpdateConfigurationProfileRequest(*appconfig.UpdateConfigurationProfileInput) (*request.Request, *appconfig.UpdateConfigurationProfileOutput) + + UpdateDeploymentStrategy(*appconfig.UpdateDeploymentStrategyInput) (*appconfig.UpdateDeploymentStrategyOutput, error) + UpdateDeploymentStrategyWithContext(aws.Context, *appconfig.UpdateDeploymentStrategyInput, ...request.Option) (*appconfig.UpdateDeploymentStrategyOutput, error) + UpdateDeploymentStrategyRequest(*appconfig.UpdateDeploymentStrategyInput) (*request.Request, *appconfig.UpdateDeploymentStrategyOutput) + + UpdateEnvironment(*appconfig.UpdateEnvironmentInput) (*appconfig.UpdateEnvironmentOutput, error) + UpdateEnvironmentWithContext(aws.Context, *appconfig.UpdateEnvironmentInput, ...request.Option) (*appconfig.UpdateEnvironmentOutput, error) + UpdateEnvironmentRequest(*appconfig.UpdateEnvironmentInput) (*request.Request, *appconfig.UpdateEnvironmentOutput) + + ValidateConfiguration(*appconfig.ValidateConfigurationInput) (*appconfig.ValidateConfigurationOutput, error) + ValidateConfigurationWithContext(aws.Context, *appconfig.ValidateConfigurationInput, ...request.Option) (*appconfig.ValidateConfigurationOutput, error) + ValidateConfigurationRequest(*appconfig.ValidateConfigurationInput) (*request.Request, *appconfig.ValidateConfigurationOutput) +} + +var _ AppConfigAPI = (*appconfig.AppConfig)(nil) diff --git a/service/appconfig/doc.go b/service/appconfig/doc.go new file mode 100644 index 00000000000..c4c3ac36eae --- /dev/null +++ b/service/appconfig/doc.go @@ -0,0 +1,65 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package appconfig provides the client and types for making API +// requests to Amazon AppConfig. +// +// Use AWS AppConfig, a capability of AWS Systems Manager, to create, manage, +// and quickly deploy application configurations. AppConfig supports controlled +// deployments to applications of any size and includes built-in validation +// checks and monitoring. You can use AppConfig with applications hosted on +// Amazon EC2 instances, AWS Lambda, containers, mobile applications, or IoT +// devices. +// +// To prevent errors when deploying application configurations, especially for +// production systems where a simple typo could cause an unexpected outage, +// AppConfig includes validators. A validator provides a syntactic or semantic +// check to ensure that the configuration you want to deploy works as intended. +// To validate your application configuration data, you provide a schema or +// a Lambda function that runs against the configuration. The configuration +// deployment or update can only proceed when the configuration data is valid. +// +// During a configuration deployment, AppConfig monitors the application to +// ensure that the deployment is successful. If the system encounters an error, +// AppConfig rolls back the change to minimize impact for your application users. +// You can configure a deployment strategy for each application or environment +// that includes deployment criteria, including velocity, bake time, and alarms +// to monitor. Similar to error monitoring, if a deployment triggers an alarm, +// AppConfig automatically rolls back to the previous version. +// +// AppConfig supports multiple use cases. Here are some examples. +// +// * Application tuning: Use AppConfig to carefully introduce changes to +// your application that can only be tested with production traffic. +// +// * Feature toggle: Use AppConfig to turn on new features that require a +// timely deployment, such as a product launch or announcement. +// +// * User membership: Use AppConfig to allow premium subscribers to access +// paid content. +// +// * Operational issues: Use AppConfig to reduce stress on your application +// when a dependency or other external factor impacts the system. +// +// This reference is intended to be used with the AWS AppConfig User Guide (http://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig.html). +// +// See https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09 for more information on this service. +// +// See appconfig package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/appconfig/ +// +// Using the Client +// +// To contact Amazon AppConfig with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon AppConfig client AppConfig for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/appconfig/#New +package appconfig diff --git a/service/appconfig/errors.go b/service/appconfig/errors.go new file mode 100644 index 00000000000..098bbab4099 --- /dev/null +++ b/service/appconfig/errors.go @@ -0,0 +1,31 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package appconfig + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // The input fails to satisfy the constraints specified by an AWS service. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request could not be processed because of conflict in the current state + // of the resource. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // There was an internal failure in the AppConfig service. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The requested resource could not be found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" +) diff --git a/service/appconfig/service.go b/service/appconfig/service.go new file mode 100644 index 00000000000..a414576146e --- /dev/null +++ b/service/appconfig/service.go @@ -0,0 +1,101 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package appconfig + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// AppConfig provides the API operation methods for making requests to +// Amazon AppConfig. See this package's package overview docs +// for details on the service. +// +// AppConfig methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type AppConfig struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "AppConfig" // Name of service. + EndpointsID = "appconfig" // ID to lookup a service endpoint with. + ServiceID = "AppConfig" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the AppConfig client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a AppConfig client from just a session. +// svc := appconfig.New(mySession) +// +// // Create a AppConfig client with additional configuration +// svc := appconfig.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *AppConfig { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "appconfig" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *AppConfig { + svc := &AppConfig{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2019-10-09", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a AppConfig operation and runs any +// custom request initialization. +func (c *AppConfig) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/applicationautoscaling/api.go b/service/applicationautoscaling/api.go index 4a7e21e00ff..bbe296b6545 100644 --- a/service/applicationautoscaling/api.go +++ b/service/applicationautoscaling/api.go @@ -1479,15 +1479,15 @@ type DeleteScalingPolicyInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -1495,6 +1495,9 @@ type DeleteScalingPolicyInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1534,6 +1537,10 @@ type DeleteScalingPolicyInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1641,15 +1648,15 @@ type DeleteScheduledActionInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -1657,6 +1664,9 @@ type DeleteScheduledActionInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1696,6 +1706,10 @@ type DeleteScheduledActionInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1808,15 +1822,15 @@ type DeregisterScalableTargetInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -1824,6 +1838,9 @@ type DeregisterScalableTargetInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1863,6 +1880,10 @@ type DeregisterScalableTargetInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1971,21 +1992,24 @@ type DescribeScalableTargetsInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceIds []*string `type:"list"` // The scalable dimension associated with the scalable target. This string consists @@ -2024,6 +2048,10 @@ type DescribeScalableTargetsInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the AWS service that provides the resource or custom-resource @@ -2153,21 +2181,24 @@ type DescribeScalingActivitiesInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2206,6 +2237,10 @@ type DescribeScalingActivitiesInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the AWS service that provides the resource or custom-resource @@ -2341,21 +2376,24 @@ type DescribeScalingPoliciesInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2394,6 +2432,10 @@ type DescribeScalingPoliciesInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the AWS service that provides the resource or custom-resource @@ -2532,21 +2574,24 @@ type DescribeScheduledActionsInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2585,6 +2630,10 @@ type DescribeScheduledActionsInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The names of the scheduled actions to describe. @@ -2824,9 +2873,9 @@ type PutScalingPolicyInput struct { // // The following policy types are supported: // - // TargetTrackingScaling—Not supported for Amazon EMR or AppStream + // TargetTrackingScaling—Not supported for Amazon EMR // - // StepScaling—Not supported for Amazon DynamoDB + // StepScaling—Not supported for DynamoDB or Amazon Comprehend // // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) // and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) @@ -2849,15 +2898,15 @@ type PutScalingPolicyInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -2865,6 +2914,9 @@ type PutScalingPolicyInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -2904,6 +2956,10 @@ type PutScalingPolicyInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3075,15 +3131,15 @@ type PutScheduledActionInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3091,6 +3147,9 @@ type PutScheduledActionInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3130,6 +3189,10 @@ type PutScheduledActionInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3304,15 +3367,15 @@ type RegisterScalableTargetInput struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3320,6 +3383,9 @@ type RegisterScalableTargetInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3368,6 +3434,10 @@ type RegisterScalableTargetInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3395,7 +3465,7 @@ type RegisterScalableTargetInput struct { // * For ScheduledScalingSuspended, while a suspension is in effect, all // scaling activities that involve scheduled actions are suspended. // - // For more information, see Suspend and Resume Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) + // For more information, see Suspending and Resuming Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) // in the Application Auto Scaling User Guide. SuspendedState *SuspendedState `type:"structure"` } @@ -3526,15 +3596,15 @@ type ScalableTarget struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3542,6 +3612,9 @@ type ScalableTarget struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3587,6 +3660,10 @@ type ScalableTarget struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3735,15 +3812,15 @@ type ScalingActivity struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3751,6 +3828,9 @@ type ScalingActivity struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3790,6 +3870,10 @@ type ScalingActivity struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3934,15 +4018,15 @@ type ScalingPolicy struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3950,6 +4034,9 @@ type ScalingPolicy struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3989,6 +4076,10 @@ type ScalingPolicy struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -4105,15 +4196,15 @@ type ScheduledAction struct { // 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. + // is the table name. 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. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -4121,6 +4212,9 @@ type ScheduledAction struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4159,6 +4253,10 @@ type ScheduledAction struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. @@ -4725,6 +4823,12 @@ const ( // MetricTypeEcsserviceAverageMemoryUtilization is a MetricType enum value MetricTypeEcsserviceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization" + + // MetricTypeAppStreamAverageCapacityUtilization is a MetricType enum value + MetricTypeAppStreamAverageCapacityUtilization = "AppStreamAverageCapacityUtilization" + + // MetricTypeComprehendInferenceUtilization is a MetricType enum value + MetricTypeComprehendInferenceUtilization = "ComprehendInferenceUtilization" ) const ( @@ -4768,6 +4872,9 @@ const ( // ScalableDimensionCustomResourceResourceTypeProperty is a ScalableDimension enum value ScalableDimensionCustomResourceResourceTypeProperty = "custom-resource:ResourceType:Property" + + // ScalableDimensionComprehendDocumentClassifierEndpointDesiredInferenceUnits is a ScalableDimension enum value + ScalableDimensionComprehendDocumentClassifierEndpointDesiredInferenceUnits = "comprehend:document-classifier-endpoint:DesiredInferenceUnits" ) const ( @@ -4814,4 +4921,7 @@ const ( // ServiceNamespaceCustomResource is a ServiceNamespace enum value ServiceNamespaceCustomResource = "custom-resource" + + // ServiceNamespaceComprehend is a ServiceNamespace enum value + ServiceNamespaceComprehend = "comprehend" ) diff --git a/service/applicationautoscaling/doc.go b/service/applicationautoscaling/doc.go index fbaa9db4693..40d4ad73abc 100644 --- a/service/applicationautoscaling/doc.go +++ b/service/applicationautoscaling/doc.go @@ -22,6 +22,8 @@ // // * Custom resources provided by your own applications or services // +// * Amazon Comprehend document classification endpoints +// // API Summary // // The Application Auto Scaling service API includes three key sets of actions: diff --git a/service/applicationinsights/api.go b/service/applicationinsights/api.go index 737a831f0e1..40131b0ad6c 100644 --- a/service/applicationinsights/api.go +++ b/service/applicationinsights/api.go @@ -3,6 +3,7 @@ package applicationinsights import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws" @@ -78,6 +79,9 @@ func (c *ApplicationInsights) CreateApplicationRequest(input *CreateApplicationI // * ErrCodeInternalServerException "InternalServerException" // The server encountered an internal error and is unable to complete the request. // +// * ErrCodeTagsAlreadyExistException "TagsAlreadyExistException" +// Tags are already registered for the specified application ARN. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateApplication func (c *ApplicationInsights) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) @@ -189,6 +193,94 @@ func (c *ApplicationInsights) CreateComponentWithContext(ctx aws.Context, input return out, req.Send() } +const opCreateLogPattern = "CreateLogPattern" + +// CreateLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the CreateLogPattern operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateLogPattern for more information on using the CreateLogPattern +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateLogPatternRequest method. +// req, resp := client.CreateLogPatternRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateLogPattern +func (c *ApplicationInsights) CreateLogPatternRequest(input *CreateLogPatternInput) (req *request.Request, output *CreateLogPatternOutput) { + op := &request.Operation{ + Name: opCreateLogPattern, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateLogPatternInput{} + } + + output = &CreateLogPatternOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLogPattern API operation for Amazon CloudWatch Application Insights. +// +// Adds an log pattern to a LogPatternSet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation CreateLogPattern for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource is already created or in use. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateLogPattern +func (c *ApplicationInsights) CreateLogPattern(input *CreateLogPatternInput) (*CreateLogPatternOutput, error) { + req, out := c.CreateLogPatternRequest(input) + return out, req.Send() +} + +// CreateLogPatternWithContext is the same as CreateLogPattern with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLogPattern for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) CreateLogPatternWithContext(ctx aws.Context, input *CreateLogPatternInput, opts ...request.Option) (*CreateLogPatternOutput, error) { + req, out := c.CreateLogPatternRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteApplication = "DeleteApplication" // DeleteApplicationRequest generates a "aws/request.Request" representing the @@ -366,6 +458,95 @@ func (c *ApplicationInsights) DeleteComponentWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteLogPattern = "DeleteLogPattern" + +// DeleteLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLogPattern operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteLogPattern for more information on using the DeleteLogPattern +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteLogPatternRequest method. +// req, resp := client.DeleteLogPatternRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteLogPattern +func (c *ApplicationInsights) DeleteLogPatternRequest(input *DeleteLogPatternInput) (req *request.Request, output *DeleteLogPatternOutput) { + op := &request.Operation{ + Name: opDeleteLogPattern, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteLogPatternInput{} + } + + output = &DeleteLogPatternOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteLogPattern API operation for Amazon CloudWatch Application Insights. +// +// Removes the specified log pattern from a LogPatternSet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation DeleteLogPattern for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not understood by the server. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteLogPattern +func (c *ApplicationInsights) DeleteLogPattern(input *DeleteLogPatternInput) (*DeleteLogPatternOutput, error) { + req, out := c.DeleteLogPatternRequest(input) + return out, req.Send() +} + +// DeleteLogPatternWithContext is the same as DeleteLogPattern with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteLogPattern for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) DeleteLogPatternWithContext(ctx aws.Context, input *DeleteLogPatternInput, opts ...request.Option) (*DeleteLogPatternOutput, error) { + req, out := c.DeleteLogPatternRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeApplication = "DescribeApplication" // DescribeApplicationRequest generates a "aws/request.Request" representing the @@ -707,6 +888,91 @@ func (c *ApplicationInsights) DescribeComponentConfigurationRecommendationWithCo return out, req.Send() } +const opDescribeLogPattern = "DescribeLogPattern" + +// DescribeLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLogPattern operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeLogPattern for more information on using the DescribeLogPattern +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeLogPatternRequest method. +// req, resp := client.DescribeLogPatternRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeLogPattern +func (c *ApplicationInsights) DescribeLogPatternRequest(input *DescribeLogPatternInput) (req *request.Request, output *DescribeLogPatternOutput) { + op := &request.Operation{ + Name: opDescribeLogPattern, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeLogPatternInput{} + } + + output = &DescribeLogPatternOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeLogPattern API operation for Amazon CloudWatch Application Insights. +// +// Describe a specific log pattern from a LogPatternSet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation DescribeLogPattern for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeLogPattern +func (c *ApplicationInsights) DescribeLogPattern(input *DescribeLogPatternInput) (*DescribeLogPatternOutput, error) { + req, out := c.DescribeLogPatternRequest(input) + return out, req.Send() +} + +// DescribeLogPatternWithContext is the same as DescribeLogPattern with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeLogPattern for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) DescribeLogPatternWithContext(ctx aws.Context, input *DescribeLogPatternInput, opts ...request.Option) (*DescribeLogPatternOutput, error) { + req, out := c.DescribeLogPatternRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeObservation = "DescribeObservation" // DescribeObservationRequest generates a "aws/request.Request" representing the @@ -1245,35 +1511,35 @@ func (c *ApplicationInsights) ListComponentsPagesWithContext(ctx aws.Context, in return p.Err() } -const opListProblems = "ListProblems" +const opListLogPatternSets = "ListLogPatternSets" -// ListProblemsRequest generates a "aws/request.Request" representing the -// client's request for the ListProblems operation. The "output" return +// ListLogPatternSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListLogPatternSets operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListProblems for more information on using the ListProblems +// See ListLogPatternSets for more information on using the ListLogPatternSets // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListProblemsRequest method. -// req, resp := client.ListProblemsRequest(params) +// // Example sending a request using the ListLogPatternSetsRequest method. +// req, resp := client.ListLogPatternSetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems -func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req *request.Request, output *ListProblemsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatternSets +func (c *ApplicationInsights) ListLogPatternSetsRequest(input *ListLogPatternSetsInput) (req *request.Request, output *ListLogPatternSetsOutput) { op := &request.Operation{ - Name: opListProblems, + Name: opListLogPatternSets, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1285,94 +1551,94 @@ func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req } if input == nil { - input = &ListProblemsInput{} + input = &ListLogPatternSetsInput{} } - output = &ListProblemsOutput{} + output = &ListLogPatternSetsOutput{} req = c.newRequest(op, input, output) return } -// ListProblems API operation for Amazon CloudWatch Application Insights. +// ListLogPatternSets API operation for Amazon CloudWatch Application Insights. // -// Lists the problems with your application. +// Lists the log pattern sets in the specific application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudWatch Application Insights's -// API operation ListProblems for usage and error information. +// API operation ListLogPatternSets for usage and error information. // // Returned Error Codes: -// * ErrCodeValidationException "ValidationException" -// The parameter is not valid. -// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The resource does not exist in the customer account. // +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// // * ErrCodeInternalServerException "InternalServerException" // The server encountered an internal error and is unable to complete the request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems -func (c *ApplicationInsights) ListProblems(input *ListProblemsInput) (*ListProblemsOutput, error) { - req, out := c.ListProblemsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatternSets +func (c *ApplicationInsights) ListLogPatternSets(input *ListLogPatternSetsInput) (*ListLogPatternSetsOutput, error) { + req, out := c.ListLogPatternSetsRequest(input) return out, req.Send() } -// ListProblemsWithContext is the same as ListProblems with the addition of +// ListLogPatternSetsWithContext is the same as ListLogPatternSets with the addition of // the ability to pass a context and additional request options. // -// See ListProblems for details on how to use this API operation. +// See ListLogPatternSets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ApplicationInsights) ListProblemsWithContext(ctx aws.Context, input *ListProblemsInput, opts ...request.Option) (*ListProblemsOutput, error) { - req, out := c.ListProblemsRequest(input) +func (c *ApplicationInsights) ListLogPatternSetsWithContext(ctx aws.Context, input *ListLogPatternSetsInput, opts ...request.Option) (*ListLogPatternSetsOutput, error) { + req, out := c.ListLogPatternSetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListProblemsPages iterates over the pages of a ListProblems operation, +// ListLogPatternSetsPages iterates over the pages of a ListLogPatternSets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListProblems method for more information on how to use this operation. +// See ListLogPatternSets method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListProblems operation. +// // Example iterating over at most 3 pages of a ListLogPatternSets operation. // pageNum := 0 -// err := client.ListProblemsPages(params, -// func(page *applicationinsights.ListProblemsOutput, lastPage bool) bool { +// err := client.ListLogPatternSetsPages(params, +// func(page *applicationinsights.ListLogPatternSetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *ApplicationInsights) ListProblemsPages(input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool) error { - return c.ListProblemsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *ApplicationInsights) ListLogPatternSetsPages(input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool) error { + return c.ListLogPatternSetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListProblemsPagesWithContext same as ListProblemsPages except +// ListLogPatternSetsPagesWithContext same as ListLogPatternSetsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool, opts ...request.Option) error { +func (c *ApplicationInsights) ListLogPatternSetsPagesWithContext(ctx aws.Context, input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListProblemsInput + var inCpy *ListLogPatternSetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListProblemsRequest(inCpy) + req, _ := c.ListLogPatternSetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1380,7 +1646,7 @@ func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, inpu } for p.Next() { - if !fn(p.Page().(*ListProblemsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListLogPatternSetsOutput), !p.HasNextPage()) { break } } @@ -1388,44 +1654,595 @@ func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opUpdateApplication = "UpdateApplication" +const opListLogPatterns = "ListLogPatterns" -// UpdateApplicationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateApplication operation. The "output" return +// ListLogPatternsRequest generates a "aws/request.Request" representing the +// client's request for the ListLogPatterns operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateApplication for more information on using the UpdateApplication +// See ListLogPatterns for more information on using the ListLogPatterns // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateApplicationRequest method. -// req, resp := client.UpdateApplicationRequest(params) +// // Example sending a request using the ListLogPatternsRequest method. +// req, resp := client.ListLogPatternsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication -func (c *ApplicationInsights) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns +func (c *ApplicationInsights) ListLogPatternsRequest(input *ListLogPatternsInput) (req *request.Request, output *ListLogPatternsOutput) { op := &request.Operation{ - Name: opUpdateApplication, + Name: opListLogPatterns, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateApplicationInput{} + input = &ListLogPatternsInput{} } - output = &UpdateApplicationOutput{} + output = &ListLogPatternsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLogPatterns API operation for Amazon CloudWatch Application Insights. +// +// Lists the log patterns in the specific log LogPatternSet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation ListLogPatterns for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns +func (c *ApplicationInsights) ListLogPatterns(input *ListLogPatternsInput) (*ListLogPatternsOutput, error) { + req, out := c.ListLogPatternsRequest(input) + return out, req.Send() +} + +// ListLogPatternsWithContext is the same as ListLogPatterns with the addition of +// the ability to pass a context and additional request options. +// +// See ListLogPatterns for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) ListLogPatternsWithContext(ctx aws.Context, input *ListLogPatternsInput, opts ...request.Option) (*ListLogPatternsOutput, error) { + req, out := c.ListLogPatternsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLogPatternsPages iterates over the pages of a ListLogPatterns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLogPatterns method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListLogPatterns operation. +// pageNum := 0 +// err := client.ListLogPatternsPages(params, +// func(page *applicationinsights.ListLogPatternsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ApplicationInsights) ListLogPatternsPages(input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool) error { + return c.ListLogPatternsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLogPatternsPagesWithContext same as ListLogPatternsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) ListLogPatternsPagesWithContext(ctx aws.Context, input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLogPatternsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLogPatternsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLogPatternsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProblems = "ListProblems" + +// ListProblemsRequest generates a "aws/request.Request" representing the +// client's request for the ListProblems operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProblems for more information on using the ListProblems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListProblemsRequest method. +// req, resp := client.ListProblemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems +func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req *request.Request, output *ListProblemsOutput) { + op := &request.Operation{ + Name: opListProblems, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProblemsInput{} + } + + output = &ListProblemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProblems API operation for Amazon CloudWatch Application Insights. +// +// Lists the problems with your application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation ListProblems for usage and error information. +// +// Returned Error Codes: +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems +func (c *ApplicationInsights) ListProblems(input *ListProblemsInput) (*ListProblemsOutput, error) { + req, out := c.ListProblemsRequest(input) + return out, req.Send() +} + +// ListProblemsWithContext is the same as ListProblems with the addition of +// the ability to pass a context and additional request options. +// +// See ListProblems for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) ListProblemsWithContext(ctx aws.Context, input *ListProblemsInput, opts ...request.Option) (*ListProblemsOutput, error) { + req, out := c.ListProblemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProblemsPages iterates over the pages of a ListProblems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProblems method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListProblems operation. +// pageNum := 0 +// err := client.ListProblemsPages(params, +// func(page *applicationinsights.ListProblemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ApplicationInsights) ListProblemsPages(input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool) error { + return c.ListProblemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProblemsPagesWithContext same as ListProblemsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProblemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProblemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProblemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListTagsForResource +func (c *ApplicationInsights) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon CloudWatch Application Insights. +// +// Retrieve a list of the tags (keys and values) that are associated with a +// specified application. A tag is a label that you optionally define and associate +// with an application. Each tag consists of a required tag key and an optional +// associated tag value. A tag key is a general label that acts as a category +// for more specific tag values. A tag value acts as a descriptor within a tag +// key. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListTagsForResource +func (c *ApplicationInsights) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/TagResource +func (c *ApplicationInsights) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon CloudWatch Application Insights. +// +// Add one or more tags (keys and values) to a specified application. A tag +// is a label that you optionally define and associate with an application. +// Tags can help you categorize and manage application in different ways, such +// as by purpose, owner, environment, or other criteria. +// +// Each tag consists of a required tag key and an associated tag value, both +// of which you define. A tag key is a general label that acts as a category +// for more specific tag values. A tag value acts as a descriptor within a tag +// key. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The number of the provided tags is beyond the limit, or the number of total +// tags you are trying to attach to the specified resource exceeds the limit. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/TagResource +func (c *ApplicationInsights) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UntagResource +func (c *ApplicationInsights) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon CloudWatch Application Insights. +// +// Remove one or more tags (keys and values) from a specified application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UntagResource +func (c *ApplicationInsights) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApplication = "UpdateApplication" + +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateApplication for more information on using the UpdateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication +func (c *ApplicationInsights) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { + op := &request.Operation{ + Name: opUpdateApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateApplicationInput{} + } + + output = &UpdateApplicationOutput{} req = c.newRequest(op, input, output) return } @@ -1563,63 +2380,151 @@ func (c *ApplicationInsights) UpdateComponentWithContext(ctx aws.Context, input return out, req.Send() } -const opUpdateComponentConfiguration = "UpdateComponentConfiguration" +const opUpdateComponentConfiguration = "UpdateComponentConfiguration" + +// UpdateComponentConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateComponentConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateComponentConfiguration for more information on using the UpdateComponentConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateComponentConfigurationRequest method. +// req, resp := client.UpdateComponentConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration +func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateComponentConfigurationInput) (req *request.Request, output *UpdateComponentConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateComponentConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateComponentConfigurationInput{} + } + + output = &UpdateComponentConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateComponentConfiguration API operation for Amazon CloudWatch Application Insights. +// +// Updates the monitoring configurations for the component. The configuration +// input parameter is an escaped JSON of the configuration and should match +// the schema of what is returned by DescribeComponentConfigurationRecommendation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Application Insights's +// API operation UpdateComponentConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration +func (c *ApplicationInsights) UpdateComponentConfiguration(input *UpdateComponentConfigurationInput) (*UpdateComponentConfigurationOutput, error) { + req, out := c.UpdateComponentConfigurationRequest(input) + return out, req.Send() +} + +// UpdateComponentConfigurationWithContext is the same as UpdateComponentConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateComponentConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ApplicationInsights) UpdateComponentConfigurationWithContext(ctx aws.Context, input *UpdateComponentConfigurationInput, opts ...request.Option) (*UpdateComponentConfigurationOutput, error) { + req, out := c.UpdateComponentConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLogPattern = "UpdateLogPattern" -// UpdateComponentConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateComponentConfiguration operation. The "output" return +// UpdateLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLogPattern operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateComponentConfiguration for more information on using the UpdateComponentConfiguration +// See UpdateLogPattern for more information on using the UpdateLogPattern // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateComponentConfigurationRequest method. -// req, resp := client.UpdateComponentConfigurationRequest(params) +// // Example sending a request using the UpdateLogPatternRequest method. +// req, resp := client.UpdateLogPatternRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration -func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateComponentConfigurationInput) (req *request.Request, output *UpdateComponentConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern +func (c *ApplicationInsights) UpdateLogPatternRequest(input *UpdateLogPatternInput) (req *request.Request, output *UpdateLogPatternOutput) { op := &request.Operation{ - Name: opUpdateComponentConfiguration, + Name: opUpdateLogPattern, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateComponentConfigurationInput{} + input = &UpdateLogPatternInput{} } - output = &UpdateComponentConfigurationOutput{} + output = &UpdateLogPatternOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateComponentConfiguration API operation for Amazon CloudWatch Application Insights. +// UpdateLogPattern API operation for Amazon CloudWatch Application Insights. // -// Updates the monitoring configurations for the component. The configuration -// input parameter is an escaped JSON of the configuration and should match -// the schema of what is returned by DescribeComponentConfigurationRecommendation. +// Adds a log pattern to a LogPatternSet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudWatch Application Insights's -// API operation UpdateComponentConfiguration for usage and error information. +// API operation UpdateLogPattern for usage and error information. // // Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource is already created or in use. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The resource does not exist in the customer account. // @@ -1629,23 +2534,23 @@ func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateC // * ErrCodeInternalServerException "InternalServerException" // The server encountered an internal error and is unable to complete the request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration -func (c *ApplicationInsights) UpdateComponentConfiguration(input *UpdateComponentConfigurationInput) (*UpdateComponentConfigurationOutput, error) { - req, out := c.UpdateComponentConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern +func (c *ApplicationInsights) UpdateLogPattern(input *UpdateLogPatternInput) (*UpdateLogPatternOutput, error) { + req, out := c.UpdateLogPatternRequest(input) return out, req.Send() } -// UpdateComponentConfigurationWithContext is the same as UpdateComponentConfiguration with the addition of +// UpdateLogPatternWithContext is the same as UpdateLogPattern with the addition of // the ability to pass a context and additional request options. // -// See UpdateComponentConfiguration for details on how to use this API operation. +// See UpdateLogPattern for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ApplicationInsights) UpdateComponentConfigurationWithContext(ctx aws.Context, input *UpdateComponentConfigurationInput, opts ...request.Option) (*UpdateComponentConfigurationOutput, error) { - req, out := c.UpdateComponentConfigurationRequest(input) +func (c *ApplicationInsights) UpdateLogPatternWithContext(ctx aws.Context, input *UpdateLogPatternInput, opts ...request.Option) (*UpdateLogPatternOutput, error) { + req, out := c.UpdateLogPatternRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -1667,7 +2572,7 @@ type ApplicationComponent struct { ResourceType *string `type:"string"` // The stack tier of the application component. - Tier *string `type:"string"` + Tier *string `min:"1" type:"string" enum:"Tier"` } // String returns the string representation @@ -1717,14 +2622,14 @@ type ApplicationInfo struct { // The SNS topic provided to Application Insights that is associated to the // created opsItems to receive SNS notifications for opsItem updates. - OpsItemSNSTopicArn *string `type:"string"` + OpsItemSNSTopicArn *string `min:"20" type:"string"` // The issues on the user side that block Application Insights from successfully // monitoring an application. Remarks *string `type:"string"` // The name of the resource group used for the application. - ResourceGroupName *string `type:"string"` + ResourceGroupName *string `min:"1" type:"string"` } // String returns the string representation @@ -1775,12 +2680,17 @@ type CreateApplicationInput struct { // The SNS topic provided to Application Insights that is associated to the // created opsItem. Allows you to receive notifications for updates to the opsItem. - OpsItemSNSTopicArn *string `type:"string"` + OpsItemSNSTopicArn *string `min:"20" type:"string"` // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` + + // List of tags to add to the application. tag key (Key) and an associated tag + // value (Value). The maximum length of a tag key is 128 characters. The maximum + // length of a tag value is 256 characters. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -1796,9 +2706,25 @@ func (s CreateApplicationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"} + if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1824,6 +2750,12 @@ func (s *CreateApplicationInput) SetResourceGroupName(v string) *CreateApplicati return s } +// SetTags sets the Tags field's value. +func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput { + s.Tags = v + return s +} + type CreateApplicationOutput struct { _ struct{} `type:"structure"` @@ -1858,7 +2790,7 @@ type CreateComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` // The list of resource ARNs that belong to the component. // @@ -1885,6 +2817,9 @@ func (s *CreateComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if s.ResourceList == nil { invalidParams.Add(request.NewErrParamRequired("ResourceList")) } @@ -1927,13 +2862,151 @@ func (s CreateComponentOutput) GoString() string { return s.String() } +type CreateLogPatternInput struct { + _ struct{} `type:"structure"` + + // The log pattern. + // + // Pattern is a required field + Pattern *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // Rank of the log pattern. + // + // Rank is a required field + Rank *int64 `type:"integer" required:"true"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLogPatternInput"} + if s.Pattern == nil { + invalidParams.Add(request.NewErrParamRequired("Pattern")) + } + if s.Pattern != nil && len(*s.Pattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) + } + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.Rank == nil { + invalidParams.Add(request.NewErrParamRequired("Rank")) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPattern sets the Pattern field's value. +func (s *CreateLogPatternInput) SetPattern(v string) *CreateLogPatternInput { + s.Pattern = &v + return s +} + +// SetPatternName sets the PatternName field's value. +func (s *CreateLogPatternInput) SetPatternName(v string) *CreateLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *CreateLogPatternInput) SetPatternSetName(v string) *CreateLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetRank sets the Rank field's value. +func (s *CreateLogPatternInput) SetRank(v int64) *CreateLogPatternInput { + s.Rank = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *CreateLogPatternInput) SetResourceGroupName(v string) *CreateLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type CreateLogPatternOutput struct { + _ struct{} `type:"structure"` + + // The successfully created log pattern. + LogPattern *LogPattern `type:"structure"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLogPatternOutput) GoString() string { + return s.String() +} + +// SetLogPattern sets the LogPattern field's value. +func (s *CreateLogPatternOutput) SetLogPattern(v *LogPattern) *CreateLogPatternOutput { + s.LogPattern = v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *CreateLogPatternOutput) SetResourceGroupName(v string) *CreateLogPatternOutput { + s.ResourceGroupName = &v + return s +} + type DeleteApplicationInput struct { _ struct{} `type:"structure"` // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -1952,6 +3025,9 @@ func (s *DeleteApplicationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -1990,7 +3066,7 @@ type DeleteComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2012,6 +3088,9 @@ func (s *DeleteComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2045,13 +3124,102 @@ func (s DeleteComponentOutput) GoString() string { return s.String() } +type DeleteLogPatternInput struct { + _ struct{} `type:"structure"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLogPatternInput"} + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPatternName sets the PatternName field's value. +func (s *DeleteLogPatternInput) SetPatternName(v string) *DeleteLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *DeleteLogPatternInput) SetPatternSetName(v string) *DeleteLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *DeleteLogPatternInput) SetResourceGroupName(v string) *DeleteLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type DeleteLogPatternOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLogPatternOutput) GoString() string { + return s.String() +} + type DescribeApplicationInput struct { _ struct{} `type:"structure"` // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2070,6 +3238,9 @@ func (s *DescribeApplicationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2117,7 +3288,7 @@ type DescribeComponentConfigurationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2139,6 +3310,9 @@ func (s *DescribeComponentConfigurationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2163,14 +3337,14 @@ type DescribeComponentConfigurationOutput struct { // The configuration settings of the component. The value is the escaped JSON // of the configuration. - ComponentConfiguration *string `type:"string"` + ComponentConfiguration *string `min:"1" type:"string"` // Indicates whether the application component is monitored. Monitor *bool `type:"boolean"` - // The tier of the application component. Supported tiers include DOT_NET_WORKER, - // DOT_NET_WEB, SQL_SERVER, and DEFAULT - Tier *string `type:"string"` + // The tier of the application component. Supported tiers include DOT_NET_CORE, + // DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT + Tier *string `min:"1" type:"string" enum:"Tier"` } // String returns the string representation @@ -2212,13 +3386,13 @@ type DescribeComponentConfigurationRecommendationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` - // The tier of the application component. Supported tiers include DOT_NET_WORKER, - // DOT_NET_WEB, SQL_SERVER, and DEFAULT. + // The tier of the application component. Supported tiers include DOT_NET_CORE, + // DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT. // // Tier is a required field - Tier *string `type:"string" required:"true"` + Tier *string `min:"1" type:"string" required:"true" enum:"Tier"` } // String returns the string representation @@ -2240,9 +3414,15 @@ func (s *DescribeComponentConfigurationRecommendationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if s.Tier == nil { invalidParams.Add(request.NewErrParamRequired("Tier")) } + if s.Tier != nil && len(*s.Tier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tier", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2273,7 +3453,7 @@ type DescribeComponentConfigurationRecommendationOutput struct { // The recommended configuration settings of the component. The value is the // escaped JSON of the configuration. - ComponentConfiguration *string `type:"string"` + ComponentConfiguration *string `min:"1" type:"string"` } // String returns the string representation @@ -2303,7 +3483,7 @@ type DescribeComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2325,6 +3505,9 @@ func (s *DescribeComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2377,13 +3560,120 @@ func (s *DescribeComponentOutput) SetResourceList(v []*string) *DescribeComponen return s } +type DescribeLogPatternInput struct { + _ struct{} `type:"structure"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLogPatternInput"} + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPatternName sets the PatternName field's value. +func (s *DescribeLogPatternInput) SetPatternName(v string) *DescribeLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *DescribeLogPatternInput) SetPatternSetName(v string) *DescribeLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *DescribeLogPatternInput) SetResourceGroupName(v string) *DescribeLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type DescribeLogPatternOutput struct { + _ struct{} `type:"structure"` + + // The successfully created log pattern. + LogPattern *LogPattern `type:"structure"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLogPatternOutput) GoString() string { + return s.String() +} + +// SetLogPattern sets the LogPattern field's value. +func (s *DescribeLogPatternOutput) SetLogPattern(v *LogPattern) *DescribeLogPatternOutput { + s.LogPattern = v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *DescribeLogPatternOutput) SetResourceGroupName(v string) *DescribeLogPatternOutput { + s.ResourceGroupName = &v + return s +} + type DescribeObservationInput struct { _ struct{} `type:"structure"` // The ID of the observation. // // ObservationId is a required field - ObservationId *string `type:"string" required:"true"` + ObservationId *string `min:"38" type:"string" required:"true"` } // String returns the string representation @@ -2402,6 +3692,9 @@ func (s *DescribeObservationInput) Validate() error { if s.ObservationId == nil { invalidParams.Add(request.NewErrParamRequired("ObservationId")) } + if s.ObservationId != nil && len(*s.ObservationId) < 38 { + invalidParams.Add(request.NewErrParamMinLen("ObservationId", 38)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2444,7 +3737,7 @@ type DescribeProblemInput struct { // The ID of the problem. // // ProblemId is a required field - ProblemId *string `type:"string" required:"true"` + ProblemId *string `min:"38" type:"string" required:"true"` } // String returns the string representation @@ -2463,6 +3756,9 @@ func (s *DescribeProblemInput) Validate() error { if s.ProblemId == nil { invalidParams.Add(request.NewErrParamRequired("ProblemId")) } + if s.ProblemId != nil && len(*s.ProblemId) < 38 { + invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2482,7 +3778,7 @@ type DescribeProblemObservationsInput struct { // The ID of the problem. // // ProblemId is a required field - ProblemId *string `type:"string" required:"true"` + ProblemId *string `min:"38" type:"string" required:"true"` } // String returns the string representation @@ -2501,6 +3797,9 @@ func (s *DescribeProblemObservationsInput) Validate() error { if s.ProblemId == nil { invalidParams.Add(request.NewErrParamRequired("ProblemId")) } + if s.ProblemId != nil && len(*s.ProblemId) < 38 { + invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2652,7 +3951,7 @@ type ListComponentsInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2674,6 +3973,9 @@ func (s *ListComponentsInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2731,6 +4033,228 @@ func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { return s } +type ListLogPatternSetsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another call with the returned NextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to request the next page of results. + NextToken *string `type:"string"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLogPatternSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLogPatternSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLogPatternSetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLogPatternSetsInput) SetMaxResults(v int64) *ListLogPatternSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternSetsInput) SetNextToken(v string) *ListLogPatternSetsInput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternSetsInput) SetResourceGroupName(v string) *ListLogPatternSetsInput { + s.ResourceGroupName = &v + return s +} + +type ListLogPatternSetsOutput struct { + _ struct{} `type:"structure"` + + // The list of log pattern sets. + LogPatternSets []*string `type:"list"` + + // The token used to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string `type:"string"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListLogPatternSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternSetsOutput) GoString() string { + return s.String() +} + +// SetLogPatternSets sets the LogPatternSets field's value. +func (s *ListLogPatternSetsOutput) SetLogPatternSets(v []*string) *ListLogPatternSetsOutput { + s.LogPatternSets = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternSetsOutput) SetNextToken(v string) *ListLogPatternSetsOutput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternSetsOutput) SetResourceGroupName(v string) *ListLogPatternSetsOutput { + s.ResourceGroupName = &v + return s +} + +type ListLogPatternsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another call with the returned NextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to request the next page of results. + NextToken *string `type:"string"` + + // The name of the log pattern set. + PatternSetName *string `min:"1" type:"string"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLogPatternsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLogPatternsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLogPatternsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLogPatternsInput) SetMaxResults(v int64) *ListLogPatternsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternsInput) SetNextToken(v string) *ListLogPatternsInput { + s.NextToken = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *ListLogPatternsInput) SetPatternSetName(v string) *ListLogPatternsInput { + s.PatternSetName = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternsInput) SetResourceGroupName(v string) *ListLogPatternsInput { + s.ResourceGroupName = &v + return s +} + +type ListLogPatternsOutput struct { + _ struct{} `type:"structure"` + + // The list of log patterns. + LogPatterns []*LogPattern `type:"list"` + + // The token used to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string `type:"string"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListLogPatternsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternsOutput) GoString() string { + return s.String() +} + +// SetLogPatterns sets the LogPatterns field's value. +func (s *ListLogPatternsOutput) SetLogPatterns(v []*LogPattern) *ListLogPatternsOutput { + s.LogPatterns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternsOutput) SetNextToken(v string) *ListLogPatternsOutput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternsOutput) SetResourceGroupName(v string) *ListLogPatternsOutput { + s.ResourceGroupName = &v + return s +} + type ListProblemsInput struct { _ struct{} `type:"structure"` @@ -2746,7 +4270,7 @@ type ListProblemsInput struct { NextToken *string `type:"string"` // The name of the resource group. - ResourceGroupName *string `type:"string"` + ResourceGroupName *string `min:"1" type:"string"` // The time when the problem was detected, in epoch seconds. If you don't specify // a time frame for the request, problems within the past seven days are returned. @@ -2769,6 +4293,9 @@ func (s *ListProblemsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2788,54 +4315,177 @@ func (s *ListProblemsInput) SetMaxResults(v int64) *ListProblemsInput { return s } -// SetNextToken sets the NextToken field's value. -func (s *ListProblemsInput) SetNextToken(v string) *ListProblemsInput { - s.NextToken = &v - return s +// SetNextToken sets the NextToken field's value. +func (s *ListProblemsInput) SetNextToken(v string) *ListProblemsInput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListProblemsInput) SetResourceGroupName(v string) *ListProblemsInput { + s.ResourceGroupName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListProblemsInput) SetStartTime(v time.Time) *ListProblemsInput { + s.StartTime = &v + return s +} + +type ListProblemsOutput struct { + _ struct{} `type:"structure"` + + // The token used to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string `type:"string"` + + // The list of problems. + ProblemList []*Problem `type:"list"` +} + +// String returns the string representation +func (s ListProblemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProblemsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProblemsOutput) SetNextToken(v string) *ListProblemsOutput { + s.NextToken = &v + return s +} + +// SetProblemList sets the ProblemList field's value. +func (s *ListProblemsOutput) SetProblemList(v []*Problem) *ListProblemsOutput { + s.ProblemList = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application that you want to retrieve + // tag information for. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // An array that lists all the tags that are associated with the application. + // Each tag consists of a required tag key (Key) and an associated tag value + // (Value). + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceGroupName sets the ResourceGroupName field's value. -func (s *ListProblemsInput) SetResourceGroupName(v string) *ListProblemsInput { - s.ResourceGroupName = &v - return s +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() } -// SetStartTime sets the StartTime field's value. -func (s *ListProblemsInput) SetStartTime(v time.Time) *ListProblemsInput { - s.StartTime = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListProblemsOutput struct { +// An object that defines the log patterns that belongs to a LogPatternSet. +type LogPattern struct { _ struct{} `type:"structure"` - // The token used to retrieve the next page of results. This value is null when - // there are no more results to return. - NextToken *string `type:"string"` + // A regular expression that defines the log pattern. A log pattern can contains + // at many as 50 characters, and it cannot be empty. + Pattern *string `min:"1" type:"string"` - // The list of problems. - ProblemList []*Problem `type:"list"` + // The name of the log pattern. A log pattern name can contains at many as 50 + // characters, and it cannot be empty. The characters can be Unicode letters, + // digits or one of the following symbols: period, dash, underscore. + PatternName *string `min:"1" type:"string"` + + // The name of the log pattern. A log pattern name can contains at many as 30 + // characters, and it cannot be empty. The characters can be Unicode letters, + // digits or one of the following symbols: period, dash, underscore. + PatternSetName *string `min:"1" type:"string"` + + // Rank of the log pattern. + Rank *int64 `type:"integer"` } // String returns the string representation -func (s ListProblemsOutput) String() string { +func (s LogPattern) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProblemsOutput) GoString() string { +func (s LogPattern) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListProblemsOutput) SetNextToken(v string) *ListProblemsOutput { - s.NextToken = &v +// SetPattern sets the Pattern field's value. +func (s *LogPattern) SetPattern(v string) *LogPattern { + s.Pattern = &v return s } -// SetProblemList sets the ProblemList field's value. -func (s *ListProblemsOutput) SetProblemList(v []*Problem) *ListProblemsOutput { - s.ProblemList = v +// SetPatternName sets the PatternName field's value. +func (s *LogPattern) SetPatternName(v string) *LogPattern { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *LogPattern) SetPatternSetName(v string) *LogPattern { + s.PatternSetName = &v + return s +} + +// SetRank sets the Rank field's value. +func (s *LogPattern) SetRank(v int64) *LogPattern { + s.Rank = &v return s } @@ -2847,7 +4497,7 @@ type Observation struct { EndTime *time.Time `type:"timestamp"` // The ID of the observation type. - Id *string `type:"string"` + Id *string `min:"38" type:"string"` // The timestamp in the CloudWatch Logs that specifies when the matched line // occurred. @@ -2986,13 +4636,13 @@ type Problem struct { Feedback map[string]*string `type:"map"` // The ID of the problem. - Id *string `type:"string"` + Id *string `min:"38" type:"string"` // A detailed analysis of the problem using machine learning. Insights *string `type:"string"` // The name of the resource group affected by the problem. - ResourceGroupName *string `type:"string"` + ResourceGroupName *string `min:"1" type:"string"` // A measure of the level of impact of the problem. SeverityLevel *string `type:"string" enum:"SeverityLevel"` @@ -3101,6 +4751,242 @@ func (s *RelatedObservations) SetObservationList(v []*Observation) *RelatedObser return s } +// An object that defines the tags associated with an application. A tag is +// a label that you optionally define and associate with an application. Tags +// can help you categorize and manage resources in different ways, such as by +// purpose, owner, environment, or other criteria. +// +// Each tag consists of a required tag key and an associated tag value, both +// of which you define. A tag key is a general label that acts as a category +// for a more specific tag value. A tag value acts as a descriptor within a +// tag key. A tag key can contain as many as 128 characters. A tag value can +// contain as many as 256 characters. The characters can be Unicode letters, +// digits, white space, or one of the following symbols: _ . : / = + -. The +// following additional restrictions apply to tags: +// +// * Tag keys and values are case sensitive. +// +// * For each associated resource, each tag key must be unique and it can +// have only one value. +// +// * The aws: prefix is reserved for use by AWS; you can’t use it in any +// tag keys or values that you define. In addition, you can't edit or remove +// tag keys or values that use this prefix. +type Tag struct { + _ struct{} `type:"structure"` + + // One part of a key-value pair that defines a tag. The maximum length of a + // tag key is 128 characters. The minimum length is 1 character. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The optional part of a key-value pair that defines a tag. The maximum length + // of a tag value is 256 characters. The minimum length is 0 characters. If + // you don't want an application to have a specific tag value, don't specify + // a value for this parameter. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application that you want to add one + // or more tags to. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // A list of tags that to add to the application. A tag consists of a required + // tag key (Key) and an associated tag value (Value). The maximum length of + // a tag key is 128 characters. The maximum length of a tag value is 256 characters. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application that you want to remove + // one or more tags from. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The tags (tag keys) that you want to remove from the resource. When you specify + // a tag key, the action removes both that key and its associated tag value. + // + // To remove more than one tag from the application, append the TagKeys parameter + // and argument for each additional tag to remove, separated by an ampersand. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateApplicationInput struct { _ struct{} `type:"structure"` @@ -3109,7 +4995,7 @@ type UpdateApplicationInput struct { // The SNS topic provided to Application Insights that is associated to the // created opsItem. Allows you to receive notifications for updates to the opsItem. - OpsItemSNSTopicArn *string `type:"string"` + OpsItemSNSTopicArn *string `min:"20" type:"string"` // Disassociates the SNS topic from the opsItem created for detected problems. RemoveSNSTopic *bool `type:"boolean"` @@ -3117,7 +5003,7 @@ type UpdateApplicationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -3133,9 +5019,15 @@ func (s UpdateApplicationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"} + if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3197,8 +5089,9 @@ type UpdateComponentConfigurationInput struct { // of the configuration. For more information about the JSON format, see Working // with JSON (https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/working-with-json.html). // You can send a request to DescribeComponentConfigurationRecommendation to - // see the recommended configuration for a component. - ComponentConfiguration *string `type:"string"` + // see the recommended configuration for a component. For the complete format + // of the component configuration file, see Component Configuration (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config.html). + ComponentConfiguration *string `min:"1" type:"string"` // The name of the component. // @@ -3211,11 +5104,11 @@ type UpdateComponentConfigurationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` // The tier of the application component. Supported tiers include DOT_NET_WORKER, - // DOT_NET_WEB, SQL_SERVER, and DEFAULT. - Tier *string `type:"string"` + // DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT. + Tier *string `min:"1" type:"string" enum:"Tier"` } // String returns the string representation @@ -3231,12 +5124,21 @@ func (s UpdateComponentConfigurationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateComponentConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateComponentConfigurationInput"} + if s.ComponentConfiguration != nil && len(*s.ComponentConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentConfiguration", 1)) + } if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + if s.Tier != nil && len(*s.Tier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tier", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3302,7 +5204,7 @@ type UpdateComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` // The list of resource ARNs that belong to the component. ResourceList []*string `type:"list"` @@ -3327,6 +5229,9 @@ func (s *UpdateComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3372,6 +5277,134 @@ func (s UpdateComponentOutput) GoString() string { return s.String() } +type UpdateLogPatternInput struct { + _ struct{} `type:"structure"` + + // The log pattern. + Pattern *string `min:"1" type:"string"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // Rank of the log pattern. + Rank *int64 `type:"integer"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLogPatternInput"} + if s.Pattern != nil && len(*s.Pattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) + } + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPattern sets the Pattern field's value. +func (s *UpdateLogPatternInput) SetPattern(v string) *UpdateLogPatternInput { + s.Pattern = &v + return s +} + +// SetPatternName sets the PatternName field's value. +func (s *UpdateLogPatternInput) SetPatternName(v string) *UpdateLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *UpdateLogPatternInput) SetPatternSetName(v string) *UpdateLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetRank sets the Rank field's value. +func (s *UpdateLogPatternInput) SetRank(v int64) *UpdateLogPatternInput { + s.Rank = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *UpdateLogPatternInput) SetResourceGroupName(v string) *UpdateLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type UpdateLogPatternOutput struct { + _ struct{} `type:"structure"` + + // The successfully created log pattern. + LogPattern *LogPattern `type:"structure"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLogPatternOutput) GoString() string { + return s.String() +} + +// SetLogPattern sets the LogPattern field's value. +func (s *UpdateLogPatternOutput) SetLogPattern(v *LogPattern) *UpdateLogPatternOutput { + s.LogPattern = v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *UpdateLogPatternOutput) SetResourceGroupName(v string) *UpdateLogPatternOutput { + s.ResourceGroupName = &v + return s +} + const ( // FeedbackKeyInsightsFeedback is a FeedbackKey enum value FeedbackKeyInsightsFeedback = "INSIGHTS_FEEDBACK" @@ -3401,13 +5434,13 @@ const ( const ( // SeverityLevelLow is a SeverityLevel enum value - SeverityLevelLow = "LOW" + SeverityLevelLow = "Low" // SeverityLevelMedium is a SeverityLevel enum value - SeverityLevelMedium = "MEDIUM" + SeverityLevelMedium = "Medium" // SeverityLevelHigh is a SeverityLevel enum value - SeverityLevelHigh = "HIGH" + SeverityLevelHigh = "High" ) const ( @@ -3420,3 +5453,20 @@ const ( // StatusPending is a Status enum value StatusPending = "PENDING" ) + +const ( + // TierDefault is a Tier enum value + TierDefault = "DEFAULT" + + // TierDotNetCore is a Tier enum value + TierDotNetCore = "DOT_NET_CORE" + + // TierDotNetWorker is a Tier enum value + TierDotNetWorker = "DOT_NET_WORKER" + + // TierDotNetWeb is a Tier enum value + TierDotNetWeb = "DOT_NET_WEB" + + // TierSqlServer is a Tier enum value + TierSqlServer = "SQL_SERVER" +) diff --git a/service/applicationinsights/applicationinsightsiface/interface.go b/service/applicationinsights/applicationinsightsiface/interface.go index 6ca7a82de0f..88f6150b788 100644 --- a/service/applicationinsights/applicationinsightsiface/interface.go +++ b/service/applicationinsights/applicationinsightsiface/interface.go @@ -68,6 +68,10 @@ type ApplicationInsightsAPI interface { CreateComponentWithContext(aws.Context, *applicationinsights.CreateComponentInput, ...request.Option) (*applicationinsights.CreateComponentOutput, error) CreateComponentRequest(*applicationinsights.CreateComponentInput) (*request.Request, *applicationinsights.CreateComponentOutput) + CreateLogPattern(*applicationinsights.CreateLogPatternInput) (*applicationinsights.CreateLogPatternOutput, error) + CreateLogPatternWithContext(aws.Context, *applicationinsights.CreateLogPatternInput, ...request.Option) (*applicationinsights.CreateLogPatternOutput, error) + CreateLogPatternRequest(*applicationinsights.CreateLogPatternInput) (*request.Request, *applicationinsights.CreateLogPatternOutput) + DeleteApplication(*applicationinsights.DeleteApplicationInput) (*applicationinsights.DeleteApplicationOutput, error) DeleteApplicationWithContext(aws.Context, *applicationinsights.DeleteApplicationInput, ...request.Option) (*applicationinsights.DeleteApplicationOutput, error) DeleteApplicationRequest(*applicationinsights.DeleteApplicationInput) (*request.Request, *applicationinsights.DeleteApplicationOutput) @@ -76,6 +80,10 @@ type ApplicationInsightsAPI interface { DeleteComponentWithContext(aws.Context, *applicationinsights.DeleteComponentInput, ...request.Option) (*applicationinsights.DeleteComponentOutput, error) DeleteComponentRequest(*applicationinsights.DeleteComponentInput) (*request.Request, *applicationinsights.DeleteComponentOutput) + DeleteLogPattern(*applicationinsights.DeleteLogPatternInput) (*applicationinsights.DeleteLogPatternOutput, error) + DeleteLogPatternWithContext(aws.Context, *applicationinsights.DeleteLogPatternInput, ...request.Option) (*applicationinsights.DeleteLogPatternOutput, error) + DeleteLogPatternRequest(*applicationinsights.DeleteLogPatternInput) (*request.Request, *applicationinsights.DeleteLogPatternOutput) + DescribeApplication(*applicationinsights.DescribeApplicationInput) (*applicationinsights.DescribeApplicationOutput, error) DescribeApplicationWithContext(aws.Context, *applicationinsights.DescribeApplicationInput, ...request.Option) (*applicationinsights.DescribeApplicationOutput, error) DescribeApplicationRequest(*applicationinsights.DescribeApplicationInput) (*request.Request, *applicationinsights.DescribeApplicationOutput) @@ -92,6 +100,10 @@ type ApplicationInsightsAPI interface { DescribeComponentConfigurationRecommendationWithContext(aws.Context, *applicationinsights.DescribeComponentConfigurationRecommendationInput, ...request.Option) (*applicationinsights.DescribeComponentConfigurationRecommendationOutput, error) DescribeComponentConfigurationRecommendationRequest(*applicationinsights.DescribeComponentConfigurationRecommendationInput) (*request.Request, *applicationinsights.DescribeComponentConfigurationRecommendationOutput) + DescribeLogPattern(*applicationinsights.DescribeLogPatternInput) (*applicationinsights.DescribeLogPatternOutput, error) + DescribeLogPatternWithContext(aws.Context, *applicationinsights.DescribeLogPatternInput, ...request.Option) (*applicationinsights.DescribeLogPatternOutput, error) + DescribeLogPatternRequest(*applicationinsights.DescribeLogPatternInput) (*request.Request, *applicationinsights.DescribeLogPatternOutput) + DescribeObservation(*applicationinsights.DescribeObservationInput) (*applicationinsights.DescribeObservationOutput, error) DescribeObservationWithContext(aws.Context, *applicationinsights.DescribeObservationInput, ...request.Option) (*applicationinsights.DescribeObservationOutput, error) DescribeObservationRequest(*applicationinsights.DescribeObservationInput) (*request.Request, *applicationinsights.DescribeObservationOutput) @@ -118,6 +130,20 @@ type ApplicationInsightsAPI interface { ListComponentsPages(*applicationinsights.ListComponentsInput, func(*applicationinsights.ListComponentsOutput, bool) bool) error ListComponentsPagesWithContext(aws.Context, *applicationinsights.ListComponentsInput, func(*applicationinsights.ListComponentsOutput, bool) bool, ...request.Option) error + ListLogPatternSets(*applicationinsights.ListLogPatternSetsInput) (*applicationinsights.ListLogPatternSetsOutput, error) + ListLogPatternSetsWithContext(aws.Context, *applicationinsights.ListLogPatternSetsInput, ...request.Option) (*applicationinsights.ListLogPatternSetsOutput, error) + ListLogPatternSetsRequest(*applicationinsights.ListLogPatternSetsInput) (*request.Request, *applicationinsights.ListLogPatternSetsOutput) + + ListLogPatternSetsPages(*applicationinsights.ListLogPatternSetsInput, func(*applicationinsights.ListLogPatternSetsOutput, bool) bool) error + ListLogPatternSetsPagesWithContext(aws.Context, *applicationinsights.ListLogPatternSetsInput, func(*applicationinsights.ListLogPatternSetsOutput, bool) bool, ...request.Option) error + + ListLogPatterns(*applicationinsights.ListLogPatternsInput) (*applicationinsights.ListLogPatternsOutput, error) + ListLogPatternsWithContext(aws.Context, *applicationinsights.ListLogPatternsInput, ...request.Option) (*applicationinsights.ListLogPatternsOutput, error) + ListLogPatternsRequest(*applicationinsights.ListLogPatternsInput) (*request.Request, *applicationinsights.ListLogPatternsOutput) + + ListLogPatternsPages(*applicationinsights.ListLogPatternsInput, func(*applicationinsights.ListLogPatternsOutput, bool) bool) error + ListLogPatternsPagesWithContext(aws.Context, *applicationinsights.ListLogPatternsInput, func(*applicationinsights.ListLogPatternsOutput, bool) bool, ...request.Option) error + ListProblems(*applicationinsights.ListProblemsInput) (*applicationinsights.ListProblemsOutput, error) ListProblemsWithContext(aws.Context, *applicationinsights.ListProblemsInput, ...request.Option) (*applicationinsights.ListProblemsOutput, error) ListProblemsRequest(*applicationinsights.ListProblemsInput) (*request.Request, *applicationinsights.ListProblemsOutput) @@ -125,6 +151,18 @@ type ApplicationInsightsAPI interface { ListProblemsPages(*applicationinsights.ListProblemsInput, func(*applicationinsights.ListProblemsOutput, bool) bool) error ListProblemsPagesWithContext(aws.Context, *applicationinsights.ListProblemsInput, func(*applicationinsights.ListProblemsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*applicationinsights.ListTagsForResourceInput) (*applicationinsights.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *applicationinsights.ListTagsForResourceInput, ...request.Option) (*applicationinsights.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*applicationinsights.ListTagsForResourceInput) (*request.Request, *applicationinsights.ListTagsForResourceOutput) + + TagResource(*applicationinsights.TagResourceInput) (*applicationinsights.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *applicationinsights.TagResourceInput, ...request.Option) (*applicationinsights.TagResourceOutput, error) + TagResourceRequest(*applicationinsights.TagResourceInput) (*request.Request, *applicationinsights.TagResourceOutput) + + UntagResource(*applicationinsights.UntagResourceInput) (*applicationinsights.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *applicationinsights.UntagResourceInput, ...request.Option) (*applicationinsights.UntagResourceOutput, error) + UntagResourceRequest(*applicationinsights.UntagResourceInput) (*request.Request, *applicationinsights.UntagResourceOutput) + UpdateApplication(*applicationinsights.UpdateApplicationInput) (*applicationinsights.UpdateApplicationOutput, error) UpdateApplicationWithContext(aws.Context, *applicationinsights.UpdateApplicationInput, ...request.Option) (*applicationinsights.UpdateApplicationOutput, error) UpdateApplicationRequest(*applicationinsights.UpdateApplicationInput) (*request.Request, *applicationinsights.UpdateApplicationOutput) @@ -136,6 +174,10 @@ type ApplicationInsightsAPI interface { UpdateComponentConfiguration(*applicationinsights.UpdateComponentConfigurationInput) (*applicationinsights.UpdateComponentConfigurationOutput, error) UpdateComponentConfigurationWithContext(aws.Context, *applicationinsights.UpdateComponentConfigurationInput, ...request.Option) (*applicationinsights.UpdateComponentConfigurationOutput, error) UpdateComponentConfigurationRequest(*applicationinsights.UpdateComponentConfigurationInput) (*request.Request, *applicationinsights.UpdateComponentConfigurationOutput) + + UpdateLogPattern(*applicationinsights.UpdateLogPatternInput) (*applicationinsights.UpdateLogPatternOutput, error) + UpdateLogPatternWithContext(aws.Context, *applicationinsights.UpdateLogPatternInput, ...request.Option) (*applicationinsights.UpdateLogPatternOutput, error) + UpdateLogPatternRequest(*applicationinsights.UpdateLogPatternInput) (*request.Request, *applicationinsights.UpdateLogPatternOutput) } var _ ApplicationInsightsAPI = (*applicationinsights.ApplicationInsights)(nil) diff --git a/service/applicationinsights/errors.go b/service/applicationinsights/errors.go index c75e208d945..aa8c59349d2 100644 --- a/service/applicationinsights/errors.go +++ b/service/applicationinsights/errors.go @@ -28,6 +28,19 @@ const ( // The resource does not exist in the customer account. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeTagsAlreadyExistException for service response error code + // "TagsAlreadyExistException". + // + // Tags are already registered for the specified application ARN. + ErrCodeTagsAlreadyExistException = "TagsAlreadyExistException" + + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // The number of the provided tags is beyond the limit, or the number of total + // tags you are trying to attach to the specified resource exceeds the limit. + ErrCodeTooManyTagsException = "TooManyTagsException" + // ErrCodeValidationException for service response error code // "ValidationException". // diff --git a/service/athena/api.go b/service/athena/api.go index b79ff0629d3..6de0da31293 100644 --- a/service/athena/api.go +++ b/service/athena/api.go @@ -3355,9 +3355,8 @@ type QueryExecution struct { // and DML, such as SHOW CREATE TABLE, or DESCRIBE . StatementType *string `type:"string" enum:"StatementType"` - // The location of a manifest file that tracks file locations generated by the - // query, the amount of data scanned by the query, and the amount of time that - // it took the query to run. + // The amount of data scanned during the query execution and the amount of time + // that it took to execute, and the type of statement that was run. Statistics *QueryExecutionStatistics `type:"structure"` // The completion date, current state, submission time, and state change reason @@ -3463,19 +3462,19 @@ func (s *QueryExecutionContext) SetDatabase(v string) *QueryExecutionContext { return s } -// The location of a manifest file that tracks file locations generated by the -// query, the amount of data scanned by the query, and the amount of time that -// it took the query to run. +// The amount of data scanned during the query execution and the amount of time +// that it took to execute, and the type of statement that was run. type QueryExecutionStatistics struct { _ struct{} `type:"structure"` // The location and file name of a data manifest file. The manifest file is - // saved to the Athena query results location in Amazon S3. It tracks files - // that the query wrote to Amazon S3. If the query fails, the manifest file - // also tracks files that the query intended to write. The manifest is useful - // for identifying orphaned files resulting from a failed query. For more information, - // see Working with Query Output Files (https://docs.aws.amazon.com/athena/latest/ug/querying.html) - // in the Amazon Athena User Guide. + // saved to the Athena query results location in Amazon S3. The manifest file + // tracks files that the query wrote to Amazon S3. If the query fails, the manifest + // file also tracks files that the query intended to write. The manifest is + // useful for identifying orphaned files resulting from a failed query. For + // more information, see Working with Query Results, Output Files, and Query + // History (https://docs.aws.amazon.com/athena/latest/ug/querying.html) in the + // Amazon Athena User Guide. DataManifestLocation *string `type:"string"` // The number of bytes in the data that was queried. @@ -3483,6 +3482,24 @@ type QueryExecutionStatistics struct { // The number of milliseconds that the query took to execute. EngineExecutionTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that Athena took to plan the query processing + // flow. This includes the time spent retrieving table partitions from the data + // source. Note that because the query engine performs the query planning, query + // planning time is a subset of engine processing time. + QueryPlanningTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that the query was in your query queue waiting + // for resources. Note that if transient errors occur, Athena might automatically + // add the query back to the queue. + QueryQueueTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that Athena took to finalize and publish the query + // results after the query engine finished running the query. + ServiceProcessingTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that Athena took to run the query. + TotalExecutionTimeInMillis *int64 `type:"long"` } // String returns the string representation @@ -3513,6 +3530,30 @@ func (s *QueryExecutionStatistics) SetEngineExecutionTimeInMillis(v int64) *Quer return s } +// SetQueryPlanningTimeInMillis sets the QueryPlanningTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetQueryPlanningTimeInMillis(v int64) *QueryExecutionStatistics { + s.QueryPlanningTimeInMillis = &v + return s +} + +// SetQueryQueueTimeInMillis sets the QueryQueueTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetQueryQueueTimeInMillis(v int64) *QueryExecutionStatistics { + s.QueryQueueTimeInMillis = &v + return s +} + +// SetServiceProcessingTimeInMillis sets the ServiceProcessingTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetServiceProcessingTimeInMillis(v int64) *QueryExecutionStatistics { + s.ServiceProcessingTimeInMillis = &v + return s +} + +// SetTotalExecutionTimeInMillis sets the TotalExecutionTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetTotalExecutionTimeInMillis(v int64) *QueryExecutionStatistics { + s.TotalExecutionTimeInMillis = &v + return s +} + // The completion date, current state, submission time, and state change reason // (if applicable) for the query execution. type QueryExecutionStatus struct { diff --git a/service/cloudwatch/api.go b/service/cloudwatch/api.go index 558e792d03d..1c6b4ccda00 100644 --- a/service/cloudwatch/api.go +++ b/service/cloudwatch/api.go @@ -270,6 +270,92 @@ func (c *CloudWatch) DeleteDashboardsWithContext(ctx aws.Context, input *DeleteD return out, req.Send() } +const opDeleteInsightRules = "DeleteInsightRules" + +// DeleteInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInsightRules operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteInsightRules for more information on using the DeleteInsightRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteInsightRulesRequest method. +// req, resp := client.DeleteInsightRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules +func (c *CloudWatch) DeleteInsightRulesRequest(input *DeleteInsightRulesInput) (req *request.Request, output *DeleteInsightRulesOutput) { + op := &request.Operation{ + Name: opDeleteInsightRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteInsightRulesInput{} + } + + output = &DeleteInsightRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteInsightRules API operation for Amazon CloudWatch. +// +// Permanently deletes the specified Contributor Insights rules. +// +// If you create a rule, delete it, and then re-create it with the same name, +// historical data from the first time the rule was created may or may not be +// available. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch's +// API operation DeleteInsightRules for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules +func (c *CloudWatch) DeleteInsightRules(input *DeleteInsightRulesInput) (*DeleteInsightRulesOutput, error) { + req, out := c.DeleteInsightRulesRequest(input) + return out, req.Send() +} + +// DeleteInsightRulesWithContext is the same as DeleteInsightRules with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInsightRules for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatch) DeleteInsightRulesWithContext(ctx aws.Context, input *DeleteInsightRulesInput, opts ...request.Option) (*DeleteInsightRulesOutput, error) { + req, out := c.DeleteInsightRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAlarmHistory = "DescribeAlarmHistory" // DescribeAlarmHistoryRequest generates a "aws/request.Request" representing the @@ -712,313 +798,738 @@ func (c *CloudWatch) DescribeAnomalyDetectorsWithContext(ctx aws.Context, input return out, req.Send() } -const opDisableAlarmActions = "DisableAlarmActions" +const opDescribeInsightRules = "DescribeInsightRules" -// DisableAlarmActionsRequest generates a "aws/request.Request" representing the -// client's request for the DisableAlarmActions operation. The "output" return +// DescribeInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInsightRules operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DisableAlarmActions for more information on using the DisableAlarmActions +// See DescribeInsightRules for more information on using the DescribeInsightRules // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DisableAlarmActionsRequest method. -// req, resp := client.DisableAlarmActionsRequest(params) +// // Example sending a request using the DescribeInsightRulesRequest method. +// req, resp := client.DescribeInsightRulesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions -func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules +func (c *CloudWatch) DescribeInsightRulesRequest(input *DescribeInsightRulesInput) (req *request.Request, output *DescribeInsightRulesOutput) { op := &request.Operation{ - Name: opDisableAlarmActions, + Name: opDescribeInsightRules, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &DisableAlarmActionsInput{} + input = &DescribeInsightRulesInput{} } - output = &DisableAlarmActionsOutput{} + output = &DescribeInsightRulesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DisableAlarmActions API operation for Amazon CloudWatch. +// DescribeInsightRules API operation for Amazon CloudWatch. // -// 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. +// Returns a list of all the Contributor Insights rules in your account. All +// rules in your account are returned with a single operation. +// +// For more information about Contributor Insights, see Using Contributor Insights +// to Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudWatch's -// API operation DisableAlarmActions for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions -func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) { - req, out := c.DisableAlarmActionsRequest(input) +// API operation DescribeInsightRules for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextToken "InvalidNextToken" +// The next token specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules +func (c *CloudWatch) DescribeInsightRules(input *DescribeInsightRulesInput) (*DescribeInsightRulesOutput, error) { + req, out := c.DescribeInsightRulesRequest(input) return out, req.Send() } -// DisableAlarmActionsWithContext is the same as DisableAlarmActions with the addition of +// DescribeInsightRulesWithContext is the same as DescribeInsightRules with the addition of // the ability to pass a context and additional request options. // -// See DisableAlarmActions for details on how to use this API operation. +// See DescribeInsightRules for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudWatch) DisableAlarmActionsWithContext(ctx aws.Context, input *DisableAlarmActionsInput, opts ...request.Option) (*DisableAlarmActionsOutput, error) { - req, out := c.DisableAlarmActionsRequest(input) +func (c *CloudWatch) DescribeInsightRulesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, opts ...request.Option) (*DescribeInsightRulesOutput, error) { + req, out := c.DescribeInsightRulesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opEnableAlarmActions = "EnableAlarmActions" +// DescribeInsightRulesPages iterates over the pages of a DescribeInsightRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInsightRules method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeInsightRules operation. +// pageNum := 0 +// err := client.DescribeInsightRulesPages(params, +// func(page *cloudwatch.DescribeInsightRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudWatch) DescribeInsightRulesPages(input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool) error { + return c.DescribeInsightRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// EnableAlarmActionsRequest generates a "aws/request.Request" representing the -// client's request for the EnableAlarmActions operation. The "output" return +// DescribeInsightRulesPagesWithContext same as DescribeInsightRulesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatch) DescribeInsightRulesPagesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInsightRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInsightRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInsightRulesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDisableAlarmActions = "DisableAlarmActions" + +// DisableAlarmActionsRequest generates a "aws/request.Request" representing the +// client's request for the DisableAlarmActions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See EnableAlarmActions for more information on using the EnableAlarmActions +// See DisableAlarmActions for more information on using the DisableAlarmActions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the EnableAlarmActionsRequest method. -// req, resp := client.EnableAlarmActionsRequest(params) +// // Example sending a request using the DisableAlarmActionsRequest method. +// req, resp := client.DisableAlarmActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions -func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions +func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) { op := &request.Operation{ - Name: opEnableAlarmActions, + Name: opDisableAlarmActions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &EnableAlarmActionsInput{} + input = &DisableAlarmActionsInput{} } - output = &EnableAlarmActionsOutput{} + output = &DisableAlarmActionsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// EnableAlarmActions API operation for Amazon CloudWatch. +// DisableAlarmActions API operation for Amazon CloudWatch. // -// Enables the actions for the specified alarms. +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudWatch's -// API operation EnableAlarmActions for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions -func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) { - req, out := c.EnableAlarmActionsRequest(input) +// API operation DisableAlarmActions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions +func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) { + req, out := c.DisableAlarmActionsRequest(input) return out, req.Send() } -// EnableAlarmActionsWithContext is the same as EnableAlarmActions with the addition of +// DisableAlarmActionsWithContext is the same as DisableAlarmActions with the addition of // the ability to pass a context and additional request options. // -// See EnableAlarmActions for details on how to use this API operation. +// See DisableAlarmActions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudWatch) EnableAlarmActionsWithContext(ctx aws.Context, input *EnableAlarmActionsInput, opts ...request.Option) (*EnableAlarmActionsOutput, error) { - req, out := c.EnableAlarmActionsRequest(input) +func (c *CloudWatch) DisableAlarmActionsWithContext(ctx aws.Context, input *DisableAlarmActionsInput, opts ...request.Option) (*DisableAlarmActionsOutput, error) { + req, out := c.DisableAlarmActionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDashboard = "GetDashboard" +const opDisableInsightRules = "DisableInsightRules" -// GetDashboardRequest generates a "aws/request.Request" representing the -// client's request for the GetDashboard operation. The "output" return +// DisableInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the DisableInsightRules operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDashboard for more information on using the GetDashboard +// See DisableInsightRules for more information on using the DisableInsightRules // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetDashboardRequest method. -// req, resp := client.GetDashboardRequest(params) +// // Example sending a request using the DisableInsightRulesRequest method. +// req, resp := client.DisableInsightRulesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard -func (c *CloudWatch) GetDashboardRequest(input *GetDashboardInput) (req *request.Request, output *GetDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules +func (c *CloudWatch) DisableInsightRulesRequest(input *DisableInsightRulesInput) (req *request.Request, output *DisableInsightRulesOutput) { op := &request.Operation{ - Name: opGetDashboard, + Name: opDisableInsightRules, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetDashboardInput{} + input = &DisableInsightRulesInput{} } - output = &GetDashboardOutput{} + output = &DisableInsightRulesOutput{} req = c.newRequest(op, input, output) return } -// GetDashboard API operation for Amazon CloudWatch. -// -// Displays the details of the dashboard that you specify. +// DisableInsightRules API operation for Amazon CloudWatch. // -// 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. +// Disables the specified Contributor Insights rules. When rules are disabled, +// they do not analyze log groups and do not incur costs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudWatch's -// API operation GetDashboard for usage and error information. +// API operation DisableInsightRules for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value of an input parameter is bad or out-of-range. // -// * ErrCodeDashboardNotFoundError "ResourceNotFound" -// The specified dashboard does not exist. -// -// * ErrCodeInternalServiceFault "InternalServiceError" -// Request processing has failed due to some unknown error, exception, or failure. +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard -func (c *CloudWatch) GetDashboard(input *GetDashboardInput) (*GetDashboardOutput, error) { - req, out := c.GetDashboardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules +func (c *CloudWatch) DisableInsightRules(input *DisableInsightRulesInput) (*DisableInsightRulesOutput, error) { + req, out := c.DisableInsightRulesRequest(input) return out, req.Send() } -// GetDashboardWithContext is the same as GetDashboard with the addition of +// DisableInsightRulesWithContext is the same as DisableInsightRules with the addition of // the ability to pass a context and additional request options. // -// See GetDashboard for details on how to use this API operation. +// See DisableInsightRules for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudWatch) GetDashboardWithContext(ctx aws.Context, input *GetDashboardInput, opts ...request.Option) (*GetDashboardOutput, error) { - req, out := c.GetDashboardRequest(input) +func (c *CloudWatch) DisableInsightRulesWithContext(ctx aws.Context, input *DisableInsightRulesInput, opts ...request.Option) (*DisableInsightRulesOutput, error) { + req, out := c.DisableInsightRulesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetMetricData = "GetMetricData" +const opEnableAlarmActions = "EnableAlarmActions" -// GetMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetMetricData operation. The "output" return +// EnableAlarmActionsRequest generates a "aws/request.Request" representing the +// client's request for the EnableAlarmActions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetMetricData for more information on using the GetMetricData +// See EnableAlarmActions for more information on using the EnableAlarmActions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetMetricDataRequest method. -// req, resp := client.GetMetricDataRequest(params) +// // Example sending a request using the EnableAlarmActionsRequest method. +// req, resp := client.EnableAlarmActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData -func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions +func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) { op := &request.Operation{ - Name: opGetMetricData, + Name: opEnableAlarmActions, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxDatapoints", - TruncationToken: "", - }, } if input == nil { - input = &GetMetricDataInput{} + input = &EnableAlarmActionsInput{} } - output = &GetMetricDataOutput{} + output = &EnableAlarmActionsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetMetricData API operation for Amazon CloudWatch. -// -// 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) -// in the Amazon CloudWatch User Guide. +// EnableAlarmActions API operation for Amazon CloudWatch. // -// Calls to the GetMetricData API have a different pricing structure than calls -// to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch -// Pricing (https://aws.amazon.com/cloudwatch/pricing/). +// Enables the actions for the specified alarms. // -// Amazon CloudWatch retains metric data as follows: +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. // -// * 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 +// See the AWS API reference guide for Amazon CloudWatch's +// API operation EnableAlarmActions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions +func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) { + req, out := c.EnableAlarmActionsRequest(input) + return out, req.Send() +} + +// EnableAlarmActionsWithContext is the same as EnableAlarmActions with the addition of +// the ability to pass a context and additional request options. +// +// See EnableAlarmActions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatch) EnableAlarmActionsWithContext(ctx aws.Context, input *EnableAlarmActionsInput, opts ...request.Option) (*EnableAlarmActionsOutput, error) { + req, out := c.EnableAlarmActionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opEnableInsightRules = "EnableInsightRules" + +// EnableInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the EnableInsightRules operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See EnableInsightRules for more information on using the EnableInsightRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the EnableInsightRulesRequest method. +// req, resp := client.EnableInsightRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules +func (c *CloudWatch) EnableInsightRulesRequest(input *EnableInsightRulesInput) (req *request.Request, output *EnableInsightRulesOutput) { + op := &request.Operation{ + Name: opEnableInsightRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableInsightRulesInput{} + } + + output = &EnableInsightRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableInsightRules API operation for Amazon CloudWatch. +// +// Enables the specified Contributor Insights rules. When rules are enabled, +// they immediately begin analyzing log data. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch's +// API operation EnableInsightRules for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The operation exceeded one or more limits. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules +func (c *CloudWatch) EnableInsightRules(input *EnableInsightRulesInput) (*EnableInsightRulesOutput, error) { + req, out := c.EnableInsightRulesRequest(input) + return out, req.Send() +} + +// EnableInsightRulesWithContext is the same as EnableInsightRules with the addition of +// the ability to pass a context and additional request options. +// +// See EnableInsightRules for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatch) EnableInsightRulesWithContext(ctx aws.Context, input *EnableInsightRulesInput, opts ...request.Option) (*EnableInsightRulesOutput, error) { + req, out := c.EnableInsightRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDashboard = "GetDashboard" + +// GetDashboardRequest generates a "aws/request.Request" representing the +// client's request for the GetDashboard operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDashboard for more information on using the GetDashboard +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDashboardRequest method. +// req, resp := client.GetDashboardRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard +func (c *CloudWatch) GetDashboardRequest(input *GetDashboardInput) (req *request.Request, output *GetDashboardOutput) { + op := &request.Operation{ + Name: opGetDashboard, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDashboardInput{} + } + + output = &GetDashboardOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDashboard API operation for Amazon CloudWatch. +// +// 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch's +// API operation GetDashboard for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeDashboardNotFoundError "ResourceNotFound" +// The specified dashboard does not exist. +// +// * ErrCodeInternalServiceFault "InternalServiceError" +// Request processing has failed due to some unknown error, exception, or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard +func (c *CloudWatch) GetDashboard(input *GetDashboardInput) (*GetDashboardOutput, error) { + req, out := c.GetDashboardRequest(input) + return out, req.Send() +} + +// GetDashboardWithContext is the same as GetDashboard with the addition of +// the ability to pass a context and additional request options. +// +// See GetDashboard for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatch) GetDashboardWithContext(ctx aws.Context, input *GetDashboardInput, opts ...request.Option) (*GetDashboardOutput, error) { + req, out := c.GetDashboardRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetInsightRuleReport = "GetInsightRuleReport" + +// GetInsightRuleReportRequest generates a "aws/request.Request" representing the +// client's request for the GetInsightRuleReport operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetInsightRuleReport for more information on using the GetInsightRuleReport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetInsightRuleReportRequest method. +// req, resp := client.GetInsightRuleReportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport +func (c *CloudWatch) GetInsightRuleReportRequest(input *GetInsightRuleReportInput) (req *request.Request, output *GetInsightRuleReportOutput) { + op := &request.Operation{ + Name: opGetInsightRuleReport, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetInsightRuleReportInput{} + } + + output = &GetInsightRuleReportOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetInsightRuleReport API operation for Amazon CloudWatch. +// +// This operation returns the time series data collected by a Contributor Insights +// rule. The data includes the identity and number of contributors to the log +// group. +// +// You can also optionally return one or more statistics about each data point +// in the time series. These statistics can include the following: +// +// * UniqueContributors -- the number of unique contributors for each data +// point. +// +// * MaxContributorValue -- the value of the top contributor for each data +// point. The identity of the contributor may change for each data point +// in the graph. If this rule aggregates by COUNT, the top contributor for +// each data point is the contributor with the most occurrences in that period. +// If the rule aggregates by SUM, the top contributor is the contributor +// with the highest sum in the log field specified by the rule's Value, during +// that period. +// +// * SampleCount -- the number of data points matched by the rule. +// +// * Sum -- the sum of the values from all contributors during the time period +// represented by that data point. +// +// * Minimum -- the minimum value from a single observation during the time +// period represented by that data point. +// +// * Maximum -- the maximum value from a single observation during the time +// period represented by that data point. +// +// * Average -- the average value from all contributors during the time period +// represented by that data point. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch's +// API operation GetInsightRuleReport for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The named resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport +func (c *CloudWatch) GetInsightRuleReport(input *GetInsightRuleReportInput) (*GetInsightRuleReportOutput, error) { + req, out := c.GetInsightRuleReportRequest(input) + return out, req.Send() +} + +// GetInsightRuleReportWithContext is the same as GetInsightRuleReport with the addition of +// the ability to pass a context and additional request options. +// +// See GetInsightRuleReport for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatch) GetInsightRuleReportWithContext(ctx aws.Context, input *GetInsightRuleReportInput, opts ...request.Option) (*GetInsightRuleReportOutput, error) { + req, out := c.GetInsightRuleReportRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetMetricData = "GetMetricData" + +// GetMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetMetricData operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMetricData for more information on using the GetMetricData +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetMetricDataRequest method. +// req, resp := client.GetMetricDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData +func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) { + op := &request.Operation{ + Name: opGetMetricData, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxDatapoints", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetMetricDataInput{} + } + + output = &GetMetricDataOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMetricData API operation for Amazon CloudWatch. +// +// 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 data points. You +// can also optionally perform math expressions on the values of the returned +// statistics, to create new time series that represent new insights into your +// data. For example, using Lambda metrics, you could divide the Errors metric +// by the Invocations metric to get an error rate time series. For more information +// about metric math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) +// 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 (https://aws.amazon.com/cloudwatch/pricing/). +// +// Amazon CloudWatch retains metric data as follows: +// +// * Data points with a period of less than 60 seconds are available for +// 3 hours. These data points are high-resolution metrics and are available // only for custom metrics that have been defined with a StorageResolution // of 1. // @@ -1929,6 +2440,99 @@ func (c *CloudWatch) PutDashboardWithContext(ctx aws.Context, input *PutDashboar return out, req.Send() } +const opPutInsightRule = "PutInsightRule" + +// PutInsightRuleRequest generates a "aws/request.Request" representing the +// client's request for the PutInsightRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutInsightRule for more information on using the PutInsightRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutInsightRuleRequest method. +// req, resp := client.PutInsightRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule +func (c *CloudWatch) PutInsightRuleRequest(input *PutInsightRuleInput) (req *request.Request, output *PutInsightRuleOutput) { + op := &request.Operation{ + Name: opPutInsightRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutInsightRuleInput{} + } + + output = &PutInsightRuleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutInsightRule API operation for Amazon CloudWatch. +// +// Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch +// Logs log group, enabling you to find contributor data for the log events +// in that log group. For more information, see Using Contributor Insights to +// Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html). +// +// If you create a rule, delete it, and then re-create it with the same name, +// historical data from the first time the rule was created may or may not be +// available. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch's +// API operation PutInsightRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The operation exceeded one or more limits. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule +func (c *CloudWatch) PutInsightRule(input *PutInsightRuleInput) (*PutInsightRuleOutput, error) { + req, out := c.PutInsightRuleRequest(input) + return out, req.Send() +} + +// PutInsightRuleWithContext is the same as PutInsightRule with the addition of +// the ability to pass a context and additional request options. +// +// See PutInsightRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatch) PutInsightRuleWithContext(ctx aws.Context, input *PutInsightRuleInput, opts ...request.Option) (*PutInsightRuleOutput, error) { + req, out := c.PutInsightRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutMetricAlarm = "PutMetricAlarm" // PutMetricAlarmRequest generates a "aws/request.Request" representing the @@ -2114,9 +2718,8 @@ func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *reque // // 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. +// of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, +// -Infinity) are not supported. // // You can use up to 10 dimensions per metric to further clarify what data the // metric collects. Each dimension consists of a Name and Value pair. For more @@ -2523,7 +3126,7 @@ func (s *AlarmHistoryItem) SetTimestamp(v time.Time) *AlarmHistoryItem { } // An anomaly detection model associated with a particular CloudWatch metric -// athresnd statistic. You can use the model to display a band of expected normal +// and statistic. You can use the model to display a band of expected normal // values when the metric is graphed. type AnomalyDetector struct { _ struct{} `type:"structure"` @@ -3032,6 +3635,69 @@ func (s DeleteDashboardsOutput) GoString() string { return s.String() } +type DeleteInsightRulesInput struct { + _ struct{} `type:"structure"` + + // An array of the rule names to delete. If you need to find out the names of + // your rules, use DescribeInsightRules. + // + // RuleNames is a required field + RuleNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DeleteInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInsightRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInsightRulesInput"} + if s.RuleNames == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleNames sets the RuleNames field's value. +func (s *DeleteInsightRulesInput) SetRuleNames(v []*string) *DeleteInsightRulesInput { + s.RuleNames = v + return s +} + +type DeleteInsightRulesOutput struct { + _ struct{} `type:"structure"` + + // An array listing the rules that could not be deleted. You cannot delete built-in + // rules. + Failures []*PartialFailure `type:"list"` +} + +// String returns the string representation +func (s DeleteInsightRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInsightRulesOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *DeleteInsightRulesOutput) SetFailures(v []*PartialFailure) *DeleteInsightRulesOutput { + s.Failures = v + return s +} + type DescribeAlarmHistoryInput struct { _ struct{} `type:"structure"` @@ -3448,32 +4114,129 @@ func (s DescribeAnomalyDetectorsInput) String() string { } // GoString returns the string representation -func (s DescribeAnomalyDetectorsInput) GoString() string { +func (s DescribeAnomalyDetectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAnomalyDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectorsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.Dimensions != nil { + for i, v := range s.Dimensions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDimensions sets the Dimensions field's value. +func (s *DescribeAnomalyDetectorsInput) SetDimensions(v []*Dimension) *DescribeAnomalyDetectorsInput { + s.Dimensions = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeAnomalyDetectorsInput) SetMaxResults(v int64) *DescribeAnomalyDetectorsInput { + s.MaxResults = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *DescribeAnomalyDetectorsInput) SetMetricName(v string) *DescribeAnomalyDetectorsInput { + s.MetricName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeAnomalyDetectorsInput) SetNamespace(v string) *DescribeAnomalyDetectorsInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeAnomalyDetectorsInput) SetNextToken(v string) *DescribeAnomalyDetectorsInput { + s.NextToken = &v + return s +} + +type DescribeAnomalyDetectorsOutput struct { + _ struct{} `type:"structure"` + + // The list of anomaly detection models returned by the operation. + AnomalyDetectors []*AnomalyDetector `type:"list"` + + // A token that you can use in a subsequent operation to retrieve the next set + // of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeAnomalyDetectorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAnomalyDetectorsOutput) GoString() string { + return s.String() +} + +// SetAnomalyDetectors sets the AnomalyDetectors field's value. +func (s *DescribeAnomalyDetectorsOutput) SetAnomalyDetectors(v []*AnomalyDetector) *DescribeAnomalyDetectorsOutput { + s.AnomalyDetectors = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomalyDetectorsOutput { + s.NextToken = &v + return s +} + +type DescribeInsightRulesInput struct { + _ struct{} `type:"structure"` + + // This parameter is not currently used. Reserved for future use. If it is used + // in the future, the maximum value may be different. + MaxResults *int64 `min:"1" type:"integer"` + + // Reserved for future use. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInsightRulesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAnomalyDetectorsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectorsInput"} +func (s *DescribeInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInsightRulesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.MetricName != nil && len(*s.MetricName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) - } - if s.Dimensions != nil { - for i, v := range s.Dimensions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -3481,65 +4244,46 @@ func (s *DescribeAnomalyDetectorsInput) Validate() error { return nil } -// SetDimensions sets the Dimensions field's value. -func (s *DescribeAnomalyDetectorsInput) SetDimensions(v []*Dimension) *DescribeAnomalyDetectorsInput { - s.Dimensions = v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *DescribeAnomalyDetectorsInput) SetMaxResults(v int64) *DescribeAnomalyDetectorsInput { +func (s *DescribeInsightRulesInput) SetMaxResults(v int64) *DescribeInsightRulesInput { s.MaxResults = &v return s } -// SetMetricName sets the MetricName field's value. -func (s *DescribeAnomalyDetectorsInput) SetMetricName(v string) *DescribeAnomalyDetectorsInput { - s.MetricName = &v - return s -} - -// SetNamespace sets the Namespace field's value. -func (s *DescribeAnomalyDetectorsInput) SetNamespace(v string) *DescribeAnomalyDetectorsInput { - s.Namespace = &v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *DescribeAnomalyDetectorsInput) SetNextToken(v string) *DescribeAnomalyDetectorsInput { +func (s *DescribeInsightRulesInput) SetNextToken(v string) *DescribeInsightRulesInput { s.NextToken = &v return s } -type DescribeAnomalyDetectorsOutput struct { +type DescribeInsightRulesOutput struct { _ struct{} `type:"structure"` - // The list of anomaly detection models returned by the operation. - AnomalyDetectors []*AnomalyDetector `type:"list"` + // The rules returned by the operation. + InsightRules []*InsightRule `type:"list"` - // A token that you can use in a subsequent operation to retrieve the next set - // of results. + // Reserved for future use. NextToken *string `type:"string"` } // String returns the string representation -func (s DescribeAnomalyDetectorsOutput) String() string { +func (s DescribeInsightRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAnomalyDetectorsOutput) GoString() string { +func (s DescribeInsightRulesOutput) GoString() string { return s.String() } -// SetAnomalyDetectors sets the AnomalyDetectors field's value. -func (s *DescribeAnomalyDetectorsOutput) SetAnomalyDetectors(v []*AnomalyDetector) *DescribeAnomalyDetectorsOutput { - s.AnomalyDetectors = v +// SetInsightRules sets the InsightRules field's value. +func (s *DescribeInsightRulesOutput) SetInsightRules(v []*InsightRule) *DescribeInsightRulesOutput { + s.InsightRules = v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomalyDetectorsOutput { +func (s *DescribeInsightRulesOutput) SetNextToken(v string) *DescribeInsightRulesOutput { s.NextToken = &v return s } @@ -3709,6 +4453,69 @@ func (s DisableAlarmActionsOutput) GoString() string { return s.String() } +type DisableInsightRulesInput struct { + _ struct{} `type:"structure"` + + // An array of the rule names to disable. If you need to find out the names + // of your rules, use DescribeInsightRules. + // + // RuleNames is a required field + RuleNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DisableInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableInsightRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableInsightRulesInput"} + if s.RuleNames == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleNames sets the RuleNames field's value. +func (s *DisableInsightRulesInput) SetRuleNames(v []*string) *DisableInsightRulesInput { + s.RuleNames = v + return s +} + +type DisableInsightRulesOutput struct { + _ struct{} `type:"structure"` + + // An array listing the rules that could not be disabled. You cannot disable + // built-in rules. + Failures []*PartialFailure `type:"list"` +} + +// String returns the string representation +func (s DisableInsightRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableInsightRulesOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *DisableInsightRulesOutput) SetFailures(v []*PartialFailure) *DisableInsightRulesOutput { + s.Failures = v + return s +} + type EnableAlarmActionsInput struct { _ struct{} `type:"structure"` @@ -3761,6 +4568,69 @@ func (s EnableAlarmActionsOutput) GoString() string { return s.String() } +type EnableInsightRulesInput struct { + _ struct{} `type:"structure"` + + // An array of the rule names to enable. If you need to find out the names of + // your rules, use DescribeInsightRules. + // + // RuleNames is a required field + RuleNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s EnableInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableInsightRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableInsightRulesInput"} + if s.RuleNames == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleNames sets the RuleNames field's value. +func (s *EnableInsightRulesInput) SetRuleNames(v []*string) *EnableInsightRulesInput { + s.RuleNames = v + return s +} + +type EnableInsightRulesOutput struct { + _ struct{} `type:"structure"` + + // An array listing the rules that could not be enabled. You cannot disable + // or enable built-in rules. + Failures []*PartialFailure `type:"list"` +} + +// String returns the string representation +func (s EnableInsightRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableInsightRulesOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *EnableInsightRulesOutput) SetFailures(v []*PartialFailure) *EnableInsightRulesOutput { + s.Failures = v + return s +} + type GetDashboardInput struct { _ struct{} `type:"structure"` @@ -3810,35 +4680,257 @@ type GetDashboardOutput struct { // the DashboardBody syntax, see CloudWatch-Dashboard-Body-Structure. DashboardBody *string `type:"string"` - // The name of the dashboard. - DashboardName *string `type:"string"` + // The name of the dashboard. + DashboardName *string `type:"string"` +} + +// String returns the string representation +func (s GetDashboardOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDashboardOutput) GoString() string { + return s.String() +} + +// SetDashboardArn sets the DashboardArn field's value. +func (s *GetDashboardOutput) SetDashboardArn(v string) *GetDashboardOutput { + s.DashboardArn = &v + return s +} + +// SetDashboardBody sets the DashboardBody field's value. +func (s *GetDashboardOutput) SetDashboardBody(v string) *GetDashboardOutput { + s.DashboardBody = &v + return s +} + +// SetDashboardName sets the DashboardName field's value. +func (s *GetDashboardOutput) SetDashboardName(v string) *GetDashboardOutput { + s.DashboardName = &v + return s +} + +type GetInsightRuleReportInput struct { + _ struct{} `type:"structure"` + + // The end time of the data to use in the report. When used in a raw HTTP Query + // API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` + + // The maximum number of contributors to include in the report. The range is + // 1 to 100. If you omit this, the default of 10 is used. + MaxContributorCount *int64 `type:"integer"` + + // Specifies which metrics to use for aggregation of contributor values for + // the report. You can specify one or more of the following metrics: + // + // * UniqueContributors -- the number of unique contributors for each data + // point. + // + // * MaxContributorValue -- the value of the top contributor for each data + // point. The identity of the contributor may change for each data point + // in the graph. If this rule aggregates by COUNT, the top contributor for + // each data point is the contributor with the most occurrences in that period. + // If the rule aggregates by SUM, the top contributor is the contributor + // with the highest sum in the log field specified by the rule's Value, during + // that period. + // + // * SampleCount -- the number of data points matched by the rule. + // + // * Sum -- the sum of the values from all contributors during the time period + // represented by that data point. + // + // * Minimum -- the minimum value from a single observation during the time + // period represented by that data point. + // + // * Maximum -- the maximum value from a single observation during the time + // period represented by that data point. + // + // * Average -- the average value from all contributors during the time period + // represented by that data point. + Metrics []*string `type:"list"` + + // Determines what statistic to use to rank the contributors. Valid values are + // SUM and MAXIMUM. + OrderBy *string `min:"1" type:"string"` + + // The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint + // results. + // + // Period is a required field + Period *int64 `min:"1" type:"integer" required:"true"` + + // The name of the rule that you want to see data from. + // + // RuleName is a required field + RuleName *string `min:"1" type:"string" required:"true"` + + // The start time of the data to use in the report. When used in a raw HTTP + // Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s GetInsightRuleReportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInsightRuleReportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInsightRuleReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInsightRuleReportInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.OrderBy != nil && len(*s.OrderBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OrderBy", 1)) + } + if s.Period == nil { + invalidParams.Add(request.NewErrParamRequired("Period")) + } + if s.Period != nil && *s.Period < 1 { + invalidParams.Add(request.NewErrParamMinValue("Period", 1)) + } + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleName != nil && len(*s.RuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *GetInsightRuleReportInput) SetEndTime(v time.Time) *GetInsightRuleReportInput { + s.EndTime = &v + return s +} + +// SetMaxContributorCount sets the MaxContributorCount field's value. +func (s *GetInsightRuleReportInput) SetMaxContributorCount(v int64) *GetInsightRuleReportInput { + s.MaxContributorCount = &v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *GetInsightRuleReportInput) SetMetrics(v []*string) *GetInsightRuleReportInput { + s.Metrics = v + return s +} + +// SetOrderBy sets the OrderBy field's value. +func (s *GetInsightRuleReportInput) SetOrderBy(v string) *GetInsightRuleReportInput { + s.OrderBy = &v + return s +} + +// SetPeriod sets the Period field's value. +func (s *GetInsightRuleReportInput) SetPeriod(v int64) *GetInsightRuleReportInput { + s.Period = &v + return s +} + +// SetRuleName sets the RuleName field's value. +func (s *GetInsightRuleReportInput) SetRuleName(v string) *GetInsightRuleReportInput { + s.RuleName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetInsightRuleReportInput) SetStartTime(v time.Time) *GetInsightRuleReportInput { + s.StartTime = &v + return s +} + +type GetInsightRuleReportOutput struct { + _ struct{} `type:"structure"` + + // The sum of the values from all individual contributors that match the rule. + AggregateValue *float64 `type:"double"` + + // Specifies whether this rule aggregates contributor data by COUNT or SUM. + AggregationStatistic *string `type:"string"` + + // An approximate count of the unique contributors found by this rule in this + // time period. + ApproximateUniqueCount *int64 `type:"long"` + + // An array of the unique contributors found by this rule in this time period. + // If the rule contains multiple keys, each combination of values for the keys + // counts as a unique contributor. + Contributors []*InsightRuleContributor `type:"list"` + + // An array of the strings used as the keys for this rule. The keys are the + // dimensions used to classify contributors. If the rule contains more than + // one key, then each unique combination of values for the keys is counted as + // a unique contributor. + KeyLabels []*string `type:"list"` + + // A time series of metric data points that matches the time period in the rule + // request. + MetricDatapoints []*InsightRuleMetricDatapoint `type:"list"` } // String returns the string representation -func (s GetDashboardOutput) String() string { +func (s GetInsightRuleReportOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardOutput) GoString() string { +func (s GetInsightRuleReportOutput) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *GetDashboardOutput) SetDashboardArn(v string) *GetDashboardOutput { - s.DashboardArn = &v +// SetAggregateValue sets the AggregateValue field's value. +func (s *GetInsightRuleReportOutput) SetAggregateValue(v float64) *GetInsightRuleReportOutput { + s.AggregateValue = &v return s } -// SetDashboardBody sets the DashboardBody field's value. -func (s *GetDashboardOutput) SetDashboardBody(v string) *GetDashboardOutput { - s.DashboardBody = &v +// SetAggregationStatistic sets the AggregationStatistic field's value. +func (s *GetInsightRuleReportOutput) SetAggregationStatistic(v string) *GetInsightRuleReportOutput { + s.AggregationStatistic = &v return s } -// SetDashboardName sets the DashboardName field's value. -func (s *GetDashboardOutput) SetDashboardName(v string) *GetDashboardOutput { - s.DashboardName = &v +// SetApproximateUniqueCount sets the ApproximateUniqueCount field's value. +func (s *GetInsightRuleReportOutput) SetApproximateUniqueCount(v int64) *GetInsightRuleReportOutput { + s.ApproximateUniqueCount = &v + return s +} + +// SetContributors sets the Contributors field's value. +func (s *GetInsightRuleReportOutput) SetContributors(v []*InsightRuleContributor) *GetInsightRuleReportOutput { + s.Contributors = v + return s +} + +// SetKeyLabels sets the KeyLabels field's value. +func (s *GetInsightRuleReportOutput) SetKeyLabels(v []*string) *GetInsightRuleReportOutput { + s.KeyLabels = v + return s +} + +// SetMetricDatapoints sets the MetricDatapoints field's value. +func (s *GetInsightRuleReportOutput) SetMetricDatapoints(v []*InsightRuleMetricDatapoint) *GetInsightRuleReportOutput { + s.MetricDatapoints = v return s } @@ -4056,7 +5148,8 @@ type GetMetricStatisticsInput struct { // 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). + // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format + // (for example, 2016-10-10T23:00:00Z). // // EndTime is a required field EndTime *time.Time `type:"timestamp" required:"true"` @@ -4104,7 +5197,8 @@ type GetMetricStatisticsInput struct { // 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). + // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format + // (for example, 2016-10-03T23:00:00Z). // // CloudWatch rounds the specified time stamp as follows: // @@ -4397,6 +5491,284 @@ func (s *GetMetricWidgetImageOutput) SetMetricWidgetImage(v []byte) *GetMetricWi return s } +// This structure contains the definition for a Contributor Insights rule. +type InsightRule struct { + _ struct{} `type:"structure"` + + // The definition of the rule, as a JSON object. The definition contains the + // keywords used to define contributors, the value to aggregate on if this rule + // returns a sum instead of a count, and the filters. For details on the valid + // syntax, see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html). + // + // Definition is a required field + Definition *string `min:"1" type:"string" required:"true"` + + // The name of the rule. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // For rules that you create, this is always {"Name": "CloudWatchLogRule", "Version": + // 1}. For built-in rules, this is {"Name": "ServiceLogRule", "Version": 1} + // + // Schema is a required field + Schema *string `type:"string" required:"true"` + + // Indicates whether the rule is enabled or disabled. + // + // State is a required field + State *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s InsightRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRule) GoString() string { + return s.String() +} + +// SetDefinition sets the Definition field's value. +func (s *InsightRule) SetDefinition(v string) *InsightRule { + s.Definition = &v + return s +} + +// SetName sets the Name field's value. +func (s *InsightRule) SetName(v string) *InsightRule { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *InsightRule) SetSchema(v string) *InsightRule { + s.Schema = &v + return s +} + +// SetState sets the State field's value. +func (s *InsightRule) SetState(v string) *InsightRule { + s.State = &v + return s +} + +// One of the unique contributors found by a Contributor Insights rule. If the +// rule contains multiple keys, then a unique contributor is a unique combination +// of values from all the keys in the rule. +// +// If the rule contains a single key, then each unique contributor is each unique +// value for this key. +// +// For more information, see GetInsightRuleReport. +type InsightRuleContributor struct { + _ struct{} `type:"structure"` + + // An approximation of the aggregate value that comes from this contributor. + // + // ApproximateAggregateValue is a required field + ApproximateAggregateValue *float64 `type:"double" required:"true"` + + // An array of the data points where this contributor is present. Only the data + // points when this contributor appeared are included in the array. + // + // Datapoints is a required field + Datapoints []*InsightRuleContributorDatapoint `type:"list" required:"true"` + + // One of the log entry field keywords that is used to define contributors for + // this rule. + // + // Keys is a required field + Keys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s InsightRuleContributor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRuleContributor) GoString() string { + return s.String() +} + +// SetApproximateAggregateValue sets the ApproximateAggregateValue field's value. +func (s *InsightRuleContributor) SetApproximateAggregateValue(v float64) *InsightRuleContributor { + s.ApproximateAggregateValue = &v + return s +} + +// SetDatapoints sets the Datapoints field's value. +func (s *InsightRuleContributor) SetDatapoints(v []*InsightRuleContributorDatapoint) *InsightRuleContributor { + s.Datapoints = v + return s +} + +// SetKeys sets the Keys field's value. +func (s *InsightRuleContributor) SetKeys(v []*string) *InsightRuleContributor { + s.Keys = v + return s +} + +// One data point related to one contributor. +// +// For more information, see GetInsightRuleReport and InsightRuleContributor. +type InsightRuleContributorDatapoint struct { + _ struct{} `type:"structure"` + + // The approximate value that this contributor added during this timestamp. + // + // ApproximateValue is a required field + ApproximateValue *float64 `type:"double" required:"true"` + + // The timestamp of the data point. + // + // Timestamp is a required field + Timestamp *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s InsightRuleContributorDatapoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRuleContributorDatapoint) GoString() string { + return s.String() +} + +// SetApproximateValue sets the ApproximateValue field's value. +func (s *InsightRuleContributorDatapoint) SetApproximateValue(v float64) *InsightRuleContributorDatapoint { + s.ApproximateValue = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *InsightRuleContributorDatapoint) SetTimestamp(v time.Time) *InsightRuleContributorDatapoint { + s.Timestamp = &v + return s +} + +// One data point from the metric time series returned in a Contributor Insights +// rule report. +// +// For more information, see GetInsightRuleReport. +type InsightRuleMetricDatapoint struct { + _ struct{} `type:"structure"` + + // The average value from all contributors during the time period represented + // by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Average *float64 `type:"double"` + + // The maximum value provided by one contributor during this timestamp. Each + // timestamp is evaluated separately, so the identity of the max contributor + // could be different for each timestamp. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + MaxContributorValue *float64 `type:"double"` + + // The maximum value from a single occurence from a single contributor during + // the time period represented by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Maximum *float64 `type:"double"` + + // The minimum value from a single contributor during the time period represented + // by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Minimum *float64 `type:"double"` + + // The number of occurrences that matched the rule during this data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + SampleCount *float64 `type:"double"` + + // The sum of the values from all contributors during the time period represented + // by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Sum *float64 `type:"double"` + + // The timestamp of the data point. + // + // Timestamp is a required field + Timestamp *time.Time `type:"timestamp" required:"true"` + + // The number of unique contributors who published data during this timestamp. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + UniqueContributors *float64 `type:"double"` +} + +// String returns the string representation +func (s InsightRuleMetricDatapoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRuleMetricDatapoint) GoString() string { + return s.String() +} + +// SetAverage sets the Average field's value. +func (s *InsightRuleMetricDatapoint) SetAverage(v float64) *InsightRuleMetricDatapoint { + s.Average = &v + return s +} + +// SetMaxContributorValue sets the MaxContributorValue field's value. +func (s *InsightRuleMetricDatapoint) SetMaxContributorValue(v float64) *InsightRuleMetricDatapoint { + s.MaxContributorValue = &v + return s +} + +// SetMaximum sets the Maximum field's value. +func (s *InsightRuleMetricDatapoint) SetMaximum(v float64) *InsightRuleMetricDatapoint { + s.Maximum = &v + return s +} + +// SetMinimum sets the Minimum field's value. +func (s *InsightRuleMetricDatapoint) SetMinimum(v float64) *InsightRuleMetricDatapoint { + s.Minimum = &v + return s +} + +// SetSampleCount sets the SampleCount field's value. +func (s *InsightRuleMetricDatapoint) SetSampleCount(v float64) *InsightRuleMetricDatapoint { + s.SampleCount = &v + return s +} + +// SetSum sets the Sum field's value. +func (s *InsightRuleMetricDatapoint) SetSum(v float64) *InsightRuleMetricDatapoint { + s.Sum = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *InsightRuleMetricDatapoint) SetTimestamp(v time.Time) *InsightRuleMetricDatapoint { + s.Timestamp = &v + return s +} + +// SetUniqueContributors sets the UniqueContributors field's value. +func (s *InsightRuleMetricDatapoint) SetUniqueContributors(v float64) *InsightRuleMetricDatapoint { + s.UniqueContributors = &v + return s +} + type ListDashboardsInput struct { _ struct{} `type:"structure"` @@ -4768,7 +6140,7 @@ type MetricAlarm struct { // threshold. The specified statistic value is used as the first operand. ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` - // The number of datapoints that must be breaching to trigger the alarm. + // The number of data points that must be breaching to trigger the alarm. DatapointsToAlarm *int64 `min:"1" type:"integer"` // The dimensions for the metric associated with the alarm. @@ -5086,10 +6458,9 @@ type MetricDataQuery struct { // or any multiple of 60. High-resolution metrics are those metrics stored by // a PutMetricData operation that includes a StorageResolution of 1 second. // - // Use this field only when you are performing a GetMetricData operation, and - // only when you are specifying the Expression field. Do not use this field - // with a PutMetricAlarm operation or when you are specifying a MetricStat in - // a GetMetricData operation. + // If you are performing a GetMetricData operation, use this field only if you + // are specifying an Expression. Do not use this field when you are specifying + // a MetricStat in a GetMetricData operation. Period *int64 `min:"1" type:"integer"` // When used in GetMetricData, this option indicates whether to return the timestamps @@ -5306,9 +6677,8 @@ type MetricDatum struct { // // 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. + // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, + // -Infinity) are not supported. Value *float64 `type:"double"` // Array of numbers representing the values for the metric during the period. @@ -5319,9 +6689,8 @@ type MetricDatum struct { // // Although the Values array accepts numbers of type Double, CloudWatch rejects // values that are either too small or too large. Values must be in the range - // of 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. + // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, + // -Infinity) are not supported. Values []*float64 `type:"list"` } @@ -5535,6 +6904,59 @@ func (s *MetricStat) SetUnit(v string) *MetricStat { return s } +// This array is empty if the API operation was successful for all the rules +// specified in the request. If the operation could not process one of the rules, +// the following data is returned for each of those rules. +type PartialFailure struct { + _ struct{} `type:"structure"` + + // The type of error. + ExceptionType *string `type:"string"` + + // The code of the error. + FailureCode *string `type:"string"` + + // A description of the error. + FailureDescription *string `type:"string"` + + // The specified rule that could not be deleted. + FailureResource *string `type:"string"` +} + +// String returns the string representation +func (s PartialFailure) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartialFailure) GoString() string { + return s.String() +} + +// SetExceptionType sets the ExceptionType field's value. +func (s *PartialFailure) SetExceptionType(v string) *PartialFailure { + s.ExceptionType = &v + return s +} + +// SetFailureCode sets the FailureCode field's value. +func (s *PartialFailure) SetFailureCode(v string) *PartialFailure { + s.FailureCode = &v + return s +} + +// SetFailureDescription sets the FailureDescription field's value. +func (s *PartialFailure) SetFailureDescription(v string) *PartialFailure { + s.FailureDescription = &v + return s +} + +// SetFailureResource sets the FailureResource field's value. +func (s *PartialFailure) SetFailureResource(v string) *PartialFailure { + s.FailureResource = &v + return s +} + type PutAnomalyDetectorInput struct { _ struct{} `type:"structure"` @@ -5750,6 +7172,91 @@ func (s *PutDashboardOutput) SetDashboardValidationMessages(v []*DashboardValida return s } +type PutInsightRuleInput struct { + _ struct{} `type:"structure"` + + // The definition of the rule, as a JSON object. For details on the valid syntax, + // see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html). + // + // RuleDefinition is a required field + RuleDefinition *string `min:"1" type:"string" required:"true"` + + // A unique name for the rule. + // + // RuleName is a required field + RuleName *string `min:"1" type:"string" required:"true"` + + // The state of the rule. Valid values are ENABLED and DISABLED. + RuleState *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PutInsightRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInsightRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutInsightRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutInsightRuleInput"} + if s.RuleDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("RuleDefinition")) + } + if s.RuleDefinition != nil && len(*s.RuleDefinition) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleDefinition", 1)) + } + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleName != nil && len(*s.RuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) + } + if s.RuleState != nil && len(*s.RuleState) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleState", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleDefinition sets the RuleDefinition field's value. +func (s *PutInsightRuleInput) SetRuleDefinition(v string) *PutInsightRuleInput { + s.RuleDefinition = &v + return s +} + +// SetRuleName sets the RuleName field's value. +func (s *PutInsightRuleInput) SetRuleName(v string) *PutInsightRuleInput { + s.RuleName = &v + return s +} + +// SetRuleState sets the RuleState field's value. +func (s *PutInsightRuleInput) SetRuleState(v string) *PutInsightRuleInput { + s.RuleState = &v + return s +} + +type PutInsightRuleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutInsightRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInsightRuleOutput) GoString() string { + return s.String() +} + type PutMetricAlarmInput struct { _ struct{} `type:"structure"` @@ -5787,7 +7294,7 @@ type PutMetricAlarmInput struct { // ComparisonOperator is a required field ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` - // The number of datapoints that must be breaching to trigger the alarm. This + // The number of data points that must be breaching to trigger the alarm. This // is used only if you are setting an "M out of N" alarm. In that case, this // value is the M. For more information, see Evaluating an Alarm (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) // in the Amazon CloudWatch User Guide. diff --git a/service/cloudwatch/cloudwatchiface/interface.go b/service/cloudwatch/cloudwatchiface/interface.go index 9cc8b4f86ae..146bca4bc3e 100644 --- a/service/cloudwatch/cloudwatchiface/interface.go +++ b/service/cloudwatch/cloudwatchiface/interface.go @@ -72,6 +72,10 @@ type CloudWatchAPI interface { DeleteDashboardsWithContext(aws.Context, *cloudwatch.DeleteDashboardsInput, ...request.Option) (*cloudwatch.DeleteDashboardsOutput, error) DeleteDashboardsRequest(*cloudwatch.DeleteDashboardsInput) (*request.Request, *cloudwatch.DeleteDashboardsOutput) + DeleteInsightRules(*cloudwatch.DeleteInsightRulesInput) (*cloudwatch.DeleteInsightRulesOutput, error) + DeleteInsightRulesWithContext(aws.Context, *cloudwatch.DeleteInsightRulesInput, ...request.Option) (*cloudwatch.DeleteInsightRulesOutput, error) + DeleteInsightRulesRequest(*cloudwatch.DeleteInsightRulesInput) (*request.Request, *cloudwatch.DeleteInsightRulesOutput) + DescribeAlarmHistory(*cloudwatch.DescribeAlarmHistoryInput) (*cloudwatch.DescribeAlarmHistoryOutput, error) DescribeAlarmHistoryWithContext(aws.Context, *cloudwatch.DescribeAlarmHistoryInput, ...request.Option) (*cloudwatch.DescribeAlarmHistoryOutput, error) DescribeAlarmHistoryRequest(*cloudwatch.DescribeAlarmHistoryInput) (*request.Request, *cloudwatch.DescribeAlarmHistoryOutput) @@ -94,18 +98,37 @@ type CloudWatchAPI interface { DescribeAnomalyDetectorsWithContext(aws.Context, *cloudwatch.DescribeAnomalyDetectorsInput, ...request.Option) (*cloudwatch.DescribeAnomalyDetectorsOutput, error) DescribeAnomalyDetectorsRequest(*cloudwatch.DescribeAnomalyDetectorsInput) (*request.Request, *cloudwatch.DescribeAnomalyDetectorsOutput) + DescribeInsightRules(*cloudwatch.DescribeInsightRulesInput) (*cloudwatch.DescribeInsightRulesOutput, error) + DescribeInsightRulesWithContext(aws.Context, *cloudwatch.DescribeInsightRulesInput, ...request.Option) (*cloudwatch.DescribeInsightRulesOutput, error) + DescribeInsightRulesRequest(*cloudwatch.DescribeInsightRulesInput) (*request.Request, *cloudwatch.DescribeInsightRulesOutput) + + DescribeInsightRulesPages(*cloudwatch.DescribeInsightRulesInput, func(*cloudwatch.DescribeInsightRulesOutput, bool) bool) error + DescribeInsightRulesPagesWithContext(aws.Context, *cloudwatch.DescribeInsightRulesInput, func(*cloudwatch.DescribeInsightRulesOutput, bool) bool, ...request.Option) error + DisableAlarmActions(*cloudwatch.DisableAlarmActionsInput) (*cloudwatch.DisableAlarmActionsOutput, error) DisableAlarmActionsWithContext(aws.Context, *cloudwatch.DisableAlarmActionsInput, ...request.Option) (*cloudwatch.DisableAlarmActionsOutput, error) DisableAlarmActionsRequest(*cloudwatch.DisableAlarmActionsInput) (*request.Request, *cloudwatch.DisableAlarmActionsOutput) + DisableInsightRules(*cloudwatch.DisableInsightRulesInput) (*cloudwatch.DisableInsightRulesOutput, error) + DisableInsightRulesWithContext(aws.Context, *cloudwatch.DisableInsightRulesInput, ...request.Option) (*cloudwatch.DisableInsightRulesOutput, error) + DisableInsightRulesRequest(*cloudwatch.DisableInsightRulesInput) (*request.Request, *cloudwatch.DisableInsightRulesOutput) + EnableAlarmActions(*cloudwatch.EnableAlarmActionsInput) (*cloudwatch.EnableAlarmActionsOutput, error) EnableAlarmActionsWithContext(aws.Context, *cloudwatch.EnableAlarmActionsInput, ...request.Option) (*cloudwatch.EnableAlarmActionsOutput, error) EnableAlarmActionsRequest(*cloudwatch.EnableAlarmActionsInput) (*request.Request, *cloudwatch.EnableAlarmActionsOutput) + EnableInsightRules(*cloudwatch.EnableInsightRulesInput) (*cloudwatch.EnableInsightRulesOutput, error) + EnableInsightRulesWithContext(aws.Context, *cloudwatch.EnableInsightRulesInput, ...request.Option) (*cloudwatch.EnableInsightRulesOutput, error) + EnableInsightRulesRequest(*cloudwatch.EnableInsightRulesInput) (*request.Request, *cloudwatch.EnableInsightRulesOutput) + GetDashboard(*cloudwatch.GetDashboardInput) (*cloudwatch.GetDashboardOutput, error) GetDashboardWithContext(aws.Context, *cloudwatch.GetDashboardInput, ...request.Option) (*cloudwatch.GetDashboardOutput, error) GetDashboardRequest(*cloudwatch.GetDashboardInput) (*request.Request, *cloudwatch.GetDashboardOutput) + GetInsightRuleReport(*cloudwatch.GetInsightRuleReportInput) (*cloudwatch.GetInsightRuleReportOutput, error) + GetInsightRuleReportWithContext(aws.Context, *cloudwatch.GetInsightRuleReportInput, ...request.Option) (*cloudwatch.GetInsightRuleReportOutput, error) + GetInsightRuleReportRequest(*cloudwatch.GetInsightRuleReportInput) (*request.Request, *cloudwatch.GetInsightRuleReportOutput) + GetMetricData(*cloudwatch.GetMetricDataInput) (*cloudwatch.GetMetricDataOutput, error) GetMetricDataWithContext(aws.Context, *cloudwatch.GetMetricDataInput, ...request.Option) (*cloudwatch.GetMetricDataOutput, error) GetMetricDataRequest(*cloudwatch.GetMetricDataInput) (*request.Request, *cloudwatch.GetMetricDataOutput) @@ -147,6 +170,10 @@ type CloudWatchAPI interface { PutDashboardWithContext(aws.Context, *cloudwatch.PutDashboardInput, ...request.Option) (*cloudwatch.PutDashboardOutput, error) PutDashboardRequest(*cloudwatch.PutDashboardInput) (*request.Request, *cloudwatch.PutDashboardOutput) + PutInsightRule(*cloudwatch.PutInsightRuleInput) (*cloudwatch.PutInsightRuleOutput, error) + PutInsightRuleWithContext(aws.Context, *cloudwatch.PutInsightRuleInput, ...request.Option) (*cloudwatch.PutInsightRuleOutput, error) + PutInsightRuleRequest(*cloudwatch.PutInsightRuleInput) (*request.Request, *cloudwatch.PutInsightRuleOutput) + PutMetricAlarm(*cloudwatch.PutMetricAlarmInput) (*cloudwatch.PutMetricAlarmOutput, error) PutMetricAlarmWithContext(aws.Context, *cloudwatch.PutMetricAlarmInput, ...request.Option) (*cloudwatch.PutMetricAlarmOutput, error) PutMetricAlarmRequest(*cloudwatch.PutMetricAlarmInput) (*request.Request, *cloudwatch.PutMetricAlarmOutput) diff --git a/service/codebuild/api.go b/service/codebuild/api.go index 72e999e04f0..53bcc0f6d57 100644 --- a/service/codebuild/api.go +++ b/service/codebuild/api.go @@ -250,6 +250,164 @@ func (c *CodeBuild) BatchGetProjectsWithContext(ctx aws.Context, input *BatchGet return out, req.Send() } +const opBatchGetReportGroups = "BatchGetReportGroups" + +// BatchGetReportGroupsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetReportGroups operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchGetReportGroups for more information on using the BatchGetReportGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchGetReportGroupsRequest method. +// req, resp := client.BatchGetReportGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups +func (c *CodeBuild) BatchGetReportGroupsRequest(input *BatchGetReportGroupsInput) (req *request.Request, output *BatchGetReportGroupsOutput) { + op := &request.Operation{ + Name: opBatchGetReportGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetReportGroupsInput{} + } + + output = &BatchGetReportGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetReportGroups API operation for AWS CodeBuild. +// +// Returns an array of report groups. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation BatchGetReportGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups +func (c *CodeBuild) BatchGetReportGroups(input *BatchGetReportGroupsInput) (*BatchGetReportGroupsOutput, error) { + req, out := c.BatchGetReportGroupsRequest(input) + return out, req.Send() +} + +// BatchGetReportGroupsWithContext is the same as BatchGetReportGroups with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetReportGroups for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) BatchGetReportGroupsWithContext(ctx aws.Context, input *BatchGetReportGroupsInput, opts ...request.Option) (*BatchGetReportGroupsOutput, error) { + req, out := c.BatchGetReportGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchGetReports = "BatchGetReports" + +// BatchGetReportsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetReports operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchGetReports for more information on using the BatchGetReports +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchGetReportsRequest method. +// req, resp := client.BatchGetReportsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports +func (c *CodeBuild) BatchGetReportsRequest(input *BatchGetReportsInput) (req *request.Request, output *BatchGetReportsOutput) { + op := &request.Operation{ + Name: opBatchGetReports, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetReportsInput{} + } + + output = &BatchGetReportsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetReports API operation for AWS CodeBuild. +// +// Returns an array of reports. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation BatchGetReports for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports +func (c *CodeBuild) BatchGetReports(input *BatchGetReportsInput) (*BatchGetReportsOutput, error) { + req, out := c.BatchGetReportsRequest(input) + return out, req.Send() +} + +// BatchGetReportsWithContext is the same as BatchGetReports with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetReports for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) BatchGetReportsWithContext(ctx aws.Context, input *BatchGetReportsInput, opts ...request.Option) (*BatchGetReportsOutput, error) { + req, out := c.BatchGetReportsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateProject = "CreateProject" // CreateProjectRequest generates a "aws/request.Request" representing the @@ -336,6 +494,92 @@ func (c *CodeBuild) CreateProjectWithContext(ctx aws.Context, input *CreateProje return out, req.Send() } +const opCreateReportGroup = "CreateReportGroup" + +// CreateReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateReportGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateReportGroup for more information on using the CreateReportGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateReportGroupRequest method. +// req, resp := client.CreateReportGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup +func (c *CodeBuild) CreateReportGroupRequest(input *CreateReportGroupInput) (req *request.Request, output *CreateReportGroupOutput) { + op := &request.Operation{ + Name: opCreateReportGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateReportGroupInput{} + } + + output = &CreateReportGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateReportGroup API operation for AWS CodeBuild. +// +// Creates a report group. A report group contains a collection of reports. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation CreateReportGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified AWS resource cannot be created, because an AWS resource with +// the same settings already exists. +// +// * ErrCodeAccountLimitExceededException "AccountLimitExceededException" +// An AWS service limit was exceeded for the calling AWS account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup +func (c *CodeBuild) CreateReportGroup(input *CreateReportGroupInput) (*CreateReportGroupOutput, error) { + req, out := c.CreateReportGroupRequest(input) + return out, req.Send() +} + +// CreateReportGroupWithContext is the same as CreateReportGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateReportGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) CreateReportGroupWithContext(ctx aws.Context, input *CreateReportGroupInput, opts ...request.Option) (*CreateReportGroupOutput, error) { + req, out := c.CreateReportGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateWebhook = "CreateWebhook" // CreateWebhookRequest generates a "aws/request.Request" representing the @@ -516,214 +760,460 @@ func (c *CodeBuild) DeleteProjectWithContext(ctx aws.Context, input *DeleteProje return out, req.Send() } -const opDeleteSourceCredentials = "DeleteSourceCredentials" +const opDeleteReport = "DeleteReport" -// DeleteSourceCredentialsRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSourceCredentials operation. The "output" return +// DeleteReportRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReport operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteSourceCredentials for more information on using the DeleteSourceCredentials +// See DeleteReport for more information on using the DeleteReport // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteSourceCredentialsRequest method. -// req, resp := client.DeleteSourceCredentialsRequest(params) +// // Example sending a request using the DeleteReportRequest method. +// req, resp := client.DeleteReportRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials -func (c *CodeBuild) DeleteSourceCredentialsRequest(input *DeleteSourceCredentialsInput) (req *request.Request, output *DeleteSourceCredentialsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport +func (c *CodeBuild) DeleteReportRequest(input *DeleteReportInput) (req *request.Request, output *DeleteReportOutput) { op := &request.Operation{ - Name: opDeleteSourceCredentials, + Name: opDeleteReport, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteSourceCredentialsInput{} + input = &DeleteReportInput{} } - output = &DeleteSourceCredentialsOutput{} + output = &DeleteReportOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteSourceCredentials API operation for AWS CodeBuild. +// DeleteReport API operation for AWS CodeBuild. // -// Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials. +// Deletes a report. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation DeleteSourceCredentials for usage and error information. +// API operation DeleteReport for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input value that was provided is not valid. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The specified AWS resource cannot be found. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials -func (c *CodeBuild) DeleteSourceCredentials(input *DeleteSourceCredentialsInput) (*DeleteSourceCredentialsOutput, error) { - req, out := c.DeleteSourceCredentialsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport +func (c *CodeBuild) DeleteReport(input *DeleteReportInput) (*DeleteReportOutput, error) { + req, out := c.DeleteReportRequest(input) return out, req.Send() } -// DeleteSourceCredentialsWithContext is the same as DeleteSourceCredentials with the addition of +// DeleteReportWithContext is the same as DeleteReport with the addition of // the ability to pass a context and additional request options. // -// See DeleteSourceCredentials for details on how to use this API operation. +// See DeleteReport for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) DeleteSourceCredentialsWithContext(ctx aws.Context, input *DeleteSourceCredentialsInput, opts ...request.Option) (*DeleteSourceCredentialsOutput, error) { - req, out := c.DeleteSourceCredentialsRequest(input) +func (c *CodeBuild) DeleteReportWithContext(ctx aws.Context, input *DeleteReportInput, opts ...request.Option) (*DeleteReportOutput, error) { + req, out := c.DeleteReportRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteWebhook = "DeleteWebhook" +const opDeleteReportGroup = "DeleteReportGroup" -// DeleteWebhookRequest generates a "aws/request.Request" representing the -// client's request for the DeleteWebhook operation. The "output" return +// DeleteReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReportGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteWebhook for more information on using the DeleteWebhook +// See DeleteReportGroup for more information on using the DeleteReportGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteWebhookRequest method. -// req, resp := client.DeleteWebhookRequest(params) +// // Example sending a request using the DeleteReportGroupRequest method. +// req, resp := client.DeleteReportGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook -func (c *CodeBuild) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup +func (c *CodeBuild) DeleteReportGroupRequest(input *DeleteReportGroupInput) (req *request.Request, output *DeleteReportGroupOutput) { op := &request.Operation{ - Name: opDeleteWebhook, + Name: opDeleteReportGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteWebhookInput{} + input = &DeleteReportGroupInput{} } - output = &DeleteWebhookOutput{} + output = &DeleteReportGroupOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteWebhook API operation for AWS CodeBuild. +// DeleteReportGroup API operation for AWS CodeBuild. // -// For an existing AWS CodeBuild build project that has its source code stored -// in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding -// the source code every time a code change is pushed to the repository. +// DeleteReportGroup: Deletes a report group. Before you delete a report group, +// you must delete its reports. Use ListReportsForReportGroup (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ListReportsForReportGroup.html) +// to get the reports in a report group. Use DeleteReport (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_DeleteReport.html) +// to delete the reports. If you call DeleteReportGroup for a report group that +// contains one or more reports, an exception is thrown. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation DeleteWebhook for usage and error information. +// API operation DeleteReportGroup for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input value that was provided is not valid. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The specified AWS resource cannot be found. -// -// * ErrCodeOAuthProviderException "OAuthProviderException" -// There was a problem with the underlying OAuth provider. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook -func (c *CodeBuild) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) { - req, out := c.DeleteWebhookRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup +func (c *CodeBuild) DeleteReportGroup(input *DeleteReportGroupInput) (*DeleteReportGroupOutput, error) { + req, out := c.DeleteReportGroupRequest(input) return out, req.Send() } -// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of +// DeleteReportGroupWithContext is the same as DeleteReportGroup with the addition of // the ability to pass a context and additional request options. // -// See DeleteWebhook for details on how to use this API operation. +// See DeleteReportGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) { - req, out := c.DeleteWebhookRequest(input) +func (c *CodeBuild) DeleteReportGroupWithContext(ctx aws.Context, input *DeleteReportGroupInput, opts ...request.Option) (*DeleteReportGroupOutput, error) { + req, out := c.DeleteReportGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opImportSourceCredentials = "ImportSourceCredentials" +const opDeleteSourceCredentials = "DeleteSourceCredentials" -// ImportSourceCredentialsRequest generates a "aws/request.Request" representing the -// client's request for the ImportSourceCredentials operation. The "output" return +// DeleteSourceCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSourceCredentials operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ImportSourceCredentials for more information on using the ImportSourceCredentials +// See DeleteSourceCredentials for more information on using the DeleteSourceCredentials // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ImportSourceCredentialsRequest method. -// req, resp := client.ImportSourceCredentialsRequest(params) +// // Example sending a request using the DeleteSourceCredentialsRequest method. +// req, resp := client.DeleteSourceCredentialsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials -func (c *CodeBuild) ImportSourceCredentialsRequest(input *ImportSourceCredentialsInput) (req *request.Request, output *ImportSourceCredentialsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials +func (c *CodeBuild) DeleteSourceCredentialsRequest(input *DeleteSourceCredentialsInput) (req *request.Request, output *DeleteSourceCredentialsOutput) { op := &request.Operation{ - Name: opImportSourceCredentials, + Name: opDeleteSourceCredentials, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ImportSourceCredentialsInput{} + input = &DeleteSourceCredentialsInput{} } - output = &ImportSourceCredentialsOutput{} + output = &DeleteSourceCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSourceCredentials API operation for AWS CodeBuild. +// +// Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation DeleteSourceCredentials for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials +func (c *CodeBuild) DeleteSourceCredentials(input *DeleteSourceCredentialsInput) (*DeleteSourceCredentialsOutput, error) { + req, out := c.DeleteSourceCredentialsRequest(input) + return out, req.Send() +} + +// DeleteSourceCredentialsWithContext is the same as DeleteSourceCredentials with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSourceCredentials for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) DeleteSourceCredentialsWithContext(ctx aws.Context, input *DeleteSourceCredentialsInput, opts ...request.Option) (*DeleteSourceCredentialsOutput, error) { + req, out := c.DeleteSourceCredentialsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWebhook = "DeleteWebhook" + +// DeleteWebhookRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWebhook operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteWebhook for more information on using the DeleteWebhook +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteWebhookRequest method. +// req, resp := client.DeleteWebhookRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook +func (c *CodeBuild) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) { + op := &request.Operation{ + Name: opDeleteWebhook, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWebhookInput{} + } + + output = &DeleteWebhookOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWebhook API operation for AWS CodeBuild. +// +// For an existing AWS CodeBuild build project that has its source code stored +// in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding +// the source code every time a code change is pushed to the repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation DeleteWebhook for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// * ErrCodeOAuthProviderException "OAuthProviderException" +// There was a problem with the underlying OAuth provider. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook +func (c *CodeBuild) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) { + req, out := c.DeleteWebhookRequest(input) + return out, req.Send() +} + +// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWebhook for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) { + req, out := c.DeleteWebhookRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTestCases = "DescribeTestCases" + +// DescribeTestCasesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTestCases operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeTestCases for more information on using the DescribeTestCases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeTestCasesRequest method. +// req, resp := client.DescribeTestCasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases +func (c *CodeBuild) DescribeTestCasesRequest(input *DescribeTestCasesInput) (req *request.Request, output *DescribeTestCasesOutput) { + op := &request.Operation{ + Name: opDescribeTestCases, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTestCasesInput{} + } + + output = &DescribeTestCasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTestCases API operation for AWS CodeBuild. +// +// Returns a list of details about test cases for a report. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation DescribeTestCases for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases +func (c *CodeBuild) DescribeTestCases(input *DescribeTestCasesInput) (*DescribeTestCasesOutput, error) { + req, out := c.DescribeTestCasesRequest(input) + return out, req.Send() +} + +// DescribeTestCasesWithContext is the same as DescribeTestCases with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTestCases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) DescribeTestCasesWithContext(ctx aws.Context, input *DescribeTestCasesInput, opts ...request.Option) (*DescribeTestCasesOutput, error) { + req, out := c.DescribeTestCasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportSourceCredentials = "ImportSourceCredentials" + +// ImportSourceCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the ImportSourceCredentials operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ImportSourceCredentials for more information on using the ImportSourceCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ImportSourceCredentialsRequest method. +// req, resp := client.ImportSourceCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials +func (c *CodeBuild) ImportSourceCredentialsRequest(input *ImportSourceCredentialsInput) (req *request.Request, output *ImportSourceCredentialsOutput) { + op := &request.Operation{ + Name: opImportSourceCredentials, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportSourceCredentialsInput{} + } + + output = &ImportSourceCredentialsOutput{} req = c.newRequest(op, input, output) return } @@ -1172,68 +1662,308 @@ func (c *CodeBuild) ListProjectsWithContext(ctx aws.Context, input *ListProjects return out, req.Send() } -const opListSourceCredentials = "ListSourceCredentials" +const opListReportGroups = "ListReportGroups" -// ListSourceCredentialsRequest generates a "aws/request.Request" representing the -// client's request for the ListSourceCredentials operation. The "output" return +// ListReportGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListReportGroups operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListSourceCredentials for more information on using the ListSourceCredentials +// See ListReportGroups for more information on using the ListReportGroups // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListSourceCredentialsRequest method. -// req, resp := client.ListSourceCredentialsRequest(params) +// // Example sending a request using the ListReportGroupsRequest method. +// req, resp := client.ListReportGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials -func (c *CodeBuild) ListSourceCredentialsRequest(input *ListSourceCredentialsInput) (req *request.Request, output *ListSourceCredentialsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups +func (c *CodeBuild) ListReportGroupsRequest(input *ListReportGroupsInput) (req *request.Request, output *ListReportGroupsOutput) { op := &request.Operation{ - Name: opListSourceCredentials, + Name: opListReportGroups, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListSourceCredentialsInput{} + input = &ListReportGroupsInput{} } - output = &ListSourceCredentialsOutput{} + output = &ListReportGroupsOutput{} req = c.newRequest(op, input, output) return } -// ListSourceCredentials API operation for AWS CodeBuild. +// ListReportGroups API operation for AWS CodeBuild. // -// Returns a list of SourceCredentialsInfo objects. +// Gets a list ARNs for the report groups in the current AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation ListSourceCredentials for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials -func (c *CodeBuild) ListSourceCredentials(input *ListSourceCredentialsInput) (*ListSourceCredentialsOutput, error) { - req, out := c.ListSourceCredentialsRequest(input) +// API operation ListReportGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups +func (c *CodeBuild) ListReportGroups(input *ListReportGroupsInput) (*ListReportGroupsOutput, error) { + req, out := c.ListReportGroupsRequest(input) return out, req.Send() } -// ListSourceCredentialsWithContext is the same as ListSourceCredentials with the addition of +// ListReportGroupsWithContext is the same as ListReportGroups with the addition of // the ability to pass a context and additional request options. // -// See ListSourceCredentials for details on how to use this API operation. +// See ListReportGroups for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) ListReportGroupsWithContext(ctx aws.Context, input *ListReportGroupsInput, opts ...request.Option) (*ListReportGroupsOutput, error) { + req, out := c.ListReportGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListReports = "ListReports" + +// ListReportsRequest generates a "aws/request.Request" representing the +// client's request for the ListReports operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListReports for more information on using the ListReports +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListReportsRequest method. +// req, resp := client.ListReportsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports +func (c *CodeBuild) ListReportsRequest(input *ListReportsInput) (req *request.Request, output *ListReportsOutput) { + op := &request.Operation{ + Name: opListReports, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListReportsInput{} + } + + output = &ListReportsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListReports API operation for AWS CodeBuild. +// +// Returns a list of ARNs for the reports in the current AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation ListReports for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports +func (c *CodeBuild) ListReports(input *ListReportsInput) (*ListReportsOutput, error) { + req, out := c.ListReportsRequest(input) + return out, req.Send() +} + +// ListReportsWithContext is the same as ListReports with the addition of +// the ability to pass a context and additional request options. +// +// See ListReports for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) ListReportsWithContext(ctx aws.Context, input *ListReportsInput, opts ...request.Option) (*ListReportsOutput, error) { + req, out := c.ListReportsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListReportsForReportGroup = "ListReportsForReportGroup" + +// ListReportsForReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the ListReportsForReportGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListReportsForReportGroup for more information on using the ListReportsForReportGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListReportsForReportGroupRequest method. +// req, resp := client.ListReportsForReportGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup +func (c *CodeBuild) ListReportsForReportGroupRequest(input *ListReportsForReportGroupInput) (req *request.Request, output *ListReportsForReportGroupOutput) { + op := &request.Operation{ + Name: opListReportsForReportGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListReportsForReportGroupInput{} + } + + output = &ListReportsForReportGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListReportsForReportGroup API operation for AWS CodeBuild. +// +// Returns a list of ARNs for the reports that belong to a ReportGroup. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation ListReportsForReportGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup +func (c *CodeBuild) ListReportsForReportGroup(input *ListReportsForReportGroupInput) (*ListReportsForReportGroupOutput, error) { + req, out := c.ListReportsForReportGroupRequest(input) + return out, req.Send() +} + +// ListReportsForReportGroupWithContext is the same as ListReportsForReportGroup with the addition of +// the ability to pass a context and additional request options. +// +// See ListReportsForReportGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) ListReportsForReportGroupWithContext(ctx aws.Context, input *ListReportsForReportGroupInput, opts ...request.Option) (*ListReportsForReportGroupOutput, error) { + req, out := c.ListReportsForReportGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListSourceCredentials = "ListSourceCredentials" + +// ListSourceCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the ListSourceCredentials operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSourceCredentials for more information on using the ListSourceCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListSourceCredentialsRequest method. +// req, resp := client.ListSourceCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials +func (c *CodeBuild) ListSourceCredentialsRequest(input *ListSourceCredentialsInput) (req *request.Request, output *ListSourceCredentialsOutput) { + op := &request.Operation{ + Name: opListSourceCredentials, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListSourceCredentialsInput{} + } + + output = &ListSourceCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSourceCredentials API operation for AWS CodeBuild. +// +// Returns a list of SourceCredentialsInfo objects. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation ListSourceCredentials for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials +func (c *CodeBuild) ListSourceCredentials(input *ListSourceCredentialsInput) (*ListSourceCredentialsOutput, error) { + req, out := c.ListSourceCredentialsRequest(input) + return out, req.Send() +} + +// ListSourceCredentialsWithContext is the same as ListSourceCredentials with the addition of +// the ability to pass a context and additional request options. +// +// See ListSourceCredentials for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create @@ -1495,6 +2225,88 @@ func (c *CodeBuild) UpdateProjectWithContext(ctx aws.Context, input *UpdateProje return out, req.Send() } +const opUpdateReportGroup = "UpdateReportGroup" + +// UpdateReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReportGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateReportGroup for more information on using the UpdateReportGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateReportGroupRequest method. +// req, resp := client.UpdateReportGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup +func (c *CodeBuild) UpdateReportGroupRequest(input *UpdateReportGroupInput) (req *request.Request, output *UpdateReportGroupOutput) { + op := &request.Operation{ + Name: opUpdateReportGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateReportGroupInput{} + } + + output = &UpdateReportGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateReportGroup API operation for AWS CodeBuild. +// +// Updates a report group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation UpdateReportGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup +func (c *CodeBuild) UpdateReportGroup(input *UpdateReportGroupInput) (*UpdateReportGroupOutput, error) { + req, out := c.UpdateReportGroupRequest(input) + return out, req.Send() +} + +// UpdateReportGroupWithContext is the same as UpdateReportGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReportGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) UpdateReportGroupWithContext(ctx aws.Context, input *UpdateReportGroupInput, opts ...request.Option) (*UpdateReportGroupOutput, error) { + req, out := c.UpdateReportGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateWebhook = "UpdateWebhook" // UpdateWebhookRequest generates a "aws/request.Request" representing the @@ -1801,12 +2613,160 @@ func (s *BatchGetProjectsOutput) SetProjectsNotFound(v []*string) *BatchGetProje return s } -// Information about a build. -type Build struct { +type BatchGetReportGroupsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the build. - Arn *string `locationName:"arn" min:"1" type:"string"` + // An array of report group ARNs that identify the report groups to return. + // + // ReportGroupArns is a required field + ReportGroupArns []*string `locationName:"reportGroupArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetReportGroupsInput"} + if s.ReportGroupArns == nil { + invalidParams.Add(request.NewErrParamRequired("ReportGroupArns")) + } + if s.ReportGroupArns != nil && len(s.ReportGroupArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportGroupArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportGroupArns sets the ReportGroupArns field's value. +func (s *BatchGetReportGroupsInput) SetReportGroupArns(v []*string) *BatchGetReportGroupsInput { + s.ReportGroupArns = v + return s +} + +type BatchGetReportGroupsOutput struct { + _ struct{} `type:"structure"` + + // The array of report groups returned by BatchGetReportGroups. + ReportGroups []*ReportGroup `locationName:"reportGroups" min:"1" type:"list"` + + // An array of ARNs passed to BatchGetReportGroups that are not associated with + // a ReportGroup. + ReportGroupsNotFound []*string `locationName:"reportGroupsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportGroupsOutput) GoString() string { + return s.String() +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *BatchGetReportGroupsOutput) SetReportGroups(v []*ReportGroup) *BatchGetReportGroupsOutput { + s.ReportGroups = v + return s +} + +// SetReportGroupsNotFound sets the ReportGroupsNotFound field's value. +func (s *BatchGetReportGroupsOutput) SetReportGroupsNotFound(v []*string) *BatchGetReportGroupsOutput { + s.ReportGroupsNotFound = v + return s +} + +type BatchGetReportsInput struct { + _ struct{} `type:"structure"` + + // An array of ARNs that identify the Report objects to return. + // + // ReportArns is a required field + ReportArns []*string `locationName:"reportArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetReportsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetReportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetReportsInput"} + if s.ReportArns == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArns")) + } + if s.ReportArns != nil && len(s.ReportArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportArns sets the ReportArns field's value. +func (s *BatchGetReportsInput) SetReportArns(v []*string) *BatchGetReportsInput { + s.ReportArns = v + return s +} + +type BatchGetReportsOutput struct { + _ struct{} `type:"structure"` + + // The array of Report objects returned by BatchGetReports. + Reports []*Report `locationName:"reports" min:"1" type:"list"` + + // An array of ARNs passed to BatchGetReportGroups that are not associated with + // a Report. + ReportsNotFound []*string `locationName:"reportsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetReportsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportsOutput) GoString() string { + return s.String() +} + +// SetReports sets the Reports field's value. +func (s *BatchGetReportsOutput) SetReports(v []*Report) *BatchGetReportsOutput { + s.Reports = v + return s +} + +// SetReportsNotFound sets the ReportsNotFound field's value. +func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReportsOutput { + s.ReportsNotFound = v + return s +} + +// Information about a build. +type Build struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the build. + Arn *string `locationName:"arn" min:"1" type:"string"` // Information about the output artifacts for the build. Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"` @@ -1890,6 +2850,9 @@ type Build struct { // The number of minutes a build is allowed to be queued before it times out. QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"` + // An array of the ARNs associated with this build's reports. + ReportArns []*string `locationName:"reportArns" type:"list"` + // An identifier for the version of this build's source code. // // * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit @@ -1906,7 +2869,7 @@ type Build struct { // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must // be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -2073,6 +3036,12 @@ func (s *Build) SetQueuedTimeoutInMinutes(v int64) *Build { return s } +// SetReportArns sets the ReportArns field's value. +func (s *Build) SetReportArns(v []*string) *Build { + s.ReportArns = v + return s +} + // SetResolvedSourceVersion sets the ResolvedSourceVersion field's value. func (s *Build) SetResolvedSourceVersion(v string) *Build { s.ResolvedSourceVersion = &v @@ -2496,7 +3465,7 @@ type CreateProjectInput struct { // A version of the build input to be built for this project. If not specified, // the latest version is used. If specified, it must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -2786,6 +3755,104 @@ func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { return s } +type CreateReportGroupInput struct { + _ struct{} `type:"structure"` + + // A ReportExportConfig object that contains information about where the report + // group test results are exported. + // + // ExportConfig is a required field + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure" required:"true"` + + // The name of the report group. + // + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` + + // The type of report group. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"` +} + +// String returns the string representation +func (s CreateReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReportGroupInput"} + if s.ExportConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ExportConfig")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Name", 2)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.ExportConfig != nil { + if err := s.ExportConfig.Validate(); err != nil { + invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportConfig sets the ExportConfig field's value. +func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput { + s.ExportConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { + s.Type = &v + return s +} + +type CreateReportGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the report group that was created. + ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` +} + +// String returns the string representation +func (s CreateReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReportGroupOutput) GoString() string { + return s.String() +} + +// SetReportGroup sets the ReportGroup field's value. +func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { + s.ReportGroup = v + return s +} + type CreateWebhookInput struct { _ struct{} `type:"structure"` @@ -2934,6 +4001,116 @@ func (s DeleteProjectOutput) GoString() string { return s.String() } +type DeleteReportGroupInput struct { + _ struct{} `type:"structure"` + + // The ARN of the report group to delete. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportGroupInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { + s.Arn = &v + return s +} + +type DeleteReportGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportGroupOutput) GoString() string { + return s.String() +} + +type DeleteReportInput struct { + _ struct{} `type:"structure"` + + // The ARN of the report to delete. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { + s.Arn = &v + return s +} + +type DeleteReportOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportOutput) GoString() string { + return s.String() +} + type DeleteSourceCredentialsInput struct { _ struct{} `type:"structure"` @@ -3053,6 +4230,120 @@ func (s DeleteWebhookOutput) GoString() string { return s.String() } +type DescribeTestCasesInput struct { + _ struct{} `type:"structure"` + + // A TestCaseFilter object used to filter the returned reports. + Filter *TestCaseFilter `locationName:"filter" type:"structure"` + + // The maximum number of paginated test cases returned per response. Use nextToken + // to iterate pages in the list of returned TestCase objects. The default value + // is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the report for which test cases are returned. + // + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTestCasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTestCasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTestCasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTestCasesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ReportArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { + s.NextToken = &v + return s +} + +// SetReportArn sets the ReportArn field's value. +func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { + s.ReportArn = &v + return s +} + +type DescribeTestCasesOutput struct { + _ struct{} `type:"structure"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The returned list of test cases. + TestCases []*TestCase `locationName:"testCases" type:"list"` +} + +// String returns the string representation +func (s DescribeTestCasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTestCasesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { + s.NextToken = &v + return s +} + +// SetTestCases sets the TestCases field's value. +func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { + s.TestCases = v + return s +} + // Information about a Docker image that is managed by AWS CodeBuild. type EnvironmentImage struct { _ struct{} `type:"structure"` @@ -3177,7 +4468,7 @@ type EnvironmentVariable struct { // * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems // Manager Parameter Store. // - // * PLAINTEXT: An environment variable in plaintext format. + // * PLAINTEXT: An environment variable in plain text format. // // * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager. Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` @@ -3655,110 +4946,457 @@ func (s ListBuildsOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s ListBuildsOutput) GoString() string { - return s.String() +// GoString returns the string representation +func (s ListBuildsOutput) GoString() string { + return s.String() +} + +// SetIds sets the Ids field's value. +func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { + s.Ids = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { + s.NextToken = &v + return s +} + +type ListCuratedEnvironmentImagesInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListCuratedEnvironmentImagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesInput) GoString() string { + return s.String() +} + +type ListCuratedEnvironmentImagesOutput struct { + _ struct{} `type:"structure"` + + // Information about supported platforms for Docker images that are managed + // by AWS CodeBuild. + Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` +} + +// String returns the string representation +func (s ListCuratedEnvironmentImagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesOutput) GoString() string { + return s.String() +} + +// SetPlatforms sets the Platforms field's value. +func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { + s.Platforms = v + return s +} + +type ListProjectsInput struct { + _ struct{} `type:"structure"` + + // During a previous call, if there are more than 100 items in the list, only + // the first 100 items are returned, along with a unique string called a nextToken. + // To get the next batch of items in the list, call this operation again, adding + // the next token to the call. To get all of the items in the list, keep calling + // this operation with each subsequent next token that is returned, until no + // more next tokens are returned. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The criterion to be used to list build project names. Valid values include: + // + // * CREATED_TIME: List based on when each build project was created. + // + // * LAST_MODIFIED_TIME: List based on when information about each build + // project was last changed. + // + // * NAME: List based on each build project's name. + // + // Use sortOrder to specify in what order to list the build project names based + // on the preceding criteria. + SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"` + + // The order in which to list build projects. Valid values include: + // + // * ASCENDING: List in ascending order. + // + // * DESCENDING: List in descending order. + // + // Use sortBy to specify the criterion to be used to list build project names. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { + s.SortOrder = &v + return s +} + +type ListProjectsOutput struct { + _ struct{} `type:"structure"` + + // If there are more than 100 items in the list, only the first 100 items are + // returned, along with a unique string called a nextToken. To get the next + // batch of items in the list, call this operation again, adding the next token + // to the call. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of build project names, with each build project name representing + // a single build project. + Projects []*string `locationName:"projects" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { + s.NextToken = &v + return s +} + +// SetProjects sets the Projects field's value. +func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { + s.Projects = v + return s +} + +type ListReportGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of paginated report groups returned per response. Use + // nextToken to iterate pages in the list of returned ReportGroup objects. The + // default value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The criterion to be used to list build report groups. Valid values include: + // + // * CREATED_TIME: List based on when each report group was created. + // + // * LAST_MODIFIED_TIME: List based on when each report group was last changed. + // + // * NAME: List based on each report group's name. + SortBy *string `locationName:"sortBy" type:"string" enum:"ReportGroupSortByType"` + + // Used to specify the order to sort the list of returned report groups. Valid + // values are ASCENDING and DESCENDING. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput { + s.SortOrder = &v + return s +} + +type ListReportGroupsOutput struct { + _ struct{} `type:"structure"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of ARNs for the report groups in the current AWS account. + ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput { + s.NextToken = &v + return s +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput { + s.ReportGroups = v + return s +} + +type ListReportsForReportGroupInput struct { + _ struct{} `type:"structure"` + + // A ReportFilter object used to filter the returned reports. + Filter *ReportFilter `locationName:"filter" type:"structure"` + + // The maximum number of paginated reports in this report group returned per + // response. Use nextToken to iterate pages in the list of returned Report objects. + // The default value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the report group for which you want to return report ARNs. + // + // ReportGroupArn is a required field + ReportGroupArn *string `locationName:"reportGroupArn" type:"string" required:"true"` + + // Use to specify whether the results are returned in ascending or descending + // order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListReportsForReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsForReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReportsForReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportsForReportGroupInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ReportGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { + s.Filter = v + return s } -// SetIds sets the Ids field's value. -func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { - s.Ids = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { + s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { +func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { s.NextToken = &v return s } -type ListCuratedEnvironmentImagesInput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s ListCuratedEnvironmentImagesInput) String() string { - return awsutil.Prettify(s) +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { + s.ReportGroupArn = &v + return s } -// GoString returns the string representation -func (s ListCuratedEnvironmentImagesInput) GoString() string { - return s.String() +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { + s.SortOrder = &v + return s } -type ListCuratedEnvironmentImagesOutput struct { +type ListReportsForReportGroupOutput struct { _ struct{} `type:"structure"` - // Information about supported platforms for Docker images that are managed - // by AWS CodeBuild. - Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of returned report group ARNs. + Reports []*string `locationName:"reports" min:"1" type:"list"` } // String returns the string representation -func (s ListCuratedEnvironmentImagesOutput) String() string { +func (s ListReportsForReportGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCuratedEnvironmentImagesOutput) GoString() string { +func (s ListReportsForReportGroupOutput) GoString() string { return s.String() } -// SetPlatforms sets the Platforms field's value. -func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { - s.Platforms = v +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { + s.NextToken = &v return s } -type ListProjectsInput struct { - _ struct{} `type:"structure"` +// SetReports sets the Reports field's value. +func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { + s.Reports = v + return s +} - // During a previous call, if there are more than 100 items in the list, only - // the first 100 items are returned, along with a unique string called a nextToken. - // To get the next batch of items in the list, call this operation again, adding - // the next token to the call. To get all of the items in the list, keep calling - // this operation with each subsequent next token that is returned, until no - // more next tokens are returned. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` +type ListReportsInput struct { + _ struct{} `type:"structure"` - // The criterion to be used to list build project names. Valid values include: - // - // * CREATED_TIME: List based on when each build project was created. - // - // * LAST_MODIFIED_TIME: List based on when information about each build - // project was last changed. - // - // * NAME: List based on each build project's name. - // - // Use sortOrder to specify in what order to list the build project names based - // on the preceding criteria. - SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"` + // A ReportFilter object used to filter the returned reports. + Filter *ReportFilter `locationName:"filter" type:"structure"` + + // The maximum number of paginated reports returned per response. Use nextToken + // to iterate pages in the list of returned Report objects. The default value + // is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` - // The order in which to list build projects. Valid values include: - // - // * ASCENDING: List in ascending order. + // Specifies the sort order for the list of returned reports. Valid values are: // - // * DESCENDING: List in descending order. + // * ASCENDING: return reports in chronological order based on their creation + // date. // - // Use sortBy to specify the criterion to be used to list build project names. + // * DESCENDING: return reports in the reverse chronological order based + // on their creation date. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s ListProjectsInput) String() string { +func (s ListReportsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsInput) GoString() string { +func (s ListReportsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func (s *ListReportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -3767,57 +5405,65 @@ func (s *ListProjectsInput) Validate() error { return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { - s.NextToken = &v +// SetFilter sets the Filter field's value. +func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { + s.Filter = v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { - s.SortBy = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput { + s.NextToken = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { +func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput { s.SortOrder = &v return s } -type ListProjectsOutput struct { +type ListReportsOutput struct { _ struct{} `type:"structure"` - // If there are more than 100 items in the list, only the first 100 items are - // returned, along with a unique string called a nextToken. To get the next - // batch of items in the list, call this operation again, adding the next token - // to the call. + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. NextToken *string `locationName:"nextToken" type:"string"` - // The list of build project names, with each build project name representing - // a single build project. - Projects []*string `locationName:"projects" min:"1" type:"list"` + // The list of returned ARNs for the reports in the current AWS account. + Reports []*string `locationName:"reports" min:"1" type:"list"` } // String returns the string representation -func (s ListProjectsOutput) String() string { +func (s ListReportsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsOutput) GoString() string { +func (s ListReportsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { +func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { s.NextToken = &v return s } -// SetProjects sets the Projects field's value. -func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { - s.Projects = v +// SetReports sets the Reports field's value. +func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { + s.Reports = v return s } @@ -4144,7 +5790,7 @@ type Project struct { // A version of the build input to be built for this project. If not specified, // the latest version is used. If specified, it must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -4601,7 +6247,7 @@ type ProjectCache struct { // Only directories can be specified for caching. You cannot specify individual // files. Symlinks are used to reference cached directories. Cached directories // are linked to your build before it downloads its project sources. Cached - // items are overriden if a source item has the same name. Directories are + // items are overridden if a source item has the same name. Directories are // specified using cache paths in the buildspec file. Modes []*string `locationName:"modes" type:"list"` @@ -5077,7 +6723,7 @@ type ProjectSourceVersion struct { // The source version for the corresponding source identifier. If specified, // must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -5190,21 +6836,292 @@ func (s *RegistryCredential) Validate() error { invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCredential sets the Credential field's value. +func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { + s.Credential = &v + return s +} + +// SetCredentialProvider sets the CredentialProvider field's value. +func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { + s.CredentialProvider = &v + return s +} + +// Information about the results from running a series of test cases during +// the run of a build project. The test cases are specified in the buildspec +// for the build project using one or more paths to the test case files. You +// can specify any type of tests you want, such as unit tests, integration tests, +// and functional tests. +type Report struct { + _ struct{} `type:"structure"` + + // The ARN of the report run. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // The date and time this report run occurred. + Created *time.Time `locationName:"created" type:"timestamp"` + + // The ARN of the build run that generated this report. + ExecutionId *string `locationName:"executionId" type:"string"` + + // The date and time a report expires. A report expires 30 days after it is + // created. An expired report is not available to view in CodeBuild. + Expired *time.Time `locationName:"expired" type:"timestamp"` + + // Information about where the raw data used to generate this report was exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // The name of the report that was run. + Name *string `locationName:"name" type:"string"` + + // The ARN of the report group associated with this report. + ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"` + + // The status of this report. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` + + // A TestReportSummary object that contains information about this test report. + TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"` + + // A boolean that specifies if this report run is truncated. The list of test + // cases is truncated after the maximum number of test cases is reached. + Truncated *bool `locationName:"truncated" type:"boolean"` + + // The type of the report that was run. + Type *string `locationName:"type" type:"string" enum:"ReportType"` +} + +// String returns the string representation +func (s Report) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Report) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Report) SetArn(v string) *Report { + s.Arn = &v + return s +} + +// SetCreated sets the Created field's value. +func (s *Report) SetCreated(v time.Time) *Report { + s.Created = &v + return s +} + +// SetExecutionId sets the ExecutionId field's value. +func (s *Report) SetExecutionId(v string) *Report { + s.ExecutionId = &v + return s +} + +// SetExpired sets the Expired field's value. +func (s *Report) SetExpired(v time.Time) *Report { + s.Expired = &v + return s +} + +// SetExportConfig sets the ExportConfig field's value. +func (s *Report) SetExportConfig(v *ReportExportConfig) *Report { + s.ExportConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *Report) SetName(v string) *Report { + s.Name = &v + return s +} + +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *Report) SetReportGroupArn(v string) *Report { + s.ReportGroupArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Report) SetStatus(v string) *Report { + s.Status = &v + return s +} + +// SetTestSummary sets the TestSummary field's value. +func (s *Report) SetTestSummary(v *TestReportSummary) *Report { + s.TestSummary = v + return s +} + +// SetTruncated sets the Truncated field's value. +func (s *Report) SetTruncated(v bool) *Report { + s.Truncated = &v + return s +} + +// SetType sets the Type field's value. +func (s *Report) SetType(v string) *Report { + s.Type = &v + return s +} + +// Information about the location where the run of a report is exported. +type ReportExportConfig struct { + _ struct{} `type:"structure"` + + // The export configuration type. Valid values are: + // + // * S3: The report results are exported to an S3 bucket. + // + // * NO_EXPORT: The report results are not exported. + ExportConfigType *string `locationName:"exportConfigType" type:"string" enum:"ReportExportConfigType"` + + // A S3ReportExportConfig object that contains information about the S3 bucket + // where the run of a report is exported. + S3Destination *S3ReportExportConfig `locationName:"s3Destination" type:"structure"` +} + +// String returns the string representation +func (s ReportExportConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportExportConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReportExportConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportExportConfig"} + if s.S3Destination != nil { + if err := s.S3Destination.Validate(); err != nil { + invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportConfigType sets the ExportConfigType field's value. +func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig { + s.ExportConfigType = &v + return s +} + +// SetS3Destination sets the S3Destination field's value. +func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig { + s.S3Destination = v + return s +} + +// A filter used to return reports with the status specified by the input status +// parameter. +type ReportFilter struct { + _ struct{} `type:"structure"` + + // The status used to filter reports. You can filter using one status only. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` +} + +// String returns the string representation +func (s ReportFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportFilter) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *ReportFilter) SetStatus(v string) *ReportFilter { + s.Status = &v + return s +} + +// A series of reports. Each report contains information about the results from +// running a series of test cases. You specify the test cases for a report group +// in the buildspec for a build project using one or more paths to the test +// case files. +type ReportGroup struct { + _ struct{} `type:"structure"` + + // The ARN of a ReportGroup. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // The date and time this ReportGroup was created. + Created *time.Time `locationName:"created" type:"timestamp"` + + // Information about the destination where the raw data of this ReportGroup + // is exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // The date and time this ReportGroup was last modified. + LastModified *time.Time `locationName:"lastModified" type:"timestamp"` + + // The name of a ReportGroup. + Name *string `locationName:"name" min:"2" type:"string"` + + // The type of the ReportGroup. The one valid value is TEST. + Type *string `locationName:"type" type:"string" enum:"ReportType"` +} + +// String returns the string representation +func (s ReportGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ReportGroup) SetArn(v string) *ReportGroup { + s.Arn = &v + return s +} + +// SetCreated sets the Created field's value. +func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup { + s.Created = &v + return s } -// SetCredential sets the Credential field's value. -func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { - s.Credential = &v +// SetExportConfig sets the ExportConfig field's value. +func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup { + s.ExportConfig = v return s } -// SetCredentialProvider sets the CredentialProvider field's value. -func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { - s.CredentialProvider = &v +// SetLastModified sets the LastModified field's value. +func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup { + s.LastModified = &v + return s +} + +// SetName sets the Name field's value. +func (s *ReportGroup) SetName(v string) *ReportGroup { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ReportGroup) SetType(v string) *ReportGroup { + s.Type = &v return s } @@ -5272,6 +7189,88 @@ func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig { return s } +// Information about the S3 bucket where the raw data of a report are exported. +type S3ReportExportConfig struct { + _ struct{} `type:"structure"` + + // The name of the S3 bucket where the raw data of a report are exported. + Bucket *string `locationName:"bucket" min:"1" type:"string"` + + // A boolean value that specifies if the results of a report are encrypted. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + + // The encryption key for the report's encrypted raw data. + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // The type of build output artifact to create. Valid values include: + // + // * NONE: AWS CodeBuild creates the raw data in the output bucket. This + // is the default if packaging is not specified. + // + // * ZIP: AWS CodeBuild creates a ZIP file with the raw data in the output + // bucket. + Packaging *string `locationName:"packaging" type:"string" enum:"ReportPackagingType"` + + // The path to the exported report's raw data results. + Path *string `locationName:"path" type:"string"` +} + +// String returns the string representation +func (s S3ReportExportConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ReportExportConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ReportExportConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ReportExportConfig"} + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } + if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { + s.Bucket = &v + return s +} + +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { + s.EncryptionDisabled = &v + return s +} + +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { + s.EncryptionKey = &v + return s +} + +// SetPackaging sets the Packaging field's value. +func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { + s.Packaging = &v + return s +} + +// SetPath sets the Path field's value. +func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig { + s.Path = &v + return s +} + // Information about the authorization settings for AWS CodeBuild to access // the source code to be built. // @@ -5500,7 +7499,7 @@ type StartBuildInput struct { // A version of the build input to be built, for this build only. If not specified, // the latest version is used. If specified, must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -5943,6 +7942,173 @@ func (s *Tag) SetValue(v string) *Tag { return s } +// Information about a test case created using a framework such as NUnit or +// Cucumber. A test case might be a unit test or a configuration test. +type TestCase struct { + _ struct{} `type:"structure"` + + // The number of nanoseconds it took to run this test case. + DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long"` + + // The date and time a test case expires. A test case expires 30 days after + // it is created. An expired test case is not available to view in CodeBuild. + Expired *time.Time `locationName:"expired" type:"timestamp"` + + // A message associated with a test case. For example, an error message or stack + // trace. + Message *string `locationName:"message" type:"string"` + + // The name of the test case. + Name *string `locationName:"name" type:"string"` + + // A string that is applied to a series of related test cases. CodeBuild generates + // the prefix. The prefix depends on the framework used to generate the tests. + Prefix *string `locationName:"prefix" type:"string"` + + // The ARN of the report to which the test case belongs. + ReportArn *string `locationName:"reportArn" min:"1" type:"string"` + + // The status returned by the test case after it was run. Valid statuses are + // SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN. + Status *string `locationName:"status" type:"string"` + + // The path to the raw data file that contains the test result. + TestRawDataPath *string `locationName:"testRawDataPath" type:"string"` +} + +// String returns the string representation +func (s TestCase) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCase) GoString() string { + return s.String() +} + +// SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value. +func (s *TestCase) SetDurationInNanoSeconds(v int64) *TestCase { + s.DurationInNanoSeconds = &v + return s +} + +// SetExpired sets the Expired field's value. +func (s *TestCase) SetExpired(v time.Time) *TestCase { + s.Expired = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *TestCase) SetMessage(v string) *TestCase { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *TestCase) SetName(v string) *TestCase { + s.Name = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *TestCase) SetPrefix(v string) *TestCase { + s.Prefix = &v + return s +} + +// SetReportArn sets the ReportArn field's value. +func (s *TestCase) SetReportArn(v string) *TestCase { + s.ReportArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TestCase) SetStatus(v string) *TestCase { + s.Status = &v + return s +} + +// SetTestRawDataPath sets the TestRawDataPath field's value. +func (s *TestCase) SetTestRawDataPath(v string) *TestCase { + s.TestRawDataPath = &v + return s +} + +// A filter used to return specific types of test cases. +type TestCaseFilter struct { + _ struct{} `type:"structure"` + + // The status used to filter test cases. Valid statuses are SUCCEEDED, FAILED, + // ERROR, SKIPPED, and UNKNOWN. A TestCaseFilter can have one status. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s TestCaseFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCaseFilter) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *TestCaseFilter) SetStatus(v string) *TestCaseFilter { + s.Status = &v + return s +} + +// Information about a test report. +type TestReportSummary struct { + _ struct{} `type:"structure"` + + // The number of nanoseconds it took to run all of the test cases in this report. + // + // DurationInNanoSeconds is a required field + DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long" required:"true"` + + // A map that contains the number of each type of status returned by the test + // results in this TestReportSummary. + // + // StatusCounts is a required field + StatusCounts map[string]*int64 `locationName:"statusCounts" type:"map" required:"true"` + + // The number of test cases in this TestReportSummary. The total includes truncated + // test cases. + // + // Total is a required field + Total *int64 `locationName:"total" type:"integer" required:"true"` +} + +// String returns the string representation +func (s TestReportSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestReportSummary) GoString() string { + return s.String() +} + +// SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value. +func (s *TestReportSummary) SetDurationInNanoSeconds(v int64) *TestReportSummary { + s.DurationInNanoSeconds = &v + return s +} + +// SetStatusCounts sets the StatusCounts field's value. +func (s *TestReportSummary) SetStatusCounts(v map[string]*int64) *TestReportSummary { + s.StatusCounts = v + return s +} + +// SetTotal sets the Total field's value. +func (s *TestReportSummary) SetTotal(v int64) *TestReportSummary { + s.Total = &v + return s +} + type UpdateProjectInput struct { _ struct{} `type:"structure"` @@ -6011,7 +8177,7 @@ type UpdateProjectInput struct { // A version of the build input to be built for this project. If not specified, // the latest version is used. If specified, it must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -6288,6 +8454,88 @@ func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput { return s } +type UpdateReportGroupInput struct { + _ struct{} `type:"structure"` + + // The ARN of the report group to update. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + + // Used to specify an updated export type. Valid values are: + // + // * S3: The report results are exported to an S3 bucket. + // + // * NO_EXPORT: The report results are not exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` +} + +// String returns the string representation +func (s UpdateReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReportGroupInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.ExportConfig != nil { + if err := s.ExportConfig.Validate(); err != nil { + invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UpdateReportGroupInput) SetArn(v string) *UpdateReportGroupInput { + s.Arn = &v + return s +} + +// SetExportConfig sets the ExportConfig field's value. +func (s *UpdateReportGroupInput) SetExportConfig(v *ReportExportConfig) *UpdateReportGroupInput { + s.ExportConfig = v + return s +} + +type UpdateReportGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the updated report group. + ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` +} + +// String returns the string representation +func (s UpdateReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReportGroupOutput) GoString() string { + return s.String() +} + +// SetReportGroup sets the ReportGroup field's value. +func (s *UpdateReportGroupOutput) SetReportGroup(v *ReportGroup) *UpdateReportGroupOutput { + s.ReportGroup = v + return s +} + type UpdateWebhookInput struct { _ struct{} `type:"structure"` @@ -6300,7 +8548,7 @@ type UpdateWebhookInput struct { BranchFilter *string `locationName:"branchFilter" type:"string"` // An array of arrays of WebhookFilter objects used to determine if a webhook - // event can trigger a build. A filter group must pcontain at least one EVENT + // event can trigger a build. A filter group must contain at least one EVENT // WebhookFilter. FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` @@ -6834,6 +9082,55 @@ const ( ProjectSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME" ) +const ( + // ReportExportConfigTypeS3 is a ReportExportConfigType enum value + ReportExportConfigTypeS3 = "S3" + + // ReportExportConfigTypeNoExport is a ReportExportConfigType enum value + ReportExportConfigTypeNoExport = "NO_EXPORT" +) + +const ( + // ReportGroupSortByTypeName is a ReportGroupSortByType enum value + ReportGroupSortByTypeName = "NAME" + + // ReportGroupSortByTypeCreatedTime is a ReportGroupSortByType enum value + ReportGroupSortByTypeCreatedTime = "CREATED_TIME" + + // ReportGroupSortByTypeLastModifiedTime is a ReportGroupSortByType enum value + ReportGroupSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME" +) + +const ( + // ReportPackagingTypeZip is a ReportPackagingType enum value + ReportPackagingTypeZip = "ZIP" + + // ReportPackagingTypeNone is a ReportPackagingType enum value + ReportPackagingTypeNone = "NONE" +) + +const ( + // ReportStatusTypeGenerating is a ReportStatusType enum value + ReportStatusTypeGenerating = "GENERATING" + + // ReportStatusTypeSucceeded is a ReportStatusType enum value + ReportStatusTypeSucceeded = "SUCCEEDED" + + // ReportStatusTypeFailed is a ReportStatusType enum value + ReportStatusTypeFailed = "FAILED" + + // ReportStatusTypeIncomplete is a ReportStatusType enum value + ReportStatusTypeIncomplete = "INCOMPLETE" + + // ReportStatusTypeDeleting is a ReportStatusType enum value + ReportStatusTypeDeleting = "DELETING" +) + +const ( + // ReportTypeTest is a ReportType enum value + ReportTypeTest = "TEST" +) + const ( // ServerTypeGithub is a ServerType enum value ServerTypeGithub = "GITHUB" diff --git a/service/codebuild/codebuildiface/interface.go b/service/codebuild/codebuildiface/interface.go index 5a06a2bffa5..44bec5a42b9 100644 --- a/service/codebuild/codebuildiface/interface.go +++ b/service/codebuild/codebuildiface/interface.go @@ -72,10 +72,22 @@ type CodeBuildAPI interface { BatchGetProjectsWithContext(aws.Context, *codebuild.BatchGetProjectsInput, ...request.Option) (*codebuild.BatchGetProjectsOutput, error) BatchGetProjectsRequest(*codebuild.BatchGetProjectsInput) (*request.Request, *codebuild.BatchGetProjectsOutput) + BatchGetReportGroups(*codebuild.BatchGetReportGroupsInput) (*codebuild.BatchGetReportGroupsOutput, error) + BatchGetReportGroupsWithContext(aws.Context, *codebuild.BatchGetReportGroupsInput, ...request.Option) (*codebuild.BatchGetReportGroupsOutput, error) + BatchGetReportGroupsRequest(*codebuild.BatchGetReportGroupsInput) (*request.Request, *codebuild.BatchGetReportGroupsOutput) + + BatchGetReports(*codebuild.BatchGetReportsInput) (*codebuild.BatchGetReportsOutput, error) + BatchGetReportsWithContext(aws.Context, *codebuild.BatchGetReportsInput, ...request.Option) (*codebuild.BatchGetReportsOutput, error) + BatchGetReportsRequest(*codebuild.BatchGetReportsInput) (*request.Request, *codebuild.BatchGetReportsOutput) + CreateProject(*codebuild.CreateProjectInput) (*codebuild.CreateProjectOutput, error) CreateProjectWithContext(aws.Context, *codebuild.CreateProjectInput, ...request.Option) (*codebuild.CreateProjectOutput, error) CreateProjectRequest(*codebuild.CreateProjectInput) (*request.Request, *codebuild.CreateProjectOutput) + CreateReportGroup(*codebuild.CreateReportGroupInput) (*codebuild.CreateReportGroupOutput, error) + CreateReportGroupWithContext(aws.Context, *codebuild.CreateReportGroupInput, ...request.Option) (*codebuild.CreateReportGroupOutput, error) + CreateReportGroupRequest(*codebuild.CreateReportGroupInput) (*request.Request, *codebuild.CreateReportGroupOutput) + CreateWebhook(*codebuild.CreateWebhookInput) (*codebuild.CreateWebhookOutput, error) CreateWebhookWithContext(aws.Context, *codebuild.CreateWebhookInput, ...request.Option) (*codebuild.CreateWebhookOutput, error) CreateWebhookRequest(*codebuild.CreateWebhookInput) (*request.Request, *codebuild.CreateWebhookOutput) @@ -84,6 +96,14 @@ type CodeBuildAPI interface { DeleteProjectWithContext(aws.Context, *codebuild.DeleteProjectInput, ...request.Option) (*codebuild.DeleteProjectOutput, error) DeleteProjectRequest(*codebuild.DeleteProjectInput) (*request.Request, *codebuild.DeleteProjectOutput) + DeleteReport(*codebuild.DeleteReportInput) (*codebuild.DeleteReportOutput, error) + DeleteReportWithContext(aws.Context, *codebuild.DeleteReportInput, ...request.Option) (*codebuild.DeleteReportOutput, error) + DeleteReportRequest(*codebuild.DeleteReportInput) (*request.Request, *codebuild.DeleteReportOutput) + + DeleteReportGroup(*codebuild.DeleteReportGroupInput) (*codebuild.DeleteReportGroupOutput, error) + DeleteReportGroupWithContext(aws.Context, *codebuild.DeleteReportGroupInput, ...request.Option) (*codebuild.DeleteReportGroupOutput, error) + DeleteReportGroupRequest(*codebuild.DeleteReportGroupInput) (*request.Request, *codebuild.DeleteReportGroupOutput) + DeleteSourceCredentials(*codebuild.DeleteSourceCredentialsInput) (*codebuild.DeleteSourceCredentialsOutput, error) DeleteSourceCredentialsWithContext(aws.Context, *codebuild.DeleteSourceCredentialsInput, ...request.Option) (*codebuild.DeleteSourceCredentialsOutput, error) DeleteSourceCredentialsRequest(*codebuild.DeleteSourceCredentialsInput) (*request.Request, *codebuild.DeleteSourceCredentialsOutput) @@ -92,6 +112,10 @@ type CodeBuildAPI interface { DeleteWebhookWithContext(aws.Context, *codebuild.DeleteWebhookInput, ...request.Option) (*codebuild.DeleteWebhookOutput, error) DeleteWebhookRequest(*codebuild.DeleteWebhookInput) (*request.Request, *codebuild.DeleteWebhookOutput) + DescribeTestCases(*codebuild.DescribeTestCasesInput) (*codebuild.DescribeTestCasesOutput, error) + DescribeTestCasesWithContext(aws.Context, *codebuild.DescribeTestCasesInput, ...request.Option) (*codebuild.DescribeTestCasesOutput, error) + DescribeTestCasesRequest(*codebuild.DescribeTestCasesInput) (*request.Request, *codebuild.DescribeTestCasesOutput) + ImportSourceCredentials(*codebuild.ImportSourceCredentialsInput) (*codebuild.ImportSourceCredentialsOutput, error) ImportSourceCredentialsWithContext(aws.Context, *codebuild.ImportSourceCredentialsInput, ...request.Option) (*codebuild.ImportSourceCredentialsOutput, error) ImportSourceCredentialsRequest(*codebuild.ImportSourceCredentialsInput) (*request.Request, *codebuild.ImportSourceCredentialsOutput) @@ -116,6 +140,18 @@ type CodeBuildAPI interface { ListProjectsWithContext(aws.Context, *codebuild.ListProjectsInput, ...request.Option) (*codebuild.ListProjectsOutput, error) ListProjectsRequest(*codebuild.ListProjectsInput) (*request.Request, *codebuild.ListProjectsOutput) + ListReportGroups(*codebuild.ListReportGroupsInput) (*codebuild.ListReportGroupsOutput, error) + ListReportGroupsWithContext(aws.Context, *codebuild.ListReportGroupsInput, ...request.Option) (*codebuild.ListReportGroupsOutput, error) + ListReportGroupsRequest(*codebuild.ListReportGroupsInput) (*request.Request, *codebuild.ListReportGroupsOutput) + + ListReports(*codebuild.ListReportsInput) (*codebuild.ListReportsOutput, error) + ListReportsWithContext(aws.Context, *codebuild.ListReportsInput, ...request.Option) (*codebuild.ListReportsOutput, error) + ListReportsRequest(*codebuild.ListReportsInput) (*request.Request, *codebuild.ListReportsOutput) + + ListReportsForReportGroup(*codebuild.ListReportsForReportGroupInput) (*codebuild.ListReportsForReportGroupOutput, error) + ListReportsForReportGroupWithContext(aws.Context, *codebuild.ListReportsForReportGroupInput, ...request.Option) (*codebuild.ListReportsForReportGroupOutput, error) + ListReportsForReportGroupRequest(*codebuild.ListReportsForReportGroupInput) (*request.Request, *codebuild.ListReportsForReportGroupOutput) + ListSourceCredentials(*codebuild.ListSourceCredentialsInput) (*codebuild.ListSourceCredentialsOutput, error) ListSourceCredentialsWithContext(aws.Context, *codebuild.ListSourceCredentialsInput, ...request.Option) (*codebuild.ListSourceCredentialsOutput, error) ListSourceCredentialsRequest(*codebuild.ListSourceCredentialsInput) (*request.Request, *codebuild.ListSourceCredentialsOutput) @@ -132,6 +168,10 @@ type CodeBuildAPI interface { UpdateProjectWithContext(aws.Context, *codebuild.UpdateProjectInput, ...request.Option) (*codebuild.UpdateProjectOutput, error) UpdateProjectRequest(*codebuild.UpdateProjectInput) (*request.Request, *codebuild.UpdateProjectOutput) + UpdateReportGroup(*codebuild.UpdateReportGroupInput) (*codebuild.UpdateReportGroupOutput, error) + UpdateReportGroupWithContext(aws.Context, *codebuild.UpdateReportGroupInput, ...request.Option) (*codebuild.UpdateReportGroupOutput, error) + UpdateReportGroupRequest(*codebuild.UpdateReportGroupInput) (*request.Request, *codebuild.UpdateReportGroupOutput) + UpdateWebhook(*codebuild.UpdateWebhookInput) (*codebuild.UpdateWebhookOutput, error) UpdateWebhookWithContext(aws.Context, *codebuild.UpdateWebhookInput, ...request.Option) (*codebuild.UpdateWebhookOutput, error) UpdateWebhookRequest(*codebuild.UpdateWebhookInput) (*request.Request, *codebuild.UpdateWebhookOutput) diff --git a/service/codebuild/doc.go b/service/codebuild/doc.go index 29861e5f737..989a57f67ab 100644 --- a/service/codebuild/doc.go +++ b/service/codebuild/doc.go @@ -34,6 +34,9 @@ // // * CreateProject: Creates a build project. // +// * CreateReportGroup: Creates a report group. A report group contains a +// collection of reports. +// // * CreateWebhook: For an existing AWS CodeBuild build project that has // its source code stored in a GitHub or Bitbucket repository, enables AWS // CodeBuild to start rebuilding the source code every time a code change @@ -41,6 +44,10 @@ // // * DeleteProject: Deletes a build project. // +// * DeleteReport: Deletes a report. +// +// * DeleteReportGroup: Deletes a report group. +// // * DeleteSourceCredentials: Deletes a set of GitHub, GitHub Enterprise, // or Bitbucket source credentials. // @@ -49,6 +56,9 @@ // CodeBuild from rebuilding the source code every time a code change is // pushed to the repository. // +// * DescribeTestCases: Returns a list of details about test cases for a +// report. +// // * ImportSourceCredentials: Imports the source repository credentials for // an AWS CodeBuild project that has its source code stored in a GitHub, // GitHub Enterprise, or Bitbucket repository. @@ -67,6 +77,14 @@ // * ListProjects: Gets a list of build project names, with each build project // name representing a single build project. // +// * ListReportGroups: Gets a list ARNs for the report groups in the current +// AWS account. +// +// * ListReports: Gets a list ARNs for the reports in the current AWS account. +// +// * ListReportsForReportGroup: Returns a list of ARNs for the reports that +// belong to a ReportGroup. +// // * ListSourceCredentials: Returns a list of SourceCredentialsInfo objects. // Each SourceCredentialsInfo object includes the authentication type, token // ARN, and type of source provider for one set of credentials. @@ -77,13 +95,7 @@ // // * UpdateProject: Changes the settings of an existing build project. // -// * UpdateWebhook: Changes the settings of an existing webhook. -// -// * StartBuild: Starts running a build. -// -// * StopBuild: Attempts to stop running a build. -// -// * UpdateProject: Changes the settings of an existing build project. +// * UpdateReportGroup: Changes a report group. // // * UpdateWebhook: Changes the settings of an existing webhook. // diff --git a/service/cognitoidentityprovider/api.go b/service/cognitoidentityprovider/api.go index cea54de136d..2bab97360b0 100644 --- a/service/cognitoidentityprovider/api.go +++ b/service/cognitoidentityprovider/api.go @@ -27000,6 +27000,9 @@ const ( // IdentityProviderTypeTypeLoginWithAmazon is a IdentityProviderTypeType enum value IdentityProviderTypeTypeLoginWithAmazon = "LoginWithAmazon" + // IdentityProviderTypeTypeSignInWithApple is a IdentityProviderTypeType enum value + IdentityProviderTypeTypeSignInWithApple = "SignInWithApple" + // IdentityProviderTypeTypeOidc is a IdentityProviderTypeType enum value IdentityProviderTypeTypeOidc = "OIDC" ) diff --git a/service/comprehend/api.go b/service/comprehend/api.go index 2dd98adcd69..5b76e696e2e 100644 --- a/service/comprehend/api.go +++ b/service/comprehend/api.go @@ -492,6 +492,97 @@ func (c *Comprehend) BatchDetectSyntaxWithContext(ctx aws.Context, input *BatchD return out, req.Send() } +const opClassifyDocument = "ClassifyDocument" + +// ClassifyDocumentRequest generates a "aws/request.Request" representing the +// client's request for the ClassifyDocument operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ClassifyDocument for more information on using the ClassifyDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ClassifyDocumentRequest method. +// req, resp := client.ClassifyDocumentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ClassifyDocument +func (c *Comprehend) ClassifyDocumentRequest(input *ClassifyDocumentInput) (req *request.Request, output *ClassifyDocumentOutput) { + op := &request.Operation{ + Name: opClassifyDocument, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ClassifyDocumentInput{} + } + + output = &ClassifyDocumentOutput{} + req = c.newRequest(op, input, output) + return +} + +// ClassifyDocument API operation for Amazon Comprehend. +// +// Creates a new document classification request to analyze a single document +// in real-time, using a previously created and trained custom model and an +// endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Comprehend's +// API operation ClassifyDocument for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// The specified resource is not available. Check to see if the resource is +// in the TRAINED state and try your request again. +// +// * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException" +// The size of the input text exceeds the limit. Use a smaller document. +// +// * ErrCodeInternalServerException "InternalServerException" +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ClassifyDocument +func (c *Comprehend) ClassifyDocument(input *ClassifyDocumentInput) (*ClassifyDocumentOutput, error) { + req, out := c.ClassifyDocumentRequest(input) + return out, req.Send() +} + +// ClassifyDocumentWithContext is the same as ClassifyDocument with the addition of +// the ability to pass a context and additional request options. +// +// See ClassifyDocument for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Comprehend) ClassifyDocumentWithContext(ctx aws.Context, input *ClassifyDocumentInput, opts ...request.Option) (*ClassifyDocumentOutput, error) { + req, out := c.ClassifyDocumentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDocumentClassifier = "CreateDocumentClassifier" // CreateDocumentClassifierRequest generates a "aws/request.Request" representing the @@ -605,6 +696,113 @@ func (c *Comprehend) CreateDocumentClassifierWithContext(ctx aws.Context, input return out, req.Send() } +const opCreateEndpoint = "CreateEndpoint" + +// CreateEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateEndpoint for more information on using the CreateEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateEndpointRequest method. +// req, resp := client.CreateEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateEndpoint +func (c *Comprehend) CreateEndpointRequest(input *CreateEndpointInput) (req *request.Request, output *CreateEndpointOutput) { + op := &request.Operation{ + Name: opCreateEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateEndpointInput{} + } + + output = &CreateEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEndpoint API operation for Amazon Comprehend. +// +// Creates a model-specific endpoint for synchronous inference for a previously +// trained custom model +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Comprehend's +// API operation CreateEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified name is already in use. Use a different name and try your request +// again. +// +// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" +// The maximum number of recognizers per account has been exceeded. Review the +// recognizers, perform cleanup, and then try your request again. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource ARN was not found. Check the ARN and try your request +// again. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// The specified resource is not available. Check to see if the resource is +// in the TRAINED state and try your request again. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. Resubmit your request later. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The request contains more tags than can be associated with a resource (50 +// tags per resource). The maximum number of tags includes both existing tags +// and those included in your current request. +// +// * ErrCodeInternalServerException "InternalServerException" +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateEndpoint +func (c *Comprehend) CreateEndpoint(input *CreateEndpointInput) (*CreateEndpointOutput, error) { + req, out := c.CreateEndpointRequest(input) + return out, req.Send() +} + +// CreateEndpointWithContext is the same as CreateEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Comprehend) CreateEndpointWithContext(ctx aws.Context, input *CreateEndpointInput, opts ...request.Option) (*CreateEndpointOutput, error) { + req, out := c.CreateEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateEntityRecognizer = "CreateEntityRecognizer" // CreateEntityRecognizerRequest generates a "aws/request.Request" representing the @@ -821,6 +1019,101 @@ func (c *Comprehend) DeleteDocumentClassifierWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteEndpoint = "DeleteEndpoint" + +// DeleteEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEndpoint for more information on using the DeleteEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteEndpointRequest method. +// req, resp := client.DeleteEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteEndpoint +func (c *Comprehend) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) { + op := &request.Operation{ + Name: opDeleteEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEndpointInput{} + } + + output = &DeleteEndpointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEndpoint API operation for Amazon Comprehend. +// +// Deletes a model-specific endpoint for a previously-trained custom model. +// All endpoints must be deleted in order for the model to be deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Comprehend's +// API operation DeleteEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified name is already in use. Use a different name and try your request +// again. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource ARN was not found. Check the ARN and try your request +// again. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. Resubmit your request later. +// +// * ErrCodeInternalServerException "InternalServerException" +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteEndpoint +func (c *Comprehend) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + return out, req.Send() +} + +// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Comprehend) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteEntityRecognizer = "DeleteEntityRecognizer" // DeleteEntityRecognizerRequest generates a "aws/request.Request" representing the @@ -1194,6 +1487,96 @@ func (c *Comprehend) DescribeDominantLanguageDetectionJobWithContext(ctx aws.Con return out, req.Send() } +const opDescribeEndpoint = "DescribeEndpoint" + +// DescribeEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeEndpoint for more information on using the DescribeEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeEndpointRequest method. +// req, resp := client.DescribeEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeEndpoint +func (c *Comprehend) DescribeEndpointRequest(input *DescribeEndpointInput) (req *request.Request, output *DescribeEndpointOutput) { + op := &request.Operation{ + Name: opDescribeEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEndpointInput{} + } + + output = &DescribeEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEndpoint API operation for Amazon Comprehend. +// +// Gets the properties associated with a specific endpoint. Use this operation +// to get the status of an endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Comprehend's +// API operation DescribeEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. Resubmit your request later. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource ARN was not found. Check the ARN and try your request +// again. +// +// * ErrCodeInternalServerException "InternalServerException" +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeEndpoint +func (c *Comprehend) DescribeEndpoint(input *DescribeEndpointInput) (*DescribeEndpointOutput, error) { + req, out := c.DescribeEndpointRequest(input) + return out, req.Send() +} + +// DescribeEndpointWithContext is the same as DescribeEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Comprehend) DescribeEndpointWithContext(ctx aws.Context, input *DescribeEndpointInput, opts ...request.Option) (*DescribeEndpointOutput, error) { + req, out := c.DescribeEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeEntitiesDetectionJob = "DescribeEntitiesDetectionJob" // DescribeEntitiesDetectionJobRequest generates a "aws/request.Request" representing the @@ -2536,6 +2919,91 @@ func (c *Comprehend) ListDominantLanguageDetectionJobsPagesWithContext(ctx aws.C return p.Err() } +const opListEndpoints = "ListEndpoints" + +// ListEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpoints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListEndpoints for more information on using the ListEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListEndpointsRequest method. +// req, resp := client.ListEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEndpoints +func (c *Comprehend) ListEndpointsRequest(input *ListEndpointsInput) (req *request.Request, output *ListEndpointsOutput) { + op := &request.Operation{ + Name: opListEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListEndpointsInput{} + } + + output = &ListEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEndpoints API operation for Amazon Comprehend. +// +// Gets a list of all existing endpoints that you've created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Comprehend's +// API operation ListEndpoints for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. Resubmit your request later. +// +// * ErrCodeInternalServerException "InternalServerException" +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEndpoints +func (c *Comprehend) ListEndpoints(input *ListEndpointsInput) (*ListEndpointsOutput, error) { + req, out := c.ListEndpointsRequest(input) + return out, req.Send() +} + +// ListEndpointsWithContext is the same as ListEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See ListEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Comprehend) ListEndpointsWithContext(ctx aws.Context, input *ListEndpointsInput, opts ...request.Option) (*ListEndpointsOutput, error) { + req, out := c.ListEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListEntitiesDetectionJobs = "ListEntitiesDetectionJobs" // ListEntitiesDetectionJobsRequest generates a "aws/request.Request" representing the @@ -4668,23 +5136,125 @@ func (c *Comprehend) UntagResourceRequest(input *UntagResourceInput) (req *reque // * ErrCodeInternalServerException "InternalServerException" // An internal server error occurred. Retry your request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UntagResource -func (c *Comprehend) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UntagResource +func (c *Comprehend) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Comprehend) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEndpoint = "UpdateEndpoint" + +// UpdateEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEndpoint for more information on using the UpdateEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateEndpointRequest method. +// req, resp := client.UpdateEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UpdateEndpoint +func (c *Comprehend) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) { + op := &request.Operation{ + Name: opUpdateEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateEndpointInput{} + } + + output = &UpdateEndpointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateEndpoint API operation for Amazon Comprehend. +// +// Updates information about the specified endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Comprehend's +// API operation UpdateEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The number of requests exceeds the limit. Resubmit your request later. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified name is already in use. Use a different name and try your request +// again. +// +// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" +// The maximum number of recognizers per account has been exceeded. Review the +// recognizers, perform cleanup, and then try your request again. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource ARN was not found. Check the ARN and try your request +// again. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// The specified resource is not available. Check to see if the resource is +// in the TRAINED state and try your request again. +// +// * ErrCodeInternalServerException "InternalServerException" +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UpdateEndpoint +func (c *Comprehend) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) { + req, out := c.UpdateEndpointRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See UpdateEndpoint for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Comprehend) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Comprehend) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) { + req, out := c.UpdateEndpointRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -4811,9 +5381,7 @@ type BatchDetectEntitiesInput struct { _ struct{} `type:"structure"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -4944,9 +5512,7 @@ type BatchDetectKeyPhrasesInput struct { _ struct{} `type:"structure"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -5077,9 +5643,7 @@ type BatchDetectSentimentInput struct { _ struct{} `type:"structure"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -5219,10 +5783,10 @@ func (s *BatchDetectSentimentOutput) SetResultList(v []*BatchDetectSentimentItem type BatchDetectSyntaxInput struct { _ struct{} `type:"structure"` - // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // The language of the input documents. You can specify any of the following + // languages supported by Amazon Comprehend: German ("de"), English ("en"), + // Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All + // documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"SyntaxLanguageCode"` @@ -5507,6 +6071,87 @@ func (s *ClassifierMetadata) SetNumberOfTrainedDocuments(v int64) *ClassifierMet return s } +type ClassifyDocumentInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Number (ARN) of the endpoint. + // + // EndpointArn is a required field + EndpointArn *string `type:"string" required:"true"` + + // The document text to be analyzed. + // + // Text is a required field + Text *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ClassifyDocumentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClassifyDocumentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ClassifyDocumentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ClassifyDocumentInput"} + if s.EndpointArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointArn")) + } + if s.Text == nil { + invalidParams.Add(request.NewErrParamRequired("Text")) + } + if s.Text != nil && len(*s.Text) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Text", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *ClassifyDocumentInput) SetEndpointArn(v string) *ClassifyDocumentInput { + s.EndpointArn = &v + return s +} + +// SetText sets the Text field's value. +func (s *ClassifyDocumentInput) SetText(v string) *ClassifyDocumentInput { + s.Text = &v + return s +} + +type ClassifyDocumentOutput struct { + _ struct{} `type:"structure"` + + // The classes used by the document being analyzed. These are used for multi-class + // trained models. Individual classes are mutually exclusive and each document + // is expected to have only a single class assigned to it. For example, an animal + // can be a dog or a cat, but not both at the same time. + Classes []*DocumentClass `type:"list"` +} + +// String returns the string representation +func (s ClassifyDocumentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClassifyDocumentOutput) GoString() string { + return s.String() +} + +// SetClasses sets the Classes field's value. +func (s *ClassifyDocumentOutput) SetClasses(v []*DocumentClass) *ClassifyDocumentOutput { + s.Classes = v + return s +} + type CreateDocumentClassifierInput struct { _ struct{} `type:"structure"` @@ -5530,10 +6175,10 @@ type CreateDocumentClassifierInput struct { // InputDataConfig is a required field InputDataConfig *DocumentClassifierInputDataConfig `type:"structure" required:"true"` - // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // The language of the input documents. You can specify any of the following + // languages supported by Amazon Comprehend: German ("de"), English ("en"), + // Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All + // documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -5699,6 +6344,136 @@ func (s *CreateDocumentClassifierOutput) SetDocumentClassifierArn(v string) *Cre return s } +type CreateEndpointInput struct { + _ struct{} `type:"structure"` + + // An idempotency token provided by the customer. If this token matches a previous + // endpoint creation request, Amazon Comprehend will not return a ResourceInUseException. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The desired number of inference units to be used by the model using this + // endpoint. Each inference unit represents of a throughput of 100 characters + // per second. + // + // DesiredInferenceUnits is a required field + DesiredInferenceUnits *int64 `min:"1" type:"integer" required:"true"` + + // This is the descriptive suffix that becomes part of the EndpointArn used + // for all subsequent requests to this resource. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // The Amazon Resource Number (ARN) of the model to which the endpoint will + // be attached. + // + // ModelArn is a required field + ModelArn *string `type:"string" required:"true"` + + // Tags associated with the endpoint being created. A tag is a key-value pair + // that adds metadata to the endpoint. For example, a tag with "Sales" as the + // key might be added to an endpoint to indicate its use by the sales department. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEndpointInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.DesiredInferenceUnits == nil { + invalidParams.Add(request.NewErrParamRequired("DesiredInferenceUnits")) + } + if s.DesiredInferenceUnits != nil && *s.DesiredInferenceUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("DesiredInferenceUnits", 1)) + } + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + if s.ModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ModelArn")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateEndpointInput) SetClientRequestToken(v string) *CreateEndpointInput { + s.ClientRequestToken = &v + return s +} + +// SetDesiredInferenceUnits sets the DesiredInferenceUnits field's value. +func (s *CreateEndpointInput) SetDesiredInferenceUnits(v int64) *CreateEndpointInput { + s.DesiredInferenceUnits = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *CreateEndpointInput) SetEndpointName(v string) *CreateEndpointInput { + s.EndpointName = &v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *CreateEndpointInput) SetModelArn(v string) *CreateEndpointInput { + s.ModelArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateEndpointInput) SetTags(v []*Tag) *CreateEndpointInput { + s.Tags = v + return s +} + +type CreateEndpointOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Number (ARN) of the endpoint being created. + EndpointArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEndpointOutput) GoString() string { + return s.String() +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *CreateEndpointOutput) SetEndpointArn(v string) *CreateEndpointOutput { + s.EndpointArn = &v + return s +} + type CreateEntityRecognizerInput struct { _ struct{} `type:"structure"` @@ -5935,6 +6710,58 @@ func (s DeleteDocumentClassifierOutput) GoString() string { return s.String() } +type DeleteEndpointInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Number (ARN) of the endpoint being deleted. + // + // EndpointArn is a required field + EndpointArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"} + if s.EndpointArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *DeleteEndpointInput) SetEndpointArn(v string) *DeleteEndpointInput { + s.EndpointArn = &v + return s +} + +type DeleteEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointOutput) GoString() string { + return s.String() +} + type DeleteEntityRecognizerInput struct { _ struct{} `type:"structure"` @@ -6100,49 +6927,111 @@ type DescribeDocumentClassifierOutput struct { } // String returns the string representation -func (s DescribeDocumentClassifierOutput) String() string { +func (s DescribeDocumentClassifierOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDocumentClassifierOutput) GoString() string { + return s.String() +} + +// SetDocumentClassifierProperties sets the DocumentClassifierProperties field's value. +func (s *DescribeDocumentClassifierOutput) SetDocumentClassifierProperties(v *DocumentClassifierProperties) *DescribeDocumentClassifierOutput { + s.DocumentClassifierProperties = v + return s +} + +type DescribeDominantLanguageDetectionJobInput struct { + _ struct{} `type:"structure"` + + // The identifier that Amazon Comprehend generated for the job. The operation + // returns this identifier in its response. + // + // JobId is a required field + JobId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDominantLanguageDetectionJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDominantLanguageDetectionJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDominantLanguageDetectionJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDominantLanguageDetectionJobInput"} + if s.JobId == nil { + invalidParams.Add(request.NewErrParamRequired("JobId")) + } + if s.JobId != nil && len(*s.JobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobId sets the JobId field's value. +func (s *DescribeDominantLanguageDetectionJobInput) SetJobId(v string) *DescribeDominantLanguageDetectionJobInput { + s.JobId = &v + return s +} + +type DescribeDominantLanguageDetectionJobOutput struct { + _ struct{} `type:"structure"` + + // An object that contains the properties associated with a dominant language + // detection job. + DominantLanguageDetectionJobProperties *DominantLanguageDetectionJobProperties `type:"structure"` +} + +// String returns the string representation +func (s DescribeDominantLanguageDetectionJobOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDocumentClassifierOutput) GoString() string { +func (s DescribeDominantLanguageDetectionJobOutput) GoString() string { return s.String() } -// SetDocumentClassifierProperties sets the DocumentClassifierProperties field's value. -func (s *DescribeDocumentClassifierOutput) SetDocumentClassifierProperties(v *DocumentClassifierProperties) *DescribeDocumentClassifierOutput { - s.DocumentClassifierProperties = v +// SetDominantLanguageDetectionJobProperties sets the DominantLanguageDetectionJobProperties field's value. +func (s *DescribeDominantLanguageDetectionJobOutput) SetDominantLanguageDetectionJobProperties(v *DominantLanguageDetectionJobProperties) *DescribeDominantLanguageDetectionJobOutput { + s.DominantLanguageDetectionJobProperties = v return s } -type DescribeDominantLanguageDetectionJobInput struct { +type DescribeEndpointInput struct { _ struct{} `type:"structure"` - // The identifier that Amazon Comprehend generated for the job. The operation - // returns this identifier in its response. + // The Amazon Resource Number (ARN) of the endpoint being described. // - // JobId is a required field - JobId *string `min:"1" type:"string" required:"true"` + // EndpointArn is a required field + EndpointArn *string `type:"string" required:"true"` } // String returns the string representation -func (s DescribeDominantLanguageDetectionJobInput) String() string { +func (s DescribeEndpointInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDominantLanguageDetectionJobInput) GoString() string { +func (s DescribeEndpointInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDominantLanguageDetectionJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDominantLanguageDetectionJobInput"} - if s.JobId == nil { - invalidParams.Add(request.NewErrParamRequired("JobId")) - } - if s.JobId != nil && len(*s.JobId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) +func (s *DescribeEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointInput"} + if s.EndpointArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointArn")) } if invalidParams.Len() > 0 { @@ -6151,33 +7040,32 @@ func (s *DescribeDominantLanguageDetectionJobInput) Validate() error { return nil } -// SetJobId sets the JobId field's value. -func (s *DescribeDominantLanguageDetectionJobInput) SetJobId(v string) *DescribeDominantLanguageDetectionJobInput { - s.JobId = &v +// SetEndpointArn sets the EndpointArn field's value. +func (s *DescribeEndpointInput) SetEndpointArn(v string) *DescribeEndpointInput { + s.EndpointArn = &v return s } -type DescribeDominantLanguageDetectionJobOutput struct { +type DescribeEndpointOutput struct { _ struct{} `type:"structure"` - // An object that contains the properties associated with a dominant language - // detection job. - DominantLanguageDetectionJobProperties *DominantLanguageDetectionJobProperties `type:"structure"` + // Describes information associated with the specific endpoint. + EndpointProperties *EndpointProperties `type:"structure"` } // String returns the string representation -func (s DescribeDominantLanguageDetectionJobOutput) String() string { +func (s DescribeEndpointOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDominantLanguageDetectionJobOutput) GoString() string { +func (s DescribeEndpointOutput) GoString() string { return s.String() } -// SetDominantLanguageDetectionJobProperties sets the DominantLanguageDetectionJobProperties field's value. -func (s *DescribeDominantLanguageDetectionJobOutput) SetDominantLanguageDetectionJobProperties(v *DominantLanguageDetectionJobProperties) *DescribeDominantLanguageDetectionJobOutput { - s.DominantLanguageDetectionJobProperties = v +// SetEndpointProperties sets the EndpointProperties field's value. +func (s *DescribeEndpointOutput) SetEndpointProperties(v *EndpointProperties) *DescribeEndpointOutput { + s.EndpointProperties = v return s } @@ -6577,9 +7465,7 @@ type DetectEntitiesInput struct { _ struct{} `type:"structure"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -6662,9 +7548,7 @@ type DetectKeyPhrasesInput struct { _ struct{} `type:"structure"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -6747,9 +7631,7 @@ type DetectSentimentInput struct { _ struct{} `type:"structure"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -6838,7 +7720,7 @@ func (s *DetectSentimentOutput) SetSentimentScore(v *SentimentScore) *DetectSent type DetectSyntaxInput struct { _ struct{} `type:"structure"` - // The language code of the input documents. You can specify any of the primary + // The language code of the input documents. You can specify any of the following // languages supported by Amazon Comprehend: German ("de"), English ("en"), // Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). // @@ -6919,6 +7801,39 @@ func (s *DetectSyntaxOutput) SetSyntaxTokens(v []*SyntaxToken) *DetectSyntaxOutp return s } +// Specifies the class that categorizes the document being analyzed +type DocumentClass struct { + _ struct{} `type:"structure"` + + // The name of the class. + Name *string `min:"1" type:"string"` + + // The confidence score that Amazon Comprehend has this class correctly attributed. + Score *float64 `type:"float"` +} + +// String returns the string representation +func (s DocumentClass) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentClass) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *DocumentClass) SetName(v string) *DocumentClass { + s.Name = &v + return s +} + +// SetScore sets the Score field's value. +func (s *DocumentClass) SetScore(v float64) *DocumentClass { + s.Score = &v + return s +} + // Provides information for filtering a list of document classification jobs. // For more information, see the operation. You can provide only one filter // parameter in each request. @@ -7667,6 +8582,151 @@ func (s *DominantLanguageDetectionJobProperties) SetVpcConfig(v *VpcConfig) *Dom return s } +// The filter used to determine which endpoints are are returned. You can filter +// jobs on their name, model, status, or the date and time that they were created. +// You can only set one filter at a time. +type EndpointFilter struct { + _ struct{} `type:"structure"` + + // Specifies a date after which the returned endpoint or endpoints were created. + CreationTimeAfter *time.Time `type:"timestamp"` + + // Specifies a date before which the returned endpoint or endpoints were created. + CreationTimeBefore *time.Time `type:"timestamp"` + + // The Amazon Resource Number (ARN) of the model to which the endpoint is attached. + ModelArn *string `type:"string"` + + // Specifies the status of the endpoint being returned. Possible values are: + // Creating, Ready, Updating, Deleting, Failed. + Status *string `type:"string" enum:"EndpointStatus"` +} + +// String returns the string representation +func (s EndpointFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointFilter) GoString() string { + return s.String() +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *EndpointFilter) SetCreationTimeAfter(v time.Time) *EndpointFilter { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *EndpointFilter) SetCreationTimeBefore(v time.Time) *EndpointFilter { + s.CreationTimeBefore = &v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *EndpointFilter) SetModelArn(v string) *EndpointFilter { + s.ModelArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EndpointFilter) SetStatus(v string) *EndpointFilter { + s.Status = &v + return s +} + +// Specifies information about the specified endpoint. +type EndpointProperties struct { + _ struct{} `type:"structure"` + + // The creation date and time of the endpoint. + CreationTime *time.Time `type:"timestamp"` + + // The number of inference units currently used by the model using this endpoint. + CurrentInferenceUnits *int64 `min:"1" type:"integer"` + + // The desired number of inference units to be used by the model using this + // endpoint. Each inference unit represents of a throughput of 100 characters + // per second. + DesiredInferenceUnits *int64 `min:"1" type:"integer"` + + // The Amazon Resource Number (ARN) of the endpoint. + EndpointArn *string `type:"string"` + + // The date and time that the endpoint was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // Specifies a reason for failure in cases of Failed status. + Message *string `type:"string"` + + // The Amazon Resource Number (ARN) of the model to which the endpoint is attached. + ModelArn *string `type:"string"` + + // Specifies the status of the endpoint. Because the endpoint updates and creation + // are asynchronous, so customers will need to wait for the endpoint to be Ready + // status before making inference requests. + Status *string `type:"string" enum:"EndpointStatus"` +} + +// String returns the string representation +func (s EndpointProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointProperties) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *EndpointProperties) SetCreationTime(v time.Time) *EndpointProperties { + s.CreationTime = &v + return s +} + +// SetCurrentInferenceUnits sets the CurrentInferenceUnits field's value. +func (s *EndpointProperties) SetCurrentInferenceUnits(v int64) *EndpointProperties { + s.CurrentInferenceUnits = &v + return s +} + +// SetDesiredInferenceUnits sets the DesiredInferenceUnits field's value. +func (s *EndpointProperties) SetDesiredInferenceUnits(v int64) *EndpointProperties { + s.DesiredInferenceUnits = &v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *EndpointProperties) SetEndpointArn(v string) *EndpointProperties { + s.EndpointArn = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *EndpointProperties) SetLastModifiedTime(v time.Time) *EndpointProperties { + s.LastModifiedTime = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *EndpointProperties) SetMessage(v string) *EndpointProperties { + s.Message = &v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *EndpointProperties) SetModelArn(v string) *EndpointProperties { + s.ModelArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EndpointProperties) SetStatus(v string) *EndpointProperties { + s.Status = &v + return s +} + // Provides information for filtering a list of dominant language detection // jobs. For more information, see the operation. type EntitiesDetectionJobFilter struct { @@ -9206,6 +10266,98 @@ func (s *ListDominantLanguageDetectionJobsOutput) SetNextToken(v string) *ListDo return s } +type ListEndpointsInput struct { + _ struct{} `type:"structure"` + + // Filters the endpoints that are returned. You can filter endpoints on their + // name, model, status, or the date and time that they were created. You can + // only set one filter at a time. + Filter *EndpointFilter `type:"structure"` + + // The maximum number of results to return in each page. The default is 100. + MaxResults *int64 `min:"1" type:"integer"` + + // Identifies the next page of results to return. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *ListEndpointsInput) SetFilter(v *EndpointFilter) *ListEndpointsInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEndpointsInput) SetMaxResults(v int64) *ListEndpointsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointsInput) SetNextToken(v string) *ListEndpointsInput { + s.NextToken = &v + return s +} + +type ListEndpointsOutput struct { + _ struct{} `type:"structure"` + + // Displays a list of endpoint properties being retrieved by the service in + // response to the request. + EndpointPropertiesList []*EndpointProperties `type:"list"` + + // Identifies the next page of results to return. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointsOutput) GoString() string { + return s.String() +} + +// SetEndpointPropertiesList sets the EndpointPropertiesList field's value. +func (s *ListEndpointsOutput) SetEndpointPropertiesList(v []*EndpointProperties) *ListEndpointsOutput { + s.EndpointPropertiesList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointsOutput) SetNextToken(v string) *ListEndpointsOutput { + s.NextToken = &v + return s +} + type ListEntitiesDetectionJobsInput struct { _ struct{} `type:"structure"` @@ -10528,10 +11680,9 @@ type StartEntitiesDetectionJobInput struct { JobName *string `min:"1" type:"string"` // The language of the input documents. All documents must be in the same language. - // You can specify any of the languages supported by Amazon Comprehend: English - // ("en"), Spanish ("es"), French ("fr"), German ("de"), Italian ("it"), or - // Portuguese ("pt"). If custom entities recognition is used, this parameter - // is ignored and the language used for training the model is used instead. + // You can specify any of the languages supported by Amazon Comprehend. If custom + // entities recognition is used, this parameter is ignored and the language + // used for training the model is used instead. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -10737,9 +11888,7 @@ type StartKeyPhrasesDetectionJobInput struct { JobName *string `min:"1" type:"string"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -10934,9 +12083,7 @@ type StartSentimentDetectionJobInput struct { JobName *string `min:"1" type:"string"` // The language of the input documents. You can specify any of the primary languages - // supported by Amazon Comprehend: German ("de"), English ("en"), Spanish ("es"), - // French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must be - // in the same language. + // supported by Amazon Comprehend. All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -12183,6 +13330,77 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateEndpointInput struct { + _ struct{} `type:"structure"` + + // The desired number of inference units to be used by the model using this + // endpoint. Each inference unit represents of a throughput of 100 characters + // per second. + // + // DesiredInferenceUnits is a required field + DesiredInferenceUnits *int64 `min:"1" type:"integer" required:"true"` + + // The Amazon Resource Number (ARN) of the endpoint being updated. + // + // EndpointArn is a required field + EndpointArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"} + if s.DesiredInferenceUnits == nil { + invalidParams.Add(request.NewErrParamRequired("DesiredInferenceUnits")) + } + if s.DesiredInferenceUnits != nil && *s.DesiredInferenceUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("DesiredInferenceUnits", 1)) + } + if s.EndpointArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDesiredInferenceUnits sets the DesiredInferenceUnits field's value. +func (s *UpdateEndpointInput) SetDesiredInferenceUnits(v int64) *UpdateEndpointInput { + s.DesiredInferenceUnits = &v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *UpdateEndpointInput) SetEndpointArn(v string) *UpdateEndpointInput { + s.EndpointArn = &v + return s +} + +type UpdateEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointOutput) GoString() string { + return s.String() +} + // Configuration parameters for an optional private Virtual Private Cloud (VPC) // containing the resources you are using for the job. For For more information, // see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). @@ -12253,6 +13471,23 @@ func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig { return s } +const ( + // EndpointStatusCreating is a EndpointStatus enum value + EndpointStatusCreating = "CREATING" + + // EndpointStatusDeleting is a EndpointStatus enum value + EndpointStatusDeleting = "DELETING" + + // EndpointStatusFailed is a EndpointStatus enum value + EndpointStatusFailed = "FAILED" + + // EndpointStatusInService is a EndpointStatus enum value + EndpointStatusInService = "IN_SERVICE" + + // EndpointStatusUpdating is a EndpointStatus enum value + EndpointStatusUpdating = "UPDATING" +) + const ( // EntityTypePerson is a EntityType enum value EntityTypePerson = "PERSON" diff --git a/service/comprehend/comprehendiface/interface.go b/service/comprehend/comprehendiface/interface.go index f5b8c2a7c02..2776a37557b 100644 --- a/service/comprehend/comprehendiface/interface.go +++ b/service/comprehend/comprehendiface/interface.go @@ -80,10 +80,18 @@ type ComprehendAPI interface { BatchDetectSyntaxWithContext(aws.Context, *comprehend.BatchDetectSyntaxInput, ...request.Option) (*comprehend.BatchDetectSyntaxOutput, error) BatchDetectSyntaxRequest(*comprehend.BatchDetectSyntaxInput) (*request.Request, *comprehend.BatchDetectSyntaxOutput) + ClassifyDocument(*comprehend.ClassifyDocumentInput) (*comprehend.ClassifyDocumentOutput, error) + ClassifyDocumentWithContext(aws.Context, *comprehend.ClassifyDocumentInput, ...request.Option) (*comprehend.ClassifyDocumentOutput, error) + ClassifyDocumentRequest(*comprehend.ClassifyDocumentInput) (*request.Request, *comprehend.ClassifyDocumentOutput) + CreateDocumentClassifier(*comprehend.CreateDocumentClassifierInput) (*comprehend.CreateDocumentClassifierOutput, error) CreateDocumentClassifierWithContext(aws.Context, *comprehend.CreateDocumentClassifierInput, ...request.Option) (*comprehend.CreateDocumentClassifierOutput, error) CreateDocumentClassifierRequest(*comprehend.CreateDocumentClassifierInput) (*request.Request, *comprehend.CreateDocumentClassifierOutput) + CreateEndpoint(*comprehend.CreateEndpointInput) (*comprehend.CreateEndpointOutput, error) + CreateEndpointWithContext(aws.Context, *comprehend.CreateEndpointInput, ...request.Option) (*comprehend.CreateEndpointOutput, error) + CreateEndpointRequest(*comprehend.CreateEndpointInput) (*request.Request, *comprehend.CreateEndpointOutput) + CreateEntityRecognizer(*comprehend.CreateEntityRecognizerInput) (*comprehend.CreateEntityRecognizerOutput, error) CreateEntityRecognizerWithContext(aws.Context, *comprehend.CreateEntityRecognizerInput, ...request.Option) (*comprehend.CreateEntityRecognizerOutput, error) CreateEntityRecognizerRequest(*comprehend.CreateEntityRecognizerInput) (*request.Request, *comprehend.CreateEntityRecognizerOutput) @@ -92,6 +100,10 @@ type ComprehendAPI interface { DeleteDocumentClassifierWithContext(aws.Context, *comprehend.DeleteDocumentClassifierInput, ...request.Option) (*comprehend.DeleteDocumentClassifierOutput, error) DeleteDocumentClassifierRequest(*comprehend.DeleteDocumentClassifierInput) (*request.Request, *comprehend.DeleteDocumentClassifierOutput) + DeleteEndpoint(*comprehend.DeleteEndpointInput) (*comprehend.DeleteEndpointOutput, error) + DeleteEndpointWithContext(aws.Context, *comprehend.DeleteEndpointInput, ...request.Option) (*comprehend.DeleteEndpointOutput, error) + DeleteEndpointRequest(*comprehend.DeleteEndpointInput) (*request.Request, *comprehend.DeleteEndpointOutput) + DeleteEntityRecognizer(*comprehend.DeleteEntityRecognizerInput) (*comprehend.DeleteEntityRecognizerOutput, error) DeleteEntityRecognizerWithContext(aws.Context, *comprehend.DeleteEntityRecognizerInput, ...request.Option) (*comprehend.DeleteEntityRecognizerOutput, error) DeleteEntityRecognizerRequest(*comprehend.DeleteEntityRecognizerInput) (*request.Request, *comprehend.DeleteEntityRecognizerOutput) @@ -108,6 +120,10 @@ type ComprehendAPI interface { DescribeDominantLanguageDetectionJobWithContext(aws.Context, *comprehend.DescribeDominantLanguageDetectionJobInput, ...request.Option) (*comprehend.DescribeDominantLanguageDetectionJobOutput, error) DescribeDominantLanguageDetectionJobRequest(*comprehend.DescribeDominantLanguageDetectionJobInput) (*request.Request, *comprehend.DescribeDominantLanguageDetectionJobOutput) + DescribeEndpoint(*comprehend.DescribeEndpointInput) (*comprehend.DescribeEndpointOutput, error) + DescribeEndpointWithContext(aws.Context, *comprehend.DescribeEndpointInput, ...request.Option) (*comprehend.DescribeEndpointOutput, error) + DescribeEndpointRequest(*comprehend.DescribeEndpointInput) (*request.Request, *comprehend.DescribeEndpointOutput) + DescribeEntitiesDetectionJob(*comprehend.DescribeEntitiesDetectionJobInput) (*comprehend.DescribeEntitiesDetectionJobOutput, error) DescribeEntitiesDetectionJobWithContext(aws.Context, *comprehend.DescribeEntitiesDetectionJobInput, ...request.Option) (*comprehend.DescribeEntitiesDetectionJobOutput, error) DescribeEntitiesDetectionJobRequest(*comprehend.DescribeEntitiesDetectionJobInput) (*request.Request, *comprehend.DescribeEntitiesDetectionJobOutput) @@ -169,6 +185,10 @@ type ComprehendAPI interface { ListDominantLanguageDetectionJobsPages(*comprehend.ListDominantLanguageDetectionJobsInput, func(*comprehend.ListDominantLanguageDetectionJobsOutput, bool) bool) error ListDominantLanguageDetectionJobsPagesWithContext(aws.Context, *comprehend.ListDominantLanguageDetectionJobsInput, func(*comprehend.ListDominantLanguageDetectionJobsOutput, bool) bool, ...request.Option) error + ListEndpoints(*comprehend.ListEndpointsInput) (*comprehend.ListEndpointsOutput, error) + ListEndpointsWithContext(aws.Context, *comprehend.ListEndpointsInput, ...request.Option) (*comprehend.ListEndpointsOutput, error) + ListEndpointsRequest(*comprehend.ListEndpointsInput) (*request.Request, *comprehend.ListEndpointsOutput) + ListEntitiesDetectionJobs(*comprehend.ListEntitiesDetectionJobsInput) (*comprehend.ListEntitiesDetectionJobsOutput, error) ListEntitiesDetectionJobsWithContext(aws.Context, *comprehend.ListEntitiesDetectionJobsInput, ...request.Option) (*comprehend.ListEntitiesDetectionJobsOutput, error) ListEntitiesDetectionJobsRequest(*comprehend.ListEntitiesDetectionJobsInput) (*request.Request, *comprehend.ListEntitiesDetectionJobsOutput) @@ -263,6 +283,10 @@ type ComprehendAPI interface { UntagResource(*comprehend.UntagResourceInput) (*comprehend.UntagResourceOutput, error) UntagResourceWithContext(aws.Context, *comprehend.UntagResourceInput, ...request.Option) (*comprehend.UntagResourceOutput, error) UntagResourceRequest(*comprehend.UntagResourceInput) (*request.Request, *comprehend.UntagResourceOutput) + + UpdateEndpoint(*comprehend.UpdateEndpointInput) (*comprehend.UpdateEndpointOutput, error) + UpdateEndpointWithContext(aws.Context, *comprehend.UpdateEndpointInput, ...request.Option) (*comprehend.UpdateEndpointOutput, error) + UpdateEndpointRequest(*comprehend.UpdateEndpointInput) (*request.Request, *comprehend.UpdateEndpointOutput) } var _ ComprehendAPI = (*comprehend.Comprehend)(nil) diff --git a/service/costexplorer/api.go b/service/costexplorer/api.go index a265a769e78..f0ee95b2cf9 100644 --- a/service/costexplorer/api.go +++ b/service/costexplorer/api.go @@ -3,11 +3,285 @@ package costexplorer import ( + "fmt" + "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" ) +const opCreateCostCategoryDefinition = "CreateCostCategoryDefinition" + +// CreateCostCategoryDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the CreateCostCategoryDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCostCategoryDefinition for more information on using the CreateCostCategoryDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCostCategoryDefinitionRequest method. +// req, resp := client.CreateCostCategoryDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition +func (c *CostExplorer) CreateCostCategoryDefinitionRequest(input *CreateCostCategoryDefinitionInput) (req *request.Request, output *CreateCostCategoryDefinitionOutput) { + op := &request.Operation{ + Name: opCreateCostCategoryDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCostCategoryDefinitionInput{} + } + + output = &CreateCostCategoryDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCostCategoryDefinition API operation for AWS Cost Explorer Service. +// +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// Creates a new Cost Category with the requested name and rules. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cost Explorer Service's +// API operation CreateCostCategoryDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException" +// You've reached the limit on the number of resources you can create, or exceeded +// the size of an individual resources. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You made too many calls in a short period of time. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition +func (c *CostExplorer) CreateCostCategoryDefinition(input *CreateCostCategoryDefinitionInput) (*CreateCostCategoryDefinitionOutput, error) { + req, out := c.CreateCostCategoryDefinitionRequest(input) + return out, req.Send() +} + +// CreateCostCategoryDefinitionWithContext is the same as CreateCostCategoryDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCostCategoryDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CostExplorer) CreateCostCategoryDefinitionWithContext(ctx aws.Context, input *CreateCostCategoryDefinitionInput, opts ...request.Option) (*CreateCostCategoryDefinitionOutput, error) { + req, out := c.CreateCostCategoryDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCostCategoryDefinition = "DeleteCostCategoryDefinition" + +// DeleteCostCategoryDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCostCategoryDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCostCategoryDefinition for more information on using the DeleteCostCategoryDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCostCategoryDefinitionRequest method. +// req, resp := client.DeleteCostCategoryDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition +func (c *CostExplorer) DeleteCostCategoryDefinitionRequest(input *DeleteCostCategoryDefinitionInput) (req *request.Request, output *DeleteCostCategoryDefinitionOutput) { + op := &request.Operation{ + Name: opDeleteCostCategoryDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCostCategoryDefinitionInput{} + } + + output = &DeleteCostCategoryDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCostCategoryDefinition API operation for AWS Cost Explorer Service. +// +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// Deletes a Cost Category. Expenses from this month going forward will no longer +// be categorized with this Cost Category. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cost Explorer Service's +// API operation DeleteCostCategoryDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified ARN in the request doesn't exist. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You made too many calls in a short period of time. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition +func (c *CostExplorer) DeleteCostCategoryDefinition(input *DeleteCostCategoryDefinitionInput) (*DeleteCostCategoryDefinitionOutput, error) { + req, out := c.DeleteCostCategoryDefinitionRequest(input) + return out, req.Send() +} + +// DeleteCostCategoryDefinitionWithContext is the same as DeleteCostCategoryDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCostCategoryDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CostExplorer) DeleteCostCategoryDefinitionWithContext(ctx aws.Context, input *DeleteCostCategoryDefinitionInput, opts ...request.Option) (*DeleteCostCategoryDefinitionOutput, error) { + req, out := c.DeleteCostCategoryDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeCostCategoryDefinition = "DescribeCostCategoryDefinition" + +// DescribeCostCategoryDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCostCategoryDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeCostCategoryDefinition for more information on using the DescribeCostCategoryDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeCostCategoryDefinitionRequest method. +// req, resp := client.DescribeCostCategoryDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition +func (c *CostExplorer) DescribeCostCategoryDefinitionRequest(input *DescribeCostCategoryDefinitionInput) (req *request.Request, output *DescribeCostCategoryDefinitionOutput) { + op := &request.Operation{ + Name: opDescribeCostCategoryDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeCostCategoryDefinitionInput{} + } + + output = &DescribeCostCategoryDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCostCategoryDefinition API operation for AWS Cost Explorer Service. +// +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// Returns the name, ARN, rules, definition, and effective dates of a Cost Category +// that's defined in the account. +// +// You have the option to use EffectiveOn to return a Cost Category that is +// active on a specific date. If there is no EffectiveOn specified, you’ll +// see a Cost Category that is effective on the current date. If Cost Category +// is still effective, EffectiveEnd is omitted in the response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cost Explorer Service's +// API operation DescribeCostCategoryDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified ARN in the request doesn't exist. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You made too many calls in a short period of time. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition +func (c *CostExplorer) DescribeCostCategoryDefinition(input *DescribeCostCategoryDefinitionInput) (*DescribeCostCategoryDefinitionOutput, error) { + req, out := c.DescribeCostCategoryDefinitionRequest(input) + return out, req.Send() +} + +// DescribeCostCategoryDefinitionWithContext is the same as DescribeCostCategoryDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCostCategoryDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CostExplorer) DescribeCostCategoryDefinitionWithContext(ctx aws.Context, input *DescribeCostCategoryDefinitionInput, opts ...request.Option) (*DescribeCostCategoryDefinitionOutput, error) { + req, out := c.DescribeCostCategoryDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetCostAndUsage = "GetCostAndUsage" // GetCostAndUsageRequest generates a "aws/request.Request" representing the @@ -1437,35 +1711,493 @@ func (c *CostExplorer) GetUsageForecastWithContext(ctx aws.Context, input *GetUs return out, req.Send() } -// The amount of instance usage that a reservation covered. -type Coverage struct { - _ struct{} `type:"structure"` +const opListCostCategoryDefinitions = "ListCostCategoryDefinitions" - // The amount of cost that the reservation covered. - CoverageCost *CoverageCost `type:"structure"` +// ListCostCategoryDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the ListCostCategoryDefinitions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCostCategoryDefinitions for more information on using the ListCostCategoryDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCostCategoryDefinitionsRequest method. +// req, resp := client.ListCostCategoryDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions +func (c *CostExplorer) ListCostCategoryDefinitionsRequest(input *ListCostCategoryDefinitionsInput) (req *request.Request, output *ListCostCategoryDefinitionsOutput) { + op := &request.Operation{ + Name: opListCostCategoryDefinitions, + HTTPMethod: "POST", + HTTPPath: "/", + } - // The amount of instance usage that the reservation covered, in hours. - CoverageHours *CoverageHours `type:"structure"` + if input == nil { + input = &ListCostCategoryDefinitionsInput{} + } - // The amount of instance usage that the reservation covered, in normalized - // units. - CoverageNormalizedUnits *CoverageNormalizedUnits `type:"structure"` + output = &ListCostCategoryDefinitionsOutput{} + req = c.newRequest(op, input, output) + return } -// String returns the string representation -func (s Coverage) String() string { - return awsutil.Prettify(s) +// ListCostCategoryDefinitions API operation for AWS Cost Explorer Service. +// +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// Returns the name, ARN and effective dates of all Cost Categories defined +// in the account. You have the option to use EffectiveOn to return a list of +// Cost Categories that were active on a specific date. If there is no EffectiveOn +// specified, you’ll see Cost Categories that are effective on the current +// date. If Cost Category is still effective, EffectiveEnd is omitted in the +// response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cost Explorer Service's +// API operation ListCostCategoryDefinitions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// You made too many calls in a short period of time. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions +func (c *CostExplorer) ListCostCategoryDefinitions(input *ListCostCategoryDefinitionsInput) (*ListCostCategoryDefinitionsOutput, error) { + req, out := c.ListCostCategoryDefinitionsRequest(input) + return out, req.Send() } -// GoString returns the string representation -func (s Coverage) GoString() string { - return s.String() +// ListCostCategoryDefinitionsWithContext is the same as ListCostCategoryDefinitions with the addition of +// the ability to pass a context and additional request options. +// +// See ListCostCategoryDefinitions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CostExplorer) ListCostCategoryDefinitionsWithContext(ctx aws.Context, input *ListCostCategoryDefinitionsInput, opts ...request.Option) (*ListCostCategoryDefinitionsOutput, error) { + req, out := c.ListCostCategoryDefinitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// SetCoverageCost sets the CoverageCost field's value. -func (s *Coverage) SetCoverageCost(v *CoverageCost) *Coverage { - s.CoverageCost = v - return s +const opUpdateCostCategoryDefinition = "UpdateCostCategoryDefinition" + +// UpdateCostCategoryDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCostCategoryDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCostCategoryDefinition for more information on using the UpdateCostCategoryDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCostCategoryDefinitionRequest method. +// req, resp := client.UpdateCostCategoryDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition +func (c *CostExplorer) UpdateCostCategoryDefinitionRequest(input *UpdateCostCategoryDefinitionInput) (req *request.Request, output *UpdateCostCategoryDefinitionOutput) { + op := &request.Operation{ + Name: opUpdateCostCategoryDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCostCategoryDefinitionInput{} + } + + output = &UpdateCostCategoryDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCostCategoryDefinition API operation for AWS Cost Explorer Service. +// +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// Updates an existing Cost Category. Changes made to the Cost Category rules +// will be used to categorize the current month’s expenses and future expenses. +// This won’t change categorization for the previous months. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cost Explorer Service's +// API operation UpdateCostCategoryDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified ARN in the request doesn't exist. +// +// * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException" +// You've reached the limit on the number of resources you can create, or exceeded +// the size of an individual resources. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You made too many calls in a short period of time. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition +func (c *CostExplorer) UpdateCostCategoryDefinition(input *UpdateCostCategoryDefinitionInput) (*UpdateCostCategoryDefinitionOutput, error) { + req, out := c.UpdateCostCategoryDefinitionRequest(input) + return out, req.Send() +} + +// UpdateCostCategoryDefinitionWithContext is the same as UpdateCostCategoryDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCostCategoryDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CostExplorer) UpdateCostCategoryDefinitionWithContext(ctx aws.Context, input *UpdateCostCategoryDefinitionInput, opts ...request.Option) (*UpdateCostCategoryDefinitionOutput, error) { + req, out := c.UpdateCostCategoryDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// The structure of Cost Categories. This includes detailed metadata and the +// set of rules for the CostCategory object. +type CostCategory struct { + _ struct{} `type:"structure"` + + // The unique identifier for your Cost Category. + // + // CostCategoryArn is a required field + CostCategoryArn *string `min:"20" type:"string" required:"true"` + + // The Cost Category's effective end date. + EffectiveEnd *string `min:"20" type:"string"` + + // The Cost Category's effective start date. + // + // EffectiveStart is a required field + EffectiveStart *string `min:"20" type:"string" required:"true"` + + // The unique name of the Cost Category. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The rule schema version in this particular Cost Category. + // + // RuleVersion is a required field + RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` + + // Rules are processed in order. If there are multiple rules that match the + // line item, then the first rule to match is used to determine that Cost Category + // value. + // + // Rules is a required field + Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CostCategory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CostCategory) GoString() string { + return s.String() +} + +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *CostCategory) SetCostCategoryArn(v string) *CostCategory { + s.CostCategoryArn = &v + return s +} + +// SetEffectiveEnd sets the EffectiveEnd field's value. +func (s *CostCategory) SetEffectiveEnd(v string) *CostCategory { + s.EffectiveEnd = &v + return s +} + +// SetEffectiveStart sets the EffectiveStart field's value. +func (s *CostCategory) SetEffectiveStart(v string) *CostCategory { + s.EffectiveStart = &v + return s +} + +// SetName sets the Name field's value. +func (s *CostCategory) SetName(v string) *CostCategory { + s.Name = &v + return s +} + +// SetRuleVersion sets the RuleVersion field's value. +func (s *CostCategory) SetRuleVersion(v string) *CostCategory { + s.RuleVersion = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *CostCategory) SetRules(v []*CostCategoryRule) *CostCategory { + s.Rules = v + return s +} + +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// A reference to a Cost Category containing only enough information to identify +// the Cost Category. +// +// You can use this information to retrieve the full Cost Category information +// using DescribeCostCategory. +type CostCategoryReference struct { + _ struct{} `type:"structure"` + + // The unique identifier for your Cost Category Reference. + CostCategoryArn *string `min:"20" type:"string"` + + // The Cost Category's effective end date. + EffectiveEnd *string `min:"20" type:"string"` + + // The Cost Category's effective start date. + EffectiveStart *string `min:"20" type:"string"` + + // The unique name of the Cost Category. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CostCategoryReference) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CostCategoryReference) GoString() string { + return s.String() +} + +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *CostCategoryReference) SetCostCategoryArn(v string) *CostCategoryReference { + s.CostCategoryArn = &v + return s +} + +// SetEffectiveEnd sets the EffectiveEnd field's value. +func (s *CostCategoryReference) SetEffectiveEnd(v string) *CostCategoryReference { + s.EffectiveEnd = &v + return s +} + +// SetEffectiveStart sets the EffectiveStart field's value. +func (s *CostCategoryReference) SetEffectiveStart(v string) *CostCategoryReference { + s.EffectiveStart = &v + return s +} + +// SetName sets the Name field's value. +func (s *CostCategoryReference) SetName(v string) *CostCategoryReference { + s.Name = &v + return s +} + +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// Rules are processed in order. If there are multiple rules that match the +// line item, then the first rule to match is used to determine that Cost Category +// value. +type CostCategoryRule struct { + _ struct{} `type:"structure"` + + // An Expression (http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) + // object used to categorize costs. This supports dimensions, Tags, and nested + // expressions. Currently the only dimensions supported is LINKED_ACCOUNT. + // + // Root level OR is not supported. We recommend you create a separate rule instead. + // + // Rule is a required field + Rule *Expression `type:"structure" required:"true"` + + // The value a line item will be categorized as, if it matches the rule. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CostCategoryRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CostCategoryRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CostCategoryRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CostCategoryRule"} + if s.Rule == nil { + invalidParams.Add(request.NewErrParamRequired("Rule")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + if s.Rule != nil { + if err := s.Rule.Validate(); err != nil { + invalidParams.AddNested("Rule", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRule sets the Rule field's value. +func (s *CostCategoryRule) SetRule(v *Expression) *CostCategoryRule { + s.Rule = v + return s +} + +// SetValue sets the Value field's value. +func (s *CostCategoryRule) SetValue(v string) *CostCategoryRule { + s.Value = &v + return s +} + +// +// Cost Category is in preview release for AWS Billing and Cost Management +// and is subject to change. Your use of Cost Categories is subject to the +// Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) +// (Section 1.10). +// +// The values that are available for Cost Categories. +type CostCategoryValues struct { + _ struct{} `type:"structure"` + + // The unique name of the Cost Category. + Key *string `min:"1" type:"string"` + + // The specific value of the Cost Category. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s CostCategoryValues) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CostCategoryValues) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CostCategoryValues) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CostCategoryValues"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *CostCategoryValues) SetKey(v string) *CostCategoryValues { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *CostCategoryValues) SetValues(v []*string) *CostCategoryValues { + s.Values = v + return s +} + +// The amount of instance usage that a reservation covered. +type Coverage struct { + _ struct{} `type:"structure"` + + // The amount of cost that the reservation covered. + CoverageCost *CoverageCost `type:"structure"` + + // The amount of instance usage that the reservation covered, in hours. + CoverageHours *CoverageHours `type:"structure"` + + // The amount of instance usage that the reservation covered, in normalized + // units. + CoverageNormalizedUnits *CoverageNormalizedUnits `type:"structure"` +} + +// String returns the string representation +func (s Coverage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Coverage) GoString() string { + return s.String() +} + +// SetCoverageCost sets the CoverageCost field's value. +func (s *Coverage) SetCoverageCost(v *CoverageCost) *Coverage { + s.CoverageCost = v + return s } // SetCoverageHours sets the CoverageHours field's value. @@ -1660,6 +2392,122 @@ func (s *CoverageNormalizedUnits) SetTotalRunningNormalizedUnits(v string) *Cove return s } +type CreateCostCategoryDefinitionInput struct { + _ struct{} `type:"structure"` + + // The unique name of the Cost Category. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The rule schema version in this particular Cost Category. + // + // RuleVersion is a required field + RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` + + // Rules are processed in order. If there are multiple rules that match the + // line item, then the first rule to match is used to determine that Cost Category + // value. + // + // Rules is a required field + Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreateCostCategoryDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCostCategoryDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCostCategoryDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCostCategoryDefinitionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RuleVersion == nil { + invalidParams.Add(request.NewErrParamRequired("RuleVersion")) + } + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) + } + if s.Rules != nil && len(s.Rules) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateCostCategoryDefinitionInput) SetName(v string) *CreateCostCategoryDefinitionInput { + s.Name = &v + return s +} + +// SetRuleVersion sets the RuleVersion field's value. +func (s *CreateCostCategoryDefinitionInput) SetRuleVersion(v string) *CreateCostCategoryDefinitionInput { + s.RuleVersion = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *CreateCostCategoryDefinitionInput) SetRules(v []*CostCategoryRule) *CreateCostCategoryDefinitionInput { + s.Rules = v + return s +} + +type CreateCostCategoryDefinitionOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for your newly created Cost Category. + CostCategoryArn *string `min:"20" type:"string"` + + // The Cost Category's effective start date. + EffectiveStart *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s CreateCostCategoryDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCostCategoryDefinitionOutput) GoString() string { + return s.String() +} + +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *CreateCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *CreateCostCategoryDefinitionOutput { + s.CostCategoryArn = &v + return s +} + +// SetEffectiveStart sets the EffectiveStart field's value. +func (s *CreateCostCategoryDefinitionOutput) SetEffectiveStart(v string) *CreateCostCategoryDefinitionOutput { + s.EffectiveStart = &v + return s +} + // Context about the current instance. type CurrentInstance struct { _ struct{} `type:"structure"` @@ -1718,91 +2566,218 @@ func (s *CurrentInstance) SetMonthlyCost(v string) *CurrentInstance { return s } -// SetOnDemandHoursInLookbackPeriod sets the OnDemandHoursInLookbackPeriod field's value. -func (s *CurrentInstance) SetOnDemandHoursInLookbackPeriod(v string) *CurrentInstance { - s.OnDemandHoursInLookbackPeriod = &v - return s -} +// SetOnDemandHoursInLookbackPeriod sets the OnDemandHoursInLookbackPeriod field's value. +func (s *CurrentInstance) SetOnDemandHoursInLookbackPeriod(v string) *CurrentInstance { + s.OnDemandHoursInLookbackPeriod = &v + return s +} + +// SetReservationCoveredHoursInLookbackPeriod sets the ReservationCoveredHoursInLookbackPeriod field's value. +func (s *CurrentInstance) SetReservationCoveredHoursInLookbackPeriod(v string) *CurrentInstance { + s.ReservationCoveredHoursInLookbackPeriod = &v + return s +} + +// SetResourceDetails sets the ResourceDetails field's value. +func (s *CurrentInstance) SetResourceDetails(v *ResourceDetails) *CurrentInstance { + s.ResourceDetails = v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *CurrentInstance) SetResourceId(v string) *CurrentInstance { + s.ResourceId = &v + return s +} + +// SetResourceUtilization sets the ResourceUtilization field's value. +func (s *CurrentInstance) SetResourceUtilization(v *ResourceUtilization) *CurrentInstance { + s.ResourceUtilization = v + return s +} + +// SetSavingsPlansCoveredHoursInLookbackPeriod sets the SavingsPlansCoveredHoursInLookbackPeriod field's value. +func (s *CurrentInstance) SetSavingsPlansCoveredHoursInLookbackPeriod(v string) *CurrentInstance { + s.SavingsPlansCoveredHoursInLookbackPeriod = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CurrentInstance) SetTags(v []*TagValues) *CurrentInstance { + s.Tags = v + return s +} + +// SetTotalRunningHoursInLookbackPeriod sets the TotalRunningHoursInLookbackPeriod field's value. +func (s *CurrentInstance) SetTotalRunningHoursInLookbackPeriod(v string) *CurrentInstance { + s.TotalRunningHoursInLookbackPeriod = &v + return s +} + +// The time period that you want the usage and costs for. +type DateInterval struct { + _ struct{} `type:"structure"` + + // 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. + // + // End is a required field + End *string `type:"string" required:"true"` + + // 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. + // + // Start is a required field + Start *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DateInterval) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DateInterval) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DateInterval) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DateInterval"} + if s.End == nil { + invalidParams.Add(request.NewErrParamRequired("End")) + } + if s.Start == nil { + invalidParams.Add(request.NewErrParamRequired("Start")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnd sets the End field's value. +func (s *DateInterval) SetEnd(v string) *DateInterval { + s.End = &v + return s +} + +// SetStart sets the Start field's value. +func (s *DateInterval) SetStart(v string) *DateInterval { + s.Start = &v + return s +} + +type DeleteCostCategoryDefinitionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for your Cost Category. + // + // CostCategoryArn is a required field + CostCategoryArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCostCategoryDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCostCategoryDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCostCategoryDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCostCategoryDefinitionInput"} + if s.CostCategoryArn == nil { + invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) + } + if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) + } -// SetReservationCoveredHoursInLookbackPeriod sets the ReservationCoveredHoursInLookbackPeriod field's value. -func (s *CurrentInstance) SetReservationCoveredHoursInLookbackPeriod(v string) *CurrentInstance { - s.ReservationCoveredHoursInLookbackPeriod = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetResourceDetails sets the ResourceDetails field's value. -func (s *CurrentInstance) SetResourceDetails(v *ResourceDetails) *CurrentInstance { - s.ResourceDetails = v +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *DeleteCostCategoryDefinitionInput) SetCostCategoryArn(v string) *DeleteCostCategoryDefinitionInput { + s.CostCategoryArn = &v return s } -// SetResourceId sets the ResourceId field's value. -func (s *CurrentInstance) SetResourceId(v string) *CurrentInstance { - s.ResourceId = &v - return s +type DeleteCostCategoryDefinitionOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for your Cost Category. + CostCategoryArn *string `min:"20" type:"string"` + + // The effective end date of the Cost Category as a result of deleting it. No + // costs after this date will be categorized by the deleted Cost Category. + EffectiveEnd *string `min:"20" type:"string"` } -// SetResourceUtilization sets the ResourceUtilization field's value. -func (s *CurrentInstance) SetResourceUtilization(v *ResourceUtilization) *CurrentInstance { - s.ResourceUtilization = v - return s +// String returns the string representation +func (s DeleteCostCategoryDefinitionOutput) String() string { + return awsutil.Prettify(s) } -// SetSavingsPlansCoveredHoursInLookbackPeriod sets the SavingsPlansCoveredHoursInLookbackPeriod field's value. -func (s *CurrentInstance) SetSavingsPlansCoveredHoursInLookbackPeriod(v string) *CurrentInstance { - s.SavingsPlansCoveredHoursInLookbackPeriod = &v - return s +// GoString returns the string representation +func (s DeleteCostCategoryDefinitionOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CurrentInstance) SetTags(v []*TagValues) *CurrentInstance { - s.Tags = v +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *DeleteCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *DeleteCostCategoryDefinitionOutput { + s.CostCategoryArn = &v return s } -// SetTotalRunningHoursInLookbackPeriod sets the TotalRunningHoursInLookbackPeriod field's value. -func (s *CurrentInstance) SetTotalRunningHoursInLookbackPeriod(v string) *CurrentInstance { - s.TotalRunningHoursInLookbackPeriod = &v +// SetEffectiveEnd sets the EffectiveEnd field's value. +func (s *DeleteCostCategoryDefinitionOutput) SetEffectiveEnd(v string) *DeleteCostCategoryDefinitionOutput { + s.EffectiveEnd = &v return s } -// The time period that you want the usage and costs for. -type DateInterval struct { +type DescribeCostCategoryDefinitionInput struct { _ struct{} `type:"structure"` - // 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. + // The unique identifier for your Cost Category. // - // End is a required field - End *string `type:"string" required:"true"` + // CostCategoryArn is a required field + CostCategoryArn *string `min:"20" type:"string" required:"true"` - // 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. - // - // Start is a required field - Start *string `type:"string" required:"true"` + // The date when the Cost Category was effective. + EffectiveOn *string `min:"20" type:"string"` } // String returns the string representation -func (s DateInterval) String() string { +func (s DescribeCostCategoryDefinitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DateInterval) GoString() string { +func (s DescribeCostCategoryDefinitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DateInterval) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DateInterval"} - if s.End == nil { - invalidParams.Add(request.NewErrParamRequired("End")) +func (s *DescribeCostCategoryDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCostCategoryDefinitionInput"} + if s.CostCategoryArn == nil { + invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) } - if s.Start == nil { - invalidParams.Add(request.NewErrParamRequired("Start")) + if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) + } + if s.EffectiveOn != nil && len(*s.EffectiveOn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EffectiveOn", 20)) } if invalidParams.Len() > 0 { @@ -1811,15 +2786,45 @@ func (s *DateInterval) Validate() error { return nil } -// SetEnd sets the End field's value. -func (s *DateInterval) SetEnd(v string) *DateInterval { - s.End = &v +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *DescribeCostCategoryDefinitionInput) SetCostCategoryArn(v string) *DescribeCostCategoryDefinitionInput { + s.CostCategoryArn = &v return s } -// SetStart sets the Start field's value. -func (s *DateInterval) SetStart(v string) *DateInterval { - s.Start = &v +// SetEffectiveOn sets the EffectiveOn field's value. +func (s *DescribeCostCategoryDefinitionInput) SetEffectiveOn(v string) *DescribeCostCategoryDefinitionInput { + s.EffectiveOn = &v + return s +} + +type DescribeCostCategoryDefinitionOutput struct { + _ struct{} `type:"structure"` + + // + // Cost Category is in preview release for AWS Billing and Cost Management + // and is subject to change. Your use of Cost Categories is subject to the + // Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) + // (Section 1.10). + // + // The structure of Cost Categories. This includes detailed metadata and the + // set of rules for the CostCategory object. + CostCategory *CostCategory `type:"structure"` +} + +// String returns the string representation +func (s DescribeCostCategoryDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCostCategoryDefinitionOutput) GoString() string { + return s.String() +} + +// SetCostCategory sets the CostCategory field's value. +func (s *DescribeCostCategoryDefinitionOutput) SetCostCategory(v *CostCategory) *DescribeCostCategoryDefinitionOutput { + s.CostCategory = v return s } @@ -2314,6 +3319,14 @@ type Expression struct { // Return results that match both Dimension objects. And []*Expression `type:"list"` + // Cost Category is in preview release for AWS Billing and Cost Management + // and is subject to change. Your use of Cost Categories is subject to the + // Beta Service Participation terms of the AWS Service Terms (https://aws.amazon.com/service-terms/) + // (Section 1.10). + // + // The specific CostCategory used for Expression. + CostCategories *CostCategoryValues `type:"structure"` + // The specific Dimension to use for Expression. Dimensions *DimensionValues `type:"structure"` @@ -2337,12 +3350,48 @@ func (s Expression) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Expression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Expression"} + if s.CostCategories != nil { + if err := s.CostCategories.Validate(); err != nil { + invalidParams.AddNested("CostCategories", err.(request.ErrInvalidParams)) + } + } + if s.Not != nil { + if err := s.Not.Validate(); err != nil { + invalidParams.AddNested("Not", err.(request.ErrInvalidParams)) + } + } + if s.Or != nil { + for i, v := range s.Or { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Or", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAnd sets the And field's value. func (s *Expression) SetAnd(v []*Expression) *Expression { s.And = v return s } +// SetCostCategories sets the CostCategories field's value. +func (s *Expression) SetCostCategories(v *CostCategoryValues) *Expression { + s.CostCategories = v + return s +} + // SetDimensions sets the Dimensions field's value. func (s *Expression) SetDimensions(v *DimensionValues) *Expression { s.Dimensions = v @@ -2488,6 +3537,11 @@ func (s *GetCostAndUsageInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -2651,6 +3705,11 @@ func (s *GetCostAndUsageWithResourcesInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -2815,6 +3874,11 @@ func (s *GetCostForecastInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -3335,6 +4399,11 @@ func (s *GetReservationCoverageInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -3665,6 +4734,11 @@ func (s *GetReservationUtilizationInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -3816,6 +4890,11 @@ func (s *GetRightsizingRecommendationInput) Validate() error { if s.Service == nil { invalidParams.Add(request.NewErrParamRequired("Service")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3965,6 +5044,11 @@ func (s *GetSavingsPlansCoverageInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -4256,6 +5340,11 @@ func (s *GetSavingsPlansUtilizationDetailsInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -4402,6 +5491,11 @@ func (s *GetSavingsPlansUtilizationInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -4669,6 +5763,11 @@ func (s *GetUsageForecastInput) Validate() error { if s.TimePeriod == nil { invalidParams.Add(request.NewErrParamRequired("TimePeriod")) } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } if s.TimePeriod != nil { if err := s.TimePeriod.Validate(); err != nil { invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) @@ -4871,6 +5970,91 @@ func (s *InstanceDetails) SetRedshiftInstanceDetails(v *RedshiftInstanceDetails) return s } +type ListCostCategoryDefinitionsInput struct { + _ struct{} `type:"structure"` + + // The date when the Cost Category was effective. + EffectiveOn *string `min:"20" type:"string"` + + // The token to retrieve the next set of results. Amazon Web Services provides + // the token when the response from a previous call has more results than the + // maximum page size. + // + // You can use this information to retrieve the full Cost Category information + // using DescribeCostCategory. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCostCategoryDefinitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCostCategoryDefinitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCostCategoryDefinitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCostCategoryDefinitionsInput"} + if s.EffectiveOn != nil && len(*s.EffectiveOn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EffectiveOn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEffectiveOn sets the EffectiveOn field's value. +func (s *ListCostCategoryDefinitionsInput) SetEffectiveOn(v string) *ListCostCategoryDefinitionsInput { + s.EffectiveOn = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCostCategoryDefinitionsInput) SetNextToken(v string) *ListCostCategoryDefinitionsInput { + s.NextToken = &v + return s +} + +type ListCostCategoryDefinitionsOutput struct { + _ struct{} `type:"structure"` + + // A reference to a Cost Category containing enough information to identify + // the Cost Category. + CostCategoryReferences []*CostCategoryReference `type:"list"` + + // The token to retrieve the next set of results. Amazon Web Services provides + // the token when the response from a previous call has more results than the + // maximum page size. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCostCategoryDefinitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCostCategoryDefinitionsOutput) GoString() string { + return s.String() +} + +// SetCostCategoryReferences sets the CostCategoryReferences field's value. +func (s *ListCostCategoryDefinitionsOutput) SetCostCategoryReferences(v []*CostCategoryReference) *ListCostCategoryDefinitionsOutput { + s.CostCategoryReferences = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCostCategoryDefinitionsOutput) SetNextToken(v string) *ListCostCategoryDefinitionsOutput { + s.NextToken = &v + return s +} + // The aggregated value for a metric. type MetricValue struct { _ struct{} `type:"structure"` @@ -6952,6 +8136,122 @@ func (s *TerminateRecommendationDetail) SetEstimatedMonthlySavings(v string) *Te return s } +type UpdateCostCategoryDefinitionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for your Cost Category. + // + // CostCategoryArn is a required field + CostCategoryArn *string `min:"20" type:"string" required:"true"` + + // The rule schema version in this particular Cost Category. + // + // RuleVersion is a required field + RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` + + // Rules are processed in order. If there are multiple rules that match the + // line item, then the first rule to match is used to determine that Cost Category + // value. + // + // Rules is a required field + Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateCostCategoryDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCostCategoryDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCostCategoryDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCostCategoryDefinitionInput"} + if s.CostCategoryArn == nil { + invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) + } + if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) + } + if s.RuleVersion == nil { + invalidParams.Add(request.NewErrParamRequired("RuleVersion")) + } + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) + } + if s.Rules != nil && len(s.Rules) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *UpdateCostCategoryDefinitionInput) SetCostCategoryArn(v string) *UpdateCostCategoryDefinitionInput { + s.CostCategoryArn = &v + return s +} + +// SetRuleVersion sets the RuleVersion field's value. +func (s *UpdateCostCategoryDefinitionInput) SetRuleVersion(v string) *UpdateCostCategoryDefinitionInput { + s.RuleVersion = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *UpdateCostCategoryDefinitionInput) SetRules(v []*CostCategoryRule) *UpdateCostCategoryDefinitionInput { + s.Rules = v + return s +} + +type UpdateCostCategoryDefinitionOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for your Cost Category. + CostCategoryArn *string `min:"20" type:"string"` + + // The Cost Category's effective start date. + EffectiveStart *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s UpdateCostCategoryDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCostCategoryDefinitionOutput) GoString() string { + return s.String() +} + +// SetCostCategoryArn sets the CostCategoryArn field's value. +func (s *UpdateCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *UpdateCostCategoryDefinitionOutput { + s.CostCategoryArn = &v + return s +} + +// SetEffectiveStart sets the EffectiveStart field's value. +func (s *UpdateCostCategoryDefinitionOutput) SetEffectiveStart(v string) *UpdateCostCategoryDefinitionOutput { + s.EffectiveStart = &v + return s +} + // The amount of utilization, in hours. type UtilizationByTime struct { _ struct{} `type:"structure"` @@ -7013,6 +8313,12 @@ const ( ContextSavingsPlans = "SAVINGS_PLANS" ) +// The rule schema version in this particular Cost Category. +const ( + // CostCategoryRuleVersionCostCategoryExpressionV1 is a CostCategoryRuleVersion enum value + CostCategoryRuleVersionCostCategoryExpressionV1 = "CostCategoryExpression.v1" +) + const ( // DimensionAz is a Dimension enum value DimensionAz = "AZ" @@ -7113,6 +8419,9 @@ const ( // GroupDefinitionTypeTag is a GroupDefinitionType enum value GroupDefinitionTypeTag = "TAG" + + // GroupDefinitionTypeCostCategory is a GroupDefinitionType enum value + GroupDefinitionTypeCostCategory = "COST_CATEGORY" ) const ( diff --git a/service/costexplorer/costexploreriface/interface.go b/service/costexplorer/costexploreriface/interface.go index 0572d8829db..3680cdf850f 100644 --- a/service/costexplorer/costexploreriface/interface.go +++ b/service/costexplorer/costexploreriface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // AWS Cost Explorer Service. // func myFunc(svc costexploreriface.CostExplorerAPI) bool { -// // Make svc.GetCostAndUsage request +// // Make svc.CreateCostCategoryDefinition request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockCostExplorerClient struct { // costexploreriface.CostExplorerAPI // } -// func (m *mockCostExplorerClient) GetCostAndUsage(input *costexplorer.GetCostAndUsageInput) (*costexplorer.GetCostAndUsageOutput, error) { +// func (m *mockCostExplorerClient) CreateCostCategoryDefinition(input *costexplorer.CreateCostCategoryDefinitionInput) (*costexplorer.CreateCostCategoryDefinitionOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,18 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type CostExplorerAPI interface { + CreateCostCategoryDefinition(*costexplorer.CreateCostCategoryDefinitionInput) (*costexplorer.CreateCostCategoryDefinitionOutput, error) + CreateCostCategoryDefinitionWithContext(aws.Context, *costexplorer.CreateCostCategoryDefinitionInput, ...request.Option) (*costexplorer.CreateCostCategoryDefinitionOutput, error) + CreateCostCategoryDefinitionRequest(*costexplorer.CreateCostCategoryDefinitionInput) (*request.Request, *costexplorer.CreateCostCategoryDefinitionOutput) + + DeleteCostCategoryDefinition(*costexplorer.DeleteCostCategoryDefinitionInput) (*costexplorer.DeleteCostCategoryDefinitionOutput, error) + DeleteCostCategoryDefinitionWithContext(aws.Context, *costexplorer.DeleteCostCategoryDefinitionInput, ...request.Option) (*costexplorer.DeleteCostCategoryDefinitionOutput, error) + DeleteCostCategoryDefinitionRequest(*costexplorer.DeleteCostCategoryDefinitionInput) (*request.Request, *costexplorer.DeleteCostCategoryDefinitionOutput) + + DescribeCostCategoryDefinition(*costexplorer.DescribeCostCategoryDefinitionInput) (*costexplorer.DescribeCostCategoryDefinitionOutput, error) + DescribeCostCategoryDefinitionWithContext(aws.Context, *costexplorer.DescribeCostCategoryDefinitionInput, ...request.Option) (*costexplorer.DescribeCostCategoryDefinitionOutput, error) + DescribeCostCategoryDefinitionRequest(*costexplorer.DescribeCostCategoryDefinitionInput) (*request.Request, *costexplorer.DescribeCostCategoryDefinitionOutput) + GetCostAndUsage(*costexplorer.GetCostAndUsageInput) (*costexplorer.GetCostAndUsageOutput, error) GetCostAndUsageWithContext(aws.Context, *costexplorer.GetCostAndUsageInput, ...request.Option) (*costexplorer.GetCostAndUsageOutput, error) GetCostAndUsageRequest(*costexplorer.GetCostAndUsageInput) (*request.Request, *costexplorer.GetCostAndUsageOutput) @@ -121,6 +133,14 @@ type CostExplorerAPI interface { GetUsageForecast(*costexplorer.GetUsageForecastInput) (*costexplorer.GetUsageForecastOutput, error) GetUsageForecastWithContext(aws.Context, *costexplorer.GetUsageForecastInput, ...request.Option) (*costexplorer.GetUsageForecastOutput, error) GetUsageForecastRequest(*costexplorer.GetUsageForecastInput) (*request.Request, *costexplorer.GetUsageForecastOutput) + + ListCostCategoryDefinitions(*costexplorer.ListCostCategoryDefinitionsInput) (*costexplorer.ListCostCategoryDefinitionsOutput, error) + ListCostCategoryDefinitionsWithContext(aws.Context, *costexplorer.ListCostCategoryDefinitionsInput, ...request.Option) (*costexplorer.ListCostCategoryDefinitionsOutput, error) + ListCostCategoryDefinitionsRequest(*costexplorer.ListCostCategoryDefinitionsInput) (*request.Request, *costexplorer.ListCostCategoryDefinitionsOutput) + + UpdateCostCategoryDefinition(*costexplorer.UpdateCostCategoryDefinitionInput) (*costexplorer.UpdateCostCategoryDefinitionOutput, error) + UpdateCostCategoryDefinitionWithContext(aws.Context, *costexplorer.UpdateCostCategoryDefinitionInput, ...request.Option) (*costexplorer.UpdateCostCategoryDefinitionOutput, error) + UpdateCostCategoryDefinitionRequest(*costexplorer.UpdateCostCategoryDefinitionInput) (*request.Request, *costexplorer.UpdateCostCategoryDefinitionOutput) } var _ CostExplorerAPI = (*costexplorer.CostExplorer)(nil) diff --git a/service/costexplorer/errors.go b/service/costexplorer/errors.go index 3fd09218ff1..56bc1fb910b 100644 --- a/service/costexplorer/errors.go +++ b/service/costexplorer/errors.go @@ -35,6 +35,19 @@ const ( // or without a pagination token. ErrCodeRequestChangedException = "RequestChangedException" + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The specified ARN in the request doesn't exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // You've reached the limit on the number of resources you can create, or exceeded + // the size of an individual resources. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + // ErrCodeUnresolvableUsageUnitException for service response error code // "UnresolvableUsageUnitException". // diff --git a/service/dlm/api.go b/service/dlm/api.go index 97c14bc9d7b..cf90ee96048 100644 --- a/service/dlm/api.go +++ b/service/dlm/api.go @@ -952,7 +952,8 @@ func (s DeleteLifecyclePolicyOutput) GoString() string { return s.String() } -// Specifies when to enable fast snapshot restore. +// Specifies a rule for enabling fast snapshot restore. You can enable fast +// snapshot restore based on either a count or a time interval. type FastRestoreRule struct { _ struct{} `type:"structure"` @@ -962,9 +963,14 @@ type FastRestoreRule struct { AvailabilityZones []*string `min:"1" type:"list" required:"true"` // The number of snapshots to be enabled with fast snapshot restore. - // - // Count is a required field - Count *int64 `min:"1" type:"integer" required:"true"` + Count *int64 `min:"1" type:"integer"` + + // The amount of time to enable fast snapshot restore. The maximum is 100 years. + // This is equivalent to 1200 months, 5200 weeks, or 36500 days. + Interval *int64 `min:"1" type:"integer"` + + // The unit of time for enabling fast snapshot restore. + IntervalUnit *string `type:"string" enum:"RetentionIntervalUnitValues"` } // String returns the string representation @@ -986,12 +992,12 @@ func (s *FastRestoreRule) Validate() error { if s.AvailabilityZones != nil && len(s.AvailabilityZones) < 1 { invalidParams.Add(request.NewErrParamMinLen("AvailabilityZones", 1)) } - if s.Count == nil { - invalidParams.Add(request.NewErrParamRequired("Count")) - } if s.Count != nil && *s.Count < 1 { invalidParams.Add(request.NewErrParamMinValue("Count", 1)) } + if s.Interval != nil && *s.Interval < 1 { + invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -1011,6 +1017,18 @@ func (s *FastRestoreRule) SetCount(v int64) *FastRestoreRule { return s } +// SetInterval sets the Interval field's value. +func (s *FastRestoreRule) SetInterval(v int64) *FastRestoreRule { + s.Interval = &v + return s +} + +// SetIntervalUnit sets the IntervalUnit field's value. +func (s *FastRestoreRule) SetIntervalUnit(v string) *FastRestoreRule { + s.IntervalUnit = &v + return s +} + type GetLifecyclePoliciesInput struct { _ struct{} `type:"structure"` @@ -1528,14 +1546,20 @@ func (s *PolicyDetails) SetTargetTags(v []*Tag) *PolicyDetails { return s } -// Specifies the number of snapshots to keep for each EBS volume. +// Specifies the retention rule for a lifecycle policy. You can retain snapshots +// based on either a count or a time interval. type RetainRule struct { _ struct{} `type:"structure"` - // The number of snapshots to keep for each volume, up to a maximum of 1000. - // - // Count is a required field - Count *int64 `min:"1" type:"integer" required:"true"` + // The number of snapshots to retain for each volume, up to a maximum of 1000. + Count *int64 `min:"1" type:"integer"` + + // The amount of time to retain each snapshot. The maximum is 100 years. This + // is equivalent to 1200 months, 5200 weeks, or 36500 days. + Interval *int64 `min:"1" type:"integer"` + + // The unit of time for time-based retention. + IntervalUnit *string `type:"string" enum:"RetentionIntervalUnitValues"` } // String returns the string representation @@ -1551,12 +1575,12 @@ func (s RetainRule) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *RetainRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RetainRule"} - if s.Count == nil { - invalidParams.Add(request.NewErrParamRequired("Count")) - } if s.Count != nil && *s.Count < 1 { invalidParams.Add(request.NewErrParamMinValue("Count", 1)) } + if s.Interval != nil && *s.Interval < 1 { + invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -1570,6 +1594,18 @@ func (s *RetainRule) SetCount(v int64) *RetainRule { return s } +// SetInterval sets the Interval field's value. +func (s *RetainRule) SetInterval(v int64) *RetainRule { + s.Interval = &v + return s +} + +// SetIntervalUnit sets the IntervalUnit field's value. +func (s *RetainRule) SetIntervalUnit(v string) *RetainRule { + s.IntervalUnit = &v + return s +} + // Specifies a schedule. type Schedule struct { _ struct{} `type:"structure"` @@ -1587,7 +1623,7 @@ type Schedule struct { // The name of the schedule. Name *string `type:"string"` - // The retain rule. + // The retention rule. RetainRule *RetainRule `type:"structure"` // The tags to apply to policy-created resources. These user-defined tags are @@ -2022,6 +2058,20 @@ const ( ResourceTypeValuesInstance = "INSTANCE" ) +const ( + // RetentionIntervalUnitValuesDays is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesDays = "DAYS" + + // RetentionIntervalUnitValuesWeeks is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesWeeks = "WEEKS" + + // RetentionIntervalUnitValuesMonths is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesMonths = "MONTHS" + + // RetentionIntervalUnitValuesYears is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesYears = "YEARS" +) + const ( // SettablePolicyStateValuesEnabled is a SettablePolicyStateValues enum value SettablePolicyStateValuesEnabled = "ENABLED" diff --git a/service/ec2/api.go b/service/ec2/api.go index cf3ccc75687..e845d297a55 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -15021,19 +15021,19 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc // DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud. // -// Describes the credit option for CPU usage of the specified T2 or T3 instances. -// The credit options are standard and unlimited. +// Describes the credit option for CPU usage of the specified burstable performance +// instances. The credit options are standard and unlimited. // -// If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances -// with the unlimited credit option, as well as instances that were previously -// configured as T2 or T3 with the unlimited credit option. For example, if -// you resize a T2 instance, while it is configured as unlimited, to an M4 instance, -// Amazon EC2 returns the M4 instance. +// If you do not specify an instance ID, Amazon EC2 returns burstable performance +// instances with the unlimited credit option, as well as instances that were +// previously configured as T2, T3, and T3a with the unlimited credit option. +// For example, if you resize a T2 instance, while it is configured as unlimited, +// to an M4 instance, Amazon EC2 returns the M4 instance. // // If you specify one or more instance IDs, Amazon EC2 returns the credit option // (standard or unlimited) of those instances. If you specify an instance ID -// that is not valid, such as an instance that is not a T2 or T3 instance, an -// error is returned. +// that is not valid, such as an instance that is not a burstable performance +// instance, an error is returned. // // Recently terminated instances might appear in the returned results. This // interval is usually less than one hour. @@ -25176,6 +25176,84 @@ func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsole return out, req.Send() } +const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification" + +// GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the +// client's request for the GetDefaultCreditSpecification operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDefaultCreditSpecificationRequest method. +// req, resp := client.GetDefaultCreditSpecificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification +func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) { + op := &request.Operation{ + Name: opGetDefaultCreditSpecification, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDefaultCreditSpecificationInput{} + } + + output = &GetDefaultCreditSpecificationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud. +// +// Describes the default credit option for CPU usage of a burstable performance +// instance family. +// +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetDefaultCreditSpecification for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification +func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) { + req, out := c.GetDefaultCreditSpecificationRequest(input) + return out, req.Send() +} + +// GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of +// the ability to pass a context and additional request options. +// +// See GetDefaultCreditSpecification for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) { + req, out := c.GetDefaultCreditSpecificationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId" // GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the @@ -26678,6 +26756,94 @@ func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyC return out, req.Send() } +const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification" + +// ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDefaultCreditSpecification operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyDefaultCreditSpecificationRequest method. +// req, resp := client.ModifyDefaultCreditSpecificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification +func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) { + op := &request.Operation{ + Name: opModifyDefaultCreditSpecification, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDefaultCreditSpecificationInput{} + } + + output = &ModifyDefaultCreditSpecificationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud. +// +// Modifies the default credit option for CPU usage of burstable performance +// instances. The default credit option is set at the account level per AWS +// Region, and is specified per instance family. All new burstable performance +// instances in the account launch using the default credit option. +// +// ModifyDefaultCreditSpecification is an asynchronous operation, which works +// at an AWS Region level and modifies the credit option for each Availability +// Zone. All zones in a Region are updated within five minutes. But if instances +// are launched during this operation, they might not get the new credit option +// until the zone is updated. To verify whether the update has occurred, you +// can call GetDefaultCreditSpecification and check DefaultCreditSpecification +// for updates. +// +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyDefaultCreditSpecification for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification +func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) { + req, out := c.ModifyDefaultCreditSpecificationRequest(input) + return out, req.Send() +} + +// ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyDefaultCreditSpecification for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) { + req, out := c.ModifyDefaultCreditSpecificationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId" // ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the @@ -27510,8 +27676,8 @@ func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCred // ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud. // -// Modifies the credit option for CPU usage on a running or stopped T2 or T3 -// instance. The credit options are standard and unlimited. +// Modifies the credit option for CPU usage on a running or stopped burstable +// performance instance. The credit options are standard and unlimited. // // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. @@ -68051,6 +68217,79 @@ func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreensh return s } +type GetDefaultCreditSpecificationInput struct { + _ struct{} `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. + DryRun *bool `type:"boolean"` + + // The instance family. + // + // InstanceFamily is a required field + InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"` +} + +// String returns the string representation +func (s GetDefaultCreditSpecificationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultCreditSpecificationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDefaultCreditSpecificationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"} + if s.InstanceFamily == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceFamily")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput { + s.DryRun = &v + return s +} + +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput { + s.InstanceFamily = &v + return s +} + +type GetDefaultCreditSpecificationOutput struct { + _ struct{} `type:"structure"` + + // The default credit option for CPU usage of the instance family. + InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"` +} + +// String returns the string representation +func (s GetDefaultCreditSpecificationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultCreditSpecificationOutput) GoString() string { + return s.String() +} + +// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value. +func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput { + s.InstanceFamilyCreditSpecification = v + return s +} + type GetEbsDefaultKmsKeyIdInput struct { _ struct{} `type:"structure"` @@ -72346,7 +72585,7 @@ func (s *InstanceCount) SetState(v string) *InstanceCount { return s } -// Describes the credit option for CPU usage of a T2 or T3 instance. +// Describes the credit option for CPU usage of a burstable performance instance. type InstanceCreditSpecification struct { _ struct{} `type:"structure"` @@ -72380,7 +72619,7 @@ func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpe return s } -// Describes the credit option for CPU usage of a T2 or T3 instance. +// Describes the credit option for CPU usage of a burstable performance instance. type InstanceCreditSpecificationRequest struct { _ struct{} `type:"structure"` @@ -72447,6 +72686,41 @@ func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDe return s } +// Describes the default credit option for CPU usage of a burstable performance +// instance family. +type InstanceFamilyCreditSpecification struct { + _ struct{} `type:"structure"` + + // The default credit option for CPU usage of the instance family. Valid values + // are standard and unlimited. + CpuCredits *string `locationName:"cpuCredits" type:"string"` + + // The instance family. + InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"` +} + +// String returns the string representation +func (s InstanceFamilyCreditSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceFamilyCreditSpecification) GoString() string { + return s.String() +} + +// SetCpuCredits sets the CpuCredits field's value. +func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification { + s.CpuCredits = &v + return s +} + +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification { + s.InstanceFamily = &v + return s +} + // Describes an IPv6 address. type InstanceIpv6Address struct { _ struct{} `type:"structure"` @@ -76633,6 +76907,95 @@ func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpoi return s } +type ModifyDefaultCreditSpecificationInput struct { + _ struct{} `type:"structure"` + + // The credit option for CPU usage of the instance family. + // + // Valid Values: standard | unlimited + // + // CpuCredits is a required field + CpuCredits *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The instance family. + // + // InstanceFamily is a required field + InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"` +} + +// String returns the string representation +func (s ModifyDefaultCreditSpecificationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDefaultCreditSpecificationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDefaultCreditSpecificationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"} + if s.CpuCredits == nil { + invalidParams.Add(request.NewErrParamRequired("CpuCredits")) + } + if s.InstanceFamily == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceFamily")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCpuCredits sets the CpuCredits field's value. +func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput { + s.CpuCredits = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput { + s.DryRun = &v + return s +} + +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput { + s.InstanceFamily = &v + return s +} + +type ModifyDefaultCreditSpecificationOutput struct { + _ struct{} `type:"structure"` + + // The default credit option for CPU usage of the instance family. + InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"` +} + +// String returns the string representation +func (s ModifyDefaultCreditSpecificationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDefaultCreditSpecificationOutput) GoString() string { + return s.String() +} + +// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value. +func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput { + s.InstanceFamilyCreditSpecification = v + return s +} + type ModifyEbsDefaultKmsKeyIdInput struct { _ struct{} `type:"structure"` @@ -88541,13 +88904,13 @@ type RunInstancesInput struct { // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *CpuOptionsRequest `type:"structure"` - // The credit option for CPU usage of the T2 or T3 instance. Valid values are - // standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification - // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). + // The credit option for CPU usage of the burstable performance instance. Valid + // values are standard and unlimited. To change this attribute after launch, + // use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // - // Default: standard (T2 instances) or unlimited (T3 instances) + // Default: standard (T2 instances) or unlimited (T3/T3a instances) CreditSpecification *CreditSpecificationRequest `type:"structure"` // If you set this parameter to true, you can't terminate the instance using @@ -93531,8 +93894,8 @@ func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBloc return s } -// Describes the T2 or T3 instance whose credit option for CPU usage was successfully -// modified. +// Describes the burstable performance instance whose credit option for CPU +// usage was successfully modified. type SuccessfulInstanceCreditSpecificationItem struct { _ struct{} `type:"structure"` @@ -96116,13 +96479,13 @@ func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitorin return s } -// Describes the T2 or T3 instance whose credit option for CPU usage was not -// modified. +// Describes the burstable performance instance whose credit option for CPU +// usage was not modified. type UnsuccessfulInstanceCreditSpecificationItem struct { _ struct{} `type:"structure"` - // The applicable error for the T2 or T3 instance whose credit option for CPU - // usage was not modified. + // The applicable error for the burstable performance instance whose credit + // option for CPU usage was not modified. Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"` // The ID of the instance. @@ -96151,8 +96514,8 @@ func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *U return s } -// Information about the error for the T2 or T3 instance whose credit option -// for CPU usage was not modified. +// Information about the error for the burstable performance instance whose +// credit option for CPU usage was not modified. type UnsuccessfulInstanceCreditSpecificationItemError struct { _ struct{} `type:"structure"` @@ -101557,6 +101920,17 @@ const ( TransportProtocolUdp = "udp" ) +const ( + // UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value + UnlimitedSupportedInstanceFamilyT2 = "t2" + + // UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value + UnlimitedSupportedInstanceFamilyT3 = "t3" + + // UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value + UnlimitedSupportedInstanceFamilyT3a = "t3a" +) + const ( // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed" diff --git a/service/ec2/ec2iface/interface.go b/service/ec2/ec2iface/interface.go index 9f137b7fdcc..663fa3f0ec1 100644 --- a/service/ec2/ec2iface/interface.go +++ b/service/ec2/ec2iface/interface.go @@ -1326,6 +1326,10 @@ type EC2API interface { GetConsoleScreenshotWithContext(aws.Context, *ec2.GetConsoleScreenshotInput, ...request.Option) (*ec2.GetConsoleScreenshotOutput, error) GetConsoleScreenshotRequest(*ec2.GetConsoleScreenshotInput) (*request.Request, *ec2.GetConsoleScreenshotOutput) + GetDefaultCreditSpecification(*ec2.GetDefaultCreditSpecificationInput) (*ec2.GetDefaultCreditSpecificationOutput, error) + GetDefaultCreditSpecificationWithContext(aws.Context, *ec2.GetDefaultCreditSpecificationInput, ...request.Option) (*ec2.GetDefaultCreditSpecificationOutput, error) + GetDefaultCreditSpecificationRequest(*ec2.GetDefaultCreditSpecificationInput) (*request.Request, *ec2.GetDefaultCreditSpecificationOutput) + GetEbsDefaultKmsKeyId(*ec2.GetEbsDefaultKmsKeyIdInput) (*ec2.GetEbsDefaultKmsKeyIdOutput, error) GetEbsDefaultKmsKeyIdWithContext(aws.Context, *ec2.GetEbsDefaultKmsKeyIdInput, ...request.Option) (*ec2.GetEbsDefaultKmsKeyIdOutput, error) GetEbsDefaultKmsKeyIdRequest(*ec2.GetEbsDefaultKmsKeyIdInput) (*request.Request, *ec2.GetEbsDefaultKmsKeyIdOutput) @@ -1403,6 +1407,10 @@ type EC2API interface { ModifyClientVpnEndpointWithContext(aws.Context, *ec2.ModifyClientVpnEndpointInput, ...request.Option) (*ec2.ModifyClientVpnEndpointOutput, error) ModifyClientVpnEndpointRequest(*ec2.ModifyClientVpnEndpointInput) (*request.Request, *ec2.ModifyClientVpnEndpointOutput) + ModifyDefaultCreditSpecification(*ec2.ModifyDefaultCreditSpecificationInput) (*ec2.ModifyDefaultCreditSpecificationOutput, error) + ModifyDefaultCreditSpecificationWithContext(aws.Context, *ec2.ModifyDefaultCreditSpecificationInput, ...request.Option) (*ec2.ModifyDefaultCreditSpecificationOutput, error) + ModifyDefaultCreditSpecificationRequest(*ec2.ModifyDefaultCreditSpecificationInput) (*request.Request, *ec2.ModifyDefaultCreditSpecificationOutput) + ModifyEbsDefaultKmsKeyId(*ec2.ModifyEbsDefaultKmsKeyIdInput) (*ec2.ModifyEbsDefaultKmsKeyIdOutput, error) ModifyEbsDefaultKmsKeyIdWithContext(aws.Context, *ec2.ModifyEbsDefaultKmsKeyIdInput, ...request.Option) (*ec2.ModifyEbsDefaultKmsKeyIdOutput, error) ModifyEbsDefaultKmsKeyIdRequest(*ec2.ModifyEbsDefaultKmsKeyIdInput) (*request.Request, *ec2.ModifyEbsDefaultKmsKeyIdOutput) diff --git a/service/elbv2/api.go b/service/elbv2/api.go index 10febdf4a22..2e2c18c04bd 100644 --- a/service/elbv2/api.go +++ b/service/elbv2/api.go @@ -3370,11 +3370,12 @@ func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, // SetSubnets API operation for Elastic Load Balancing. // -// Enables the Availability Zone for the specified public subnets for the specified -// Application Load Balancer. The specified subnets replace the previously enabled -// subnets. +// Enables the Availability Zones for the specified public subnets for the specified +// load balancer. The specified subnets replace the previously enabled subnets. // -// You can't change the subnets for a Network Load Balancer. +// When you specify subnets for a Network Load Balancer, you must include all +// subnets that were enabled previously, with their existing configurations, +// plus any additional subnets. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4031,7 +4032,8 @@ type AvailabilityZone struct { // [Network Load Balancers] If you need static IP addresses for your load balancer, // you can specify one Elastic IP address per Availability Zone when you create - // the load balancer. + // an internal-facing load balancer. For internal load balancers, you can specify + // a private IP address from the IPv4 range of the subnet. LoadBalancerAddresses []*LoadBalancerAddress `type:"list"` // The ID of the subnet. You can specify one subnet per Availability Zone. @@ -4341,7 +4343,9 @@ type CreateLoadBalancerInput struct { // // [Network Load Balancers] You can specify subnets from one or more Availability // Zones. You can specify one Elastic IP address per subnet if you need static - // IP addresses for your load balancer. + // IP addresses for your internet-facing load balancer. For internal load balancers, + // you can specify one private IP address per subnet from the IPv4 range of + // the subnet. SubnetMappings []*SubnetMapping `type:"list"` // The IDs of the public subnets. You can specify only one subnet per Availability @@ -6546,11 +6550,15 @@ func (s *LoadBalancer) SetVpcId(v string) *LoadBalancer { type LoadBalancerAddress struct { _ struct{} `type:"structure"` - // [Network Load Balancers] The allocation ID of the Elastic IP address. + // [Network Load Balancers] The allocation ID of the Elastic IP address for + // an internal-facing load balancer. AllocationId *string `type:"string"` // The static IP address. IpAddress *string `type:"string"` + + // [Network Load Balancers] The private IPv4 address for an internal load balancer. + PrivateIPv4Address *string `type:"string"` } // String returns the string representation @@ -6575,6 +6583,12 @@ func (s *LoadBalancerAddress) SetIpAddress(v string) *LoadBalancerAddress { return s } +// SetPrivateIPv4Address sets the PrivateIPv4Address field's value. +func (s *LoadBalancerAddress) SetPrivateIPv4Address(v string) *LoadBalancerAddress { + s.PrivateIPv4Address = &v + return s +} + // Information about a load balancer attribute. type LoadBalancerAttribute struct { _ struct{} `type:"structure"` @@ -8208,11 +8222,17 @@ type SetSubnetsInput struct { // LoadBalancerArn is a required field LoadBalancerArn *string `type:"string" required:"true"` - // 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. + // The IDs of the public subnets. 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. + // [Application Load Balancers] You must specify subnets from at least two Availability + // Zones. You cannot specify Elastic IP addresses for your subnets. + // + // [Network Load Balancers] You can specify subnets from one or more Availability + // Zones. If you need static IP addresses for your internet-facing load balancer, + // you can specify one Elastic IP address per subnet. For internal load balancers, + // you can specify one private IP address per subnet from the IPv4 range of + // the subnet. SubnetMappings []*SubnetMapping `type:"list"` // The IDs of the public subnets. You must specify subnets from at least two @@ -8365,9 +8385,13 @@ func (s *SslPolicy) SetSslProtocols(v []*string) *SslPolicy { type SubnetMapping struct { _ struct{} `type:"structure"` - // [Network Load Balancers] The allocation ID of the Elastic IP address. + // [Network Load Balancers] The allocation ID of the Elastic IP address for + // an internet-facing load balancer. AllocationId *string `type:"string"` + // [Network Load Balancers] The private IPv4 address for an internal load balancer. + PrivateIPv4Address *string `type:"string"` + // The ID of the subnet. SubnetId *string `type:"string"` } @@ -8388,6 +8412,12 @@ func (s *SubnetMapping) SetAllocationId(v string) *SubnetMapping { return s } +// SetPrivateIPv4Address sets the PrivateIPv4Address field's value. +func (s *SubnetMapping) SetPrivateIPv4Address(v string) *SubnetMapping { + s.PrivateIPv4Address = &v + return s +} + // SetSubnetId sets the SubnetId field's value. func (s *SubnetMapping) SetSubnetId(v string) *SubnetMapping { s.SubnetId = &v @@ -8742,6 +8772,10 @@ type TargetGroupAttribute struct { // The following attributes are supported by Application Load Balancers if the // target is not a Lambda function: // + // * load_balancing.algorithm.type - The load balancing algorithm determines + // how the load balancer selects targets when routing requests. The value + // is round_robin or least_outstanding_requests. The default is round_robin. + // // * slow_start.duration_seconds - The time period, in seconds, during which // a newly registered target receives a linearly increasing share of the // traffic to the target group. After this time period ends, the target receives diff --git a/service/greengrass/api.go b/service/greengrass/api.go index 2ef8296ae56..f31553e22e6 100644 --- a/service/greengrass/api.go +++ b/service/greengrass/api.go @@ -16021,6 +16021,11 @@ func (s *Resource) Validate() error { if s.ResourceDataContainer == nil { invalidParams.Add(request.NewErrParamRequired("ResourceDataContainer")) } + if s.ResourceDataContainer != nil { + if err := s.ResourceDataContainer.Validate(); err != nil { + invalidParams.AddNested("ResourceDataContainer", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -16130,6 +16135,26 @@ func (s ResourceDataContainer) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceDataContainer) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceDataContainer"} + if s.S3MachineLearningModelResourceData != nil { + if err := s.S3MachineLearningModelResourceData.Validate(); err != nil { + invalidParams.AddNested("S3MachineLearningModelResourceData", err.(request.ErrInvalidParams)) + } + } + if s.SageMakerMachineLearningModelResourceData != nil { + if err := s.SageMakerMachineLearningModelResourceData.Validate(); err != nil { + invalidParams.AddNested("SageMakerMachineLearningModelResourceData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetLocalDeviceResourceData sets the LocalDeviceResourceData field's value. func (s *ResourceDataContainer) SetLocalDeviceResourceData(v *LocalDeviceResourceData) *ResourceDataContainer { s.LocalDeviceResourceData = v @@ -16204,6 +16229,62 @@ func (s *ResourceDefinitionVersion) SetResources(v []*Resource) *ResourceDefinit return s } +// The owner setting for downloaded machine learning resources. +type ResourceDownloadOwnerSetting struct { + _ struct{} `type:"structure"` + + // The group owner of the resource. This is the name of an existing Linux OS + // group on the system or a GID. The group's permissions are added to the Lambda + // process. + // + // GroupOwner is a required field + GroupOwner *string `type:"string" required:"true"` + + // The permissions that the group owner has to the resource. Valid values are + // ''rw'' (read/write) or ''ro'' (read-only). + // + // GroupPermission is a required field + GroupPermission *string `type:"string" required:"true" enum:"Permission"` +} + +// String returns the string representation +func (s ResourceDownloadOwnerSetting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceDownloadOwnerSetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceDownloadOwnerSetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceDownloadOwnerSetting"} + if s.GroupOwner == nil { + invalidParams.Add(request.NewErrParamRequired("GroupOwner")) + } + if s.GroupPermission == nil { + invalidParams.Add(request.NewErrParamRequired("GroupPermission")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroupOwner sets the GroupOwner field's value. +func (s *ResourceDownloadOwnerSetting) SetGroupOwner(v string) *ResourceDownloadOwnerSetting { + s.GroupOwner = &v + return s +} + +// SetGroupPermission sets the GroupPermission field's value. +func (s *ResourceDownloadOwnerSetting) SetGroupPermission(v string) *ResourceDownloadOwnerSetting { + s.GroupPermission = &v + return s +} + // Attributes that define an Amazon S3 machine learning resource. type S3MachineLearningModelResourceData struct { _ struct{} `type:"structure"` @@ -16211,6 +16292,9 @@ type S3MachineLearningModelResourceData struct { // The absolute local path of the resource inside the Lambda environment. DestinationPath *string `type:"string"` + // The owner setting for downloaded machine learning resources. + OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"` + // The URI of the source model in an S3 bucket. The model package must be in // tar.gz or .zip format. S3Uri *string `type:"string"` @@ -16226,12 +16310,33 @@ func (s S3MachineLearningModelResourceData) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3MachineLearningModelResourceData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3MachineLearningModelResourceData"} + if s.OwnerSetting != nil { + if err := s.OwnerSetting.Validate(); err != nil { + invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDestinationPath sets the DestinationPath field's value. func (s *S3MachineLearningModelResourceData) SetDestinationPath(v string) *S3MachineLearningModelResourceData { s.DestinationPath = &v return s } +// SetOwnerSetting sets the OwnerSetting field's value. +func (s *S3MachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *S3MachineLearningModelResourceData { + s.OwnerSetting = v + return s +} + // SetS3Uri sets the S3Uri field's value. func (s *S3MachineLearningModelResourceData) SetS3Uri(v string) *S3MachineLearningModelResourceData { s.S3Uri = &v @@ -16245,6 +16350,9 @@ type SageMakerMachineLearningModelResourceData struct { // The absolute local path of the resource inside the Lambda environment. DestinationPath *string `type:"string"` + // The owner setting for downloaded machine learning resources. + OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"` + // The ARN of the Amazon SageMaker training job that represents the source model. SageMakerJobArn *string `type:"string"` } @@ -16259,12 +16367,33 @@ func (s SageMakerMachineLearningModelResourceData) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SageMakerMachineLearningModelResourceData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SageMakerMachineLearningModelResourceData"} + if s.OwnerSetting != nil { + if err := s.OwnerSetting.Validate(); err != nil { + invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDestinationPath sets the DestinationPath field's value. func (s *SageMakerMachineLearningModelResourceData) SetDestinationPath(v string) *SageMakerMachineLearningModelResourceData { s.DestinationPath = &v return s } +// SetOwnerSetting sets the OwnerSetting field's value. +func (s *SageMakerMachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *SageMakerMachineLearningModelResourceData { + s.OwnerSetting = v + return s +} + // SetSageMakerJobArn sets the SageMakerJobArn field's value. func (s *SageMakerMachineLearningModelResourceData) SetSageMakerJobArn(v string) *SageMakerMachineLearningModelResourceData { s.SageMakerJobArn = &v @@ -17586,9 +17715,6 @@ const ( // UpdateTargetsArchitectureAarch64 is a UpdateTargetsArchitecture enum value UpdateTargetsArchitectureAarch64 = "aarch64" - - // UpdateTargetsArchitectureOpenwrt is a UpdateTargetsArchitecture enum value - UpdateTargetsArchitectureOpenwrt = "openwrt" ) // The operating system of the cores which are the targets of an update. @@ -17601,4 +17727,7 @@ const ( // UpdateTargetsOperatingSystemAmazonLinux is a UpdateTargetsOperatingSystem enum value UpdateTargetsOperatingSystemAmazonLinux = "amazon_linux" + + // UpdateTargetsOperatingSystemOpenwrt is a UpdateTargetsOperatingSystem enum value + UpdateTargetsOperatingSystemOpenwrt = "openwrt" ) diff --git a/service/iot/api.go b/service/iot/api.go index bafe804d83b..b8b03b0ecca 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -1725,6 +1725,105 @@ func (c *IoT) CreateCertificateFromCsrWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateDomainConfiguration = "CreateDomainConfiguration" + +// CreateDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateDomainConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDomainConfiguration for more information on using the CreateDomainConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDomainConfigurationRequest method. +// req, resp := client.CreateDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateDomainConfigurationRequest(input *CreateDomainConfigurationInput) (req *request.Request, output *CreateDomainConfigurationOutput) { + op := &request.Operation{ + Name: opCreateDomainConfiguration, + HTTPMethod: "POST", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &CreateDomainConfigurationInput{} + } + + output = &CreateDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDomainConfiguration API operation for AWS IoT. +// +// Creates a domain configuration. +// +// The domain configuration feature is in public preview and is subject to change. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation CreateDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit has been exceeded. +// +// * ErrCodeCertificateValidationException "CertificateValidationException" +// The certificate is invalid. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource already exists. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +func (c *IoT) CreateDomainConfiguration(input *CreateDomainConfigurationInput) (*CreateDomainConfigurationOutput, error) { + req, out := c.CreateDomainConfigurationRequest(input) + return out, req.Send() +} + +// CreateDomainConfigurationWithContext is the same as CreateDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDomainConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) CreateDomainConfigurationWithContext(ctx aws.Context, input *CreateDomainConfigurationInput, opts ...request.Option) (*CreateDomainConfigurationOutput, error) { + req, out := c.CreateDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDynamicThingGroup = "CreateDynamicThingGroup" // CreateDynamicThingGroupRequest generates a "aws/request.Request" representing the @@ -1953,7 +2052,8 @@ func (c *IoT) CreateKeysAndCertificateRequest(input *CreateKeysAndCertificateInp // CreateKeysAndCertificate API operation for AWS IoT. // // Creates a 2048-bit RSA key pair and issues an X.509 certificate using the -// issued public key. +// issued public key. You can also call CreateKeysAndCertificate over MQTT from +// a device, for more information, see Provisioning MQTT API (https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#provision-mqtt-api). // // Note This is the only time AWS IoT issues the private key for this certificate, // so it is important to keep it in a secure location. @@ -2390,6 +2490,283 @@ func (c *IoT) CreatePolicyVersionWithContext(ctx aws.Context, input *CreatePolic return out, req.Send() } +const opCreateProvisioningClaim = "CreateProvisioningClaim" + +// CreateProvisioningClaimRequest generates a "aws/request.Request" representing the +// client's request for the CreateProvisioningClaim operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateProvisioningClaim for more information on using the CreateProvisioningClaim +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateProvisioningClaimRequest method. +// req, resp := client.CreateProvisioningClaimRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateProvisioningClaimRequest(input *CreateProvisioningClaimInput) (req *request.Request, output *CreateProvisioningClaimOutput) { + op := &request.Operation{ + Name: opCreateProvisioningClaim, + HTTPMethod: "POST", + HTTPPath: "/provisioning-templates/{templateName}/provisioning-claim", + } + + if input == nil { + input = &CreateProvisioningClaimInput{} + } + + output = &CreateProvisioningClaimOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProvisioningClaim API operation for AWS IoT. +// +// Creates a provisioning claim. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation CreateProvisioningClaim for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) CreateProvisioningClaim(input *CreateProvisioningClaimInput) (*CreateProvisioningClaimOutput, error) { + req, out := c.CreateProvisioningClaimRequest(input) + return out, req.Send() +} + +// CreateProvisioningClaimWithContext is the same as CreateProvisioningClaim with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProvisioningClaim for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) CreateProvisioningClaimWithContext(ctx aws.Context, input *CreateProvisioningClaimInput, opts ...request.Option) (*CreateProvisioningClaimOutput, error) { + req, out := c.CreateProvisioningClaimRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProvisioningTemplate = "CreateProvisioningTemplate" + +// CreateProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateProvisioningTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateProvisioningTemplate for more information on using the CreateProvisioningTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateProvisioningTemplateRequest method. +// req, resp := client.CreateProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateProvisioningTemplateRequest(input *CreateProvisioningTemplateInput) (req *request.Request, output *CreateProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opCreateProvisioningTemplate, + HTTPMethod: "POST", + HTTPPath: "/provisioning-templates", + } + + if input == nil { + input = &CreateProvisioningTemplateInput{} + } + + output = &CreateProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProvisioningTemplate API operation for AWS IoT. +// +// Creates a fleet provisioning template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation CreateProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit has been exceeded. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource already exists. +// +func (c *IoT) CreateProvisioningTemplate(input *CreateProvisioningTemplateInput) (*CreateProvisioningTemplateOutput, error) { + req, out := c.CreateProvisioningTemplateRequest(input) + return out, req.Send() +} + +// CreateProvisioningTemplateWithContext is the same as CreateProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProvisioningTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) CreateProvisioningTemplateWithContext(ctx aws.Context, input *CreateProvisioningTemplateInput, opts ...request.Option) (*CreateProvisioningTemplateOutput, error) { + req, out := c.CreateProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProvisioningTemplateVersion = "CreateProvisioningTemplateVersion" + +// CreateProvisioningTemplateVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateProvisioningTemplateVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateProvisioningTemplateVersion for more information on using the CreateProvisioningTemplateVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateProvisioningTemplateVersionRequest method. +// req, resp := client.CreateProvisioningTemplateVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateProvisioningTemplateVersionRequest(input *CreateProvisioningTemplateVersionInput) (req *request.Request, output *CreateProvisioningTemplateVersionOutput) { + op := &request.Operation{ + Name: opCreateProvisioningTemplateVersion, + HTTPMethod: "POST", + HTTPPath: "/provisioning-templates/{templateName}/versions", + } + + if input == nil { + input = &CreateProvisioningTemplateVersionInput{} + } + + output = &CreateProvisioningTemplateVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProvisioningTemplateVersion API operation for AWS IoT. +// +// Creates a new version of a fleet provisioning template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation CreateProvisioningTemplateVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeVersionsLimitExceededException "VersionsLimitExceededException" +// The number of policy versions exceeds the limit. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeConflictingResourceUpdateException "ConflictingResourceUpdateException" +// A conflicting resource update exception. This exception is thrown when two +// pending updates cause a conflict. +// +func (c *IoT) CreateProvisioningTemplateVersion(input *CreateProvisioningTemplateVersionInput) (*CreateProvisioningTemplateVersionOutput, error) { + req, out := c.CreateProvisioningTemplateVersionRequest(input) + return out, req.Send() +} + +// CreateProvisioningTemplateVersionWithContext is the same as CreateProvisioningTemplateVersion with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProvisioningTemplateVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) CreateProvisioningTemplateVersionWithContext(ctx aws.Context, input *CreateProvisioningTemplateVersionInput, opts ...request.Option) (*CreateProvisioningTemplateVersionOutput, error) { + req, out := c.CreateProvisioningTemplateVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateRoleAlias = "CreateRoleAlias" // CreateRoleAliasRequest generates a "aws/request.Request" representing the @@ -3688,6 +4065,100 @@ func (c *IoT) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertifi return out, req.Send() } +const opDeleteDomainConfiguration = "DeleteDomainConfiguration" + +// DeleteDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDomainConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDomainConfiguration for more information on using the DeleteDomainConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDomainConfigurationRequest method. +// req, resp := client.DeleteDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteDomainConfigurationRequest(input *DeleteDomainConfigurationInput) (req *request.Request, output *DeleteDomainConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteDomainConfiguration, + HTTPMethod: "DELETE", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &DeleteDomainConfigurationInput{} + } + + output = &DeleteDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDomainConfiguration API operation for AWS IoT. +// +// Deletes the specified domain configuration. +// +// The domain configuration feature is in public preview and is subject to change. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DeleteDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +func (c *IoT) DeleteDomainConfiguration(input *DeleteDomainConfigurationInput) (*DeleteDomainConfigurationOutput, error) { + req, out := c.DeleteDomainConfigurationRequest(input) + return out, req.Send() +} + +// DeleteDomainConfigurationWithContext is the same as DeleteDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDomainConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DeleteDomainConfigurationWithContext(ctx aws.Context, input *DeleteDomainConfigurationInput, opts ...request.Option) (*DeleteDomainConfigurationOutput, error) { + req, out := c.DeleteDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDynamicThingGroup = "DeleteDynamicThingGroup" // DeleteDynamicThingGroupRequest generates a "aws/request.Request" representing the @@ -4351,6 +4822,190 @@ func (c *IoT) DeletePolicyVersionWithContext(ctx aws.Context, input *DeletePolic return out, req.Send() } +const opDeleteProvisioningTemplate = "DeleteProvisioningTemplate" + +// DeleteProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProvisioningTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteProvisioningTemplate for more information on using the DeleteProvisioningTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteProvisioningTemplateRequest method. +// req, resp := client.DeleteProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteProvisioningTemplateRequest(input *DeleteProvisioningTemplateInput) (req *request.Request, output *DeleteProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opDeleteProvisioningTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/provisioning-templates/{templateName}", + } + + if input == nil { + input = &DeleteProvisioningTemplateInput{} + } + + output = &DeleteProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteProvisioningTemplate API operation for AWS IoT. +// +// Deletes a fleet provisioning template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DeleteProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeDeleteConflictException "DeleteConflictException" +// You can't delete the resource because it is attached to one or more resources. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) DeleteProvisioningTemplate(input *DeleteProvisioningTemplateInput) (*DeleteProvisioningTemplateOutput, error) { + req, out := c.DeleteProvisioningTemplateRequest(input) + return out, req.Send() +} + +// DeleteProvisioningTemplateWithContext is the same as DeleteProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProvisioningTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DeleteProvisioningTemplateWithContext(ctx aws.Context, input *DeleteProvisioningTemplateInput, opts ...request.Option) (*DeleteProvisioningTemplateOutput, error) { + req, out := c.DeleteProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteProvisioningTemplateVersion = "DeleteProvisioningTemplateVersion" + +// DeleteProvisioningTemplateVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProvisioningTemplateVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteProvisioningTemplateVersion for more information on using the DeleteProvisioningTemplateVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteProvisioningTemplateVersionRequest method. +// req, resp := client.DeleteProvisioningTemplateVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteProvisioningTemplateVersionRequest(input *DeleteProvisioningTemplateVersionInput) (req *request.Request, output *DeleteProvisioningTemplateVersionOutput) { + op := &request.Operation{ + Name: opDeleteProvisioningTemplateVersion, + HTTPMethod: "DELETE", + HTTPPath: "/provisioning-templates/{templateName}/versions/{versionId}", + } + + if input == nil { + input = &DeleteProvisioningTemplateVersionInput{} + } + + output = &DeleteProvisioningTemplateVersionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteProvisioningTemplateVersion API operation for AWS IoT. +// +// Deletes a fleet provisioning template version. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DeleteProvisioningTemplateVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeDeleteConflictException "DeleteConflictException" +// You can't delete the resource because it is attached to one or more resources. +// +func (c *IoT) DeleteProvisioningTemplateVersion(input *DeleteProvisioningTemplateVersionInput) (*DeleteProvisioningTemplateVersionOutput, error) { + req, out := c.DeleteProvisioningTemplateVersionRequest(input) + return out, req.Send() +} + +// DeleteProvisioningTemplateVersionWithContext is the same as DeleteProvisioningTemplateVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProvisioningTemplateVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DeleteProvisioningTemplateVersionWithContext(ctx aws.Context, input *DeleteProvisioningTemplateVersionInput, opts ...request.Option) (*DeleteProvisioningTemplateVersionOutput, error) { + req, out := c.DeleteProvisioningTemplateVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRegistrationCode = "DeleteRegistrationCode" // DeleteRegistrationCodeRequest generates a "aws/request.Request" representing the @@ -6229,6 +6884,96 @@ func (c *IoT) DescribeDefaultAuthorizerWithContext(ctx aws.Context, input *Descr return out, req.Send() } +const opDescribeDomainConfiguration = "DescribeDomainConfiguration" + +// DescribeDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDomainConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDomainConfiguration for more information on using the DescribeDomainConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeDomainConfigurationRequest method. +// req, resp := client.DescribeDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeDomainConfigurationRequest(input *DescribeDomainConfigurationInput) (req *request.Request, output *DescribeDomainConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeDomainConfiguration, + HTTPMethod: "GET", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &DescribeDomainConfigurationInput{} + } + + output = &DescribeDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDomainConfiguration API operation for AWS IoT. +// +// Gets summary information about a domain configuration. +// +// The domain configuration feature is in public preview and is subject to change. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DescribeDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) DescribeDomainConfiguration(input *DescribeDomainConfigurationInput) (*DescribeDomainConfigurationOutput, error) { + req, out := c.DescribeDomainConfigurationRequest(input) + return out, req.Send() +} + +// DescribeDomainConfigurationWithContext is the same as DescribeDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDomainConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DescribeDomainConfigurationWithContext(ctx aws.Context, input *DescribeDomainConfigurationInput, opts ...request.Option) (*DescribeDomainConfigurationOutput, error) { + req, out := c.DescribeDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeEndpoint = "DescribeEndpoint" // DescribeEndpointRequest generates a "aws/request.Request" representing the @@ -6739,6 +7484,182 @@ func (c *IoT) DescribeMitigationActionWithContext(ctx aws.Context, input *Descri return out, req.Send() } +const opDescribeProvisioningTemplate = "DescribeProvisioningTemplate" + +// DescribeProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProvisioningTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeProvisioningTemplate for more information on using the DescribeProvisioningTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeProvisioningTemplateRequest method. +// req, resp := client.DescribeProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeProvisioningTemplateRequest(input *DescribeProvisioningTemplateInput) (req *request.Request, output *DescribeProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opDescribeProvisioningTemplate, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates/{templateName}", + } + + if input == nil { + input = &DescribeProvisioningTemplateInput{} + } + + output = &DescribeProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeProvisioningTemplate API operation for AWS IoT. +// +// Returns information about a fleet provisioning template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DescribeProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) DescribeProvisioningTemplate(input *DescribeProvisioningTemplateInput) (*DescribeProvisioningTemplateOutput, error) { + req, out := c.DescribeProvisioningTemplateRequest(input) + return out, req.Send() +} + +// DescribeProvisioningTemplateWithContext is the same as DescribeProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeProvisioningTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DescribeProvisioningTemplateWithContext(ctx aws.Context, input *DescribeProvisioningTemplateInput, opts ...request.Option) (*DescribeProvisioningTemplateOutput, error) { + req, out := c.DescribeProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeProvisioningTemplateVersion = "DescribeProvisioningTemplateVersion" + +// DescribeProvisioningTemplateVersionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProvisioningTemplateVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeProvisioningTemplateVersion for more information on using the DescribeProvisioningTemplateVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeProvisioningTemplateVersionRequest method. +// req, resp := client.DescribeProvisioningTemplateVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeProvisioningTemplateVersionRequest(input *DescribeProvisioningTemplateVersionInput) (req *request.Request, output *DescribeProvisioningTemplateVersionOutput) { + op := &request.Operation{ + Name: opDescribeProvisioningTemplateVersion, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates/{templateName}/versions/{versionId}", + } + + if input == nil { + input = &DescribeProvisioningTemplateVersionInput{} + } + + output = &DescribeProvisioningTemplateVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeProvisioningTemplateVersion API operation for AWS IoT. +// +// Returns information about a fleet provisioning template version. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DescribeProvisioningTemplateVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) DescribeProvisioningTemplateVersion(input *DescribeProvisioningTemplateVersionInput) (*DescribeProvisioningTemplateVersionOutput, error) { + req, out := c.DescribeProvisioningTemplateVersionRequest(input) + return out, req.Send() +} + +// DescribeProvisioningTemplateVersionWithContext is the same as DescribeProvisioningTemplateVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeProvisioningTemplateVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DescribeProvisioningTemplateVersionWithContext(ctx aws.Context, input *DescribeProvisioningTemplateVersionInput, opts ...request.Option) (*DescribeProvisioningTemplateVersionOutput, error) { + req, out := c.DescribeProvisioningTemplateVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeRoleAlias = "DescribeRoleAlias" // DescribeRoleAliasRequest generates a "aws/request.Request" representing the @@ -8242,7 +9163,7 @@ func (c *IoT) GetIndexingConfigurationRequest(input *GetIndexingConfigurationInp // GetIndexingConfiguration API operation for AWS IoT. // -// Gets the search configuration. +// Gets the indexing configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8970,7 +9891,9 @@ func (c *IoT) GetStatisticsRequest(input *GetStatisticsInput) (req *request.Requ // GetStatistics API operation for AWS IoT. // -// Gets statistics about things that match the specified query. +// Returns the count, average, sum, minimum, maximum, sum of squares, variance, +// and standard deviation for the specified aggregated field. If the aggregation +// field is of type String, only the count statistic is returned. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10233,6 +11156,97 @@ func (c *IoT) ListCertificatesByCAWithContext(ctx aws.Context, input *ListCertif return out, req.Send() } +const opListDomainConfigurations = "ListDomainConfigurations" + +// ListDomainConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListDomainConfigurations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDomainConfigurations for more information on using the ListDomainConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDomainConfigurationsRequest method. +// req, resp := client.ListDomainConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListDomainConfigurationsRequest(input *ListDomainConfigurationsInput) (req *request.Request, output *ListDomainConfigurationsOutput) { + op := &request.Operation{ + Name: opListDomainConfigurations, + HTTPMethod: "GET", + HTTPPath: "/domainConfigurations", + } + + if input == nil { + input = &ListDomainConfigurationsInput{} + } + + output = &ListDomainConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDomainConfigurations API operation for AWS IoT. +// +// Gets a list of domain configurations for the user. This list is sorted alphabetically +// by domain configuration name. +// +// The domain configuration feature is in public preview and is subject to change. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation ListDomainConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) ListDomainConfigurations(input *ListDomainConfigurationsInput) (*ListDomainConfigurationsOutput, error) { + req, out := c.ListDomainConfigurationsRequest(input) + return out, req.Send() +} + +// ListDomainConfigurationsWithContext is the same as ListDomainConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListDomainConfigurations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) ListDomainConfigurationsWithContext(ctx aws.Context, input *ListDomainConfigurationsInput, opts ...request.Option) (*ListDomainConfigurationsOutput, error) { + req, out := c.ListDomainConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListIndices = "ListIndices" // ListIndicesRequest generates a "aws/request.Request" representing the @@ -11311,6 +12325,179 @@ func (c *IoT) ListPrincipalThingsWithContext(ctx aws.Context, input *ListPrincip return out, req.Send() } +const opListProvisioningTemplateVersions = "ListProvisioningTemplateVersions" + +// ListProvisioningTemplateVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListProvisioningTemplateVersions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProvisioningTemplateVersions for more information on using the ListProvisioningTemplateVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListProvisioningTemplateVersionsRequest method. +// req, resp := client.ListProvisioningTemplateVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListProvisioningTemplateVersionsRequest(input *ListProvisioningTemplateVersionsInput) (req *request.Request, output *ListProvisioningTemplateVersionsOutput) { + op := &request.Operation{ + Name: opListProvisioningTemplateVersions, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates/{templateName}/versions", + } + + if input == nil { + input = &ListProvisioningTemplateVersionsInput{} + } + + output = &ListProvisioningTemplateVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProvisioningTemplateVersions API operation for AWS IoT. +// +// A list of fleet provisioning template versions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation ListProvisioningTemplateVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) ListProvisioningTemplateVersions(input *ListProvisioningTemplateVersionsInput) (*ListProvisioningTemplateVersionsOutput, error) { + req, out := c.ListProvisioningTemplateVersionsRequest(input) + return out, req.Send() +} + +// ListProvisioningTemplateVersionsWithContext is the same as ListProvisioningTemplateVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListProvisioningTemplateVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) ListProvisioningTemplateVersionsWithContext(ctx aws.Context, input *ListProvisioningTemplateVersionsInput, opts ...request.Option) (*ListProvisioningTemplateVersionsOutput, error) { + req, out := c.ListProvisioningTemplateVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListProvisioningTemplates = "ListProvisioningTemplates" + +// ListProvisioningTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListProvisioningTemplates operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProvisioningTemplates for more information on using the ListProvisioningTemplates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListProvisioningTemplatesRequest method. +// req, resp := client.ListProvisioningTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListProvisioningTemplatesRequest(input *ListProvisioningTemplatesInput) (req *request.Request, output *ListProvisioningTemplatesOutput) { + op := &request.Operation{ + Name: opListProvisioningTemplates, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates", + } + + if input == nil { + input = &ListProvisioningTemplatesInput{} + } + + output = &ListProvisioningTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProvisioningTemplates API operation for AWS IoT. +// +// Lists the fleet provisioning templates in your AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation ListProvisioningTemplates for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) ListProvisioningTemplates(input *ListProvisioningTemplatesInput) (*ListProvisioningTemplatesOutput, error) { + req, out := c.ListProvisioningTemplatesRequest(input) + return out, req.Send() +} + +// ListProvisioningTemplatesWithContext is the same as ListProvisioningTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListProvisioningTemplates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) ListProvisioningTemplatesWithContext(ctx aws.Context, input *ListProvisioningTemplatesInput, opts ...request.Option) (*ListProvisioningTemplatesOutput, error) { + req, out := c.ListProvisioningTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListRoleAliases = "ListRoleAliases" // ListRoleAliasesRequest generates a "aws/request.Request" representing the @@ -13364,7 +14551,11 @@ func (c *IoT) RegisterThingRequest(input *RegisterThingInput) (req *request.Requ // RegisterThing API operation for AWS IoT. // -// Provisions a thing. +// Provisions a thing in the device registry. RegisterThing calls other AWS +// IoT control plane APIs. These calls might exceed your account level AWS IoT +// Throttling Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iot) +// and cause throttle errors. Please contact AWS Customer Support (https://console.aws.amazon.com/support/home) +// to raise your throttling limits if necessary. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -15615,6 +16806,103 @@ func (c *IoT) UpdateCertificateWithContext(ctx aws.Context, input *UpdateCertifi return out, req.Send() } +const opUpdateDomainConfiguration = "UpdateDomainConfiguration" + +// UpdateDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDomainConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDomainConfiguration for more information on using the UpdateDomainConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDomainConfigurationRequest method. +// req, resp := client.UpdateDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) UpdateDomainConfigurationRequest(input *UpdateDomainConfigurationInput) (req *request.Request, output *UpdateDomainConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateDomainConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &UpdateDomainConfigurationInput{} + } + + output = &UpdateDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDomainConfiguration API operation for AWS IoT. +// +// Updates values stored in the domain configuration. Domain configurations +// for default endpoints can't be updated. +// +// The domain configuration feature is in public preview and is subject to change. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation UpdateDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeCertificateValidationException "CertificateValidationException" +// The certificate is invalid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) UpdateDomainConfiguration(input *UpdateDomainConfigurationInput) (*UpdateDomainConfigurationOutput, error) { + req, out := c.UpdateDomainConfigurationRequest(input) + return out, req.Send() +} + +// UpdateDomainConfigurationWithContext is the same as UpdateDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDomainConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) UpdateDomainConfigurationWithContext(ctx aws.Context, input *UpdateDomainConfigurationInput, opts ...request.Option) (*UpdateDomainConfigurationOutput, error) { + req, out := c.UpdateDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateDynamicThingGroup = "UpdateDynamicThingGroup" // UpdateDynamicThingGroupRequest generates a "aws/request.Request" representing the @@ -16050,6 +17338,96 @@ func (c *IoT) UpdateMitigationActionWithContext(ctx aws.Context, input *UpdateMi return out, req.Send() } +const opUpdateProvisioningTemplate = "UpdateProvisioningTemplate" + +// UpdateProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProvisioningTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProvisioningTemplate for more information on using the UpdateProvisioningTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateProvisioningTemplateRequest method. +// req, resp := client.UpdateProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) UpdateProvisioningTemplateRequest(input *UpdateProvisioningTemplateInput) (req *request.Request, output *UpdateProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opUpdateProvisioningTemplate, + HTTPMethod: "PATCH", + HTTPPath: "/provisioning-templates/{templateName}", + } + + if input == nil { + input = &UpdateProvisioningTemplateInput{} + } + + output = &UpdateProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateProvisioningTemplate API operation for AWS IoT. +// +// Updates a fleet provisioning template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation UpdateProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeConflictingResourceUpdateException "ConflictingResourceUpdateException" +// A conflicting resource update exception. This exception is thrown when two +// pending updates cause a conflict. +// +func (c *IoT) UpdateProvisioningTemplate(input *UpdateProvisioningTemplateInput) (*UpdateProvisioningTemplateOutput, error) { + req, out := c.UpdateProvisioningTemplateRequest(input) + return out, req.Send() +} + +// UpdateProvisioningTemplateWithContext is the same as UpdateProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProvisioningTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) UpdateProvisioningTemplateWithContext(ctx aws.Context, input *UpdateProvisioningTemplateInput, opts ...request.Option) (*UpdateProvisioningTemplateOutput, error) { + req, out := c.UpdateProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateRoleAlias = "UpdateRoleAlias" // UpdateRoleAliasRequest generates a "aws/request.Request" representing the @@ -17090,6 +18468,10 @@ type Action struct { // Sends an input to an AWS IoT Events detector. IotEvents *IotEventsAction `locationName:"iotEvents" type:"structure"` + // Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise + // asset properties. + IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"` + // Write data to an Amazon Kinesis stream. Kinesis *KinesisAction `locationName:"kinesis" type:"structure"` @@ -17168,6 +18550,11 @@ func (s *Action) Validate() error { invalidParams.AddNested("IotEvents", err.(request.ErrInvalidParams)) } } + if s.IotSiteWise != nil { + if err := s.IotSiteWise.Validate(); err != nil { + invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams)) + } + } if s.Kinesis != nil { if err := s.Kinesis.Validate(); err != nil { invalidParams.AddNested("Kinesis", err.(request.ErrInvalidParams)) @@ -17269,6 +18656,12 @@ func (s *Action) SetIotEvents(v *IotEventsAction) *Action { return s } +// SetIotSiteWise sets the IotSiteWise field's value. +func (s *Action) SetIotSiteWise(v *IotSiteWiseAction) *Action { + s.IotSiteWise = v + return s +} + // SetKinesis sets the Kinesis field's value. func (s *Action) SetKinesis(v *KinesisAction) *Action { s.Kinesis = v @@ -17703,6 +19096,196 @@ func (s *Allowed) SetPolicies(v []*Policy) *Allowed { return s } +// An asset property timestamp entry containing the following information. +type AssetPropertyTimestamp struct { + _ struct{} `type:"structure"` + + // Optional. A string that contains the nanosecond time offset. Accepts substitution + // templates. + OffsetInNanos *string `locationName:"offsetInNanos" type:"string"` + + // A string that contains the time in seconds since epoch. Accepts substitution + // templates. + // + // TimeInSeconds is a required field + TimeInSeconds *string `locationName:"timeInSeconds" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssetPropertyTimestamp) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetPropertyTimestamp) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetPropertyTimestamp) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetPropertyTimestamp"} + if s.TimeInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("TimeInSeconds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOffsetInNanos sets the OffsetInNanos field's value. +func (s *AssetPropertyTimestamp) SetOffsetInNanos(v string) *AssetPropertyTimestamp { + s.OffsetInNanos = &v + return s +} + +// SetTimeInSeconds sets the TimeInSeconds field's value. +func (s *AssetPropertyTimestamp) SetTimeInSeconds(v string) *AssetPropertyTimestamp { + s.TimeInSeconds = &v + return s +} + +// An asset property value entry containing the following information. +type AssetPropertyValue struct { + _ struct{} `type:"structure"` + + // Optional. A string that describes the quality of the value. Accepts substitution + // templates. Must be GOOD, BAD, or UNCERTAIN. + Quality *string `locationName:"quality" type:"string"` + + // The asset property value timestamp. + // + // Timestamp is a required field + Timestamp *AssetPropertyTimestamp `locationName:"timestamp" type:"structure" required:"true"` + + // The value of the asset property. + // + // Value is a required field + Value *AssetPropertyVariant `locationName:"value" type:"structure" required:"true"` +} + +// String returns the string representation +func (s AssetPropertyValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetPropertyValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetPropertyValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"} + if s.Timestamp == nil { + invalidParams.Add(request.NewErrParamRequired("Timestamp")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Timestamp != nil { + if err := s.Timestamp.Validate(); err != nil { + invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams)) + } + } + if s.Value != nil { + if err := s.Value.Validate(); err != nil { + invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQuality sets the Quality field's value. +func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue { + s.Quality = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *AssetPropertyValue) SetTimestamp(v *AssetPropertyTimestamp) *AssetPropertyValue { + s.Timestamp = v + return s +} + +// SetValue sets the Value field's value. +func (s *AssetPropertyValue) SetValue(v *AssetPropertyVariant) *AssetPropertyValue { + s.Value = v + return s +} + +// Contains an asset property value (of a single type). +type AssetPropertyVariant struct { + _ struct{} `type:"structure"` + + // Optional. A string that contains the boolean value (true or false) of the + // value entry. Accepts substitution templates. + BooleanValue *string `locationName:"booleanValue" type:"string"` + + // Optional. A string that contains the double value of the value entry. Accepts + // substitution templates. + DoubleValue *string `locationName:"doubleValue" type:"string"` + + // Optional. A string that contains the integer value of the value entry. Accepts + // substitution templates. + IntegerValue *string `locationName:"integerValue" type:"string"` + + // Optional. The string value of the value entry. Accepts substitution templates. + StringValue *string `locationName:"stringValue" min:"1" type:"string"` +} + +// String returns the string representation +func (s AssetPropertyVariant) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetPropertyVariant) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetPropertyVariant) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetPropertyVariant"} + if s.StringValue != nil && len(*s.StringValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StringValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBooleanValue sets the BooleanValue field's value. +func (s *AssetPropertyVariant) SetBooleanValue(v string) *AssetPropertyVariant { + s.BooleanValue = &v + return s +} + +// SetDoubleValue sets the DoubleValue field's value. +func (s *AssetPropertyVariant) SetDoubleValue(v string) *AssetPropertyVariant { + s.DoubleValue = &v + return s +} + +// SetIntegerValue sets the IntegerValue field's value. +func (s *AssetPropertyVariant) SetIntegerValue(v string) *AssetPropertyVariant { + s.IntegerValue = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *AssetPropertyVariant) SetStringValue(v string) *AssetPropertyVariant { + s.StringValue = &v + return s +} + type AssociateTargetsWithJobInput struct { _ struct{} `type:"structure"` @@ -18735,6 +20318,53 @@ func (s *AuthResult) SetMissingContextValues(v []*string) *AuthResult { return s } +// An object that specifies the authorization service for a domain. +type AuthorizerConfig struct { + _ struct{} `type:"structure"` + + // A Boolean that specifies whether the domain configuration's authorization + // service can be overridden. + AllowAuthorizerOverride *bool `locationName:"allowAuthorizerOverride" type:"boolean"` + + // The name of the authorization service for a domain configuration. + DefaultAuthorizerName *string `locationName:"defaultAuthorizerName" min:"1" type:"string"` +} + +// String returns the string representation +func (s AuthorizerConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizerConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuthorizerConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuthorizerConfig"} + if s.DefaultAuthorizerName != nil && len(*s.DefaultAuthorizerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DefaultAuthorizerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowAuthorizerOverride sets the AllowAuthorizerOverride field's value. +func (s *AuthorizerConfig) SetAllowAuthorizerOverride(v bool) *AuthorizerConfig { + s.AllowAuthorizerOverride = &v + return s +} + +// SetDefaultAuthorizerName sets the DefaultAuthorizerName field's value. +func (s *AuthorizerConfig) SetDefaultAuthorizerName(v string) *AuthorizerConfig { + s.DefaultAuthorizerName = &v + return s +} + // The authorizer description. type AuthorizerDescription struct { _ struct{} `type:"structure"` @@ -18754,6 +20384,10 @@ type AuthorizerDescription struct { // The UNIX timestamp of when the authorizer was last updated. LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + // Specifies whether AWS IoT validates the token signature in an authorization + // request. + SigningDisabled *bool `locationName:"signingDisabled" type:"boolean"` + // The status of the authorizer. Status *string `locationName:"status" type:"string" enum:"AuthorizerStatus"` @@ -18805,6 +20439,12 @@ func (s *AuthorizerDescription) SetLastModifiedDate(v time.Time) *AuthorizerDesc return s } +// SetSigningDisabled sets the SigningDisabled field's value. +func (s *AuthorizerDescription) SetSigningDisabled(v bool) *AuthorizerDescription { + s.SigningDisabled = &v + return s +} + // SetStatus sets the Status field's value. func (s *AuthorizerDescription) SetStatus(v string) *AuthorizerDescription { s.Status = &v @@ -20311,19 +21951,19 @@ type CreateAuthorizerInput struct { // AuthorizerName is a required field AuthorizerName *string `location:"uri" locationName:"authorizerName" min:"1" type:"string" required:"true"` + // Specifies whether AWS IoT validates the token signature in an authorization + // request. + SigningDisabled *bool `locationName:"signingDisabled" type:"boolean"` + // The status of the create authorizer request. Status *string `locationName:"status" type:"string" enum:"AuthorizerStatus"` // The name of the token key used to extract the token from the HTTP headers. - // - // TokenKeyName is a required field - TokenKeyName *string `locationName:"tokenKeyName" min:"1" type:"string" required:"true"` + TokenKeyName *string `locationName:"tokenKeyName" min:"1" type:"string"` // The public keys used to verify the digital signature returned by your custom // authentication service. - // - // TokenSigningPublicKeys is a required field - TokenSigningPublicKeys map[string]*string `locationName:"tokenSigningPublicKeys" type:"map" required:"true"` + TokenSigningPublicKeys map[string]*string `locationName:"tokenSigningPublicKeys" type:"map"` } // String returns the string representation @@ -20348,15 +21988,9 @@ func (s *CreateAuthorizerInput) Validate() error { if s.AuthorizerName != nil && len(*s.AuthorizerName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AuthorizerName", 1)) } - if s.TokenKeyName == nil { - invalidParams.Add(request.NewErrParamRequired("TokenKeyName")) - } if s.TokenKeyName != nil && len(*s.TokenKeyName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TokenKeyName", 1)) } - if s.TokenSigningPublicKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TokenSigningPublicKeys")) - } if invalidParams.Len() > 0 { return invalidParams @@ -20376,6 +22010,12 @@ func (s *CreateAuthorizerInput) SetAuthorizerName(v string) *CreateAuthorizerInp return s } +// SetSigningDisabled sets the SigningDisabled field's value. +func (s *CreateAuthorizerInput) SetSigningDisabled(v bool) *CreateAuthorizerInput { + s.SigningDisabled = &v + return s +} + // SetStatus sets the Status field's value. func (s *CreateAuthorizerInput) SetStatus(v string) *CreateAuthorizerInput { s.Status = &v @@ -20621,6 +22261,139 @@ func (s *CreateCertificateFromCsrOutput) SetCertificatePem(v string) *CreateCert return s } +type CreateDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // An object that specifies the authorization service for a domain. + AuthorizerConfig *AuthorizerConfig `locationName:"authorizerConfig" type:"structure"` + + // The name of the domain configuration. This value must be unique to a region. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` + + // The name of the domain. + DomainName *string `locationName:"domainName" min:"1" type:"string"` + + // The ARNs of the certificates that AWS IoT passes to the device during the + // TLS handshake. Currently you can specify only one certificate ARN. This value + // is not required for AWS-managed domains. + ServerCertificateArns []*string `locationName:"serverCertificateArns" type:"list"` + + // The type of service delivered by the endpoint. + ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"` + + // The certificate used to validate the server certificate and prove domain + // name ownership. This certificate must be signed by a public certificate authority. + // This value is not required for AWS-managed domains. + ValidationCertificateArn *string `locationName:"validationCertificateArn" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + if s.ValidationCertificateArn != nil && len(*s.ValidationCertificateArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValidationCertificateArn", 1)) + } + if s.AuthorizerConfig != nil { + if err := s.AuthorizerConfig.Validate(); err != nil { + invalidParams.AddNested("AuthorizerConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizerConfig sets the AuthorizerConfig field's value. +func (s *CreateDomainConfigurationInput) SetAuthorizerConfig(v *AuthorizerConfig) *CreateDomainConfigurationInput { + s.AuthorizerConfig = v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *CreateDomainConfigurationInput) SetDomainConfigurationName(v string) *CreateDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainConfigurationInput) SetDomainName(v string) *CreateDomainConfigurationInput { + s.DomainName = &v + return s +} + +// SetServerCertificateArns sets the ServerCertificateArns field's value. +func (s *CreateDomainConfigurationInput) SetServerCertificateArns(v []*string) *CreateDomainConfigurationInput { + s.ServerCertificateArns = v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *CreateDomainConfigurationInput) SetServiceType(v string) *CreateDomainConfigurationInput { + s.ServiceType = &v + return s +} + +// SetValidationCertificateArn sets the ValidationCertificateArn field's value. +func (s *CreateDomainConfigurationInput) SetValidationCertificateArn(v string) *CreateDomainConfigurationInput { + s.ValidationCertificateArn = &v + return s +} + +type CreateDomainConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the domain configuration. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainConfigurationOutput) GoString() string { + return s.String() +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *CreateDomainConfigurationOutput) SetDomainConfigurationArn(v string) *CreateDomainConfigurationOutput { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *CreateDomainConfigurationOutput) SetDomainConfigurationName(v string) *CreateDomainConfigurationOutput { + s.DomainConfigurationName = &v + return s +} + type CreateDynamicThingGroupInput struct { _ struct{} `type:"structure"` @@ -21649,6 +23422,359 @@ func (s *CreatePolicyVersionOutput) SetPolicyVersionId(v string) *CreatePolicyVe return s } +type CreateProvisioningClaimInput struct { + _ struct{} `type:"structure"` + + // The name of the provisioning template to use. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProvisioningClaimInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningClaimInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProvisioningClaimInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningClaimInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningClaimInput) SetTemplateName(v string) *CreateProvisioningClaimInput { + s.TemplateName = &v + return s +} + +type CreateProvisioningClaimOutput struct { + _ struct{} `type:"structure"` + + // The ID of the certificate. + CertificateId *string `locationName:"certificateId" min:"64" type:"string"` + + // The provisioning claim certificate. + CertificatePem *string `locationName:"certificatePem" min:"1" type:"string"` + + // The provisioning claim expiration time. + Expiration *time.Time `locationName:"expiration" type:"timestamp"` + + // The provisioning claim key pair. + KeyPair *KeyPair `locationName:"keyPair" type:"structure"` +} + +// String returns the string representation +func (s CreateProvisioningClaimOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningClaimOutput) GoString() string { + return s.String() +} + +// SetCertificateId sets the CertificateId field's value. +func (s *CreateProvisioningClaimOutput) SetCertificateId(v string) *CreateProvisioningClaimOutput { + s.CertificateId = &v + return s +} + +// SetCertificatePem sets the CertificatePem field's value. +func (s *CreateProvisioningClaimOutput) SetCertificatePem(v string) *CreateProvisioningClaimOutput { + s.CertificatePem = &v + return s +} + +// SetExpiration sets the Expiration field's value. +func (s *CreateProvisioningClaimOutput) SetExpiration(v time.Time) *CreateProvisioningClaimOutput { + s.Expiration = &v + return s +} + +// SetKeyPair sets the KeyPair field's value. +func (s *CreateProvisioningClaimOutput) SetKeyPair(v *KeyPair) *CreateProvisioningClaimOutput { + s.KeyPair = v + return s +} + +type CreateProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True to enable the fleet provisioning template, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The role ARN for the role associated with the fleet provisioning template. + // This IoT role grants permission to provision a device. + // + // ProvisioningRoleArn is a required field + ProvisioningRoleArn *string `locationName:"provisioningRoleArn" min:"20" type:"string" required:"true"` + + // Metadata which can be used to manage the fleet provisioning template. + // + // For URI Request parameters use format: ...key1=value1&key2=value2... + // + // For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." + // + // For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." + Tags []*Tag `locationName:"tags" type:"list"` + + // The JSON formatted contents of the fleet provisioning template. + // + // TemplateBody is a required field + TemplateBody *string `locationName:"templateBody" type:"string" required:"true"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningTemplateInput"} + if s.ProvisioningRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ProvisioningRoleArn")) + } + if s.ProvisioningRoleArn != nil && len(*s.ProvisioningRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ProvisioningRoleArn", 20)) + } + if s.TemplateBody == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateBody")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateProvisioningTemplateInput) SetDescription(v string) *CreateProvisioningTemplateInput { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateProvisioningTemplateInput) SetEnabled(v bool) *CreateProvisioningTemplateInput { + s.Enabled = &v + return s +} + +// SetProvisioningRoleArn sets the ProvisioningRoleArn field's value. +func (s *CreateProvisioningTemplateInput) SetProvisioningRoleArn(v string) *CreateProvisioningTemplateInput { + s.ProvisioningRoleArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateProvisioningTemplateInput) SetTags(v []*Tag) *CreateProvisioningTemplateInput { + s.Tags = v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateProvisioningTemplateInput) SetTemplateBody(v string) *CreateProvisioningTemplateInput { + s.TemplateBody = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateInput) SetTemplateName(v string) *CreateProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type CreateProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` + + // The default version of the fleet provisioning template. + DefaultVersionId *int64 `locationName:"defaultVersionId" type:"integer"` + + // The ARN that identifies the provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateOutput) GoString() string { + return s.String() +} + +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *CreateProvisioningTemplateOutput) SetDefaultVersionId(v int64) *CreateProvisioningTemplateOutput { + s.DefaultVersionId = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *CreateProvisioningTemplateOutput) SetTemplateArn(v string) *CreateProvisioningTemplateOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateOutput) SetTemplateName(v string) *CreateProvisioningTemplateOutput { + s.TemplateName = &v + return s +} + +type CreateProvisioningTemplateVersionInput struct { + _ struct{} `type:"structure"` + + // Sets a fleet provision template version as the default version. + SetAsDefault *bool `location:"querystring" locationName:"setAsDefault" type:"boolean"` + + // The JSON formatted contents of the fleet provisioning template. + // + // TemplateBody is a required field + TemplateBody *string `locationName:"templateBody" type:"string" required:"true"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProvisioningTemplateVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningTemplateVersionInput"} + if s.TemplateBody == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateBody")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSetAsDefault sets the SetAsDefault field's value. +func (s *CreateProvisioningTemplateVersionInput) SetSetAsDefault(v bool) *CreateProvisioningTemplateVersionInput { + s.SetAsDefault = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateProvisioningTemplateVersionInput) SetTemplateBody(v string) *CreateProvisioningTemplateVersionInput { + s.TemplateBody = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateVersionInput) SetTemplateName(v string) *CreateProvisioningTemplateVersionInput { + s.TemplateName = &v + return s +} + +type CreateProvisioningTemplateVersionOutput struct { + _ struct{} `type:"structure"` + + // True if the fleet provisioning template version is the default version, otherwise + // false. + IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` + + // The ARN that identifies the provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` + + // The version of the fleet provisioning template. + VersionId *int64 `locationName:"versionId" type:"integer"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateVersionOutput) GoString() string { + return s.String() +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetIsDefaultVersion(v bool) *CreateProvisioningTemplateVersionOutput { + s.IsDefaultVersion = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetTemplateArn(v string) *CreateProvisioningTemplateVersionOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetTemplateName(v string) *CreateProvisioningTemplateVersionOutput { + s.TemplateName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetVersionId(v int64) *CreateProvisioningTemplateVersionOutput { + s.VersionId = &v + return s +} + type CreateRoleAliasInput struct { _ struct{} `type:"structure"` @@ -21727,7 +23853,7 @@ type CreateRoleAliasOutput struct { RoleAlias *string `locationName:"roleAlias" min:"1" type:"string"` // The role alias ARN. - RoleAliasArn *string `locationName:"roleAliasArn" type:"string"` + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` } // String returns the string representation @@ -23003,6 +25129,61 @@ func (s DeleteCertificateOutput) GoString() string { return s.String() } +type DeleteDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the domain configuration to be deleted. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DeleteDomainConfigurationInput) SetDomainConfigurationName(v string) *DeleteDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +type DeleteDomainConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainConfigurationOutput) GoString() string { + return s.String() +} + type DeleteDynamicThingGroupInput struct { _ struct{} `type:"structure"` @@ -23507,6 +25688,130 @@ func (s DeletePolicyVersionOutput) GoString() string { return s.String() } +type DeleteProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the fleet provision template to delete. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteProvisioningTemplateInput) SetTemplateName(v string) *DeleteProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type DeleteProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateOutput) GoString() string { + return s.String() +} + +type DeleteProvisioningTemplateVersionInput struct { + _ struct{} `type:"structure"` + + // The name of the fleet provisioning template version to delete. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` + + // The fleet provisioning template version ID to delete. + // + // VersionId is a required field + VersionId *int64 `location:"uri" locationName:"versionId" type:"integer" required:"true"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProvisioningTemplateVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningTemplateVersionInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + if s.VersionId == nil { + invalidParams.Add(request.NewErrParamRequired("VersionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteProvisioningTemplateVersionInput) SetTemplateName(v string) *DeleteProvisioningTemplateVersionInput { + s.TemplateName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DeleteProvisioningTemplateVersionInput) SetVersionId(v int64) *DeleteProvisioningTemplateVersionInput { + s.VersionId = &v + return s +} + +type DeleteProvisioningTemplateVersionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateVersionOutput) GoString() string { + return s.String() +} + // The input for the DeleteRegistrationCode operation. type DeleteRegistrationCodeInput struct { _ struct{} `type:"structure"` @@ -24945,6 +27250,134 @@ func (s *DescribeDefaultAuthorizerOutput) SetAuthorizerDescription(v *Authorizer return s } +type DescribeDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the domain configuration. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DescribeDomainConfigurationInput) SetDomainConfigurationName(v string) *DescribeDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +type DescribeDomainConfigurationOutput struct { + _ struct{} `type:"structure"` + + // An object that specifies the authorization service for a domain. + AuthorizerConfig *AuthorizerConfig `locationName:"authorizerConfig" type:"structure"` + + // The ARN of the domain configuration. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` + + // A Boolean value that specifies the current state of the domain configuration. + DomainConfigurationStatus *string `locationName:"domainConfigurationStatus" type:"string" enum:"DomainConfigurationStatus"` + + // The name of the domain. + DomainName *string `locationName:"domainName" min:"1" type:"string"` + + // The type of the domain. + DomainType *string `locationName:"domainType" type:"string" enum:"DomainType"` + + // A list containing summary information about the server certificate included + // in the domain configuration. + ServerCertificates []*ServerCertificateSummary `locationName:"serverCertificates" type:"list"` + + // The type of service delivered by the endpoint. + ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"` +} + +// String returns the string representation +func (s DescribeDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDomainConfigurationOutput) GoString() string { + return s.String() +} + +// SetAuthorizerConfig sets the AuthorizerConfig field's value. +func (s *DescribeDomainConfigurationOutput) SetAuthorizerConfig(v *AuthorizerConfig) *DescribeDomainConfigurationOutput { + s.AuthorizerConfig = v + return s +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainConfigurationArn(v string) *DescribeDomainConfigurationOutput { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainConfigurationName(v string) *DescribeDomainConfigurationOutput { + s.DomainConfigurationName = &v + return s +} + +// SetDomainConfigurationStatus sets the DomainConfigurationStatus field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainConfigurationStatus(v string) *DescribeDomainConfigurationOutput { + s.DomainConfigurationStatus = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainName(v string) *DescribeDomainConfigurationOutput { + s.DomainName = &v + return s +} + +// SetDomainType sets the DomainType field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainType(v string) *DescribeDomainConfigurationOutput { + s.DomainType = &v + return s +} + +// SetServerCertificates sets the ServerCertificates field's value. +func (s *DescribeDomainConfigurationOutput) SetServerCertificates(v []*ServerCertificateSummary) *DescribeDomainConfigurationOutput { + s.ServerCertificates = v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *DescribeDomainConfigurationOutput) SetServiceType(v string) *DescribeDomainConfigurationOutput { + s.ServiceType = &v + return s +} + // The input for the DescribeEndpoint operation. type DescribeEndpointInput struct { _ struct{} `type:"structure"` @@ -25443,6 +27876,248 @@ func (s *DescribeMitigationActionOutput) SetRoleArn(v string) *DescribeMitigatio return s } +type DescribeProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DescribeProvisioningTemplateInput) SetTemplateName(v string) *DescribeProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type DescribeProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The default fleet template version ID. + DefaultVersionId *int64 `locationName:"defaultVersionId" type:"integer"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True if the fleet provisioning template is enabled, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The date when the fleet provisioning template was last modified. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The ARN of the role associated with the provisioning template. This IoT role + // grants permission to provision a device. + ProvisioningRoleArn *string `locationName:"provisioningRoleArn" min:"20" type:"string"` + + // The ARN of the fleet provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The JSON formatted contents of the fleet provisioning template. + TemplateBody *string `locationName:"templateBody" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeProvisioningTemplateOutput) SetCreationDate(v time.Time) *DescribeProvisioningTemplateOutput { + s.CreationDate = &v + return s +} + +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *DescribeProvisioningTemplateOutput) SetDefaultVersionId(v int64) *DescribeProvisioningTemplateOutput { + s.DefaultVersionId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeProvisioningTemplateOutput) SetDescription(v string) *DescribeProvisioningTemplateOutput { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DescribeProvisioningTemplateOutput) SetEnabled(v bool) *DescribeProvisioningTemplateOutput { + s.Enabled = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *DescribeProvisioningTemplateOutput) SetLastModifiedDate(v time.Time) *DescribeProvisioningTemplateOutput { + s.LastModifiedDate = &v + return s +} + +// SetProvisioningRoleArn sets the ProvisioningRoleArn field's value. +func (s *DescribeProvisioningTemplateOutput) SetProvisioningRoleArn(v string) *DescribeProvisioningTemplateOutput { + s.ProvisioningRoleArn = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *DescribeProvisioningTemplateOutput) SetTemplateArn(v string) *DescribeProvisioningTemplateOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *DescribeProvisioningTemplateOutput) SetTemplateBody(v string) *DescribeProvisioningTemplateOutput { + s.TemplateBody = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DescribeProvisioningTemplateOutput) SetTemplateName(v string) *DescribeProvisioningTemplateOutput { + s.TemplateName = &v + return s +} + +type DescribeProvisioningTemplateVersionInput struct { + _ struct{} `type:"structure"` + + // The template name. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` + + // The fleet provisioning template version ID. + // + // VersionId is a required field + VersionId *int64 `location:"uri" locationName:"versionId" type:"integer" required:"true"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProvisioningTemplateVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningTemplateVersionInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + if s.VersionId == nil { + invalidParams.Add(request.NewErrParamRequired("VersionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DescribeProvisioningTemplateVersionInput) SetTemplateName(v string) *DescribeProvisioningTemplateVersionInput { + s.TemplateName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DescribeProvisioningTemplateVersionInput) SetVersionId(v int64) *DescribeProvisioningTemplateVersionInput { + s.VersionId = &v + return s +} + +type DescribeProvisioningTemplateVersionOutput struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template version was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // True if the fleet provisioning template version is the default version. + IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` + + // The JSON formatted contents of the fleet provisioning template version. + TemplateBody *string `locationName:"templateBody" type:"string"` + + // The fleet provisioning template version ID. + VersionId *int64 `locationName:"versionId" type:"integer"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateVersionOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetCreationDate(v time.Time) *DescribeProvisioningTemplateVersionOutput { + s.CreationDate = &v + return s +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetIsDefaultVersion(v bool) *DescribeProvisioningTemplateVersionOutput { + s.IsDefaultVersion = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetTemplateBody(v string) *DescribeProvisioningTemplateVersionOutput { + s.TemplateBody = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetVersionId(v int64) *DescribeProvisioningTemplateVersionOutput { + s.VersionId = &v + return s +} + type DescribeRoleAliasInput struct { _ struct{} `type:"structure"` @@ -26753,6 +29428,59 @@ func (s DisableTopicRuleOutput) GoString() string { return s.String() } +// The summary of a domain configuration. A domain configuration specifies custom +// IoT-specific information about a domain. A domain configuration can be associated +// with an AWS-managed domain (for example, dbc123defghijk.iot.us-west-2.amazonaws.com), +// a customer managed domain, or a default endpoint. +// +// * Data +// +// * Jobs +// +// * CredentialProvider +// +// The domain configuration feature is in public preview and is subject to change. +type DomainConfigurationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the domain configuration. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration. This value must be unique to a region. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` + + // The type of service delivered by the endpoint. + ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"` +} + +// String returns the string representation +func (s DomainConfigurationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainConfigurationSummary) GoString() string { + return s.String() +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *DomainConfigurationSummary) SetDomainConfigurationArn(v string) *DomainConfigurationSummary { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DomainConfigurationSummary) SetDomainConfigurationName(v string) *DomainConfigurationSummary { + s.DomainConfigurationName = &v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *DomainConfigurationSummary) SetServiceType(v string) *DomainConfigurationSummary { + s.ServiceType = &v + return s +} + // Describes an action to write to a DynamoDB table. // // The tableName, hashKeyField, and rangeKeyField values must match the values @@ -27363,14 +30091,14 @@ func (s *ExponentialRolloutRate) SetRateIncreaseCriteria(v *RateIncreaseCriteria return s } -// The field to aggregate. +// Describes the name and data type at a field. type Field struct { _ struct{} `type:"structure"` // The name of the field. Name *string `locationName:"name" type:"string"` - // The data type of the field. + // The datatype of the field. Type *string `locationName:"type" type:"string" enum:"FieldType"` } @@ -28198,7 +30926,7 @@ func (s *GetPolicyVersionInput) SetPolicyVersionId(v string) *GetPolicyVersionIn type GetPolicyVersionOutput struct { _ struct{} `type:"structure"` - // The date the policy version was created. + // The date the policy was created. CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` // The generation ID of the policy version. @@ -28207,7 +30935,7 @@ type GetPolicyVersionOutput struct { // Specifies whether the policy version is the default. IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` - // The date the policy version was last modified. + // The date the policy was last modified. LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` // The policy ARN. @@ -28323,7 +31051,7 @@ func (s *GetRegistrationCodeOutput) SetRegistrationCode(v string) *GetRegistrati type GetStatisticsInput struct { _ struct{} `type:"structure"` - // The aggregation field name. Currently not supported. + // The aggregation field name. AggregationField *string `locationName:"aggregationField" min:"1" type:"string"` // The name of the index to search. The default value is AWS_Things. @@ -28830,6 +31558,52 @@ func (s *HttpAuthorization) SetSigv4(v *SigV4Authorization) *HttpAuthorization { return s } +// Specifies the HTTP context to use for the test authorizer request. +type HttpContext struct { + _ struct{} `type:"structure"` + + // The header keys and values in an HTTP authorization request. + Headers map[string]*string `locationName:"headers" type:"map"` + + // The query string keys and values in an HTTP authorization request. + QueryString *string `locationName:"queryString" min:"1" type:"string"` +} + +// String returns the string representation +func (s HttpContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpContext"} + if s.QueryString != nil && len(*s.QueryString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHeaders sets the Headers field's value. +func (s *HttpContext) SetHeaders(v map[string]*string) *HttpContext { + s.Headers = v + return s +} + +// SetQueryString sets the QueryString field's value. +func (s *HttpContext) SetQueryString(v string) *HttpContext { + s.QueryString = &v + return s +} + // HTTP URL destination configuration used by the topic rule's HTTP action. type HttpUrlDestinationConfiguration struct { _ struct{} `type:"structure"` @@ -29056,6 +31830,75 @@ func (s *IotEventsAction) SetRoleArn(v string) *IotEventsAction { return s } +// Describes an action to send data from an MQTT message that triggered the +// rule to AWS IoT SiteWise asset properties. +type IotSiteWiseAction struct { + _ struct{} `type:"structure"` + + // A list of asset property value entries. + // + // PutAssetPropertyValueEntries is a required field + PutAssetPropertyValueEntries []*PutAssetPropertyValueEntry `locationName:"putAssetPropertyValueEntries" min:"1" type:"list" required:"true"` + + // The ARN of the role that grants AWS IoT permission to send an asset property + // value to AWS IoTSiteWise. ("Action": "iotsitewise:BatchPutAssetPropertyValue"). + // The trust policy can restrict access to specific asset hierarchy paths. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s IotSiteWiseAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IotSiteWiseAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotSiteWiseAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAction"} + if s.PutAssetPropertyValueEntries == nil { + invalidParams.Add(request.NewErrParamRequired("PutAssetPropertyValueEntries")) + } + if s.PutAssetPropertyValueEntries != nil && len(s.PutAssetPropertyValueEntries) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PutAssetPropertyValueEntries", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.PutAssetPropertyValueEntries != nil { + for i, v := range s.PutAssetPropertyValueEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PutAssetPropertyValueEntries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPutAssetPropertyValueEntries sets the PutAssetPropertyValueEntries field's value. +func (s *IotSiteWiseAction) SetPutAssetPropertyValueEntries(v []*PutAssetPropertyValueEntry) *IotSiteWiseAction { + s.PutAssetPropertyValueEntries = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *IotSiteWiseAction) SetRoleArn(v string) *IotSiteWiseAction { + s.RoleArn = &v + return s +} + // The Job object contains details about a job. type Job struct { _ struct{} `type:"structure"` @@ -31094,6 +33937,93 @@ func (s *ListCertificatesOutput) SetNextMarker(v string) *ListCertificatesOutput return s } +type ListDomainConfigurationsInput struct { + _ struct{} `type:"structure"` + + // The marker for the next set of results. + Marker *string `location:"querystring" locationName:"marker" type:"string"` + + // The result page size. + PageSize *int64 `location:"querystring" locationName:"pageSize" min:"1" type:"integer"` + + // The type of service delivered by the endpoint. + ServiceType *string `location:"querystring" locationName:"serviceType" type:"string" enum:"ServiceType"` +} + +// String returns the string representation +func (s ListDomainConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDomainConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDomainConfigurationsInput"} + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMarker sets the Marker field's value. +func (s *ListDomainConfigurationsInput) SetMarker(v string) *ListDomainConfigurationsInput { + s.Marker = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListDomainConfigurationsInput) SetPageSize(v int64) *ListDomainConfigurationsInput { + s.PageSize = &v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *ListDomainConfigurationsInput) SetServiceType(v string) *ListDomainConfigurationsInput { + s.ServiceType = &v + return s +} + +type ListDomainConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // A list of objects that contain summary information about the user's domain + // configurations. + DomainConfigurations []*DomainConfigurationSummary `locationName:"domainConfigurations" type:"list"` + + // The marker for the next set of results. + NextMarker *string `locationName:"nextMarker" type:"string"` +} + +// String returns the string representation +func (s ListDomainConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainConfigurationsOutput) GoString() string { + return s.String() +} + +// SetDomainConfigurations sets the DomainConfigurations field's value. +func (s *ListDomainConfigurationsOutput) SetDomainConfigurations(v []*DomainConfigurationSummary) *ListDomainConfigurationsOutput { + s.DomainConfigurations = v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListDomainConfigurationsOutput) SetNextMarker(v string) *ListDomainConfigurationsOutput { + s.NextMarker = &v + return s +} + type ListIndicesInput struct { _ struct{} `type:"structure"` @@ -32231,6 +35161,177 @@ func (s *ListPrincipalThingsOutput) SetThings(v []*string) *ListPrincipalThingsO return s } +type ListProvisioningTemplateVersionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A token to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListProvisioningTemplateVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplateVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProvisioningTemplateVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProvisioningTemplateVersionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProvisioningTemplateVersionsInput) SetMaxResults(v int64) *ListProvisioningTemplateVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplateVersionsInput) SetNextToken(v string) *ListProvisioningTemplateVersionsInput { + s.NextToken = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *ListProvisioningTemplateVersionsInput) SetTemplateName(v string) *ListProvisioningTemplateVersionsInput { + s.TemplateName = &v + return s +} + +type ListProvisioningTemplateVersionsOutput struct { + _ struct{} `type:"structure"` + + // A token to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of fleet provisioning template versions. + Versions []*ProvisioningTemplateVersionSummary `locationName:"versions" type:"list"` +} + +// String returns the string representation +func (s ListProvisioningTemplateVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplateVersionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplateVersionsOutput) SetNextToken(v string) *ListProvisioningTemplateVersionsOutput { + s.NextToken = &v + return s +} + +// SetVersions sets the Versions field's value. +func (s *ListProvisioningTemplateVersionsOutput) SetVersions(v []*ProvisioningTemplateVersionSummary) *ListProvisioningTemplateVersionsOutput { + s.Versions = v + return s +} + +type ListProvisioningTemplatesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A token to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListProvisioningTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProvisioningTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProvisioningTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProvisioningTemplatesInput) SetMaxResults(v int64) *ListProvisioningTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplatesInput) SetNextToken(v string) *ListProvisioningTemplatesInput { + s.NextToken = &v + return s +} + +type ListProvisioningTemplatesOutput struct { + _ struct{} `type:"structure"` + + // A token to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of fleet provisioning templates + Templates []*ProvisioningTemplateSummary `locationName:"templates" type:"list"` +} + +// String returns the string representation +func (s ListProvisioningTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplatesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplatesOutput) SetNextToken(v string) *ListProvisioningTemplatesOutput { + s.NextToken = &v + return s +} + +// SetTemplates sets the Templates field's value. +func (s *ListProvisioningTemplatesOutput) SetTemplates(v []*ProvisioningTemplateSummary) *ListProvisioningTemplatesOutput { + s.Templates = v + return s +} + type ListRoleAliasesInput struct { _ struct{} `type:"structure"` @@ -34590,6 +37691,69 @@ func (s *MitigationActionParams) SetUpdateDeviceCertificateParams(v *UpdateDevic return s } +// Specifies the MQTT context to use for the test authorizer request +type MqttContext struct { + _ struct{} `type:"structure"` + + // The value of the clientId key in an MQTT authorization request. + ClientId *string `locationName:"clientId" min:"1" type:"string"` + + // The value of the password key in an MQTT authorization request. + // + // Password is automatically base64 encoded/decoded by the SDK. + Password []byte `locationName:"password" min:"1" type:"blob"` + + // The value of the username key in an MQTT authorization request. + Username *string `locationName:"username" min:"1" type:"string"` +} + +// String returns the string representation +func (s MqttContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MqttContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MqttContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MqttContext"} + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.Password != nil && len(s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientId sets the ClientId field's value. +func (s *MqttContext) SetClientId(v string) *MqttContext { + s.ClientId = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *MqttContext) SetPassword(v []byte) *MqttContext { + s.Password = v + return s +} + +// SetUsername sets the Username field's value. +func (s *MqttContext) SetUsername(v string) *MqttContext { + s.Username = &v + return s +} + // Information about the resource that was noncompliant with the audit check. type NonCompliantResource struct { _ struct{} `type:"structure"` @@ -35176,6 +38340,118 @@ func (s *PresignedUrlConfig) SetRoleArn(v string) *PresignedUrlConfig { return s } +// A summary of information about a fleet provisioning template. +type ProvisioningTemplateSummary struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template summary was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True if the fleet provision template is enabled, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The date when the fleet provisioning template summary was last modified. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The ARN of the fleet provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s ProvisioningTemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisioningTemplateSummary) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ProvisioningTemplateSummary) SetCreationDate(v time.Time) *ProvisioningTemplateSummary { + s.CreationDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ProvisioningTemplateSummary) SetDescription(v string) *ProvisioningTemplateSummary { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ProvisioningTemplateSummary) SetEnabled(v bool) *ProvisioningTemplateSummary { + s.Enabled = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ProvisioningTemplateSummary) SetLastModifiedDate(v time.Time) *ProvisioningTemplateSummary { + s.LastModifiedDate = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *ProvisioningTemplateSummary) SetTemplateArn(v string) *ProvisioningTemplateSummary { + s.TemplateArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *ProvisioningTemplateSummary) SetTemplateName(v string) *ProvisioningTemplateSummary { + s.TemplateName = &v + return s +} + +// A summary of information about a fleet provision template version. +type ProvisioningTemplateVersionSummary struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template version was created + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // True if the fleet provisioning template version is the default version, otherwise + // false. + IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` + + // The ID of the fleet privisioning template version. + VersionId *int64 `locationName:"versionId" type:"integer"` +} + +// String returns the string representation +func (s ProvisioningTemplateVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisioningTemplateVersionSummary) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ProvisioningTemplateVersionSummary) SetCreationDate(v time.Time) *ProvisioningTemplateVersionSummary { + s.CreationDate = &v + return s +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *ProvisioningTemplateVersionSummary) SetIsDefaultVersion(v bool) *ProvisioningTemplateVersionSummary { + s.IsDefaultVersion = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *ProvisioningTemplateVersionSummary) SetVersionId(v int64) *ProvisioningTemplateVersionSummary { + s.VersionId = &v + return s +} + // Parameters to define a mitigation action that publishes findings to Amazon // SNS. You can implement your own custom actions in response to the Amazon // SNS messages. @@ -35217,6 +38493,104 @@ func (s *PublishFindingToSnsParams) SetTopicArn(v string) *PublishFindingToSnsPa return s } +// An asset property value entry containing the following information. +type PutAssetPropertyValueEntry struct { + _ struct{} `type:"structure"` + + // The ID of the AWS IoT SiteWise asset. You must specify either a propertyAlias + // or both an analiasId and a propertyId. Accepts substitution templates. + AssetId *string `locationName:"assetId" type:"string"` + + // Optional. A unique identifier for this entry that you can define to better + // track which message caused an error in case of failure. Accepts substitution + // templates. Defaults to a new UUID. + EntryId *string `locationName:"entryId" type:"string"` + + // The name of the property alias associated with your asset property. You must + // specify either a propertyAlias or both an aliasId and a propertyId. Accepts + // substitution templates. + PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` + + // The ID of the asset's property. You must specify either a propertyAlias or + // both an analiasId and a propertyId. Accepts substitution templates. + PropertyId *string `locationName:"propertyId" type:"string"` + + // A list of property values to insert that each contain timestamp, quality, + // and value (TQV) information. + // + // PropertyValues is a required field + PropertyValues []*AssetPropertyValue `locationName:"propertyValues" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s PutAssetPropertyValueEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAssetPropertyValueEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutAssetPropertyValueEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutAssetPropertyValueEntry"} + if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) + } + if s.PropertyValues == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyValues")) + } + if s.PropertyValues != nil && len(s.PropertyValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyValues", 1)) + } + if s.PropertyValues != nil { + for i, v := range s.PropertyValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyValues", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetId sets the AssetId field's value. +func (s *PutAssetPropertyValueEntry) SetAssetId(v string) *PutAssetPropertyValueEntry { + s.AssetId = &v + return s +} + +// SetEntryId sets the EntryId field's value. +func (s *PutAssetPropertyValueEntry) SetEntryId(v string) *PutAssetPropertyValueEntry { + s.EntryId = &v + return s +} + +// SetPropertyAlias sets the PropertyAlias field's value. +func (s *PutAssetPropertyValueEntry) SetPropertyAlias(v string) *PutAssetPropertyValueEntry { + s.PropertyAlias = &v + return s +} + +// SetPropertyId sets the PropertyId field's value. +func (s *PutAssetPropertyValueEntry) SetPropertyId(v string) *PutAssetPropertyValueEntry { + s.PropertyId = &v + return s +} + +// SetPropertyValues sets the PropertyValues field's value. +func (s *PutAssetPropertyValueEntry) SetPropertyValues(v []*AssetPropertyValue) *PutAssetPropertyValueEntry { + s.PropertyValues = v + return s +} + // The input for the DynamoActionVS action that specifies the DynamoDB table // to which the message data will be written. type PutItemInput struct { @@ -36132,8 +39506,14 @@ type ResourceIdentifier struct { // The ID of the certificate attached to the resource. DeviceCertificateId *string `locationName:"deviceCertificateId" min:"64" type:"string"` + // The ARN of the IAM role that has overly permissive actions. + IamRoleArn *string `locationName:"iamRoleArn" min:"20" type:"string"` + // The version of the policy associated with the resource. PolicyVersionIdentifier *PolicyVersionIdentifier `locationName:"policyVersionIdentifier" type:"structure"` + + // The ARN of the role alias that has overly permissive actions. + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` } // String returns the string representation @@ -36158,6 +39538,12 @@ func (s *ResourceIdentifier) Validate() error { if s.DeviceCertificateId != nil && len(*s.DeviceCertificateId) < 64 { invalidParams.Add(request.NewErrParamMinLen("DeviceCertificateId", 64)) } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 20)) + } + if s.RoleAliasArn != nil && len(*s.RoleAliasArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleAliasArn", 1)) + } if s.PolicyVersionIdentifier != nil { if err := s.PolicyVersionIdentifier.Validate(); err != nil { invalidParams.AddNested("PolicyVersionIdentifier", err.(request.ErrInvalidParams)) @@ -36200,12 +39586,24 @@ func (s *ResourceIdentifier) SetDeviceCertificateId(v string) *ResourceIdentifie return s } +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *ResourceIdentifier) SetIamRoleArn(v string) *ResourceIdentifier { + s.IamRoleArn = &v + return s +} + // SetPolicyVersionIdentifier sets the PolicyVersionIdentifier field's value. func (s *ResourceIdentifier) SetPolicyVersionIdentifier(v *PolicyVersionIdentifier) *ResourceIdentifier { s.PolicyVersionIdentifier = v return s } +// SetRoleAliasArn sets the RoleAliasArn field's value. +func (s *ResourceIdentifier) SetRoleAliasArn(v string) *ResourceIdentifier { + s.RoleAliasArn = &v + return s +} + // Role alias description. type RoleAliasDescription struct { _ struct{} `type:"structure"` @@ -36226,7 +39624,7 @@ type RoleAliasDescription struct { RoleAlias *string `locationName:"roleAlias" min:"1" type:"string"` // The ARN of the role alias. - RoleAliasArn *string `locationName:"roleAliasArn" type:"string"` + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` // The role ARN. RoleArn *string `locationName:"roleArn" min:"20" type:"string"` @@ -36809,6 +40207,48 @@ func (s *SecurityProfileTargetMapping) SetTarget(v *SecurityProfileTarget) *Secu return s } +// An object that contains information about a server certificate. +type ServerCertificateSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the server certificate. + ServerCertificateArn *string `locationName:"serverCertificateArn" min:"1" type:"string"` + + // The status of the server certificate. + ServerCertificateStatus *string `locationName:"serverCertificateStatus" type:"string" enum:"ServerCertificateStatus"` + + // Details that explain the status of the server certificate. + ServerCertificateStatusDetail *string `locationName:"serverCertificateStatusDetail" type:"string"` +} + +// String returns the string representation +func (s ServerCertificateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServerCertificateSummary) GoString() string { + return s.String() +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *ServerCertificateSummary) SetServerCertificateArn(v string) *ServerCertificateSummary { + s.ServerCertificateArn = &v + return s +} + +// SetServerCertificateStatus sets the ServerCertificateStatus field's value. +func (s *ServerCertificateSummary) SetServerCertificateStatus(v string) *ServerCertificateSummary { + s.ServerCertificateStatus = &v + return s +} + +// SetServerCertificateStatusDetail sets the ServerCertificateStatusDetail field's value. +func (s *ServerCertificateSummary) SetServerCertificateStatusDetail(v string) *ServerCertificateSummary { + s.ServerCertificateStatusDetail = &v + return s +} + type SetDefaultAuthorizerInput struct { _ struct{} `type:"structure"` @@ -37766,26 +41206,22 @@ func (s *StatisticalThreshold) SetStatistic(v string) *StatisticalThreshold { type Statistics struct { _ struct{} `type:"structure"` - // The average of the aggregated fields. If the field data type is String this - // value is indeterminate. + // The average of the aggregated field values. Average *float64 `locationName:"average" type:"double"` // The count of things that match the query. Count *int64 `locationName:"count" type:"integer"` - // The maximum value of the aggregated fields. If the field data type is String - // this value is indeterminate. + // The maximum aggregated field value. Maximum *float64 `locationName:"maximum" type:"double"` - // The minimum value of the aggregated fields. If the field data type is String - // this value is indeterminate. + // The minimum aggregated field value. Minimum *float64 `locationName:"minimum" type:"double"` // The standard deviation of the aggregated field values. StdDeviation *float64 `locationName:"stdDeviation" type:"double"` - // The sum of the aggregated fields. If the field data type is String this value - // is indeterminate. + // The sum of the aggregated field values. Sum *float64 `locationName:"sum" type:"double"` // The sum of the squares of the aggregated field values. @@ -38566,16 +42002,21 @@ type TestInvokeAuthorizerInput struct { // AuthorizerName is a required field AuthorizerName *string `location:"uri" locationName:"authorizerName" min:"1" type:"string" required:"true"` + // Specifies a test HTTP authorization request. + HttpContext *HttpContext `locationName:"httpContext" type:"structure"` + + // Specifies a test MQTT authorization request.> + MqttContext *MqttContext `locationName:"mqttContext" type:"structure"` + + // Specifies a test TLS authorization request. + TlsContext *TlsContext `locationName:"tlsContext" type:"structure"` + // The token returned by your custom authentication service. - // - // Token is a required field - Token *string `locationName:"token" min:"1" type:"string" required:"true"` + Token *string `locationName:"token" min:"1" type:"string"` // The signature made with the token and your custom authentication service's // private key. - // - // TokenSignature is a required field - TokenSignature *string `locationName:"tokenSignature" min:"1" type:"string" required:"true"` + TokenSignature *string `locationName:"tokenSignature" min:"1" type:"string"` } // String returns the string representation @@ -38597,18 +42038,27 @@ func (s *TestInvokeAuthorizerInput) Validate() error { if s.AuthorizerName != nil && len(*s.AuthorizerName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AuthorizerName", 1)) } - if s.Token == nil { - invalidParams.Add(request.NewErrParamRequired("Token")) - } if s.Token != nil && len(*s.Token) < 1 { invalidParams.Add(request.NewErrParamMinLen("Token", 1)) } - if s.TokenSignature == nil { - invalidParams.Add(request.NewErrParamRequired("TokenSignature")) - } if s.TokenSignature != nil && len(*s.TokenSignature) < 1 { invalidParams.Add(request.NewErrParamMinLen("TokenSignature", 1)) } + if s.HttpContext != nil { + if err := s.HttpContext.Validate(); err != nil { + invalidParams.AddNested("HttpContext", err.(request.ErrInvalidParams)) + } + } + if s.MqttContext != nil { + if err := s.MqttContext.Validate(); err != nil { + invalidParams.AddNested("MqttContext", err.(request.ErrInvalidParams)) + } + } + if s.TlsContext != nil { + if err := s.TlsContext.Validate(); err != nil { + invalidParams.AddNested("TlsContext", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -38622,6 +42072,24 @@ func (s *TestInvokeAuthorizerInput) SetAuthorizerName(v string) *TestInvokeAutho return s } +// SetHttpContext sets the HttpContext field's value. +func (s *TestInvokeAuthorizerInput) SetHttpContext(v *HttpContext) *TestInvokeAuthorizerInput { + s.HttpContext = v + return s +} + +// SetMqttContext sets the MqttContext field's value. +func (s *TestInvokeAuthorizerInput) SetMqttContext(v *MqttContext) *TestInvokeAuthorizerInput { + s.MqttContext = v + return s +} + +// SetTlsContext sets the TlsContext field's value. +func (s *TestInvokeAuthorizerInput) SetTlsContext(v *TlsContext) *TestInvokeAuthorizerInput { + s.TlsContext = v + return s +} + // SetToken sets the Token field's value. func (s *TestInvokeAuthorizerInput) SetToken(v string) *TestInvokeAuthorizerInput { s.Token = &v @@ -38934,9 +42402,12 @@ type ThingGroupIndexingConfiguration struct { // A list of thing group fields to index. This list cannot contain any managed // fields. Use the GetIndexingConfiguration API to get a list of managed fields. + // + // Contains custom field names and their data type. CustomFields []*Field `locationName:"customFields" type:"list"` - // A list of automatically indexed thing group fields. + // Contains fields that are indexed and whose types are already known by the + // Fleet Indexing service. ManagedFields []*Field `locationName:"managedFields" type:"list"` // Thing group indexing mode. @@ -39066,11 +42537,11 @@ func (s *ThingGroupProperties) SetThingGroupDescription(v string) *ThingGroupPro type ThingIndexingConfiguration struct { _ struct{} `type:"structure"` - // A list of thing fields to index. This list cannot contain any managed fields. - // Use the GetIndexingConfiguration API to get a list of managed fields. + // Contains custom field names and their data type. CustomFields []*Field `locationName:"customFields" type:"list"` - // A list of automatically indexed thing fields. + // Contains fields that are indexed and whose types are already known by the + // Fleet Indexing service. ManagedFields []*Field `locationName:"managedFields" type:"list"` // Thing connectivity indexing mode. Valid values are: @@ -39305,6 +42776,43 @@ func (s *TimeoutConfig) SetInProgressTimeoutInMinutes(v int64) *TimeoutConfig { return s } +// Specifies the TLS context to use for the test authorizer request. +type TlsContext struct { + _ struct{} `type:"structure"` + + // The value of the serverName key in a TLS authorization request. + ServerName *string `locationName:"serverName" min:"1" type:"string"` +} + +// String returns the string representation +func (s TlsContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsContext"} + if s.ServerName != nil && len(*s.ServerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServerName sets the ServerName field's value. +func (s *TlsContext) SetServerName(v string) *TlsContext { + s.ServerName = &v + return s +} + // Describes a rule. type TopicRule struct { _ struct{} `type:"structure"` @@ -40525,6 +44033,111 @@ func (s *UpdateDeviceCertificateParams) SetAction(v string) *UpdateDeviceCertifi return s } +type UpdateDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // An object that specifies the authorization service for a domain. + AuthorizerConfig *AuthorizerConfig `locationName:"authorizerConfig" type:"structure"` + + // The name of the domain configuration to be updated. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` + + // The status to which the domain configuration should be updated. + DomainConfigurationStatus *string `locationName:"domainConfigurationStatus" type:"string" enum:"DomainConfigurationStatus"` + + // Removes the authorization configuration from a domain. + RemoveAuthorizerConfig *bool `locationName:"removeAuthorizerConfig" type:"boolean"` +} + +// String returns the string representation +func (s UpdateDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + if s.AuthorizerConfig != nil { + if err := s.AuthorizerConfig.Validate(); err != nil { + invalidParams.AddNested("AuthorizerConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizerConfig sets the AuthorizerConfig field's value. +func (s *UpdateDomainConfigurationInput) SetAuthorizerConfig(v *AuthorizerConfig) *UpdateDomainConfigurationInput { + s.AuthorizerConfig = v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *UpdateDomainConfigurationInput) SetDomainConfigurationName(v string) *UpdateDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +// SetDomainConfigurationStatus sets the DomainConfigurationStatus field's value. +func (s *UpdateDomainConfigurationInput) SetDomainConfigurationStatus(v string) *UpdateDomainConfigurationInput { + s.DomainConfigurationStatus = &v + return s +} + +// SetRemoveAuthorizerConfig sets the RemoveAuthorizerConfig field's value. +func (s *UpdateDomainConfigurationInput) SetRemoveAuthorizerConfig(v bool) *UpdateDomainConfigurationInput { + s.RemoveAuthorizerConfig = &v + return s +} + +type UpdateDomainConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the domain configuration that was updated. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration that was updated. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDomainConfigurationOutput) GoString() string { + return s.String() +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *UpdateDomainConfigurationOutput) SetDomainConfigurationArn(v string) *UpdateDomainConfigurationOutput { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *UpdateDomainConfigurationOutput) SetDomainConfigurationName(v string) *UpdateDomainConfigurationOutput { + s.DomainConfigurationName = &v + return s +} + type UpdateDynamicThingGroupInput struct { _ struct{} `type:"structure"` @@ -40972,6 +44585,101 @@ func (s *UpdateMitigationActionOutput) SetActionId(v string) *UpdateMitigationAc return s } +type UpdateProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The ID of the default provisioning template version. + DefaultVersionId *int64 `locationName:"defaultVersionId" type:"integer"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True to enable the fleet provisioning template, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The ARN of the role associated with the provisioning template. This IoT role + // grants permission to provision a device. + ProvisioningRoleArn *string `locationName:"provisioningRoleArn" min:"20" type:"string"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningTemplateInput"} + if s.ProvisioningRoleArn != nil && len(*s.ProvisioningRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ProvisioningRoleArn", 20)) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *UpdateProvisioningTemplateInput) SetDefaultVersionId(v int64) *UpdateProvisioningTemplateInput { + s.DefaultVersionId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateProvisioningTemplateInput) SetDescription(v string) *UpdateProvisioningTemplateInput { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateProvisioningTemplateInput) SetEnabled(v bool) *UpdateProvisioningTemplateInput { + s.Enabled = &v + return s +} + +// SetProvisioningRoleArn sets the ProvisioningRoleArn field's value. +func (s *UpdateProvisioningTemplateInput) SetProvisioningRoleArn(v string) *UpdateProvisioningTemplateInput { + s.ProvisioningRoleArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *UpdateProvisioningTemplateInput) SetTemplateName(v string) *UpdateProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type UpdateProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateProvisioningTemplateOutput) GoString() string { + return s.String() +} + type UpdateRoleAliasInput struct { _ struct{} `type:"structure"` @@ -41044,7 +44752,7 @@ type UpdateRoleAliasOutput struct { RoleAlias *string `locationName:"roleAlias" min:"1" type:"string"` // The role alias ARN. - RoleAliasArn *string `locationName:"roleAliasArn" type:"string"` + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` } // String returns the string representation @@ -42373,6 +46081,25 @@ const ( DeviceCertificateUpdateActionDeactivate = "DEACTIVATE" ) +const ( + // DomainConfigurationStatusEnabled is a DomainConfigurationStatus enum value + DomainConfigurationStatusEnabled = "ENABLED" + + // DomainConfigurationStatusDisabled is a DomainConfigurationStatus enum value + DomainConfigurationStatusDisabled = "DISABLED" +) + +const ( + // DomainTypeEndpoint is a DomainType enum value + DomainTypeEndpoint = "ENDPOINT" + + // DomainTypeAwsManaged is a DomainType enum value + DomainTypeAwsManaged = "AWS_MANAGED" + + // DomainTypeCustomerManaged is a DomainType enum value + DomainTypeCustomerManaged = "CUSTOMER_MANAGED" +) + const ( // DynamicGroupStatusActive is a DynamicGroupStatus enum value DynamicGroupStatusActive = "ACTIVE" @@ -42601,6 +46328,31 @@ const ( // ResourceTypeAccountSettings is a ResourceType enum value ResourceTypeAccountSettings = "ACCOUNT_SETTINGS" + + // ResourceTypeRoleAlias is a ResourceType enum value + ResourceTypeRoleAlias = "ROLE_ALIAS" + + // ResourceTypeIamRole is a ResourceType enum value + ResourceTypeIamRole = "IAM_ROLE" +) + +const ( + // ServerCertificateStatusInvalid is a ServerCertificateStatus enum value + ServerCertificateStatusInvalid = "INVALID" + + // ServerCertificateStatusValid is a ServerCertificateStatus enum value + ServerCertificateStatusValid = "VALID" +) + +const ( + // ServiceTypeData is a ServiceType enum value + ServiceTypeData = "DATA" + + // ServiceTypeCredentialProvider is a ServiceType enum value + ServiceTypeCredentialProvider = "CREDENTIAL_PROVIDER" + + // ServiceTypeJobs is a ServiceType enum value + ServiceTypeJobs = "JOBS" ) const ( diff --git a/service/iot/iotiface/interface.go b/service/iot/iotiface/interface.go index 64e05e85520..226039d81d7 100644 --- a/service/iot/iotiface/interface.go +++ b/service/iot/iotiface/interface.go @@ -132,6 +132,10 @@ type IoTAPI interface { CreateCertificateFromCsrWithContext(aws.Context, *iot.CreateCertificateFromCsrInput, ...request.Option) (*iot.CreateCertificateFromCsrOutput, error) CreateCertificateFromCsrRequest(*iot.CreateCertificateFromCsrInput) (*request.Request, *iot.CreateCertificateFromCsrOutput) + CreateDomainConfiguration(*iot.CreateDomainConfigurationInput) (*iot.CreateDomainConfigurationOutput, error) + CreateDomainConfigurationWithContext(aws.Context, *iot.CreateDomainConfigurationInput, ...request.Option) (*iot.CreateDomainConfigurationOutput, error) + CreateDomainConfigurationRequest(*iot.CreateDomainConfigurationInput) (*request.Request, *iot.CreateDomainConfigurationOutput) + CreateDynamicThingGroup(*iot.CreateDynamicThingGroupInput) (*iot.CreateDynamicThingGroupOutput, error) CreateDynamicThingGroupWithContext(aws.Context, *iot.CreateDynamicThingGroupInput, ...request.Option) (*iot.CreateDynamicThingGroupOutput, error) CreateDynamicThingGroupRequest(*iot.CreateDynamicThingGroupInput) (*request.Request, *iot.CreateDynamicThingGroupOutput) @@ -160,6 +164,18 @@ type IoTAPI interface { CreatePolicyVersionWithContext(aws.Context, *iot.CreatePolicyVersionInput, ...request.Option) (*iot.CreatePolicyVersionOutput, error) CreatePolicyVersionRequest(*iot.CreatePolicyVersionInput) (*request.Request, *iot.CreatePolicyVersionOutput) + CreateProvisioningClaim(*iot.CreateProvisioningClaimInput) (*iot.CreateProvisioningClaimOutput, error) + CreateProvisioningClaimWithContext(aws.Context, *iot.CreateProvisioningClaimInput, ...request.Option) (*iot.CreateProvisioningClaimOutput, error) + CreateProvisioningClaimRequest(*iot.CreateProvisioningClaimInput) (*request.Request, *iot.CreateProvisioningClaimOutput) + + CreateProvisioningTemplate(*iot.CreateProvisioningTemplateInput) (*iot.CreateProvisioningTemplateOutput, error) + CreateProvisioningTemplateWithContext(aws.Context, *iot.CreateProvisioningTemplateInput, ...request.Option) (*iot.CreateProvisioningTemplateOutput, error) + CreateProvisioningTemplateRequest(*iot.CreateProvisioningTemplateInput) (*request.Request, *iot.CreateProvisioningTemplateOutput) + + CreateProvisioningTemplateVersion(*iot.CreateProvisioningTemplateVersionInput) (*iot.CreateProvisioningTemplateVersionOutput, error) + CreateProvisioningTemplateVersionWithContext(aws.Context, *iot.CreateProvisioningTemplateVersionInput, ...request.Option) (*iot.CreateProvisioningTemplateVersionOutput, error) + CreateProvisioningTemplateVersionRequest(*iot.CreateProvisioningTemplateVersionInput) (*request.Request, *iot.CreateProvisioningTemplateVersionOutput) + CreateRoleAlias(*iot.CreateRoleAliasInput) (*iot.CreateRoleAliasOutput, error) CreateRoleAliasWithContext(aws.Context, *iot.CreateRoleAliasInput, ...request.Option) (*iot.CreateRoleAliasOutput, error) CreateRoleAliasRequest(*iot.CreateRoleAliasInput) (*request.Request, *iot.CreateRoleAliasOutput) @@ -216,6 +232,10 @@ type IoTAPI interface { DeleteCertificateWithContext(aws.Context, *iot.DeleteCertificateInput, ...request.Option) (*iot.DeleteCertificateOutput, error) DeleteCertificateRequest(*iot.DeleteCertificateInput) (*request.Request, *iot.DeleteCertificateOutput) + DeleteDomainConfiguration(*iot.DeleteDomainConfigurationInput) (*iot.DeleteDomainConfigurationOutput, error) + DeleteDomainConfigurationWithContext(aws.Context, *iot.DeleteDomainConfigurationInput, ...request.Option) (*iot.DeleteDomainConfigurationOutput, error) + DeleteDomainConfigurationRequest(*iot.DeleteDomainConfigurationInput) (*request.Request, *iot.DeleteDomainConfigurationOutput) + DeleteDynamicThingGroup(*iot.DeleteDynamicThingGroupInput) (*iot.DeleteDynamicThingGroupOutput, error) DeleteDynamicThingGroupWithContext(aws.Context, *iot.DeleteDynamicThingGroupInput, ...request.Option) (*iot.DeleteDynamicThingGroupOutput, error) DeleteDynamicThingGroupRequest(*iot.DeleteDynamicThingGroupInput) (*request.Request, *iot.DeleteDynamicThingGroupOutput) @@ -244,6 +264,14 @@ type IoTAPI interface { DeletePolicyVersionWithContext(aws.Context, *iot.DeletePolicyVersionInput, ...request.Option) (*iot.DeletePolicyVersionOutput, error) DeletePolicyVersionRequest(*iot.DeletePolicyVersionInput) (*request.Request, *iot.DeletePolicyVersionOutput) + DeleteProvisioningTemplate(*iot.DeleteProvisioningTemplateInput) (*iot.DeleteProvisioningTemplateOutput, error) + DeleteProvisioningTemplateWithContext(aws.Context, *iot.DeleteProvisioningTemplateInput, ...request.Option) (*iot.DeleteProvisioningTemplateOutput, error) + DeleteProvisioningTemplateRequest(*iot.DeleteProvisioningTemplateInput) (*request.Request, *iot.DeleteProvisioningTemplateOutput) + + DeleteProvisioningTemplateVersion(*iot.DeleteProvisioningTemplateVersionInput) (*iot.DeleteProvisioningTemplateVersionOutput, error) + DeleteProvisioningTemplateVersionWithContext(aws.Context, *iot.DeleteProvisioningTemplateVersionInput, ...request.Option) (*iot.DeleteProvisioningTemplateVersionOutput, error) + DeleteProvisioningTemplateVersionRequest(*iot.DeleteProvisioningTemplateVersionInput) (*request.Request, *iot.DeleteProvisioningTemplateVersionOutput) + DeleteRegistrationCode(*iot.DeleteRegistrationCodeInput) (*iot.DeleteRegistrationCodeOutput, error) DeleteRegistrationCodeWithContext(aws.Context, *iot.DeleteRegistrationCodeInput, ...request.Option) (*iot.DeleteRegistrationCodeOutput, error) DeleteRegistrationCodeRequest(*iot.DeleteRegistrationCodeInput) (*request.Request, *iot.DeleteRegistrationCodeOutput) @@ -328,6 +356,10 @@ type IoTAPI interface { DescribeDefaultAuthorizerWithContext(aws.Context, *iot.DescribeDefaultAuthorizerInput, ...request.Option) (*iot.DescribeDefaultAuthorizerOutput, error) DescribeDefaultAuthorizerRequest(*iot.DescribeDefaultAuthorizerInput) (*request.Request, *iot.DescribeDefaultAuthorizerOutput) + DescribeDomainConfiguration(*iot.DescribeDomainConfigurationInput) (*iot.DescribeDomainConfigurationOutput, error) + DescribeDomainConfigurationWithContext(aws.Context, *iot.DescribeDomainConfigurationInput, ...request.Option) (*iot.DescribeDomainConfigurationOutput, error) + DescribeDomainConfigurationRequest(*iot.DescribeDomainConfigurationInput) (*request.Request, *iot.DescribeDomainConfigurationOutput) + DescribeEndpoint(*iot.DescribeEndpointInput) (*iot.DescribeEndpointOutput, error) DescribeEndpointWithContext(aws.Context, *iot.DescribeEndpointInput, ...request.Option) (*iot.DescribeEndpointOutput, error) DescribeEndpointRequest(*iot.DescribeEndpointInput) (*request.Request, *iot.DescribeEndpointOutput) @@ -352,6 +384,14 @@ type IoTAPI interface { DescribeMitigationActionWithContext(aws.Context, *iot.DescribeMitigationActionInput, ...request.Option) (*iot.DescribeMitigationActionOutput, error) DescribeMitigationActionRequest(*iot.DescribeMitigationActionInput) (*request.Request, *iot.DescribeMitigationActionOutput) + DescribeProvisioningTemplate(*iot.DescribeProvisioningTemplateInput) (*iot.DescribeProvisioningTemplateOutput, error) + DescribeProvisioningTemplateWithContext(aws.Context, *iot.DescribeProvisioningTemplateInput, ...request.Option) (*iot.DescribeProvisioningTemplateOutput, error) + DescribeProvisioningTemplateRequest(*iot.DescribeProvisioningTemplateInput) (*request.Request, *iot.DescribeProvisioningTemplateOutput) + + DescribeProvisioningTemplateVersion(*iot.DescribeProvisioningTemplateVersionInput) (*iot.DescribeProvisioningTemplateVersionOutput, error) + DescribeProvisioningTemplateVersionWithContext(aws.Context, *iot.DescribeProvisioningTemplateVersionInput, ...request.Option) (*iot.DescribeProvisioningTemplateVersionOutput, error) + DescribeProvisioningTemplateVersionRequest(*iot.DescribeProvisioningTemplateVersionInput) (*request.Request, *iot.DescribeProvisioningTemplateVersionOutput) + DescribeRoleAlias(*iot.DescribeRoleAliasInput) (*iot.DescribeRoleAliasOutput, error) DescribeRoleAliasWithContext(aws.Context, *iot.DescribeRoleAliasInput, ...request.Option) (*iot.DescribeRoleAliasOutput, error) DescribeRoleAliasRequest(*iot.DescribeRoleAliasInput) (*request.Request, *iot.DescribeRoleAliasOutput) @@ -508,6 +548,10 @@ type IoTAPI interface { ListCertificatesByCAWithContext(aws.Context, *iot.ListCertificatesByCAInput, ...request.Option) (*iot.ListCertificatesByCAOutput, error) ListCertificatesByCARequest(*iot.ListCertificatesByCAInput) (*request.Request, *iot.ListCertificatesByCAOutput) + ListDomainConfigurations(*iot.ListDomainConfigurationsInput) (*iot.ListDomainConfigurationsOutput, error) + ListDomainConfigurationsWithContext(aws.Context, *iot.ListDomainConfigurationsInput, ...request.Option) (*iot.ListDomainConfigurationsOutput, error) + ListDomainConfigurationsRequest(*iot.ListDomainConfigurationsInput) (*request.Request, *iot.ListDomainConfigurationsOutput) + ListIndices(*iot.ListIndicesInput) (*iot.ListIndicesOutput, error) ListIndicesWithContext(aws.Context, *iot.ListIndicesInput, ...request.Option) (*iot.ListIndicesOutput, error) ListIndicesRequest(*iot.ListIndicesInput) (*request.Request, *iot.ListIndicesOutput) @@ -556,6 +600,14 @@ type IoTAPI interface { ListPrincipalThingsWithContext(aws.Context, *iot.ListPrincipalThingsInput, ...request.Option) (*iot.ListPrincipalThingsOutput, error) ListPrincipalThingsRequest(*iot.ListPrincipalThingsInput) (*request.Request, *iot.ListPrincipalThingsOutput) + ListProvisioningTemplateVersions(*iot.ListProvisioningTemplateVersionsInput) (*iot.ListProvisioningTemplateVersionsOutput, error) + ListProvisioningTemplateVersionsWithContext(aws.Context, *iot.ListProvisioningTemplateVersionsInput, ...request.Option) (*iot.ListProvisioningTemplateVersionsOutput, error) + ListProvisioningTemplateVersionsRequest(*iot.ListProvisioningTemplateVersionsInput) (*request.Request, *iot.ListProvisioningTemplateVersionsOutput) + + ListProvisioningTemplates(*iot.ListProvisioningTemplatesInput) (*iot.ListProvisioningTemplatesOutput, error) + ListProvisioningTemplatesWithContext(aws.Context, *iot.ListProvisioningTemplatesInput, ...request.Option) (*iot.ListProvisioningTemplatesOutput, error) + ListProvisioningTemplatesRequest(*iot.ListProvisioningTemplatesInput) (*request.Request, *iot.ListProvisioningTemplatesOutput) + ListRoleAliases(*iot.ListRoleAliasesInput) (*iot.ListRoleAliasesOutput, error) ListRoleAliasesWithContext(aws.Context, *iot.ListRoleAliasesInput, ...request.Option) (*iot.ListRoleAliasesOutput, error) ListRoleAliasesRequest(*iot.ListRoleAliasesInput) (*request.Request, *iot.ListRoleAliasesOutput) @@ -748,6 +800,10 @@ type IoTAPI interface { UpdateCertificateWithContext(aws.Context, *iot.UpdateCertificateInput, ...request.Option) (*iot.UpdateCertificateOutput, error) UpdateCertificateRequest(*iot.UpdateCertificateInput) (*request.Request, *iot.UpdateCertificateOutput) + UpdateDomainConfiguration(*iot.UpdateDomainConfigurationInput) (*iot.UpdateDomainConfigurationOutput, error) + UpdateDomainConfigurationWithContext(aws.Context, *iot.UpdateDomainConfigurationInput, ...request.Option) (*iot.UpdateDomainConfigurationOutput, error) + UpdateDomainConfigurationRequest(*iot.UpdateDomainConfigurationInput) (*request.Request, *iot.UpdateDomainConfigurationOutput) + UpdateDynamicThingGroup(*iot.UpdateDynamicThingGroupInput) (*iot.UpdateDynamicThingGroupOutput, error) UpdateDynamicThingGroupWithContext(aws.Context, *iot.UpdateDynamicThingGroupInput, ...request.Option) (*iot.UpdateDynamicThingGroupOutput, error) UpdateDynamicThingGroupRequest(*iot.UpdateDynamicThingGroupInput) (*request.Request, *iot.UpdateDynamicThingGroupOutput) @@ -768,6 +824,10 @@ type IoTAPI interface { UpdateMitigationActionWithContext(aws.Context, *iot.UpdateMitigationActionInput, ...request.Option) (*iot.UpdateMitigationActionOutput, error) UpdateMitigationActionRequest(*iot.UpdateMitigationActionInput) (*request.Request, *iot.UpdateMitigationActionOutput) + UpdateProvisioningTemplate(*iot.UpdateProvisioningTemplateInput) (*iot.UpdateProvisioningTemplateOutput, error) + UpdateProvisioningTemplateWithContext(aws.Context, *iot.UpdateProvisioningTemplateInput, ...request.Option) (*iot.UpdateProvisioningTemplateOutput, error) + UpdateProvisioningTemplateRequest(*iot.UpdateProvisioningTemplateInput) (*request.Request, *iot.UpdateProvisioningTemplateOutput) + UpdateRoleAlias(*iot.UpdateRoleAliasInput) (*iot.UpdateRoleAliasOutput, error) UpdateRoleAliasWithContext(aws.Context, *iot.UpdateRoleAliasInput, ...request.Option) (*iot.UpdateRoleAliasOutput, error) UpdateRoleAliasRequest(*iot.UpdateRoleAliasInput) (*request.Request, *iot.UpdateRoleAliasOutput) diff --git a/service/iotsecuretunneling/api.go b/service/iotsecuretunneling/api.go new file mode 100644 index 00000000000..e7bff384b5b --- /dev/null +++ b/service/iotsecuretunneling/api.go @@ -0,0 +1,1581 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotsecuretunneling + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +const opCloseTunnel = "CloseTunnel" + +// CloseTunnelRequest generates a "aws/request.Request" representing the +// client's request for the CloseTunnel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CloseTunnel for more information on using the CloseTunnel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CloseTunnelRequest method. +// req, resp := client.CloseTunnelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/CloseTunnel +func (c *IoTSecureTunneling) CloseTunnelRequest(input *CloseTunnelInput) (req *request.Request, output *CloseTunnelOutput) { + op := &request.Operation{ + Name: opCloseTunnel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CloseTunnelInput{} + } + + output = &CloseTunnelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CloseTunnel API operation for AWS IoT Secure Tunneling. +// +// Closes a tunnel identified by the unique tunnel id. When a CloseTunnel request +// is received, we close the WebSocket connections between the client and proxy +// server so no data can be transmitted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Secure Tunneling's +// API operation CloseTunnel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Thrown when an operation is attempted on a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/CloseTunnel +func (c *IoTSecureTunneling) CloseTunnel(input *CloseTunnelInput) (*CloseTunnelOutput, error) { + req, out := c.CloseTunnelRequest(input) + return out, req.Send() +} + +// CloseTunnelWithContext is the same as CloseTunnel with the addition of +// the ability to pass a context and additional request options. +// +// See CloseTunnel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) CloseTunnelWithContext(ctx aws.Context, input *CloseTunnelInput, opts ...request.Option) (*CloseTunnelOutput, error) { + req, out := c.CloseTunnelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTunnel = "DescribeTunnel" + +// DescribeTunnelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTunnel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeTunnel for more information on using the DescribeTunnel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeTunnelRequest method. +// req, resp := client.DescribeTunnelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/DescribeTunnel +func (c *IoTSecureTunneling) DescribeTunnelRequest(input *DescribeTunnelInput) (req *request.Request, output *DescribeTunnelOutput) { + op := &request.Operation{ + Name: opDescribeTunnel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTunnelInput{} + } + + output = &DescribeTunnelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTunnel API operation for AWS IoT Secure Tunneling. +// +// Gets information about a tunnel identified by the unique tunnel id. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Secure Tunneling's +// API operation DescribeTunnel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Thrown when an operation is attempted on a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/DescribeTunnel +func (c *IoTSecureTunneling) DescribeTunnel(input *DescribeTunnelInput) (*DescribeTunnelOutput, error) { + req, out := c.DescribeTunnelRequest(input) + return out, req.Send() +} + +// DescribeTunnelWithContext is the same as DescribeTunnel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTunnel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) DescribeTunnelWithContext(ctx aws.Context, input *DescribeTunnelInput, opts ...request.Option) (*DescribeTunnelOutput, error) { + req, out := c.DescribeTunnelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTagsForResource +func (c *IoTSecureTunneling) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS IoT Secure Tunneling. +// +// Lists the tags for the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Secure Tunneling's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Thrown when an operation is attempted on a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTagsForResource +func (c *IoTSecureTunneling) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTunnels = "ListTunnels" + +// ListTunnelsRequest generates a "aws/request.Request" representing the +// client's request for the ListTunnels operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTunnels for more information on using the ListTunnels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTunnelsRequest method. +// req, resp := client.ListTunnelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTunnels +func (c *IoTSecureTunneling) ListTunnelsRequest(input *ListTunnelsInput) (req *request.Request, output *ListTunnelsOutput) { + op := &request.Operation{ + Name: opListTunnels, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTunnelsInput{} + } + + output = &ListTunnelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTunnels API operation for AWS IoT Secure Tunneling. +// +// List all tunnels for an AWS account. Tunnels are listed by creation time +// in descending order, newer tunnels will be listed before older tunnels. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Secure Tunneling's +// API operation ListTunnels for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTunnels +func (c *IoTSecureTunneling) ListTunnels(input *ListTunnelsInput) (*ListTunnelsOutput, error) { + req, out := c.ListTunnelsRequest(input) + return out, req.Send() +} + +// ListTunnelsWithContext is the same as ListTunnels with the addition of +// the ability to pass a context and additional request options. +// +// See ListTunnels for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) ListTunnelsWithContext(ctx aws.Context, input *ListTunnelsInput, opts ...request.Option) (*ListTunnelsOutput, error) { + req, out := c.ListTunnelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTunnelsPages iterates over the pages of a ListTunnels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTunnels method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTunnels operation. +// pageNum := 0 +// err := client.ListTunnelsPages(params, +// func(page *iotsecuretunneling.ListTunnelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTSecureTunneling) ListTunnelsPages(input *ListTunnelsInput, fn func(*ListTunnelsOutput, bool) bool) error { + return c.ListTunnelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTunnelsPagesWithContext same as ListTunnelsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) ListTunnelsPagesWithContext(ctx aws.Context, input *ListTunnelsInput, fn func(*ListTunnelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTunnelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTunnelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTunnelsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opOpenTunnel = "OpenTunnel" + +// OpenTunnelRequest generates a "aws/request.Request" representing the +// client's request for the OpenTunnel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See OpenTunnel for more information on using the OpenTunnel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the OpenTunnelRequest method. +// req, resp := client.OpenTunnelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/OpenTunnel +func (c *IoTSecureTunneling) OpenTunnelRequest(input *OpenTunnelInput) (req *request.Request, output *OpenTunnelOutput) { + op := &request.Operation{ + Name: opOpenTunnel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &OpenTunnelInput{} + } + + output = &OpenTunnelOutput{} + req = c.newRequest(op, input, output) + return +} + +// OpenTunnel API operation for AWS IoT Secure Tunneling. +// +// Creates a new tunnel, and returns two client access tokens for clients to +// use to connect to the AWS IoT Secure Tunneling proxy server. . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Secure Tunneling's +// API operation OpenTunnel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// Thrown when a tunnel limit is exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/OpenTunnel +func (c *IoTSecureTunneling) OpenTunnel(input *OpenTunnelInput) (*OpenTunnelOutput, error) { + req, out := c.OpenTunnelRequest(input) + return out, req.Send() +} + +// OpenTunnelWithContext is the same as OpenTunnel with the addition of +// the ability to pass a context and additional request options. +// +// See OpenTunnel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) OpenTunnelWithContext(ctx aws.Context, input *OpenTunnelInput, opts ...request.Option) (*OpenTunnelOutput, error) { + req, out := c.OpenTunnelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/TagResource +func (c *IoTSecureTunneling) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS IoT Secure Tunneling. +// +// A resource tag. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Secure Tunneling's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Thrown when an operation is attempted on a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/TagResource +func (c *IoTSecureTunneling) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/UntagResource +func (c *IoTSecureTunneling) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS IoT Secure Tunneling. +// +// Removes a tag from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Secure Tunneling's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Thrown when an operation is attempted on a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/UntagResource +func (c *IoTSecureTunneling) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTSecureTunneling) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type CloseTunnelInput struct { + _ struct{} `type:"structure"` + + // When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately. + Delete *bool `locationName:"delete" type:"boolean"` + + // The ID of the tunnel to close. + // + // TunnelId is a required field + TunnelId *string `locationName:"tunnelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s CloseTunnelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloseTunnelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloseTunnelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloseTunnelInput"} + if s.TunnelId == nil { + invalidParams.Add(request.NewErrParamRequired("TunnelId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDelete sets the Delete field's value. +func (s *CloseTunnelInput) SetDelete(v bool) *CloseTunnelInput { + s.Delete = &v + return s +} + +// SetTunnelId sets the TunnelId field's value. +func (s *CloseTunnelInput) SetTunnelId(v string) *CloseTunnelInput { + s.TunnelId = &v + return s +} + +type CloseTunnelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CloseTunnelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloseTunnelOutput) GoString() string { + return s.String() +} + +// The state of a connection. +type ConnectionState struct { + _ struct{} `type:"structure"` + + // The last time the connection status was updated. + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + + // The connection status of the tunnel. Valid values are CONNECTED and DISCONNECTED. + Status *string `locationName:"status" type:"string" enum:"ConnectionStatus"` +} + +// String returns the string representation +func (s ConnectionState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionState) GoString() string { + return s.String() +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *ConnectionState) SetLastUpdatedAt(v time.Time) *ConnectionState { + s.LastUpdatedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ConnectionState) SetStatus(v string) *ConnectionState { + s.Status = &v + return s +} + +type DescribeTunnelInput struct { + _ struct{} `type:"structure"` + + // The tunnel to describe. + // + // TunnelId is a required field + TunnelId *string `locationName:"tunnelId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTunnelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTunnelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTunnelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTunnelInput"} + if s.TunnelId == nil { + invalidParams.Add(request.NewErrParamRequired("TunnelId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTunnelId sets the TunnelId field's value. +func (s *DescribeTunnelInput) SetTunnelId(v string) *DescribeTunnelInput { + s.TunnelId = &v + return s +} + +type DescribeTunnelOutput struct { + _ struct{} `type:"structure"` + + // The tunnel being described. + Tunnel *Tunnel `locationName:"tunnel" type:"structure"` +} + +// String returns the string representation +func (s DescribeTunnelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTunnelOutput) GoString() string { + return s.String() +} + +// SetTunnel sets the Tunnel field's value. +func (s *DescribeTunnelOutput) SetTunnel(v *Tunnel) *DescribeTunnelOutput { + s.Tunnel = v + return s +} + +// The destination configuration. +type DestinationConfig struct { + _ struct{} `type:"structure"` + + // A list of service names that identity the target application. Currently, + // you can only specify a single name. The AWS IoT client running on the destination + // device reads this value and uses it to look up a port or an IP address and + // a port. The AWS IoT client instantiates the local proxy which uses this information + // to connect to the destination application. + // + // Services is a required field + Services []*string `locationName:"services" min:"1" type:"list" required:"true"` + + // The name of the IoT thing to which you want to connect. + // + // ThingName is a required field + ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DestinationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DestinationConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DestinationConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DestinationConfig"} + if s.Services == nil { + invalidParams.Add(request.NewErrParamRequired("Services")) + } + if s.Services != nil && len(s.Services) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Services", 1)) + } + if s.ThingName == nil { + invalidParams.Add(request.NewErrParamRequired("ThingName")) + } + if s.ThingName != nil && len(*s.ThingName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServices sets the Services field's value. +func (s *DestinationConfig) SetServices(v []*string) *DestinationConfig { + s.Services = v + return s +} + +// SetThingName sets the ThingName field's value. +func (s *DestinationConfig) SetThingName(v string) *DestinationConfig { + s.ThingName = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ARN. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags for the specified resource. + Tags []*Tag `locationName:"tags" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListTunnelsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at once. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The name of the IoT thing associated with the destination device. + ThingName *string `locationName:"thingName" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListTunnelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTunnelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTunnelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTunnelsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ThingName != nil && len(*s.ThingName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTunnelsInput) SetMaxResults(v int64) *ListTunnelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTunnelsInput) SetNextToken(v string) *ListTunnelsInput { + s.NextToken = &v + return s +} + +// SetThingName sets the ThingName field's value. +func (s *ListTunnelsInput) SetThingName(v string) *ListTunnelsInput { + s.ThingName = &v + return s +} + +type ListTunnelsOutput struct { + _ struct{} `type:"structure"` + + // A token to used to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A short description of the tunnels in an AWS account. + TunnelSummaries []*TunnelSummary `locationName:"tunnelSummaries" type:"list"` +} + +// String returns the string representation +func (s ListTunnelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTunnelsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTunnelsOutput) SetNextToken(v string) *ListTunnelsOutput { + s.NextToken = &v + return s +} + +// SetTunnelSummaries sets the TunnelSummaries field's value. +func (s *ListTunnelsOutput) SetTunnelSummaries(v []*TunnelSummary) *ListTunnelsOutput { + s.TunnelSummaries = v + return s +} + +type OpenTunnelInput struct { + _ struct{} `type:"structure"` + + // A short text description of the tunnel. + Description *string `locationName:"description" type:"string"` + + // The destination configuration for the OpenTunnel request. + DestinationConfig *DestinationConfig `locationName:"destinationConfig" type:"structure"` + + // A collection of tag metadata. + Tags []*Tag `locationName:"tags" min:"1" type:"list"` + + // Timeout configuration for a tunnel. + TimeoutConfig *TimeoutConfig `locationName:"timeoutConfig" type:"structure"` +} + +// String returns the string representation +func (s OpenTunnelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OpenTunnelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpenTunnelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpenTunnelInput"} + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.DestinationConfig != nil { + if err := s.DestinationConfig.Validate(); err != nil { + invalidParams.AddNested("DestinationConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TimeoutConfig != nil { + if err := s.TimeoutConfig.Validate(); err != nil { + invalidParams.AddNested("TimeoutConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *OpenTunnelInput) SetDescription(v string) *OpenTunnelInput { + s.Description = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *OpenTunnelInput) SetDestinationConfig(v *DestinationConfig) *OpenTunnelInput { + s.DestinationConfig = v + return s +} + +// SetTags sets the Tags field's value. +func (s *OpenTunnelInput) SetTags(v []*Tag) *OpenTunnelInput { + s.Tags = v + return s +} + +// SetTimeoutConfig sets the TimeoutConfig field's value. +func (s *OpenTunnelInput) SetTimeoutConfig(v *TimeoutConfig) *OpenTunnelInput { + s.TimeoutConfig = v + return s +} + +type OpenTunnelOutput struct { + _ struct{} `type:"structure"` + + // The access token the destination local proxy uses to connect to AWS IoT Secure + // Tunneling. + DestinationAccessToken *string `locationName:"destinationAccessToken" type:"string" sensitive:"true"` + + // The access token the source local proxy uses to connect to AWS IoT Secure + // Tunneling. + SourceAccessToken *string `locationName:"sourceAccessToken" type:"string" sensitive:"true"` + + // The Amazon Resource Name for the tunnel. The tunnel ARN format is arn:aws:tunnel:::tunnel/ + TunnelArn *string `locationName:"tunnelArn" min:"1" type:"string"` + + // A unique alpha-numeric tunnel ID. + TunnelId *string `locationName:"tunnelId" type:"string"` +} + +// String returns the string representation +func (s OpenTunnelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OpenTunnelOutput) GoString() string { + return s.String() +} + +// SetDestinationAccessToken sets the DestinationAccessToken field's value. +func (s *OpenTunnelOutput) SetDestinationAccessToken(v string) *OpenTunnelOutput { + s.DestinationAccessToken = &v + return s +} + +// SetSourceAccessToken sets the SourceAccessToken field's value. +func (s *OpenTunnelOutput) SetSourceAccessToken(v string) *OpenTunnelOutput { + s.SourceAccessToken = &v + return s +} + +// SetTunnelArn sets the TunnelArn field's value. +func (s *OpenTunnelOutput) SetTunnelArn(v string) *OpenTunnelOutput { + s.TunnelArn = &v + return s +} + +// SetTunnelId sets the TunnelId field's value. +func (s *OpenTunnelOutput) SetTunnelId(v string) *OpenTunnelOutput { + s.TunnelId = &v + return s +} + +// An arbitary key/value pair used to add searchable metadata to secure tunnel +// resources. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the tag. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // The value of the tag. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + + // The tags for the resource. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Tunnel timeout configuration. +type TimeoutConfig struct { + _ struct{} `type:"structure"` + + // The maximum amount of time (in minutes) a tunnel can remain open. If not + // specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values + // are from 1 minute to 12 hours (720 minutes) + MaxLifetimeTimeoutMinutes *int64 `locationName:"maxLifetimeTimeoutMinutes" min:"1" type:"integer"` +} + +// String returns the string representation +func (s TimeoutConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimeoutConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimeoutConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimeoutConfig"} + if s.MaxLifetimeTimeoutMinutes != nil && *s.MaxLifetimeTimeoutMinutes < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxLifetimeTimeoutMinutes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxLifetimeTimeoutMinutes sets the MaxLifetimeTimeoutMinutes field's value. +func (s *TimeoutConfig) SetMaxLifetimeTimeoutMinutes(v int64) *TimeoutConfig { + s.MaxLifetimeTimeoutMinutes = &v + return s +} + +// A connection between a source computer and a destination device. +type Tunnel struct { + _ struct{} `type:"structure"` + + // The time when the tunnel was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // A description of the tunnel. + Description *string `locationName:"description" type:"string"` + + // The destination configuration that specifies the thing name of the destination + // device and a service name that the local proxy uses to connect to the destination + // application. + DestinationConfig *DestinationConfig `locationName:"destinationConfig" type:"structure"` + + // The connection state of the destination application. + DestinationConnectionState *ConnectionState `locationName:"destinationConnectionState" type:"structure"` + + // The last time the tunnel was updated. + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + + // The connection state of the source application. + SourceConnectionState *ConnectionState `locationName:"sourceConnectionState" type:"structure"` + + // The status of a tunnel. Valid values are: Open and Closed. + Status *string `locationName:"status" type:"string" enum:"TunnelStatus"` + + // A list of tag metadata associated with the secure tunnel. + Tags []*Tag `locationName:"tags" min:"1" type:"list"` + + // Timeout configuration for the tunnel. + TimeoutConfig *TimeoutConfig `locationName:"timeoutConfig" type:"structure"` + + // The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is arn:aws:tunnel:::tunnel/ + TunnelArn *string `locationName:"tunnelArn" min:"1" type:"string"` + + // A unique alpha-numeric ID that identifies a tunnel. + TunnelId *string `locationName:"tunnelId" type:"string"` +} + +// String returns the string representation +func (s Tunnel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tunnel) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Tunnel) SetCreatedAt(v time.Time) *Tunnel { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Tunnel) SetDescription(v string) *Tunnel { + s.Description = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *Tunnel) SetDestinationConfig(v *DestinationConfig) *Tunnel { + s.DestinationConfig = v + return s +} + +// SetDestinationConnectionState sets the DestinationConnectionState field's value. +func (s *Tunnel) SetDestinationConnectionState(v *ConnectionState) *Tunnel { + s.DestinationConnectionState = v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *Tunnel) SetLastUpdatedAt(v time.Time) *Tunnel { + s.LastUpdatedAt = &v + return s +} + +// SetSourceConnectionState sets the SourceConnectionState field's value. +func (s *Tunnel) SetSourceConnectionState(v *ConnectionState) *Tunnel { + s.SourceConnectionState = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Tunnel) SetStatus(v string) *Tunnel { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Tunnel) SetTags(v []*Tag) *Tunnel { + s.Tags = v + return s +} + +// SetTimeoutConfig sets the TimeoutConfig field's value. +func (s *Tunnel) SetTimeoutConfig(v *TimeoutConfig) *Tunnel { + s.TimeoutConfig = v + return s +} + +// SetTunnelArn sets the TunnelArn field's value. +func (s *Tunnel) SetTunnelArn(v string) *Tunnel { + s.TunnelArn = &v + return s +} + +// SetTunnelId sets the TunnelId field's value. +func (s *Tunnel) SetTunnelId(v string) *Tunnel { + s.TunnelId = &v + return s +} + +// Information about the tunnel. +type TunnelSummary struct { + _ struct{} `type:"structure"` + + // The time the tunnel was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // A description of the tunnel. + Description *string `locationName:"description" type:"string"` + + // The time the tunnel was last updated. + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + + // The status of a tunnel. Valid values are: Open and Closed. + Status *string `locationName:"status" type:"string" enum:"TunnelStatus"` + + // The Amazon Resource Name of the tunnel. The tunnel ARN format is arn:aws:tunnel:::tunnel/ + TunnelArn *string `locationName:"tunnelArn" min:"1" type:"string"` + + // The unique alpha-numeric identifier for the tunnel. + TunnelId *string `locationName:"tunnelId" type:"string"` +} + +// String returns the string representation +func (s TunnelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TunnelSummary) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *TunnelSummary) SetCreatedAt(v time.Time) *TunnelSummary { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *TunnelSummary) SetDescription(v string) *TunnelSummary { + s.Description = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *TunnelSummary) SetLastUpdatedAt(v time.Time) *TunnelSummary { + s.LastUpdatedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TunnelSummary) SetStatus(v string) *TunnelSummary { + s.Status = &v + return s +} + +// SetTunnelArn sets the TunnelArn field's value. +func (s *TunnelSummary) SetTunnelArn(v string) *TunnelSummary { + s.TunnelArn = &v + return s +} + +// SetTunnelId sets the TunnelId field's value. +func (s *TunnelSummary) SetTunnelId(v string) *TunnelSummary { + s.TunnelId = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ARN. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + + // The keys of the tags to remove. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +const ( + // ConnectionStatusConnected is a ConnectionStatus enum value + ConnectionStatusConnected = "CONNECTED" + + // ConnectionStatusDisconnected is a ConnectionStatus enum value + ConnectionStatusDisconnected = "DISCONNECTED" +) + +const ( + // TunnelStatusOpen is a TunnelStatus enum value + TunnelStatusOpen = "OPEN" + + // TunnelStatusClosed is a TunnelStatus enum value + TunnelStatusClosed = "CLOSED" +) diff --git a/service/iotsecuretunneling/doc.go b/service/iotsecuretunneling/doc.go new file mode 100644 index 00000000000..88a2028506f --- /dev/null +++ b/service/iotsecuretunneling/doc.go @@ -0,0 +1,32 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotsecuretunneling provides the client and types for making API +// requests to AWS IoT Secure Tunneling. +// +// AWS IoT Secure Tunnling enables you to create remote connections to devices +// deployed in the field. +// +// For more information about how AWS IoT Secure Tunneling works, see the User +// Guide (https://docs.aws.amazon.com/secure-tunneling/latest/ug/what-is-secure-tunneling.html). +// +// See https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05 for more information on this service. +// +// See iotsecuretunneling package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotsecuretunneling/ +// +// Using the Client +// +// To contact AWS IoT Secure Tunneling with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS IoT Secure Tunneling client IoTSecureTunneling for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iotsecuretunneling/#New +package iotsecuretunneling diff --git a/service/iotsecuretunneling/errors.go b/service/iotsecuretunneling/errors.go new file mode 100644 index 00000000000..5d700e71e5c --- /dev/null +++ b/service/iotsecuretunneling/errors.go @@ -0,0 +1,18 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotsecuretunneling + +const ( + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // Thrown when a tunnel limit is exceeded. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Thrown when an operation is attempted on a resource that does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" +) diff --git a/service/iotsecuretunneling/iotsecuretunnelingiface/interface.go b/service/iotsecuretunneling/iotsecuretunnelingiface/interface.go new file mode 100644 index 00000000000..2a0fed39262 --- /dev/null +++ b/service/iotsecuretunneling/iotsecuretunnelingiface/interface.go @@ -0,0 +1,95 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iotsecuretunnelingiface provides an interface to enable mocking the AWS IoT Secure Tunneling service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package iotsecuretunnelingiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/iotsecuretunneling" +) + +// IoTSecureTunnelingAPI provides an interface to enable mocking the +// iotsecuretunneling.IoTSecureTunneling service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS IoT Secure Tunneling. +// func myFunc(svc iotsecuretunnelingiface.IoTSecureTunnelingAPI) bool { +// // Make svc.CloseTunnel request +// } +// +// func main() { +// sess := session.New() +// svc := iotsecuretunneling.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockIoTSecureTunnelingClient struct { +// iotsecuretunnelingiface.IoTSecureTunnelingAPI +// } +// func (m *mockIoTSecureTunnelingClient) CloseTunnel(input *iotsecuretunneling.CloseTunnelInput) (*iotsecuretunneling.CloseTunnelOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockIoTSecureTunnelingClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type IoTSecureTunnelingAPI interface { + CloseTunnel(*iotsecuretunneling.CloseTunnelInput) (*iotsecuretunneling.CloseTunnelOutput, error) + CloseTunnelWithContext(aws.Context, *iotsecuretunneling.CloseTunnelInput, ...request.Option) (*iotsecuretunneling.CloseTunnelOutput, error) + CloseTunnelRequest(*iotsecuretunneling.CloseTunnelInput) (*request.Request, *iotsecuretunneling.CloseTunnelOutput) + + DescribeTunnel(*iotsecuretunneling.DescribeTunnelInput) (*iotsecuretunneling.DescribeTunnelOutput, error) + DescribeTunnelWithContext(aws.Context, *iotsecuretunneling.DescribeTunnelInput, ...request.Option) (*iotsecuretunneling.DescribeTunnelOutput, error) + DescribeTunnelRequest(*iotsecuretunneling.DescribeTunnelInput) (*request.Request, *iotsecuretunneling.DescribeTunnelOutput) + + ListTagsForResource(*iotsecuretunneling.ListTagsForResourceInput) (*iotsecuretunneling.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *iotsecuretunneling.ListTagsForResourceInput, ...request.Option) (*iotsecuretunneling.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*iotsecuretunneling.ListTagsForResourceInput) (*request.Request, *iotsecuretunneling.ListTagsForResourceOutput) + + ListTunnels(*iotsecuretunneling.ListTunnelsInput) (*iotsecuretunneling.ListTunnelsOutput, error) + ListTunnelsWithContext(aws.Context, *iotsecuretunneling.ListTunnelsInput, ...request.Option) (*iotsecuretunneling.ListTunnelsOutput, error) + ListTunnelsRequest(*iotsecuretunneling.ListTunnelsInput) (*request.Request, *iotsecuretunneling.ListTunnelsOutput) + + ListTunnelsPages(*iotsecuretunneling.ListTunnelsInput, func(*iotsecuretunneling.ListTunnelsOutput, bool) bool) error + ListTunnelsPagesWithContext(aws.Context, *iotsecuretunneling.ListTunnelsInput, func(*iotsecuretunneling.ListTunnelsOutput, bool) bool, ...request.Option) error + + OpenTunnel(*iotsecuretunneling.OpenTunnelInput) (*iotsecuretunneling.OpenTunnelOutput, error) + OpenTunnelWithContext(aws.Context, *iotsecuretunneling.OpenTunnelInput, ...request.Option) (*iotsecuretunneling.OpenTunnelOutput, error) + OpenTunnelRequest(*iotsecuretunneling.OpenTunnelInput) (*request.Request, *iotsecuretunneling.OpenTunnelOutput) + + TagResource(*iotsecuretunneling.TagResourceInput) (*iotsecuretunneling.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *iotsecuretunneling.TagResourceInput, ...request.Option) (*iotsecuretunneling.TagResourceOutput, error) + TagResourceRequest(*iotsecuretunneling.TagResourceInput) (*request.Request, *iotsecuretunneling.TagResourceOutput) + + UntagResource(*iotsecuretunneling.UntagResourceInput) (*iotsecuretunneling.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *iotsecuretunneling.UntagResourceInput, ...request.Option) (*iotsecuretunneling.UntagResourceOutput, error) + UntagResourceRequest(*iotsecuretunneling.UntagResourceInput) (*request.Request, *iotsecuretunneling.UntagResourceOutput) +} + +var _ IoTSecureTunnelingAPI = (*iotsecuretunneling.IoTSecureTunneling)(nil) diff --git a/service/iotsecuretunneling/service.go b/service/iotsecuretunneling/service.go new file mode 100644 index 00000000000..63de1cbea18 --- /dev/null +++ b/service/iotsecuretunneling/service.go @@ -0,0 +1,103 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iotsecuretunneling + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// IoTSecureTunneling provides the API operation methods for making requests to +// AWS IoT Secure Tunneling. See this package's package overview docs +// for details on the service. +// +// IoTSecureTunneling methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type IoTSecureTunneling struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "IoTSecureTunneling" // Name of service. + EndpointsID = "api.tunneling.iot" // ID to lookup a service endpoint with. + ServiceID = "IoTSecureTunneling" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the IoTSecureTunneling client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a IoTSecureTunneling client from just a session. +// svc := iotsecuretunneling.New(mySession) +// +// // Create a IoTSecureTunneling client with additional configuration +// svc := iotsecuretunneling.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *IoTSecureTunneling { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "IoTSecuredTunneling" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *IoTSecureTunneling { + svc := &IoTSecureTunneling{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2018-10-05", + JSONVersion: "1.1", + TargetPrefix: "IoTSecuredTunneling", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a IoTSecureTunneling operation and runs any +// custom request initialization. +func (c *IoTSecureTunneling) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/kinesisanalyticsv2/api.go b/service/kinesisanalyticsv2/api.go index f547bd1d544..2c21fd8b8ed 100644 --- a/service/kinesisanalyticsv2/api.go +++ b/service/kinesisanalyticsv2/api.go @@ -520,6 +520,105 @@ func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSourceWithContext(ctx aw return out, req.Send() } +const opAddApplicationVpcConfiguration = "AddApplicationVpcConfiguration" + +// AddApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the AddApplicationVpcConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AddApplicationVpcConfiguration for more information on using the AddApplicationVpcConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AddApplicationVpcConfigurationRequest method. +// req, resp := client.AddApplicationVpcConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) AddApplicationVpcConfigurationRequest(input *AddApplicationVpcConfigurationInput) (req *request.Request, output *AddApplicationVpcConfigurationOutput) { + op := &request.Operation{ + Name: opAddApplicationVpcConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddApplicationVpcConfigurationInput{} + } + + output = &AddApplicationVpcConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddApplicationVpcConfiguration API operation for Amazon Kinesis Analytics. +// +// Adds a Virtual Private Cloud (VPC) configuration to the application. Applications +// can use VPCs to store and access resources securely. +// +// Note the following about VPC configurations for Kinesis Data Analytics applications: +// +// * VPC configurations are not supported for SQL applications. +// +// * When a VPC is added to a Kinesis Data Analytics application, the application +// can no longer be accessed from the Internet directly. To enable Internet +// access to the application, add an Internet gateway to your VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation AddApplicationVpcConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) AddApplicationVpcConfiguration(input *AddApplicationVpcConfigurationInput) (*AddApplicationVpcConfigurationOutput, error) { + req, out := c.AddApplicationVpcConfigurationRequest(input) + return out, req.Send() +} + +// AddApplicationVpcConfigurationWithContext is the same as AddApplicationVpcConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See AddApplicationVpcConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *KinesisAnalyticsV2) AddApplicationVpcConfigurationWithContext(ctx aws.Context, input *AddApplicationVpcConfigurationInput, opts ...request.Option) (*AddApplicationVpcConfigurationOutput, error) { + req, out := c.AddApplicationVpcConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateApplication = "CreateApplication" // CreateApplicationRequest generates a "aws/request.Request" representing the @@ -1295,6 +1394,96 @@ func (c *KinesisAnalyticsV2) DeleteApplicationSnapshotWithContext(ctx aws.Contex return out, req.Send() } +const opDeleteApplicationVpcConfiguration = "DeleteApplicationVpcConfiguration" + +// DeleteApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationVpcConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteApplicationVpcConfiguration for more information on using the DeleteApplicationVpcConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteApplicationVpcConfigurationRequest method. +// req, resp := client.DeleteApplicationVpcConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationRequest(input *DeleteApplicationVpcConfigurationInput) (req *request.Request, output *DeleteApplicationVpcConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteApplicationVpcConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationVpcConfigurationInput{} + } + + output = &DeleteApplicationVpcConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApplicationVpcConfiguration API operation for Amazon Kinesis Analytics. +// +// Removes a VPC configuration from a Kinesis Data Analytics application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation DeleteApplicationVpcConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfiguration(input *DeleteApplicationVpcConfigurationInput) (*DeleteApplicationVpcConfigurationOutput, error) { + req, out := c.DeleteApplicationVpcConfigurationRequest(input) + return out, req.Send() +} + +// DeleteApplicationVpcConfigurationWithContext is the same as DeleteApplicationVpcConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplicationVpcConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationWithContext(ctx aws.Context, input *DeleteApplicationVpcConfigurationInput, opts ...request.Option) (*DeleteApplicationVpcConfigurationOutput, error) { + req, out := c.DeleteApplicationVpcConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeApplication = "DescribeApplication" // DescribeApplicationRequest generates a "aws/request.Request" representing the @@ -1783,7 +1972,8 @@ func (c *KinesisAnalyticsV2) ListTagsForResourceRequest(input *ListTagsForResour // ListTagsForResource API operation for Amazon Kinesis Analytics. // -// Retrieves the list of key-value tags assigned to the application. +// Retrieves the list of key-value tags assigned to the application. For more +// information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2060,7 +2250,8 @@ func (c *KinesisAnalyticsV2) TagResourceRequest(input *TagResourceInput) (req *r // // Adds one or more key-value tags to a Kinesis Analytics application. Note // that the maximum number of application tags includes system tags. The maximum -// number of user-defined application tags is 50. +// number of user-defined application tags is 50. For more information, see +// Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2156,7 +2347,8 @@ func (c *KinesisAnalyticsV2) UntagResourceRequest(input *UntagResourceInput) (re // UntagResource API operation for Amazon Kinesis Analytics. // -// Removes one or more tags from a Kinesis Analytics application. +// Removes one or more tags from a Kinesis Analytics application. For more information, +// see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2959,6 +3151,128 @@ func (s *AddApplicationReferenceDataSourceOutput) SetReferenceDataSourceDescript return s } +type AddApplicationVpcConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The version of the application to which you want to add the input processing + // configuration. You can use the DescribeApplication operation to get the current + // application version. If the version specified is not the current version, + // the ConcurrentModificationException is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // Description of the VPC to add to the application. + // + // VpcConfiguration is a required field + VpcConfiguration *VpcConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AddApplicationVpcConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationVpcConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddApplicationVpcConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddApplicationVpcConfigurationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.VpcConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConfiguration")) + } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *AddApplicationVpcConfigurationInput) SetApplicationName(v string) *AddApplicationVpcConfigurationInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *AddApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *AddApplicationVpcConfigurationInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *AddApplicationVpcConfigurationInput) SetVpcConfiguration(v *VpcConfiguration) *AddApplicationVpcConfigurationInput { + s.VpcConfiguration = v + return s +} + +type AddApplicationVpcConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the application. + ApplicationARN *string `min:"1" type:"string"` + + // Provides the current application version. Kinesis Data Analytics updates + // the ApplicationVersionId each time you update the application. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // The parameters of the new VPC configuration. + VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"` +} + +// String returns the string representation +func (s AddApplicationVpcConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationVpcConfigurationOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *AddApplicationVpcConfigurationOutput) SetApplicationARN(v string) *AddApplicationVpcConfigurationOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *AddApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *AddApplicationVpcConfigurationOutput { + s.ApplicationVersionId = &v + return s +} + +// SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value. +func (s *AddApplicationVpcConfigurationOutput) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *AddApplicationVpcConfigurationOutput { + s.VpcConfigurationDescription = v + return s +} + // Describes code configuration for a Java-based Kinesis Data Analytics application. type ApplicationCodeConfiguration struct { _ struct{} `type:"structure"` @@ -3119,6 +3433,9 @@ type ApplicationConfiguration struct { // The creation and update parameters for an SQL-based Kinesis Data Analytics // application. SqlApplicationConfiguration *SqlApplicationConfiguration `type:"structure"` + + // The array of descriptions of VPC configurations available to the application. + VpcConfigurations []*VpcConfiguration `type:"list"` } // String returns the string representation @@ -3162,6 +3479,16 @@ func (s *ApplicationConfiguration) Validate() error { invalidParams.AddNested("SqlApplicationConfiguration", err.(request.ErrInvalidParams)) } } + if s.VpcConfigurations != nil { + for i, v := range s.VpcConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3199,6 +3526,12 @@ func (s *ApplicationConfiguration) SetSqlApplicationConfiguration(v *SqlApplicat return s } +// SetVpcConfigurations sets the VpcConfigurations field's value. +func (s *ApplicationConfiguration) SetVpcConfigurations(v []*VpcConfiguration) *ApplicationConfiguration { + s.VpcConfigurations = v + return s +} + // Describes details about the application code and starting parameters for // an Amazon Kinesis Data Analytics application. type ApplicationConfigurationDescription struct { @@ -3224,6 +3557,9 @@ type ApplicationConfigurationDescription struct { // The details about inputs, outputs, and reference data sources for an SQL-based // Kinesis Data Analytics application. SqlApplicationConfigurationDescription *SqlApplicationConfigurationDescription `type:"structure"` + + // The array of descriptions of VPC configurations available to the application. + VpcConfigurationDescriptions []*VpcConfigurationDescription `type:"list"` } // String returns the string representation @@ -3272,6 +3608,12 @@ func (s *ApplicationConfigurationDescription) SetSqlApplicationConfigurationDesc return s } +// SetVpcConfigurationDescriptions sets the VpcConfigurationDescriptions field's value. +func (s *ApplicationConfigurationDescription) SetVpcConfigurationDescriptions(v []*VpcConfigurationDescription) *ApplicationConfigurationDescription { + s.VpcConfigurationDescriptions = v + return s +} + // Describes updates to an application's configuration. type ApplicationConfigurationUpdate struct { _ struct{} `type:"structure"` @@ -3293,6 +3635,10 @@ type ApplicationConfigurationUpdate struct { // Describes updates to an SQL-based Kinesis Data Analytics application's configuration. SqlApplicationConfigurationUpdate *SqlApplicationConfigurationUpdate `type:"structure"` + + // Updates to the array of descriptions of VPC configurations available to the + // application. + VpcConfigurationUpdates []*VpcConfigurationUpdate `type:"list"` } // String returns the string representation @@ -3333,6 +3679,16 @@ func (s *ApplicationConfigurationUpdate) Validate() error { invalidParams.AddNested("SqlApplicationConfigurationUpdate", err.(request.ErrInvalidParams)) } } + if s.VpcConfigurationUpdates != nil { + for i, v := range s.VpcConfigurationUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurationUpdates", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3370,6 +3726,12 @@ func (s *ApplicationConfigurationUpdate) SetSqlApplicationConfigurationUpdate(v return s } +// SetVpcConfigurationUpdates sets the VpcConfigurationUpdates field's value. +func (s *ApplicationConfigurationUpdate) SetVpcConfigurationUpdates(v []*VpcConfigurationUpdate) *ApplicationConfigurationUpdate { + s.VpcConfigurationUpdates = v + return s +} + // Describes the application, including the application Amazon Resource Name // (ARN), status, latest version, and input and output configurations. type ApplicationDetail struct { @@ -3807,14 +4169,33 @@ type CheckpointConfiguration struct { _ struct{} `type:"structure"` // Describes the interval in milliseconds between checkpoint operations. - CheckpointInterval *int64 `type:"long"` + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointInterval vaue of 60000, even if this value is set to + // another value using this API or in application code. + CheckpointInterval *int64 `min:"1" type:"long"` // Describes whether checkpointing is enabled for a Java-based Kinesis Data // Analytics application. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointingEnabled value of true, even if this value is set + // to another value using this API or in application code. CheckpointingEnabled *bool `type:"boolean"` // Describes whether the application uses Amazon Kinesis Data Analytics' default - // checkpointing behavior. + // checkpointing behavior. You must set this property to CUSTOM in order to + // set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints + // parameters. + // + // If this value is set to DEFAULT, the application will use the following values, + // even if they are set to other values using APIs or application code: + // + // * CheckpointingEnabled: true + // + // * CheckpointInterval: 60000 + // + // * MinPauseBetweenCheckpoints: 5000 // // ConfigurationType is a required field ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` @@ -3824,6 +4205,10 @@ type CheckpointConfiguration struct { // longer than the CheckpointInterval, the application otherwise performs continual // checkpoint operations. For more information, see Tuning Checkpointing (https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/large_state_tuning.html#tuning-checkpointing) // in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/). + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a MinPauseBetweenCheckpoints value of 5000, even if this value is + // set using this API or in application code. MinPauseBetweenCheckpoints *int64 `type:"long"` } @@ -3840,6 +4225,9 @@ func (s CheckpointConfiguration) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CheckpointConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CheckpointConfiguration"} + if s.CheckpointInterval != nil && *s.CheckpointInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("CheckpointInterval", 1)) + } if s.ConfigurationType == nil { invalidParams.Add(request.NewErrParamRequired("ConfigurationType")) } @@ -3880,18 +4268,39 @@ type CheckpointConfigurationDescription struct { _ struct{} `type:"structure"` // Describes the interval in milliseconds between checkpoint operations. - CheckpointInterval *int64 `type:"long"` + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointInterval vaue of 60000, even if this value is set to + // another value using this API or in application code. + CheckpointInterval *int64 `min:"1" type:"long"` // Describes whether checkpointing is enabled for a Java-based Kinesis Data // Analytics application. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointingEnabled value of true, even if this value is set + // to another value using this API or in application code. CheckpointingEnabled *bool `type:"boolean"` // Describes whether the application uses the default checkpointing behavior // in Kinesis Data Analytics. + // + // If this value is set to DEFAULT, the application will use the following values, + // even if they are set to other values using APIs or application code: + // + // * CheckpointingEnabled: true + // + // * CheckpointInterval: 60000 + // + // * MinPauseBetweenCheckpoints: 5000 ConfigurationType *string `type:"string" enum:"ConfigurationType"` // Describes the minimum time in milliseconds after a checkpoint operation completes // that a new checkpoint operation can start. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a MinPauseBetweenCheckpoints value of 5000, even if this value is + // set using this API or in application code. MinPauseBetweenCheckpoints *int64 `type:"long"` } @@ -3935,17 +4344,40 @@ type CheckpointConfigurationUpdate struct { _ struct{} `type:"structure"` // Describes updates to the interval in milliseconds between checkpoint operations. - CheckpointIntervalUpdate *int64 `type:"long"` + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointInterval vaue of 60000, even if this value is set to + // another value using this API or in application code. + CheckpointIntervalUpdate *int64 `min:"1" type:"long"` // Describes updates to whether checkpointing is enabled for an application. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointingEnabled value of true, even if this value is set + // to another value using this API or in application code. CheckpointingEnabledUpdate *bool `type:"boolean"` // Describes updates to whether the application uses the default checkpointing - // behavior of Kinesis Data Analytics. + // behavior of Kinesis Data Analytics. You must set this property to CUSTOM + // in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints + // parameters. + // + // If this value is set to DEFAULT, the application will use the following values, + // even if they are set to other values using APIs or application code: + // + // * CheckpointingEnabled: true + // + // * CheckpointInterval: 60000 + // + // * MinPauseBetweenCheckpoints: 5000 ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` // Describes updates to the minimum time in milliseconds after a checkpoint // operation completes that a new checkpoint operation can start. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a MinPauseBetweenCheckpoints value of 5000, even if this value is + // set using this API or in application code. MinPauseBetweenCheckpointsUpdate *int64 `type:"long"` } @@ -3959,6 +4391,19 @@ func (s CheckpointConfigurationUpdate) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CheckpointConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CheckpointConfigurationUpdate"} + if s.CheckpointIntervalUpdate != nil && *s.CheckpointIntervalUpdate < 1 { + invalidParams.Add(request.NewErrParamMinValue("CheckpointIntervalUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCheckpointIntervalUpdate sets the CheckpointIntervalUpdate field's value. func (s *CheckpointConfigurationUpdate) SetCheckpointIntervalUpdate(v int64) *CheckpointConfigurationUpdate { s.CheckpointIntervalUpdate = &v @@ -4335,8 +4780,7 @@ type CreateApplicationInput struct { // A list of one or more tags to assign to the application. A tag is a key-value // pair that identifies an application. Note that the maximum number of application // tags includes system tags. The maximum number of user-defined application - // tags is 50. For more information, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) - // in the AWS Billing and Cost Management Guide. + // tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html). Tags []*Tag `min:"1" type:"list"` } @@ -5156,6 +5600,114 @@ func (s DeleteApplicationSnapshotOutput) GoString() string { return s.String() } +type DeleteApplicationVpcConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The current application version ID. You can retrieve the application version + // ID using DescribeApplication. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The ID of the VPC configuration to delete. + // + // VpcConfigurationId is a required field + VpcConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationVpcConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationVpcConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationVpcConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationVpcConfigurationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.VpcConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId")) + } + if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationVpcConfigurationInput) SetApplicationName(v string) *DeleteApplicationVpcConfigurationInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *DeleteApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetVpcConfigurationId sets the VpcConfigurationId field's value. +func (s *DeleteApplicationVpcConfigurationInput) SetVpcConfigurationId(v string) *DeleteApplicationVpcConfigurationInput { + s.VpcConfigurationId = &v + return s +} + +type DeleteApplicationVpcConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Kinesis Data Analytics application. + ApplicationARN *string `min:"1" type:"string"` + + // The updated version ID of the application. + ApplicationVersionId *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteApplicationVpcConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationVpcConfigurationOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationARN(v string) *DeleteApplicationVpcConfigurationOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationOutput { + s.ApplicationVersionId = &v + return s +} + type DescribeApplicationInput struct { _ struct{} `type:"structure"` @@ -5785,6 +6337,11 @@ func (s FlinkApplicationConfigurationUpdate) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *FlinkApplicationConfigurationUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfigurationUpdate"} + if s.CheckpointConfigurationUpdate != nil { + if err := s.CheckpointConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("CheckpointConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } if s.ParallelismConfigurationUpdate != nil { if err := s.ParallelismConfigurationUpdate.Validate(); err != nil { invalidParams.AddNested("ParallelismConfigurationUpdate", err.(request.ErrInvalidParams)) @@ -5815,6 +6372,36 @@ func (s *FlinkApplicationConfigurationUpdate) SetParallelismConfigurationUpdate( return s } +// Describes the starting parameters for an Apache Flink-based Kinesis Data +// Analytics application. +type FlinkRunConfiguration struct { + _ struct{} `type:"structure"` + + // When restoring from a savepoint, specifies whether the runtime is allowed + // to skip a state that cannot be mapped to the new program. This will happen + // if the program is updated between savepoints to remove stateful parameters, + // and state data in the savepoint no longer corresponds to valid application + // data. For more information, see Allowing Non-Restored State (https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/state/savepoints.html#allowing-non-restored-state) + // in the Apache Flink documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/). + AllowNonRestoredState *bool `type:"boolean"` +} + +// String returns the string representation +func (s FlinkRunConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlinkRunConfiguration) GoString() string { + return s.String() +} + +// SetAllowNonRestoredState sets the AllowNonRestoredState field's value. +func (s *FlinkRunConfiguration) SetAllowNonRestoredState(v bool) *FlinkRunConfiguration { + s.AllowNonRestoredState = &v + return s +} + // When you configure the application input for an SQL-based Amazon Kinesis // Data Analytics application, you specify the streaming source, the in-application // stream name that is created, and the mapping between the two. @@ -7651,7 +8238,8 @@ type MonitoringConfiguration struct { _ struct{} `type:"structure"` // Describes whether to use the default CloudWatch logging configuration for - // an application. + // an application. You must set this property to CUSTOM in order to set the + // LogLevel or MetricsLevel parameters. // // ConfigurationType is a required field ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` @@ -7754,7 +8342,8 @@ type MonitoringConfigurationUpdate struct { _ struct{} `type:"structure"` // Describes updates to whether to use the default CloudWatch logging configuration - // for an application. + // for an application. You must set this property to CUSTOM in order to set + // the LogLevel or MetricsLevel parameters. ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` // Describes updates to the verbosity of the CloudWatch Logs for an application. @@ -8098,15 +8687,22 @@ type ParallelismConfiguration struct { AutoScalingEnabled *bool `type:"boolean"` // Describes whether the application uses the default parallelism for the Kinesis - // Data Analytics service. + // Data Analytics service. You must set this property to CUSTOM in order to + // change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU + // properties. // // ConfigurationType is a required field ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` // Describes the initial number of parallel tasks that a Java-based Kinesis - // Data Analytics application can perform. The Kinesis Data Analytics service - // can increase this number automatically if ParallelismConfiguration$AutoScalingEnabled - // is set to true. + // Data Analytics application can perform. If AutoScalingEnabled is set to True, + // Kinesis Data Analytics increases the CurrentParallelism value in response + // to application load. The service can increase the CurrentParallelism value + // up to the maximum parallelism, which is ParalellismPerKPU times the maximum + // KPUs for the application. The maximum KPUs for an application is 32 by default, + // and can be increased by requesting a limit increase. If application load + // is reduced, the service can reduce the CurrentParallelism value down to the + // Parallelism setting. Parallelism *int64 `min:"1" type:"integer"` // Describes the number of parallel tasks that a Java-based Kinesis Data Analytics @@ -8183,11 +8779,24 @@ type ParallelismConfigurationDescription struct { ConfigurationType *string `type:"string" enum:"ConfigurationType"` // Describes the current number of parallel tasks that a Java-based Kinesis - // Data Analytics application can perform. + // Data Analytics application can perform. If AutoScalingEnabled is set to True, + // Kinesis Data Analytics can increase this value in response to application + // load. The service can increase this value up to the maximum parallelism, + // which is ParalellismPerKPU times the maximum KPUs for the application. The + // maximum KPUs for an application is 32 by default, and can be increased by + // requesting a limit increase. If application load is reduced, the service + // can reduce the CurrentParallelism value down to the Parallelism setting. CurrentParallelism *int64 `min:"1" type:"integer"` // Describes the initial number of parallel tasks that a Java-based Kinesis - // Data Analytics application can perform. + // Data Analytics application can perform. If AutoScalingEnabled is set to True, + // then Kinesis Data Analytics can increase the CurrentParallelism value in + // response to application load. The service can increase CurrentParallelism + // up to the maximum parallelism, which is ParalellismPerKPU times the maximum + // KPUs for the application. The maximum KPUs for an application is 32 by default, + // and can be increased by requesting a limit increase. If application load + // is reduced, the service can reduce the CurrentParallelism value down to the + // Parallelism setting. Parallelism *int64 `min:"1" type:"integer"` // Describes the number of parallel tasks that a Java-based Kinesis Data Analytics @@ -8246,6 +8855,8 @@ type ParallelismConfigurationUpdate struct { // Describes updates to whether the application uses the default parallelism // for the Kinesis Data Analytics service, or if a custom parallelism is used. + // You must set this property to CUSTOM in order to change your application's + // AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties. ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` // Describes updates to the number of parallel tasks an application can perform @@ -8253,7 +8864,13 @@ type ParallelismConfigurationUpdate struct { ParallelismPerKPUUpdate *int64 `min:"1" type:"integer"` // Describes updates to the initial number of parallel tasks an application - // can perform. + // can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics + // can increase the CurrentParallelism value in response to application load. + // The service can increase CurrentParallelism up to the maximum parallelism, + // which is ParalellismPerKPU times the maximum KPUs for the application. The + // maximum KPUs for an application is 32 by default, and can be increased by + // requesting a limit increase. If application load is reduced, the service + // will reduce CurrentParallelism down to the Parallelism setting. ParallelismUpdate *int64 `min:"1" type:"integer"` } @@ -8741,6 +9358,10 @@ type RunConfiguration struct { // Describes the restore behavior of a restarting application. ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"` + // Describes the starting parameters for an Apache Flink-based Kinesis Data + // Analytics application. + FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"` + // Describes the starting parameters for an SQL-based Kinesis Data Analytics // application. SqlRunConfigurations []*SqlRunConfiguration `type:"list"` @@ -8787,6 +9408,12 @@ func (s *RunConfiguration) SetApplicationRestoreConfiguration(v *ApplicationRest return s } +// SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value. +func (s *RunConfiguration) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfiguration { + s.FlinkRunConfiguration = v + return s +} + // SetSqlRunConfigurations sets the SqlRunConfigurations field's value. func (s *RunConfiguration) SetSqlRunConfigurations(v []*SqlRunConfiguration) *RunConfiguration { s.SqlRunConfigurations = v @@ -8824,6 +9451,10 @@ type RunConfigurationUpdate struct { // Describes updates to the restore behavior of a restarting application. ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"` + + // Describes the starting parameters for an Apache Flink-based Kinesis Data + // Analytics application. + FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"` } // String returns the string representation @@ -8857,6 +9488,12 @@ func (s *RunConfigurationUpdate) SetApplicationRestoreConfiguration(v *Applicati return s } +// SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value. +func (s *RunConfigurationUpdate) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfigurationUpdate { + s.FlinkRunConfiguration = v + return s +} + // Describes the location of a Java-based Amazon Kinesis Data Analytics application's // code stored in an S3 bucket. type S3ApplicationCodeLocationDescription struct { @@ -9806,9 +10443,7 @@ func (s StopApplicationOutput) GoString() string { // AWS resources. If you specify a tag that already exists, the tag value is // replaced with the value that you specify in the request. Note that the maximum // number of application tags includes system tags. The maximum number of user-defined -// application tags is 50. For more information, see Using Cost Allocation Tags -// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) -// in the AWS Billing and Cost Management Guide. +// application tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html). type Tag struct { _ struct{} `type:"structure"` @@ -10158,6 +10793,196 @@ func (s *UpdateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *Up return s } +// Describes the parameters of a VPC used by the application. +type VpcConfiguration struct { + _ struct{} `type:"structure"` + + // The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html) + // IDs used by the VPC configuration. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `min:"1" type:"list" required:"true"` + + // The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html) + // IDs used by the VPC configuration. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s VpcConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { + s.SubnetIds = v + return s +} + +// Describes the parameters of a VPC used by the application. +type VpcConfigurationDescription struct { + _ struct{} `type:"structure"` + + // The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html) + // IDs used by the VPC configuration. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `min:"1" type:"list" required:"true"` + + // The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html) + // IDs used by the VPC configuration. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` + + // The ID of the VPC configuration. + // + // VpcConfigurationId is a required field + VpcConfigurationId *string `min:"1" type:"string" required:"true"` + + // The ID of the associated VPC. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfigurationDescription) GoString() string { + return s.String() +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfigurationDescription) SetSecurityGroupIds(v []*string) *VpcConfigurationDescription { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfigurationDescription) SetSubnetIds(v []*string) *VpcConfigurationDescription { + s.SubnetIds = v + return s +} + +// SetVpcConfigurationId sets the VpcConfigurationId field's value. +func (s *VpcConfigurationDescription) SetVpcConfigurationId(v string) *VpcConfigurationDescription { + s.VpcConfigurationId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcConfigurationDescription) SetVpcId(v string) *VpcConfigurationDescription { + s.VpcId = &v + return s +} + +// Describes updates to the VPC configuration used by the application. +type VpcConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to the array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html) + // IDs used by the VPC configuration. + SecurityGroupIdUpdates []*string `min:"1" type:"list"` + + // Describes updates to the array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html) + // IDs used by the VPC configuration. + SubnetIdUpdates []*string `min:"1" type:"list"` + + // Describes an update to the ID of the VPC configuration. + // + // VpcConfigurationId is a required field + VpcConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfigurationUpdate"} + if s.SecurityGroupIdUpdates != nil && len(s.SecurityGroupIdUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIdUpdates", 1)) + } + if s.SubnetIdUpdates != nil && len(s.SubnetIdUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIdUpdates", 1)) + } + if s.VpcConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId")) + } + if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIdUpdates sets the SecurityGroupIdUpdates field's value. +func (s *VpcConfigurationUpdate) SetSecurityGroupIdUpdates(v []*string) *VpcConfigurationUpdate { + s.SecurityGroupIdUpdates = v + return s +} + +// SetSubnetIdUpdates sets the SubnetIdUpdates field's value. +func (s *VpcConfigurationUpdate) SetSubnetIdUpdates(v []*string) *VpcConfigurationUpdate { + s.SubnetIdUpdates = v + return s +} + +// SetVpcConfigurationId sets the VpcConfigurationId field's value. +func (s *VpcConfigurationUpdate) SetVpcConfigurationId(v string) *VpcConfigurationUpdate { + s.VpcConfigurationId = &v + return s +} + const ( // ApplicationRestoreTypeSkipRestoreFromSnapshot is a ApplicationRestoreType enum value ApplicationRestoreTypeSkipRestoreFromSnapshot = "SKIP_RESTORE_FROM_SNAPSHOT" diff --git a/service/kinesisanalyticsv2/kinesisanalyticsv2iface/interface.go b/service/kinesisanalyticsv2/kinesisanalyticsv2iface/interface.go index 02b58b6bd57..026b86ac11a 100644 --- a/service/kinesisanalyticsv2/kinesisanalyticsv2iface/interface.go +++ b/service/kinesisanalyticsv2/kinesisanalyticsv2iface/interface.go @@ -80,6 +80,10 @@ type KinesisAnalyticsV2API interface { AddApplicationReferenceDataSourceWithContext(aws.Context, *kinesisanalyticsv2.AddApplicationReferenceDataSourceInput, ...request.Option) (*kinesisanalyticsv2.AddApplicationReferenceDataSourceOutput, error) AddApplicationReferenceDataSourceRequest(*kinesisanalyticsv2.AddApplicationReferenceDataSourceInput) (*request.Request, *kinesisanalyticsv2.AddApplicationReferenceDataSourceOutput) + AddApplicationVpcConfiguration(*kinesisanalyticsv2.AddApplicationVpcConfigurationInput) (*kinesisanalyticsv2.AddApplicationVpcConfigurationOutput, error) + AddApplicationVpcConfigurationWithContext(aws.Context, *kinesisanalyticsv2.AddApplicationVpcConfigurationInput, ...request.Option) (*kinesisanalyticsv2.AddApplicationVpcConfigurationOutput, error) + AddApplicationVpcConfigurationRequest(*kinesisanalyticsv2.AddApplicationVpcConfigurationInput) (*request.Request, *kinesisanalyticsv2.AddApplicationVpcConfigurationOutput) + CreateApplication(*kinesisanalyticsv2.CreateApplicationInput) (*kinesisanalyticsv2.CreateApplicationOutput, error) CreateApplicationWithContext(aws.Context, *kinesisanalyticsv2.CreateApplicationInput, ...request.Option) (*kinesisanalyticsv2.CreateApplicationOutput, error) CreateApplicationRequest(*kinesisanalyticsv2.CreateApplicationInput) (*request.Request, *kinesisanalyticsv2.CreateApplicationOutput) @@ -112,6 +116,10 @@ type KinesisAnalyticsV2API interface { DeleteApplicationSnapshotWithContext(aws.Context, *kinesisanalyticsv2.DeleteApplicationSnapshotInput, ...request.Option) (*kinesisanalyticsv2.DeleteApplicationSnapshotOutput, error) DeleteApplicationSnapshotRequest(*kinesisanalyticsv2.DeleteApplicationSnapshotInput) (*request.Request, *kinesisanalyticsv2.DeleteApplicationSnapshotOutput) + DeleteApplicationVpcConfiguration(*kinesisanalyticsv2.DeleteApplicationVpcConfigurationInput) (*kinesisanalyticsv2.DeleteApplicationVpcConfigurationOutput, error) + DeleteApplicationVpcConfigurationWithContext(aws.Context, *kinesisanalyticsv2.DeleteApplicationVpcConfigurationInput, ...request.Option) (*kinesisanalyticsv2.DeleteApplicationVpcConfigurationOutput, error) + DeleteApplicationVpcConfigurationRequest(*kinesisanalyticsv2.DeleteApplicationVpcConfigurationInput) (*request.Request, *kinesisanalyticsv2.DeleteApplicationVpcConfigurationOutput) + DescribeApplication(*kinesisanalyticsv2.DescribeApplicationInput) (*kinesisanalyticsv2.DescribeApplicationOutput, error) DescribeApplicationWithContext(aws.Context, *kinesisanalyticsv2.DescribeApplicationInput, ...request.Option) (*kinesisanalyticsv2.DescribeApplicationOutput, error) DescribeApplicationRequest(*kinesisanalyticsv2.DescribeApplicationInput) (*request.Request, *kinesisanalyticsv2.DescribeApplicationOutput) diff --git a/service/kms/api.go b/service/kms/api.go index d1375b22606..b53a5226305 100644 --- a/service/kms/api.go +++ b/service/kms/api.go @@ -58,16 +58,15 @@ func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *requ // CancelKeyDeletion API operation for AWS Key Management Service. // // 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. +// succeeds, the key state of the CMK is Disabled. To enable the CMK, use EnableKey. +// You cannot perform this operation on a CMK in a different AWS account. // // For more information about scheduling and canceling deletion of a CMK, see // Deleting Customer Master Keys (https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -100,7 +99,7 @@ func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *requ // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CancelKeyDeletion func (c *KMS) CancelKeyDeletion(input *CancelKeyDeletionInput) (*CancelKeyDeletionOutput, error) { @@ -350,32 +349,68 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // CreateAlias API operation for AWS Key Management Service. // // 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. +// You can use an alias to identify a CMK in cryptographic operations, such +// as Encrypt and GenerateDataKey. You can change the CMK associated with the +// alias at any time. +// +// Aliases are easier to remember than key IDs. They can also help to simplify +// your applications. For example, if you use an alias in your code, you can +// change the CMK your code uses by associating a given alias with a different +// CMK. +// +// To run the same code in multiple AWS regions, use an alias in your code, +// such as alias/ApplicationKey. Then, in each AWS Region, create an alias/ApplicationKey +// alias that is associated with a CMK in that Region. When you run your code, +// it uses the alias/ApplicationKey CMK for that AWS Region without any Region-specific +// code. +// +// This operation does not return a response. To get the alias that you created, +// use the ListAliases operation. // -// 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. +// To use aliases successfully, be aware of the following information. // -// 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 alias points to only one CMK at a time, although a single CMK can +// have multiple aliases. The alias and its associated CMK must be in the +// same AWS account and Region. // -// The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. -// It can contain only alphanumeric characters, forward slashes (/), underscores -// (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ -// prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). +// * You can associate an alias with any customer managed CMK in the same +// AWS account and Region. However, you do not have permission to associate +// an alias with an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) +// or an AWS owned CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). // -// 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 change the CMK associated with an alias, use the UpdateAlias operation. +// The current CMK and the new CMK must be the same type (both symmetric +// or both asymmetric) and they must have the same key usage (ENCRYPT_DECRYPT +// or SIGN_VERIFY). This restriction prevents cryptographic errors in code +// that uses aliases. // -// To map an existing alias to a different CMK, call UpdateAlias. +// * The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. +// It can contain only alphanumeric characters, forward slashes (/), underscores +// (_), and dashes (-). The alias name cannot begin with alias/aws/. The +// alias/aws/ prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// * The alias name must be unique within an AWS Region. However, you can +// use the same alias name in multiple Regions of the same AWS account. Each +// instance of the alias is associated with a CMK in its Region. +// +// * After you create an alias, you cannot change its alias name. However, +// you can use the DeleteAlias operation to delete the alias and then create +// a new alias with the desired name. +// +// * You can use an alias name or alias ARN to identify a CMK in AWS KMS +// cryptographic operations and in the DescribeKey operation. However, you +// cannot use alias names or alias ARNs in API operations that manage CMKs, +// such as DisableKey or GetKeyPolicy. For information about the valid CMK +// identifiers for each AWS KMS API operation, see the descriptions of the +// KeyId parameter in the API operation documentation. +// +// Because an alias is not a property of a CMK, you can delete and change the +// aliases of a CMK without affecting the CMK. Also, aliases do not appear in +// the response from the DescribeKey operation. To get the aliases and alias +// ARNs of CMKs in each AWS account and Region, use the ListAliases operation. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -416,7 +451,7 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateAlias func (c *KMS) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) { @@ -657,17 +692,44 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request, // principal to use the CMK when the conditions specified in the grant are met. // When setting permissions, grants are an alternative to key policies. // -// To create a grant that allows a cryptographic operation only when the encryption -// context in the operation request matches or includes a specified encryption -// context, use the Constraints parameter. For details, see GrantConstraints. +// To create a grant that allows a cryptographic operation only when the request +// includes a particular encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context), +// use the Constraints parameter. For details, see GrantConstraints. +// +// You can create grants on symmetric and asymmetric CMKs. However, if the grant +// allows an operation that the CMK does not support, CreateGrant fails with +// a ValidationException. +// +// * Grants for symmetric CMKs cannot allow operations that are not supported +// for symmetric CMKs, including Sign, Verify, and GetPublicKey. (There are +// limited exceptions to this rule for legacy operations, but you should +// not create a grant for an operation that AWS KMS does not support.) +// +// * Grants for asymmetric CMKs cannot allow operations that are not supported +// for asymmetric CMKs, including operations that generate data keys (https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey) +// or data key pairs (https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair), +// or operations related to automatic key rotation (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html), +// imported key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html), +// or CMKs in custom key stores (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// +// * Grants for asymmetric CMKs with a KeyUsage of ENCRYPT_DECRYPT cannot +// allow the Sign or Verify operations. Grants for asymmetric CMKs with a +// KeyUsage of SIGN_VERIFY cannot allow the Encrypt or Decrypt operations. +// +// * Grants for asymmetric CMKs cannot include an encryption context grant +// constraint. An encryption context is not supported on asymmetric CMKs. +// +// For information about symmetric and asymmetric CMKs, see Using Symmetric +// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. // // To perform this operation on a CMK in a different AWS account, specify the // key ARN in the value of the KeyId parameter. For more information about grants, // see Grants (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -711,7 +773,7 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrant func (c *KMS) CreateGrant(input *CreateGrantInput) (*CreateGrantOutput, error) { @@ -779,23 +841,67 @@ func (c *KMS) CreateKeyRequest(input *CreateKeyInput) (req *request.Request, out // CreateKey API operation for AWS Key Management Service. // -// Creates a customer managed customer master key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) -// (CMK) in your AWS account. +// Creates a unique customer managed customer master key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master-keys) +// (CMK) in your AWS account and Region. You cannot use this operation to create +// a CMK in a different AWS account. +// +// You can use the CreateKey operation to create symmetric or asymmetric CMKs. +// +// * Symmetric CMKs contain a 256-bit symmetric key that never leaves AWS +// KMS unencrypted. To use the CMK, you must call AWS KMS. You can use a +// symmetric CMK to encrypt and decrypt small amounts of data, but they are +// typically used to generate data keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) +// or data key pairs. For details, see GenerateDataKey and GenerateDataKeyPair. +// +// * Asymmetric CMKs can contain an RSA key pair or an Elliptic Curve (ECC) +// key pair. The private key in an asymmetric CMK never leaves AWS KMS unencrypted. +// However, you can use the GetPublicKey operation to download the public +// key so it can be used outside of AWS KMS. CMKs with RSA key pairs can +// be used to encrypt or decrypt data or sign and verify messages (but not +// both). CMKs with ECC key pairs can be used only to sign and verify messages. +// +// For information about symmetric and asymmetric CMKs, see Using Symmetric +// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// To create different types of CMKs, use the following guidance: +// +// Asymmetric CMKs +// +// To create an asymmetric CMK, use the CustomerMasterKeySpec parameter to specify +// the type of key material in the CMK. Then, use the KeyUsage parameter to +// determine whether the CMK will be used to encrypt and decrypt or sign and +// verify. You can't change these properties after the CMK is created. // -// You can use a CMK to encrypt small amounts of data (up to 4096 bytes) directly. -// But CMKs are more commonly used to encrypt the data keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) -// that are used to encrypt data. +// Symmetric CMKs // -// To create a CMK for imported key material, use the Origin parameter with -// a value of EXTERNAL. +// When creating a symmetric CMK, you don't need to specify the CustomerMasterKeySpec +// or KeyUsage parameters. The default value for CustomerMasterKeySpec, SYMMETRIC_DEFAULT, +// and the default value for KeyUsage, ENCRYPT_DECRYPT, are the only valid values +// for symmetric CMKs. // -// To create a CMK in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), +// Imported Key Material +// +// To import your own key material, begin by creating a symmetric CMK with no +// key material. To do this, use the Origin parameter of CreateKey with a value +// of EXTERNAL. Next, use GetParametersForImport operation to get a public key +// and import token, and use the public key to encrypt your key material. Then, +// use ImportKeyMaterial with your import token to import the key material. +// For step-by-step instructions, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// in the AWS Key Management Service Developer Guide . You cannot import the +// key material into an asymmetric CMK. +// +// Custom Key Stores +// +// To create a symmetric CMK in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), // use the CustomKeyStoreId parameter to specify the custom key store. You must // also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM // cluster that is associated with the custom key store must have at least two // active HSMs in different Availability Zones in the AWS Region. // -// You cannot use this operation to create a CMK in a different AWS account. +// You cannot create an asymmetric CMK in a custom key store. For information +// about custom key stores in AWS KMS see Using Custom Key Stores (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) +// in the AWS Key Management Service Developer Guide . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -954,25 +1060,51 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output // Decrypt API operation for AWS Key Management Service. // -// Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted -// by using any of the following operations: +// Decrypts ciphertext that was encrypted by a AWS KMS customer master key (CMK) +// using any of the following operations: +// +// * Encrypt // // * GenerateDataKey // +// * GenerateDataKeyPair +// // * GenerateDataKeyWithoutPlaintext // -// * Encrypt +// * GenerateDataKeyPairWithoutPlaintext +// +// You can use this operation to decrypt ciphertext that was encrypted under +// a symmetric or asymmetric CMK. When the CMK is asymmetric, you must specify +// the CMK and the encryption algorithm that was used to encrypt the ciphertext. +// For information about symmetric and asymmetric CMKs, see Using Symmetric +// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// The Decrypt operation also decrypts ciphertext that was encrypted outside +// of AWS KMS by the public key in an AWS KMS asymmetric CMK. However, it cannot +// decrypt ciphertext produced by other libraries, such as the AWS Encryption +// SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) +// or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html). +// These libraries return a ciphertext format that is incompatible with AWS +// KMS. +// +// If the ciphertext was encrypted under a symmetric CMK, you do not need to +// specify the CMK or the encryption algorithm. AWS KMS can get this information +// from metadata that it adds to the symmetric ciphertext blob. However, if +// you prefer, you can specify the KeyId to ensure that a particular CMK is +// used to decrypt the ciphertext. If you specify a different CMK than the one +// used to encrypt the ciphertext, the Decrypt operation fails. // // Whenever possible, use key policies to give users permission to call the -// Decrypt operation on 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// Decrypt operation on a particular CMK, instead of using IAM policies. Otherwise, +// you might create an IAM user policy that gives the user Decrypt permission +// on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs +// in other accounts if the key policy for the cross-account CMK permits it. +// If you must use an IAM policy for Decrypt permissions, limit the user to +// particular CMKs or particular trusted accounts. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -991,13 +1123,37 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output // The request was rejected because the specified CMK is not enabled. // // * ErrCodeInvalidCiphertextException "InvalidCiphertextException" -// The request was rejected because the specified ciphertext, or additional -// authenticated data incorporated into the ciphertext, such as the encryption -// context, is corrupted, missing, or otherwise invalid. +// From the Decrypt or ReEncrypt operation, the request was rejected because +// the specified ciphertext, or additional authenticated data incorporated into +// the ciphertext, such as the encryption context, is corrupted, missing, or +// otherwise invalid. +// +// From the ImportKeyMaterial operation, the request was rejected because AWS +// KMS could not decrypt the encrypted (wrapped) key material. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeIncorrectKeyException "IncorrectKeyException" +// The request was rejected because the specified CMK cannot decrypt the data. +// The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request +// must identify the same CMK that was used to encrypt the ciphertext. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can @@ -1016,7 +1172,7 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt func (c *KMS) Decrypt(input *DecryptInput) (*DecryptOutput, error) { @@ -1123,7 +1279,7 @@ func (c *KMS) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteAlias func (c *KMS) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { @@ -1342,8 +1498,8 @@ func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialI // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1380,7 +1536,7 @@ func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialI // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial func (c *KMS) DeleteImportedKeyMaterial(input *DeleteImportedKeyMaterialInput) (*DeleteImportedKeyMaterialOutput, error) { @@ -1558,12 +1714,38 @@ func (c *KMS) DescribeKeyRequest(input *DescribeKeyInput) (req *request.Request, // DescribeKey API operation for AWS Key Management Service. // -// Provides detailed information about the specified customer master key (CMK). +// Provides detailed information about a customer master key (CMK). You can +// run DescribeKey on a customer managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) +// or an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). +// +// This detailed information includes the key ARN, creation date (and deletion +// date, if applicable), the key state, and the origin and expiration date (if +// any) of the key material. For CMKs in custom key stores, it includes information +// about the custom key store, such as the key store ID and the AWS CloudHSM +// cluster ID. It includes fields, like KeySpec, that help you distinguish symmetric +// from asymmetric CMKs. It also provides information that is particularly important +// to asymmetric CMKs, such as the key usage (encryption or signing) and the +// encryption algorithms or signing algorithms that the CMK supports. +// +// DescribeKey does not return the following information: // -// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) -// and returns its KeyId and Arn in the response. +// * Aliases associated with the CMK. To get this information, use ListAliases. +// +// * Whether automatic key rotation is enabled on the CMK. To get this information, +// use GetKeyRotationStatus. Also, some key states prevent a CMK from being +// automatically rotated. For details, see How Automatic Key Rotation Works +// (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works) +// in AWS Key Management Service Developer Guide. +// +// * Tags on the CMK. To get this information, use ListResourceTags. +// +// * Key policies and grants on the CMK. To get this information, use GetKeyPolicy +// and ListGrants. +// +// If you call the DescribeKey operation on a predefined AWS alias, that is, +// an AWS alias with no key ID, AWS KMS creates an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). +// Then, it associates the alias with the new CMK, and returns the KeyId and +// Arn of the new CMK in the response. // // To perform this operation on a CMK in a different AWS account, specify the // key ARN or alias ARN in the value of the KeyId parameter. @@ -1667,8 +1849,8 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o // Key State Affects the Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1701,7 +1883,7 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKey func (c *KMS) DisableKey(input *DisableKeyInput) (*DisableKeyOutput, error) { @@ -1771,11 +1953,14 @@ func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *re // DisableKeyRotation API operation for AWS Key Management Service. // // Disables automatic rotation of the key material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) -// for the specified customer master key (CMK). You cannot perform this operation -// on a CMK in a different AWS account. +// for the specified symmetric customer master key (CMK). +// +// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported +// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1811,7 +1996,7 @@ func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *re // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // The request was rejected because a specified parameter is not supported or @@ -2011,8 +2196,8 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out // you to use the CMK 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2050,7 +2235,7 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKey func (c *KMS) EnableKey(input *EnableKeyInput) (*EnableKeyOutput, error) { @@ -2120,14 +2305,14 @@ func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *requ // EnableKeyRotation API operation for AWS Key Management Service. // // Enables automatic rotation of the key material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) -// for the specified customer master key (CMK). You cannot perform this operation -// on a CMK in a different AWS account. +// for the specified symmetric customer master key (CMK). You cannot perform +// this operation on a CMK in a different AWS account. // -// You cannot enable automatic rotation of CMKs with imported key material or -// CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported +// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). // -// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2163,7 +2348,7 @@ func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *requ // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // The request was rejected because a specified parameter is not supported or @@ -2238,8 +2423,8 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // 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 encrypt small amounts of arbitrary data, such as a personal +// identifier or database password, or other sensitive information. // // * You can use the Encrypt operation to move encrypted data from one AWS // region to another. In the first region, generate a data key and use the @@ -2248,16 +2433,50 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // 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. +// You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey +// and GenerateDataKeyPair operations return a plaintext data key and an encrypted +// copy of that data key. +// +// When you encrypt data, you must specify a symmetric or asymmetric CMK to +// use in the encryption operation. The CMK must have a KeyUsage value of ENCRYPT_DECRYPT. +// To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// If you use a symmetric CMK, you can use an encryption context to add additional +// security to your encryption operation. If you specify an EncryptionContext +// when encrypting data, you must specify the same encryption context (a case-sensitive +// exact match) when decrypting the data. Otherwise, the request to decrypt +// fails with an InvalidCiphertextException. For more information, see Encryption +// Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// If you specify an asymmetric CMK, you must also specify the encryption algorithm. +// The algorithm must be compatible with the CMK type. +// +// When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record +// the CMK and encryption algorithm that you choose. You will be required to +// provide the same CMK and encryption algorithm when you decrypt the data. +// If the CMK and algorithm do not match the values used to encrypt the data, +// the decrypt operation fails. +// +// You are not required to supply the CMK ID and encryption algorithm when you +// decrypt with symmetric CMKs because AWS KMS stores this information in the +// ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with +// asymmetric keys. The standard format for asymmetric key ciphertext does not +// include configurable fields. // -// 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 maximum size of the data that you can encrypt varies with the type of +// CMK and the encryption algorithm that you choose. // -// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// * Symmetric CMKs SYMMETRIC_DEFAULT: 4096 bytes +// +// * RSA_2048 RSAES_OAEP_SHA_1: 214 bytes RSAES_OAEP_SHA_256: 190 bytes +// +// * RSA_3072 RSAES_OAEP_SHA_1: 342 bytes RSAES_OAEP_SHA_256: 318 bytes +// +// * RSA_4096 RSAES_OAEP_SHA_1: 470 bytes RSAES_OAEP_SHA_256: 446 bytes +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // To perform this operation on a CMK in a different AWS account, specify the @@ -2279,15 +2498,27 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // The request was rejected because the specified CMK is not enabled. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -2302,7 +2533,7 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Encrypt func (c *KMS) Encrypt(input *EncryptInput) (*EncryptOutput, error) { @@ -2370,26 +2601,42 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // GenerateDataKey API operation for AWS Key Management Service. // -// Generates a unique data key. This operation returns a plaintext copy of the -// data key and a copy that is encrypted under a customer master key (CMK) that -// you specify. You can use the plaintext key to encrypt your data outside of -// KMS and store the encrypted data key with the encrypted data. +// Generates a unique symmetric data key. This operation returns a plaintext +// copy of the data key and a copy that is encrypted under a customer master +// key (CMK) that you specify. You can use the plaintext key to encrypt your +// data outside of AWS KMS and store the encrypted data key with the encrypted +// data. // // GenerateDataKey returns a unique data key for each request. The bytes in // the key are not related to the caller or CMK that is used to encrypt the // data key. // -// To generate a data key, you need to specify the customer master key (CMK) -// that will be used to encrypt the data key. You must also specify the length -// of the data key using either the KeySpec or NumberOfBytes field (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. +// To generate a data key, specify the symmetric CMK that will be used to encrypt +// the data key. You cannot use an asymmetric CMK to generate data keys. +// +// You must also specify the length of the data key. Use either the KeySpec +// or NumberOfBytes parameters (but not both). For 128-bit and 256-bit data +// keys, use the KeySpec parameter. // -// You will find the plaintext copy of the data key in the Plaintext field of -// the response, and the encrypted copy of the data key in the CiphertextBlob +// If the operation succeeds, the plaintext copy of the data key is in the Plaintext +// field of the response, and the encrypted copy of the data key in the CiphertextBlob // field. // +// To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. +// To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext +// operation. To get a cryptographically secure random byte string, use GenerateRandom. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// // We recommend that you use the following pattern to encrypt data locally in // your application: // @@ -2409,21 +2656,6 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // Use the plaintext data key to decrypt data locally, then erase the plaintext // data key from memory. // -// To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. -// To get a cryptographically secure random byte string, use GenerateRandom. -// -// You can use the optional encryption context to add additional security to -// your encryption operation. When you specify an EncryptionContext in the GenerateDataKey -// operation, you must specify the same encryption context (a case-sensitive -// exact match) in your request to Decrypt the data key. Otherwise, the request -// to decrypt fails with an InvalidCiphertextException. For more information, -// see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2440,15 +2672,27 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // The request was rejected because the specified CMK is not enabled. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -2463,7 +2707,7 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey func (c *KMS) GenerateDataKey(input *GenerateDataKeyInput) (*GenerateDataKeyOutput, error) { @@ -2487,74 +2731,85 @@ func (c *KMS) GenerateDataKeyWithContext(ctx aws.Context, input *GenerateDataKey return out, req.Send() } -const opGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" +const opGenerateDataKeyPair = "GenerateDataKeyPair" -// GenerateDataKeyWithoutPlaintextRequest generates a "aws/request.Request" representing the -// client's request for the GenerateDataKeyWithoutPlaintext operation. The "output" return +// GenerateDataKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKeyPair operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GenerateDataKeyWithoutPlaintext for more information on using the GenerateDataKeyWithoutPlaintext +// See GenerateDataKeyPair for more information on using the GenerateDataKeyPair // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GenerateDataKeyWithoutPlaintextRequest method. -// req, resp := client.GenerateDataKeyWithoutPlaintextRequest(params) +// // Example sending a request using the GenerateDataKeyPairRequest method. +// req, resp := client.GenerateDataKeyPairRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext -func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyWithoutPlaintextOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair +func (c *KMS) GenerateDataKeyPairRequest(input *GenerateDataKeyPairInput) (req *request.Request, output *GenerateDataKeyPairOutput) { op := &request.Operation{ - Name: opGenerateDataKeyWithoutPlaintext, + Name: opGenerateDataKeyPair, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GenerateDataKeyWithoutPlaintextInput{} + input = &GenerateDataKeyPairInput{} } - output = &GenerateDataKeyWithoutPlaintextOutput{} + output = &GenerateDataKeyPairOutput{} req = c.newRequest(op, input, output) return } -// GenerateDataKeyWithoutPlaintext API operation for AWS Key Management Service. +// GenerateDataKeyPair API operation for AWS Key Management Service. // -// Generates a unique data key. This operation returns a data key that is encrypted -// under a customer master key (CMK) that you specify. GenerateDataKeyWithoutPlaintext -// is identical to GenerateDataKey except that returns only the encrypted copy -// of the data key. +// Generates a unique asymmetric data key pair. The GenerateDataKeyPair operation +// returns a plaintext public key, a plaintext private key, and a copy of the +// private key that is encrypted under the symmetric CMK you specify. You can +// use the data key pair to perform asymmetric cryptography outside of AWS KMS. // -// Like GenerateDataKey, GenerateDataKeyWithoutPlaintext returns a unique data -// key for each request. The bytes in the key are not related to the caller -// or CMK that is used to encrypt the data key. +// GenerateDataKeyPair returns a unique data key pair for each request. The +// bytes in the keys are not related to the caller or the CMK that is used to +// encrypt the private key. // -// This operation is useful for systems that need to encrypt data at some point, -// but not immediately. When you need to encrypt the data, you call the Decrypt -// operation on the encrypted copy of the key. +// You can use the public key that GenerateDataKeyPair returns to encrypt data +// or verify a signature outside of AWS KMS. Then, store the encrypted private +// key with the data. When you are ready to decrypt data or sign a message, +// you can use the Decrypt operation to decrypt the encrypted private key. // -// It's also useful in distributed systems with different levels of trust. For -// example, you might store encrypted data in containers. One component of your -// system creates new containers and stores an encrypted data key with each -// container. Then, a different component puts the data into the containers. -// That component first decrypts the data key, uses the plaintext data key to -// encrypt data, puts the encrypted data into the container, and then destroys -// the plaintext data key. In this system, the component that creates the containers -// never sees the plaintext data key. +// To generate a data key pair, you must specify a symmetric customer master +// key (CMK) to encrypt the private key in a data key pair. You cannot use an +// asymmetric CMK. To get the type of your CMK, use the DescribeKey operation. +// +// If you are using the data key pair to encrypt data, or for any operation +// where you don't immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext +// operation. GenerateDataKeyPairWithoutPlaintext returns a plaintext public +// key and an encrypted private key, but omits the plaintext private key that +// you need only to decrypt ciphertext or sign a message. Later, when you need +// to decrypt the data or sign a message, use the Decrypt operation to decrypt +// the encrypted private key in the data key pair. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2562,7 +2817,7 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho // the error. // // See the AWS API reference guide for AWS Key Management Service's -// API operation GenerateDataKeyWithoutPlaintext for usage and error information. +// API operation GenerateDataKeyPair for usage and error information. // // Returned Error Codes: // * ErrCodeNotFoundException "NotFoundException" @@ -2573,15 +2828,27 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho // The request was rejected because the specified CMK is not enabled. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -2596,202 +2863,518 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext -func (c *KMS) GenerateDataKeyWithoutPlaintext(input *GenerateDataKeyWithoutPlaintextInput) (*GenerateDataKeyWithoutPlaintextOutput, error) { - req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair +func (c *KMS) GenerateDataKeyPair(input *GenerateDataKeyPairInput) (*GenerateDataKeyPairOutput, error) { + req, out := c.GenerateDataKeyPairRequest(input) return out, req.Send() } -// GenerateDataKeyWithoutPlaintextWithContext is the same as GenerateDataKeyWithoutPlaintext with the addition of +// GenerateDataKeyPairWithContext is the same as GenerateDataKeyPair with the addition of // the ability to pass a context and additional request options. // -// See GenerateDataKeyWithoutPlaintext for details on how to use this API operation. +// See GenerateDataKeyPair for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *KMS) GenerateDataKeyWithoutPlaintextWithContext(ctx aws.Context, input *GenerateDataKeyWithoutPlaintextInput, opts ...request.Option) (*GenerateDataKeyWithoutPlaintextOutput, error) { - req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) +func (c *KMS) GenerateDataKeyPairWithContext(ctx aws.Context, input *GenerateDataKeyPairInput, opts ...request.Option) (*GenerateDataKeyPairOutput, error) { + req, out := c.GenerateDataKeyPairRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGenerateRandom = "GenerateRandom" +const opGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext" -// GenerateRandomRequest generates a "aws/request.Request" representing the -// client's request for the GenerateRandom operation. The "output" return +// GenerateDataKeyPairWithoutPlaintextRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKeyPairWithoutPlaintext operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GenerateRandom for more information on using the GenerateRandom +// See GenerateDataKeyPairWithoutPlaintext for more information on using the GenerateDataKeyPairWithoutPlaintext // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GenerateRandomRequest method. -// req, resp := client.GenerateRandomRequest(params) +// // Example sending a request using the GenerateDataKeyPairWithoutPlaintextRequest method. +// req, resp := client.GenerateDataKeyPairWithoutPlaintextRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom -func (c *KMS) GenerateRandomRequest(input *GenerateRandomInput) (req *request.Request, output *GenerateRandomOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext +func (c *KMS) GenerateDataKeyPairWithoutPlaintextRequest(input *GenerateDataKeyPairWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyPairWithoutPlaintextOutput) { op := &request.Operation{ - Name: opGenerateRandom, + Name: opGenerateDataKeyPairWithoutPlaintext, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GenerateRandomInput{} + input = &GenerateDataKeyPairWithoutPlaintextInput{} } - output = &GenerateRandomOutput{} + output = &GenerateDataKeyPairWithoutPlaintextOutput{} req = c.newRequest(op, input, output) return } -// GenerateRandom API operation for AWS Key Management Service. +// GenerateDataKeyPairWithoutPlaintext API operation for AWS Key Management Service. // -// Returns a random byte string that is cryptographically secure. +// Generates a unique asymmetric data key pair. The GenerateDataKeyPairWithoutPlaintext +// operation returns a plaintext public key and a copy of the private key that +// is encrypted under the symmetric CMK you specify. Unlike GenerateDataKeyPair, +// this operation does not return a plaintext private key. // -// By default, the random byte string is generated in AWS KMS. To generate the -// byte string in the AWS CloudHSM cluster that is associated with a custom -// key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), -// specify the custom key store ID. +// To generate a data key pair, you must specify a symmetric customer master +// key (CMK) to encrypt the private key in the data key pair. You cannot use +// an asymmetric CMK. To get the type of your CMK, use the KeySpec field in +// the DescribeKey response. // -// For more information about entropy and random number generation, see the -// AWS Key Management Service Cryptographic Details (https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf) -// whitepaper. +// You can use the public key that GenerateDataKeyPairWithoutPlaintext returns +// to encrypt data or verify a signature outside of AWS KMS. Then, store the +// encrypted private key with the data. When you are ready to decrypt data or +// sign a message, you can use the Decrypt operation to decrypt the encrypted +// private key. +// +// GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each +// request. The bytes in the key are not related to the caller or CMK that is +// used to encrypt the private key. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Key Management Service's -// API operation GenerateRandom for usage and error information. +// API operation GenerateDataKeyPairWithoutPlaintext for usage and error information. // // Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // -// * ErrCodeInternalException "KMSInternalException" -// The request was rejected because an internal exception occurred. The request -// can be retried. +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: // -// * ErrCodeCustomKeyStoreNotFoundException "CustomKeyStoreNotFoundException" -// The request was rejected because AWS KMS cannot find a custom key store with -// the specified key store name or ID. +// * The KeyUsage value of the CMK is incompatible with the API operation. // -// * ErrCodeCustomKeyStoreInvalidStateException "CustomKeyStoreInvalidStateException" -// The request was rejected because of the ConnectionState of the custom key -// store. To get the ConnectionState of a custom key store, use the DescribeCustomKeyStores -// operation. +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). // -// This exception is thrown under the following conditions: +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. // -// * You requested the CreateKey or GenerateRandom operation in a custom -// key store that is not connected. These operations are valid only when -// the custom key store ConnectionState is CONNECTED. +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // -// * You requested the UpdateCustomKeyStore or DeleteCustomKeyStore operation -// on a custom key store that is not disconnected. This operation is valid -// only when the custom key store ConnectionState is DISCONNECTED. +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. // -// * You requested the ConnectCustomKeyStore operation on a custom key store -// with a ConnectionState of DISCONNECTING or FAILED. This operation is valid -// for all other ConnectionState values. +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom -func (c *KMS) GenerateRandom(input *GenerateRandomInput) (*GenerateRandomOutput, error) { - req, out := c.GenerateRandomRequest(input) +// * ErrCodeInvalidStateException "KMSInvalidStateException" +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide . +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext +func (c *KMS) GenerateDataKeyPairWithoutPlaintext(input *GenerateDataKeyPairWithoutPlaintextInput) (*GenerateDataKeyPairWithoutPlaintextOutput, error) { + req, out := c.GenerateDataKeyPairWithoutPlaintextRequest(input) return out, req.Send() } -// GenerateRandomWithContext is the same as GenerateRandom with the addition of +// GenerateDataKeyPairWithoutPlaintextWithContext is the same as GenerateDataKeyPairWithoutPlaintext with the addition of // the ability to pass a context and additional request options. // -// See GenerateRandom for details on how to use this API operation. +// See GenerateDataKeyPairWithoutPlaintext for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *KMS) GenerateRandomWithContext(ctx aws.Context, input *GenerateRandomInput, opts ...request.Option) (*GenerateRandomOutput, error) { - req, out := c.GenerateRandomRequest(input) +func (c *KMS) GenerateDataKeyPairWithoutPlaintextWithContext(ctx aws.Context, input *GenerateDataKeyPairWithoutPlaintextInput, opts ...request.Option) (*GenerateDataKeyPairWithoutPlaintextOutput, error) { + req, out := c.GenerateDataKeyPairWithoutPlaintextRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetKeyPolicy = "GetKeyPolicy" +const opGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" -// GetKeyPolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetKeyPolicy operation. The "output" return +// GenerateDataKeyWithoutPlaintextRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKeyWithoutPlaintext operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetKeyPolicy for more information on using the GetKeyPolicy +// See GenerateDataKeyWithoutPlaintext for more information on using the GenerateDataKeyWithoutPlaintext // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetKeyPolicyRequest method. -// req, resp := client.GetKeyPolicyRequest(params) +// // Example sending a request using the GenerateDataKeyWithoutPlaintextRequest method. +// req, resp := client.GenerateDataKeyWithoutPlaintextRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicy -func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Request, output *GetKeyPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext +func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyWithoutPlaintextOutput) { op := &request.Operation{ - Name: opGetKeyPolicy, + Name: opGenerateDataKeyWithoutPlaintext, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetKeyPolicyInput{} + input = &GenerateDataKeyWithoutPlaintextInput{} } - output = &GetKeyPolicyOutput{} + output = &GenerateDataKeyWithoutPlaintextOutput{} req = c.newRequest(op, input, output) return } -// GetKeyPolicy API operation for AWS Key Management Service. +// GenerateDataKeyWithoutPlaintext API operation for AWS Key Management Service. // -// 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. +// Generates a unique symmetric data key. This operation returns a data key +// that is encrypted under a customer master key (CMK) that you specify. To +// request an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext +// operations. // -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. +// GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation +// except that returns only the encrypted copy of the data key. This operation +// is useful for systems that need to encrypt data at some point, but not immediately. +// When you need to encrypt the data, you call the Decrypt operation on the +// encrypted copy of the key. // -// See the AWS API reference guide for AWS Key Management Service's -// API operation GetKeyPolicy for usage and error information. +// It's also useful in distributed systems with different levels of trust. For +// example, you might store encrypted data in containers. One component of your +// system creates new containers and stores an encrypted data key with each +// container. Then, a different component puts the data into the containers. +// That component first decrypts the data key, uses the plaintext data key to +// encrypt data, puts the encrypted data into the container, and then destroys +// the plaintext data key. In this system, the component that creates the containers +// never sees the plaintext data key. // -// Returned Error Codes: -// * ErrCodeNotFoundException "NotFoundException" +// GenerateDataKeyWithoutPlaintext returns a unique data key for each request. +// The bytes in the keys are not related to the caller or CMK that is used to +// encrypt the private key. +// +// To generate a data key, you must specify the symmetric customer master key +// (CMK) that is used to encrypt the data key. You cannot use an asymmetric +// CMK to generate a data key. To get the type of your CMK, use the KeySpec +// field in the DescribeKey response. You must also specify the length of the +// data key using either the KeySpec or NumberOfBytes field (but not both). +// For common key lengths (128-bit and 256-bit symmetric keys), use the KeySpec +// parameter. +// +// If the operation succeeds, you will find the plaintext copy of the data key +// in the Plaintext field of the response, and the encrypted copy of the data +// key in the CiphertextBlob field. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation GenerateDataKeyWithoutPlaintext for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * ErrCodeInvalidStateException "KMSInvalidStateException" +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide . +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext +func (c *KMS) GenerateDataKeyWithoutPlaintext(input *GenerateDataKeyWithoutPlaintextInput) (*GenerateDataKeyWithoutPlaintextOutput, error) { + req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) + return out, req.Send() +} + +// GenerateDataKeyWithoutPlaintextWithContext is the same as GenerateDataKeyWithoutPlaintext with the addition of +// the ability to pass a context and additional request options. +// +// See GenerateDataKeyWithoutPlaintext for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *KMS) GenerateDataKeyWithoutPlaintextWithContext(ctx aws.Context, input *GenerateDataKeyWithoutPlaintextInput, opts ...request.Option) (*GenerateDataKeyWithoutPlaintextOutput, error) { + req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGenerateRandom = "GenerateRandom" + +// GenerateRandomRequest generates a "aws/request.Request" representing the +// client's request for the GenerateRandom operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GenerateRandom for more information on using the GenerateRandom +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GenerateRandomRequest method. +// req, resp := client.GenerateRandomRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom +func (c *KMS) GenerateRandomRequest(input *GenerateRandomInput) (req *request.Request, output *GenerateRandomOutput) { + op := &request.Operation{ + Name: opGenerateRandom, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GenerateRandomInput{} + } + + output = &GenerateRandomOutput{} + req = c.newRequest(op, input, output) + return +} + +// GenerateRandom API operation for AWS Key Management Service. +// +// Returns a random byte string that is cryptographically secure. +// +// By default, the random byte string is generated in AWS KMS. To generate the +// byte string in the AWS CloudHSM cluster that is associated with a custom +// key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), +// specify the custom key store ID. +// +// For more information about entropy and random number generation, see the +// AWS Key Management Service Cryptographic Details (https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf) +// whitepaper. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation GenerateRandom for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * ErrCodeCustomKeyStoreNotFoundException "CustomKeyStoreNotFoundException" +// The request was rejected because AWS KMS cannot find a custom key store with +// the specified key store name or ID. +// +// * ErrCodeCustomKeyStoreInvalidStateException "CustomKeyStoreInvalidStateException" +// The request was rejected because of the ConnectionState of the custom key +// store. To get the ConnectionState of a custom key store, use the DescribeCustomKeyStores +// operation. +// +// This exception is thrown under the following conditions: +// +// * You requested the CreateKey or GenerateRandom operation in a custom +// key store that is not connected. These operations are valid only when +// the custom key store ConnectionState is CONNECTED. +// +// * You requested the UpdateCustomKeyStore or DeleteCustomKeyStore operation +// on a custom key store that is not disconnected. This operation is valid +// only when the custom key store ConnectionState is DISCONNECTED. +// +// * You requested the ConnectCustomKeyStore operation on a custom key store +// with a ConnectionState of DISCONNECTING or FAILED. This operation is valid +// for all other ConnectionState values. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom +func (c *KMS) GenerateRandom(input *GenerateRandomInput) (*GenerateRandomOutput, error) { + req, out := c.GenerateRandomRequest(input) + return out, req.Send() +} + +// GenerateRandomWithContext is the same as GenerateRandom with the addition of +// the ability to pass a context and additional request options. +// +// See GenerateRandom for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *KMS) GenerateRandomWithContext(ctx aws.Context, input *GenerateRandomInput, opts ...request.Option) (*GenerateRandomOutput, error) { + req, out := c.GenerateRandomRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKeyPolicy = "GetKeyPolicy" + +// GetKeyPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetKeyPolicy for more information on using the GetKeyPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetKeyPolicyRequest method. +// req, resp := client.GetKeyPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicy +func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Request, output *GetKeyPolicyOutput) { + op := &request.Operation{ + Name: opGetKeyPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetKeyPolicyInput{} + } + + output = &GetKeyPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKeyPolicy API operation for AWS Key Management Service. +// +// 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation GetKeyPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" // The request was rejected because the specified entity or resource could not // be found. // @@ -2813,7 +3396,7 @@ func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Reques // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicy func (c *KMS) GetKeyPolicy(input *GetKeyPolicyInput) (*GetKeyPolicyOutput, error) { @@ -2885,8 +3468,12 @@ func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req // material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported +// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// The key rotation status for these CMKs is always false. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // * Disabled: The key rotation status does not change when you disable a @@ -2930,7 +3517,7 @@ func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // The request was rejected because a specified parameter is not supported or @@ -3002,26 +3589,29 @@ func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput) // GetParametersForImport API operation for AWS Key Management Service. // -// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// Returns the items you need to import key material into a symmetric, customer +// managed customer master key (CMK). For more information about importing key +// material into AWS KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// to encrypt the symmetric key material. Store the import token to send with +// a subsequent ImportKeyMaterial request. +// +// You must specify the key ID of the symmetric CMK into which you will import +// key material. This CMK's Origin must be EXTERNAL. You must also specify the +// wrapping algorithm and type of wrapping key (public key) that you will use +// to encrypt the key material. You cannot perform this operation on an asymmetric +// CMK or on any CMK in a different AWS account. +// +// To import key material, you must use the public key and import token from +// the same response. These items are valid for 24 hours. The expiration date +// and time appear in the GetParametersForImport response. You cannot use an +// expired token in an ImportKeyMaterial request. If your key and token expire, +// send another GetParametersForImport request. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3058,7 +3648,7 @@ func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput) // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetParametersForImport func (c *KMS) GetParametersForImport(input *GetParametersForImportInput) (*GetParametersForImportOutput, error) { @@ -3082,33 +3672,202 @@ func (c *KMS) GetParametersForImportWithContext(ctx aws.Context, input *GetParam return out, req.Send() } -const opImportKeyMaterial = "ImportKeyMaterial" +const opGetPublicKey = "GetPublicKey" -// ImportKeyMaterialRequest generates a "aws/request.Request" representing the -// client's request for the ImportKeyMaterial operation. The "output" return +// GetPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the GetPublicKey operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ImportKeyMaterial for more information on using the ImportKeyMaterial +// See GetPublicKey for more information on using the GetPublicKey // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ImportKeyMaterialRequest method. -// req, resp := client.ImportKeyMaterialRequest(params) +// // Example sending a request using the GetPublicKeyRequest method. +// req, resp := client.GetPublicKeyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial -func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *request.Request, output *ImportKeyMaterialOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey +func (c *KMS) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { + op := &request.Operation{ + Name: opGetPublicKey, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPublicKeyInput{} + } + + output = &GetPublicKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPublicKey API operation for AWS Key Management Service. +// +// Returns the public key of an asymmetric CMK. Unlike the private key of a +// asymmetric CMK, which never leaves AWS KMS unencrypted, callers with kms:GetPublicKey +// permission can download the public key of an asymmetric CMK. You can share +// the public key to allow others to encrypt messages and verify signatures +// outside of AWS KMS. For information about symmetric and asymmetric CMKs, +// see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// You do not need to download the public key. Instead, you can use the public +// key within AWS KMS by calling the Encrypt, ReEncrypt, or Verify operations +// with the identifier of an asymmetric CMK. When you use the public key within +// AWS KMS, you benefit from the authentication, authorization, and logging +// that are part of every AWS KMS operation. You also reduce of risk of encrypting +// data that cannot be decrypted. These features are not effective outside of +// AWS KMS. For details, see Special Considerations for Downloading Public Keys +// (kms/latest/developerguide/get-public-key.html#get-public-key-considerations). +// +// To help you use the public key safely outside of AWS KMS, GetPublicKey returns +// important information about the public key in the response, including: +// +// * CustomerMasterKeySpec (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-CustomerMasterKeySpec): +// The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521. +// +// * KeyUsage (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage): +// Whether the key is used for encryption or signing. +// +// * EncryptionAlgorithms (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms) +// or SigningAlgorithms (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms): +// A list of the encryption algorithms or the signing algorithms for the +// key. +// +// Although AWS KMS cannot enforce these restrictions on external operations, +// it is crucial that you use this information to prevent the public key from +// being used improperly. For example, you can prevent a public signing key +// from being used encrypt data, or prevent a public key from being used with +// an encryption algorithm that is not supported by AWS KMS. You can also avoid +// errors, such as using the wrong signing algorithm in a verification operation. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation GetPublicKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * ErrCodeInvalidArnException "InvalidArnException" +// The request was rejected because a specified ARN, or an ARN in a key policy, +// is not valid. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * ErrCodeInvalidStateException "KMSInvalidStateException" +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide . +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey +func (c *KMS) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) { + req, out := c.GetPublicKeyRequest(input) + return out, req.Send() +} + +// GetPublicKeyWithContext is the same as GetPublicKey with the addition of +// the ability to pass a context and additional request options. +// +// See GetPublicKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *KMS) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) { + req, out := c.GetPublicKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportKeyMaterial = "ImportKeyMaterial" + +// ImportKeyMaterialRequest generates a "aws/request.Request" representing the +// client's request for the ImportKeyMaterial operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ImportKeyMaterial for more information on using the ImportKeyMaterial +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ImportKeyMaterialRequest method. +// req, resp := client.ImportKeyMaterialRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial +func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *request.Request, output *ImportKeyMaterialOutput) { op := &request.Operation{ Name: opImportKeyMaterial, HTTPMethod: "POST", @@ -3127,11 +3886,14 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ // ImportKeyMaterial API operation for AWS Key Management Service. // -// 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 -// (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// Imports key material into an existing symmetric AWS KMS customer master key +// (CMK) that was created without key material. After you successfully import +// key material into a CMK, you can reimport the same key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material) +// into that CMK, but you cannot import different key material. +// +// You cannot perform this operation on an asymmetric CMK or on any CMK in a +// different AWS account. For more information about creating CMKs with no key +// material and then importing key material, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // in the AWS Key Management Service Developer Guide. // // Before using this operation, call GetParametersForImport. Its response includes @@ -3148,23 +3910,27 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ // * 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. +// * The import token that GetParametersForImport returned. You must use +// a public key and token from the same GetParametersForImport response. // // * Whether the key material expires and if so, when. If you set an expiration -// date, 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. +// date, AWS KMS deletes the key material from the CMK on the specified date, +// and the CMK becomes unusable. To use the CMK again, you must reimport +// the same key material. The only way to change an expiration date is by +// reimporting the same key material and specifying a new expiration date. // // When this operation is successful, the key state of the CMK changes from -// PendingImport to Enabled, and you can use the CMK. 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. +// PendingImport to Enabled, and you can use the CMK. +// +// If this operation fails, use the exception to help determine the problem. +// If the error is related to the key material, the import token, or wrapping +// key, use GetParametersForImport to get a new public key and import token +// for the CMK and repeat the import procedure. For help, see How To Import +// Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview) +// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3201,20 +3967,24 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeInvalidCiphertextException "InvalidCiphertextException" -// The request was rejected because the specified ciphertext, or additional -// authenticated data incorporated into the ciphertext, such as the encryption -// context, is corrupted, missing, or otherwise invalid. +// From the Decrypt or ReEncrypt operation, the request was rejected because +// the specified ciphertext, or additional authenticated data incorporated into +// the ciphertext, such as the encryption context, is corrupted, missing, or +// otherwise invalid. +// +// From the ImportKeyMaterial operation, the request was rejected because AWS +// KMS could not decrypt the encrypted (wrapped) key material. // // * ErrCodeIncorrectKeyMaterialException "IncorrectKeyMaterialException" -// The request was rejected because the provided key material is invalid or -// is not the same key material that was previously imported into this customer -// master key (CMK). +// The request was rejected because the key material in the request is, expired, +// invalid, or is not the same key material that was previously imported into +// this customer master key (CMK). // // * ErrCodeExpiredImportTokenException "ExpiredImportTokenException" -// The request was rejected because the provided import token is expired. Use +// The request was rejected because the specified import token is expired. Use // GetParametersForImport to get a new import token and public key, use the // new public key to encrypt the key material, and then try the request again. // @@ -3502,7 +4272,7 @@ func (c *KMS) ListGrantsRequest(input *ListGrantsInput) (req *request.Request, o // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListGrants func (c *KMS) ListGrants(input *ListGrantsInput) (*ListGrantsResponse, error) { @@ -3663,7 +4433,7 @@ func (c *KMS) ListKeyPoliciesRequest(input *ListKeyPoliciesInput) (req *request. // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyPolicies func (c *KMS) ListKeyPolicies(input *ListKeyPoliciesInput) (*ListKeyPoliciesOutput, error) { @@ -3790,7 +4560,7 @@ func (c *KMS) ListKeysRequest(input *ListKeysInput) (req *request.Request, outpu // ListKeys API operation for AWS Key Management Service. // // Gets a list of all customer master keys (CMKs) in the caller's AWS account -// and region. +// and Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4174,7 +4944,7 @@ func (c *KMS) PutKeyPolicyRequest(input *PutKeyPolicyInput) (req *request.Reques // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/PutKeyPolicy func (c *KMS) PutKeyPolicy(input *PutKeyPolicyInput) (*PutKeyPolicyOutput, error) { @@ -4242,23 +5012,66 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // ReEncrypt API operation for AWS Key Management Service. // -// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) -// 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// Decrypts ciphertext and then reencrypts it entirely within AWS KMS. You can +// use this operation to change the customer master key (CMK) under which data +// is encrypted, such as when you manually rotate (kms/latest/developerguide/rotate-keys.html#rotate-keys-manually) +// a CMK or change the CMK that protects a ciphertext. You can also use it to +// reencrypt ciphertext under the same CMK, such as to change the encryption +// context of a ciphertext. +// +// The ReEncrypt operation can decrypt ciphertext that was encrypted by using +// an AWS KMS CMK in an AWS KMS operation, such as Encrypt or GenerateDataKey. +// It can also decrypt ciphertext that was encrypted by using the public key +// of an asymmetric CMK outside of AWS KMS. However, it cannot decrypt ciphertext +// produced by other libraries, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) +// or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html). +// These libraries return a ciphertext format that is incompatible with AWS +// KMS. +// +// When you use the ReEncrypt operation, you need to provide information for +// the decrypt operation and the subsequent encrypt operation. +// +// * If your ciphertext was encrypted under an asymmetric CMK, you must identify +// the source CMK, that is, the CMK that encrypted the ciphertext. You must +// also supply the encryption algorithm that was used. This information is +// required to decrypt the data. +// +// * It is optional, but you can specify a source CMK even when the ciphertext +// was encrypted under a symmetric CMK. This ensures that the ciphertext +// is decrypted only by using a particular CMK. If the CMK that you specify +// cannot decrypt the ciphertext, the ReEncrypt operation fails. +// +// * To reencrypt the data, you must specify the destination CMK, that is, +// the CMK that re-encrypts the data after it is decrypted. You can select +// a symmetric or asymmetric CMK. If the destination CMK is an asymmetric +// CMK, you must also provide the encryption algorithm. The algorithm that +// you choose must be compatible with the CMK. When you use an asymmetric +// CMK to encrypt or reencrypt data, be sure to record the CMK and encryption +// algorithm that you choose. You will be required to provide the same CMK +// and encryption algorithm when you decrypt the data. If the CMK and algorithm +// do not match the values used to encrypt the data, the decrypt operation +// fails. You are not required to supply the CMK ID and encryption algorithm +// when you decrypt with symmetric CMKs because AWS KMS stores this information +// in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated +// with asymmetric keys. The standard format for asymmetric key ciphertext +// does not include configurable fields. +// +// Unlike other AWS KMS API operations, ReEncrypt callers must have two permissions: +// +// * kms:EncryptFrom permission on the source CMK +// +// * kms:EncryptTo permission on the destination CMK +// +// To permit reencryption from +// +// or to a CMK, include the "kms:ReEncrypt*" permission in your key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). +// This permission is automatically included in the key policy when you use +// the console to create a CMK. But you must include it manually when you create +// a CMK programmatically or when you use the PutKeyPolicy operation set a key +// policy. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4277,20 +5090,41 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // The request was rejected because the specified CMK is not enabled. // // * ErrCodeInvalidCiphertextException "InvalidCiphertextException" -// The request was rejected because the specified ciphertext, or additional -// authenticated data incorporated into the ciphertext, such as the encryption -// context, is corrupted, missing, or otherwise invalid. +// From the Decrypt or ReEncrypt operation, the request was rejected because +// the specified ciphertext, or additional authenticated data incorporated into +// the ciphertext, such as the encryption context, is corrupted, missing, or +// otherwise invalid. +// +// From the ImportKeyMaterial operation, the request was rejected because AWS +// KMS could not decrypt the encrypted (wrapped) key material. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeIncorrectKeyException "IncorrectKeyException" +// The request was rejected because the specified CMK cannot decrypt the data. +// The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request +// must identify the same CMK that was used to encrypt the ciphertext. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -4305,7 +5139,7 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt func (c *KMS) ReEncrypt(input *ReEncryptInput) (*ReEncryptOutput, error) { @@ -4427,7 +5261,7 @@ func (c *KMS) RetireGrantRequest(input *RetireGrantInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrant func (c *KMS) RetireGrant(input *RetireGrantInput) (*RetireGrantOutput, error) { @@ -4535,7 +5369,7 @@ func (c *KMS) RevokeGrantRequest(input *RevokeGrantInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrant func (c *KMS) RevokeGrant(input *RevokeGrantInput) (*RevokeGrantOutput, error) { @@ -4629,8 +5463,8 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req * // Master Keys (https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4663,7 +5497,7 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req * // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ScheduleKeyDeletion func (c *KMS) ScheduleKeyDeletion(input *ScheduleKeyDeletionInput) (*ScheduleKeyDeletionOutput, error) { @@ -4687,6 +5521,156 @@ func (c *KMS) ScheduleKeyDeletionWithContext(ctx aws.Context, input *ScheduleKey return out, req.Send() } +const opSign = "Sign" + +// SignRequest generates a "aws/request.Request" representing the +// client's request for the Sign operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See Sign for more information on using the Sign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SignRequest method. +// req, resp := client.SignRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign +func (c *KMS) SignRequest(input *SignInput) (req *request.Request, output *SignOutput) { + op := &request.Operation{ + Name: opSign, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SignInput{} + } + + output = &SignOutput{} + req = c.newRequest(op, input, output) + return +} + +// Sign API operation for AWS Key Management Service. +// +// Creates a digital signature (https://en.wikipedia.org/wiki/Digital_signature) +// for a message or message digest by using the private key in an asymmetric +// CMK. To verify the signature, use the Verify operation, or use the public +// key in the same asymmetric CMK outside of AWS KMS. For information about +// symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// Digital signatures are generated and verified by using asymmetric key pair, +// such as an RSA or ECC pair that is represented by an asymmetric customer +// master key (CMK). The key owner (or an authorized user) uses their private +// key to sign a message. Anyone with the public key can verify that the message +// was signed with that particular private key and that the message hasn't changed +// since it was signed. +// +// To use the Sign operation, provide the following information: +// +// * Use the KeyId parameter to identify an asymmetric CMK with a KeyUsage +// value of SIGN_VERIFY. To get the KeyUsage value of a CMK, use the DescribeKey +// operation. The caller must have kms:Sign permission on the CMK. +// +// * Use the Message parameter to specify the message or message digest to +// sign. You can submit messages of up to 4096 bytes. To sign a larger message, +// generate a hash digest of the message, and then provide the hash digest +// in the Message parameter. To indicate whether the message is a full message +// or a digest, use the MessageType parameter. +// +// * Choose a signing algorithm that is compatible with the CMK. +// +// When signing a message, be sure to record the CMK and the signing algorithm. +// This information is required to verify the signature. +// +// To verify the signature that this operation generates, use the Verify operation. +// Or use the GetPublicKey operation to download the public key and then use +// the public key to verify the signature outside of AWS KMS. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation Sign for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign +func (c *KMS) Sign(input *SignInput) (*SignOutput, error) { + req, out := c.SignRequest(input) + return out, req.Send() +} + +// SignWithContext is the same as Sign with the addition of +// the ability to pass a context and additional request options. +// +// See Sign for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *KMS) SignWithContext(ctx aws.Context, input *SignInput, opts ...request.Option) (*SignOutput, error) { + req, out := c.SignRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -4745,8 +5729,8 @@ func (c *KMS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4775,7 +5759,7 @@ func (c *KMS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeLimitExceededException "LimitExceededException" // The request was rejected because a limit was exceeded. For more information, @@ -4858,8 +5842,8 @@ func (c *KMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4888,7 +5872,7 @@ func (c *KMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeTagException "TagException" // The request was rejected because one or more tags are not valid. @@ -4960,27 +5944,28 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, // UpdateAlias API operation for AWS Key Management Service. // -// 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. +// Associates an existing AWS KMS alias with a different customer master key +// (CMK). Each alias is associated with only one CMK at a time, although a CMK +// can have multiple aliases. The alias and the CMK must be in the same AWS +// account and region. You cannot perform this operation on an alias in a different +// AWS account. +// +// The current and new CMK must be the same type (both symmetric or both asymmetric), +// and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This +// restriction prevents errors in code that uses aliases. If you must assign +// an alias to a different type of CMK, use DeleteAlias to delete the old alias +// and CreateAlias to create a new alias. // -// 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. +// You cannot use UpdateAlias to change an alias name. To change an alias name, +// use DeleteAlias to delete the old alias and CreateAlias to create a new alias. // // Because an alias is not a property of a CMK, you can create, update, and // delete the aliases of a CMK without affecting the CMK. Also, aliases do not // appear in the response from the DescribeKey operation. To get the aliases // of all CMKs in the account, use the ListAliases operation. // -// The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. -// It can contain only alphanumeric characters, forward slashes (/), underscores -// (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ -// prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5009,7 +5994,7 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateAlias func (c *KMS) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) { @@ -5125,6 +6110,11 @@ func (c *KMS) UpdateCustomKeyStoreRequest(input *UpdateCustomKeyStoreInput) (req // The request was rejected because AWS KMS cannot find a custom key store with // the specified key store name or ID. // +// * ErrCodeCustomKeyStoreNameInUseException "CustomKeyStoreNameInUseException" +// The request was rejected because the specified custom key store name is already +// assigned to another custom key store in the account. Try again with a custom +// key store name that is unique in the account. +// // * ErrCodeCloudHsmClusterNotFoundException "CloudHsmClusterNotFoundException" // The request was rejected because AWS KMS cannot find the AWS CloudHSM cluster // with the specified cluster ID. Retry the request with a different cluster @@ -5278,8 +6268,8 @@ func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req // // 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 (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5312,7 +6302,7 @@ func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateKeyDescription func (c *KMS) UpdateKeyDescription(input *UpdateKeyDescriptionInput) (*UpdateKeyDescriptionOutput, error) { @@ -5336,24 +6326,169 @@ func (c *KMS) UpdateKeyDescriptionWithContext(ctx aws.Context, input *UpdateKeyD return out, req.Send() } -// Contains information about an alias. -type AliasListEntry struct { - _ struct{} `type:"structure"` - - // String that contains the key ARN. - AliasArn *string `min:"20" type:"string"` - - // String that contains the alias. This value begins with alias/. - AliasName *string `min:"1" type:"string"` - - // String that contains the key identifier referred to by the alias. - TargetKeyId *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s AliasListEntry) String() string { - return awsutil.Prettify(s) -} +const opVerify = "Verify" + +// VerifyRequest generates a "aws/request.Request" representing the +// client's request for the Verify operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See Verify for more information on using the Verify +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the VerifyRequest method. +// req, resp := client.VerifyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify +func (c *KMS) VerifyRequest(input *VerifyInput) (req *request.Request, output *VerifyOutput) { + op := &request.Operation{ + Name: opVerify, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifyInput{} + } + + output = &VerifyOutput{} + req = c.newRequest(op, input, output) + return +} + +// Verify API operation for AWS Key Management Service. +// +// Verifies a digital signature that was generated by the Sign operation. This +// operation requires an asymmetric CMK with a KeyUsage value of SIGN_VERIFY. +// +// Verification confirms that an authorized user signed the message with the +// specified key and signing algorithm, and the message hasn't changed since +// it was signed. A digital signature is generated by using the private key +// in an asymmetric CMK. The signature is verified by using the public key in +// the same asymmetric CMK. For information about symmetric and asymmetric CMKs, +// see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// To verify a digital signature, you can use the Verify operation. Specify +// the same asymmetric CMK that was used by the Sign operation to generate the +// digital signature. +// +// You can also verify the digital signature by using the public key of the +// CMK outside of AWS KMS. Use the GetPublicKey operation to download the public +// key in the asymmetric CMK and then use the public key to verify the signature +// outside of AWS KMS. +// +// The advantage of using the Verify operation is that it is performed within +// AWS KMS. As a result, it's easy to call, the operation is performed within +// the FIPS boundary, it is logged in AWS CloudTrail, and you can use key policy +// and IAM policy to determine who is authorized to use the CMK to verify signatures. +// +// The result of the Verify operation, which is represented by its HTTP status +// code, does not indicate whether the signature verification succeeded or failed. +// To determine whether the signature was verified, see the SignatureValid field +// in the response. +// +// The CMK that you use for this operation must be in a compatible key state. +// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation Verify for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify +func (c *KMS) Verify(input *VerifyInput) (*VerifyOutput, error) { + req, out := c.VerifyRequest(input) + return out, req.Send() +} + +// VerifyWithContext is the same as Verify with the addition of +// the ability to pass a context and additional request options. +// +// See Verify for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *KMS) VerifyWithContext(ctx aws.Context, input *VerifyInput, opts ...request.Option) (*VerifyOutput, error) { + req, out := c.VerifyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains information about an alias. +type AliasListEntry struct { + _ struct{} `type:"structure"` + + // String that contains the key ARN. + AliasArn *string `min:"20" type:"string"` + + // String that contains the alias. This value begins with alias/. + AliasName *string `min:"1" type:"string"` + + // String that contains the key identifier referred to by the alias. + TargetKeyId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AliasListEntry) String() string { + return awsutil.Prettify(s) +} // GoString returns the string representation func (s AliasListEntry) GoString() string { @@ -5933,6 +7068,9 @@ type CreateKeyInput struct { // the custom key store must have at least two active HSMs, each in a different // Availability Zone in the Region. // + // This parameter is valid only for symmetric CMKs. You cannot create an asymmetric + // CMK in a custom key store. + // // To find the ID of a custom key store, use the DescribeCustomKeyStores operation. // // The response includes the custom key store ID and the ID of the AWS CloudHSM @@ -5943,33 +7081,69 @@ type CreateKeyInput struct { // of AWS KMS with the isolation and control of a single-tenant key store. CustomKeyStoreId *string `min:"1" type:"string"` + // Specifies the type of CMK to create. The CustomerMasterKeySpec determines + // whether the CMK contains a symmetric key or an asymmetric key pair. It also + // determines the encryption algorithms or signing algorithms that the CMK supports. + // You can't change the CustomerMasterKeySpec after the CMK is created. To further + // restrict the algorithms that can be used with the CMK, use its key policy + // or IAM policy. + // + // For help with choosing a key spec for your CMK, see Selecting a Customer + // Master Key Spec (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#cmk-key-spec) + // in the AWS Key Management Service Developer Guide. + // + // The default value, SYMMETRIC_DEFAULT, creates a CMK with a 256-bit symmetric + // key. + // + // AWS KMS supports the following key specs for CMKs: + // + // * Symmetric key (default) SYMMETRIC_DEFAULT (AES-256-GCM) + // + // * Asymmetric RSA key pairs RSA_2048 RSA_3072 RSA_4096 + // + // * Asymmetric NIST-recommended elliptic curve key pairs ECC_NIST_P256 (secp256r1) + // ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1) + // + // * Other asymmetric elliptic curve key pairs ECC_SECG_P256K1 (secp256k1), + // commonly used for cryptocurrencies. + CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"` + // A description of the CMK. // // Use a description that helps you decide whether the CMK is appropriate for // a task. Description *string `type:"string"` - // The cryptographic operations for which you can use the CMK. The only valid - // value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and - // decrypt data. + // Determines the cryptographic operations for which you can use the CMK. The + // default value is ENCRYPT_DECRYPT. This parameter is required only for asymmetric + // CMKs. You can't change the KeyUsage value after the CMK is created. + // + // Select only one valid value. + // + // * For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT. + // + // * For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT or + // SIGN_VERIFY. + // + // * For asymmetric CMKs with ECC key material, specify SIGN_VERIFY. KeyUsage *string `type:"string" enum:"KeyUsageType"` // The source of the key material for the CMK. You cannot change the origin - // after you create the CMK. - // - // The default is AWS_KMS, which means AWS KMS creates the key material in its - // own key store. + // after you create the CMK. The default is AWS_KMS, which means AWS KMS creates + // the key material. // // When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material // so that you can import key material from your existing key management infrastructure. // For more information about importing key material into AWS KMS, see Importing // Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) - // in the AWS Key Management Service Developer Guide. + // in the AWS Key Management Service Developer Guide. This value is valid only + // for symmetric CMKs. // // When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS // KMS custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) // and creates its key material in the associated AWS CloudHSM cluster. You // must also use the CustomKeyStoreId parameter to identify the custom key store. + // This value is valid only for symmetric CMKs. Origin *string `type:"string" enum:"OriginType"` // The key policy to attach to the CMK. @@ -5999,11 +7173,16 @@ type CreateKeyInput struct { // The key policy size limit is 32 kilobytes (32768 bytes). Policy *string `min:"1" type:"string"` - // 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. + // One or more tags. Each tag consists of a tag key and a tag value. Both the + // tag key and the tag value are required, but the tag value can be an empty + // (null) string. + // + // When you add tags to an AWS resource, AWS generates a cost allocation report + // with usage and costs aggregated by tags. For information about adding, changing, + // deleting and listing tags for CMKs, see Tagging Keys (https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html). // - // 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. + // Use this parameter to tag the CMK when it is created. To add tags to an existing + // CMK, use the TagResource operation. Tags []*Tag `type:"list"` } @@ -6055,6 +7234,12 @@ func (s *CreateKeyInput) SetCustomKeyStoreId(v string) *CreateKeyInput { return s } +// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value. +func (s *CreateKeyInput) SetCustomerMasterKeySpec(v string) *CreateKeyInput { + s.CustomerMasterKeySpec = &v + return s +} + // SetDescription sets the Description field's value. func (s *CreateKeyInput) SetDescription(v string) *CreateKeyInput { s.Description = &v @@ -6241,9 +7426,28 @@ type DecryptInput struct { // CiphertextBlob is a required field CiphertextBlob []byte `min:"1" type:"blob" required:"true"` - // The encryption context. If this was specified in the Encrypt function, it - // must be specified here or the decryption operation will fail. For more information, - // see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). + // Specifies the encryption algorithm that will be used to decrypt the ciphertext. + // Specify the same algorithm that was used to encrypt the data. If you specify + // a different algorithm, the Decrypt operation fails. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. The default value, SYMMETRIC_DEFAULT, represents the only + // supported algorithm that is valid for symmetric CMKs. + EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // Specifies the encryption context to use when decrypting the data. An encryption + // context is valid only for cryptographic operations with a symmetric CMK. + // The standard asymmetric encryption algorithms that AWS KMS uses do not support + // an encryption context. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. @@ -6251,6 +7455,35 @@ type DecryptInput struct { // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` + + // Specifies the customer master key (CMK) that AWS KMS will use to decrypt + // the ciphertext. Enter a key ID of the CMK that was used to encrypt the ciphertext. + // + // If you specify a KeyId value, the Decrypt operation succeeds only if the + // specified CMK was used to encrypt the ciphertext. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the + // ciphertext blob to determine which CMK was used to encrypt the ciphertext. + // However, you can use this parameter to ensure that a particular CMK (of any + // kind) is used to decrypt the ciphertext. + // + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. When using an alias name, prefix it with "alias/". + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Alias name: alias/ExampleAlias + // + // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias + // + // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To + // get the alias name and alias ARN, use ListAliases. + KeyId *string `min:"1" type:"string"` } // String returns the string representation @@ -6272,6 +7505,9 @@ func (s *DecryptInput) Validate() error { if s.CiphertextBlob != nil && len(s.CiphertextBlob) < 1 { invalidParams.Add(request.NewErrParamMinLen("CiphertextBlob", 1)) } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6285,6 +7521,12 @@ func (s *DecryptInput) SetCiphertextBlob(v []byte) *DecryptInput { return s } +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *DecryptInput) SetEncryptionAlgorithm(v string) *DecryptInput { + s.EncryptionAlgorithm = &v + return s +} + // SetEncryptionContext sets the EncryptionContext field's value. func (s *DecryptInput) SetEncryptionContext(v map[string]*string) *DecryptInput { s.EncryptionContext = v @@ -6297,15 +7539,23 @@ func (s *DecryptInput) SetGrantTokens(v []*string) *DecryptInput { return s } +// SetKeyId sets the KeyId field's value. +func (s *DecryptInput) SetKeyId(v string) *DecryptInput { + s.KeyId = &v + return s +} + type DecryptOutput struct { _ struct{} `type:"structure"` - // ARN of the key used to perform the decryption. This value is returned if - // no errors are encountered during the operation. + // The encryption algorithm that was used to decrypt the ciphertext. + EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // The ARN of the customer master key that was used to perform the decryption. KeyId *string `min:"1" type:"string"` // Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // Plaintext is automatically base64 encoded/decoded by the SDK. Plaintext []byte `min:"1" type:"blob" sensitive:"true"` @@ -6321,6 +7571,12 @@ func (s DecryptOutput) GoString() string { return s.String() } +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *DecryptOutput) SetEncryptionAlgorithm(v string) *DecryptOutput { + s.EncryptionAlgorithm = &v + return s +} + // SetKeyId sets the KeyId field's value. func (s *DecryptOutput) SetKeyId(v string) *DecryptOutput { s.KeyId = &v @@ -6809,7 +8065,10 @@ func (s DisableKeyOutput) GoString() string { type DisableKeyRotationInput struct { _ struct{} `type:"structure"` - // A unique identifier for the customer master key (CMK). + // Identifies a symmetric customer master key (CMK). You cannot enable automatic + // rotation of asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks), + // CMKs with imported key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html), + // or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -6995,7 +8254,9 @@ func (s EnableKeyOutput) GoString() string { type EnableKeyRotationInput struct { _ struct{} `type:"structure"` - // A unique identifier for the customer master key (CMK). + // Identifies a symmetric customer master key (CMK). You cannot enable automatic + // rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in + // a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -7060,10 +8321,27 @@ func (s EnableKeyRotationOutput) GoString() string { type EncryptInput struct { _ struct{} `type:"structure"` - // Name-value pair that specifies the encryption context to be used for authenticated - // encryption. If used here, the same value must be supplied to the Decrypt - // API or decryption will fail. For more information, see Encryption Context - // (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). + // Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext + // message. The algorithm must be compatible with the CMK that you specify. + // + // This parameter is required only for asymmetric CMKs. The default value, SYMMETRIC_DEFAULT, + // is the algorithm used for symmetric CMKs. If you are using an asymmetric + // CMK, we recommend RSAES_OAEP_SHA_256. + EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // Specifies the encryption context that will be used to encrypt the data. An + // encryption context is valid only for cryptographic operations with a symmetric + // CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not + // support an encryption context. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. @@ -7134,6 +8412,12 @@ func (s *EncryptInput) Validate() error { return nil } +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *EncryptInput) SetEncryptionAlgorithm(v string) *EncryptInput { + s.EncryptionAlgorithm = &v + return s +} + // SetEncryptionContext sets the EncryptionContext field's value. func (s *EncryptInput) SetEncryptionContext(v map[string]*string) *EncryptInput { s.EncryptionContext = v @@ -7158,45 +8442,405 @@ func (s *EncryptInput) SetPlaintext(v []byte) *EncryptInput { return s } -type EncryptOutput struct { +type EncryptOutput struct { + _ struct{} `type:"structure"` + + // The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value + // is Base64-encoded. Otherwise, it is not Base64-encoded. + // + // CiphertextBlob is automatically base64 encoded/decoded by the SDK. + CiphertextBlob []byte `min:"1" type:"blob"` + + // The encryption algorithm that was used to encrypt the plaintext. + EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // The ID of the key used during encryption. + KeyId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s EncryptOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptOutput) GoString() string { + return s.String() +} + +// SetCiphertextBlob sets the CiphertextBlob field's value. +func (s *EncryptOutput) SetCiphertextBlob(v []byte) *EncryptOutput { + s.CiphertextBlob = v + return s +} + +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *EncryptOutput) SetEncryptionAlgorithm(v string) *EncryptOutput { + s.EncryptionAlgorithm = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *EncryptOutput) SetKeyId(v string) *EncryptOutput { + s.KeyId = &v + return s +} + +type GenerateDataKeyInput struct { + _ struct{} `type:"structure"` + + // Specifies the encryption context that will be used when encrypting the data + // key. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. + EncryptionContext map[string]*string `type:"map"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Identifies the symmetric CMK that encrypts the data key. + // + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. When using an alias name, prefix it with "alias/". To specify + // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Alias name: alias/ExampleAlias + // + // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias + // + // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To + // get the alias name and alias ARN, use ListAliases. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // Specifies the length of the data key. Use AES_128 to generate a 128-bit symmetric + // key, or AES_256 to generate a 256-bit symmetric key. + // + // You must specify either the KeySpec or the NumberOfBytes parameter (but not + // both) in every GenerateDataKey request. + KeySpec *string `type:"string" enum:"DataKeySpec"` + + // Specifies the length of the data key in bytes. For example, use the value + // 64 to generate a 512-bit data key (64 bytes is 512 bits). For 128-bit (16-byte) + // and 256-bit (32-byte) data keys, use the KeySpec parameter. + // + // You must specify either the KeySpec or the NumberOfBytes parameter (but not + // both) in every GenerateDataKey request. + NumberOfBytes *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s GenerateDataKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GenerateDataKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GenerateDataKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.NumberOfBytes != nil && *s.NumberOfBytes < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfBytes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionContext sets the EncryptionContext field's value. +func (s *GenerateDataKeyInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyInput { + s.EncryptionContext = v + return s +} + +// SetGrantTokens sets the GrantTokens field's value. +func (s *GenerateDataKeyInput) SetGrantTokens(v []*string) *GenerateDataKeyInput { + s.GrantTokens = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyInput) SetKeyId(v string) *GenerateDataKeyInput { + s.KeyId = &v + return s +} + +// SetKeySpec sets the KeySpec field's value. +func (s *GenerateDataKeyInput) SetKeySpec(v string) *GenerateDataKeyInput { + s.KeySpec = &v + return s +} + +// SetNumberOfBytes sets the NumberOfBytes field's value. +func (s *GenerateDataKeyInput) SetNumberOfBytes(v int64) *GenerateDataKeyInput { + s.NumberOfBytes = &v + return s +} + +type GenerateDataKeyOutput struct { + _ struct{} `type:"structure"` + + // The encrypted copy of the data key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. + // + // CiphertextBlob is automatically base64 encoded/decoded by the SDK. + CiphertextBlob []byte `min:"1" type:"blob"` + + // The identifier of the CMK that encrypted the data key. + KeyId *string `min:"1" type:"string"` + + // The plaintext data key. When you use the HTTP API or the AWS CLI, the value + // is Base64-encoded. Otherwise, it is not Base64-encoded. Use this data key + // to encrypt your data outside of KMS. Then, remove it from memory as soon + // as possible. + // + // Plaintext is automatically base64 encoded/decoded by the SDK. + Plaintext []byte `min:"1" type:"blob" sensitive:"true"` +} + +// String returns the string representation +func (s GenerateDataKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GenerateDataKeyOutput) GoString() string { + return s.String() +} + +// SetCiphertextBlob sets the CiphertextBlob field's value. +func (s *GenerateDataKeyOutput) SetCiphertextBlob(v []byte) *GenerateDataKeyOutput { + s.CiphertextBlob = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyOutput) SetKeyId(v string) *GenerateDataKeyOutput { + s.KeyId = &v + return s +} + +// SetPlaintext sets the Plaintext field's value. +func (s *GenerateDataKeyOutput) SetPlaintext(v []byte) *GenerateDataKeyOutput { + s.Plaintext = v + return s +} + +type GenerateDataKeyPairInput struct { + _ struct{} `type:"structure"` + + // Specifies the encryption context that will be used when encrypting the private + // key in the data key pair. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. + EncryptionContext map[string]*string `type:"map"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Specifies the symmetric CMK that encrypts the private key in the data key + // pair. You cannot specify an asymmetric CMKs. + // + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. When using an alias name, prefix it with "alias/". To specify + // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Alias name: alias/ExampleAlias + // + // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias + // + // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To + // get the alias name and alias ARN, use ListAliases. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // Determines the type of data key pair that is generated. + // + // The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt + // and decrypt or to sign and verify (but not both), and the rule that permits + // you to use ECC CMKs only to sign and verify, are not effective outside of + // AWS KMS. + // + // KeyPairSpec is a required field + KeyPairSpec *string `type:"string" required:"true" enum:"DataKeyPairSpec"` +} + +// String returns the string representation +func (s GenerateDataKeyPairInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GenerateDataKeyPairInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GenerateDataKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyPairInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.KeyPairSpec == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairSpec")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionContext sets the EncryptionContext field's value. +func (s *GenerateDataKeyPairInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyPairInput { + s.EncryptionContext = v + return s +} + +// SetGrantTokens sets the GrantTokens field's value. +func (s *GenerateDataKeyPairInput) SetGrantTokens(v []*string) *GenerateDataKeyPairInput { + s.GrantTokens = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyPairInput) SetKeyId(v string) *GenerateDataKeyPairInput { + s.KeyId = &v + return s +} + +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairInput) SetKeyPairSpec(v string) *GenerateDataKeyPairInput { + s.KeyPairSpec = &v + return s +} + +type GenerateDataKeyPairOutput struct { _ struct{} `type:"structure"` - // The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // The identifier of the CMK that encrypted the private key. + KeyId *string `min:"1" type:"string"` + + // The type of data key pair that was generated. + KeyPairSpec *string `type:"string" enum:"DataKeyPairSpec"` + + // The encrypted copy of the private key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. // - // CiphertextBlob is automatically base64 encoded/decoded by the SDK. - CiphertextBlob []byte `min:"1" type:"blob"` + // PrivateKeyCiphertextBlob is automatically base64 encoded/decoded by the SDK. + PrivateKeyCiphertextBlob []byte `min:"1" type:"blob"` - // The ID of the key used during encryption. - KeyId *string `min:"1" type:"string"` + // The plaintext copy of the private key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. + // + // PrivateKeyPlaintext is automatically base64 encoded/decoded by the SDK. + PrivateKeyPlaintext []byte `min:"1" type:"blob" sensitive:"true"` + + // The public key (in plaintext). + // + // PublicKey is automatically base64 encoded/decoded by the SDK. + PublicKey []byte `min:"1" type:"blob"` } // String returns the string representation -func (s EncryptOutput) String() string { +func (s GenerateDataKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptOutput) GoString() string { +func (s GenerateDataKeyPairOutput) GoString() string { return s.String() } -// SetCiphertextBlob sets the CiphertextBlob field's value. -func (s *EncryptOutput) SetCiphertextBlob(v []byte) *EncryptOutput { - s.CiphertextBlob = v +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyPairOutput) SetKeyId(v string) *GenerateDataKeyPairOutput { + s.KeyId = &v return s } -// SetKeyId sets the KeyId field's value. -func (s *EncryptOutput) SetKeyId(v string) *EncryptOutput { - s.KeyId = &v +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairOutput) SetKeyPairSpec(v string) *GenerateDataKeyPairOutput { + s.KeyPairSpec = &v return s } -type GenerateDataKeyInput struct { +// SetPrivateKeyCiphertextBlob sets the PrivateKeyCiphertextBlob field's value. +func (s *GenerateDataKeyPairOutput) SetPrivateKeyCiphertextBlob(v []byte) *GenerateDataKeyPairOutput { + s.PrivateKeyCiphertextBlob = v + return s +} + +// SetPrivateKeyPlaintext sets the PrivateKeyPlaintext field's value. +func (s *GenerateDataKeyPairOutput) SetPrivateKeyPlaintext(v []byte) *GenerateDataKeyPairOutput { + s.PrivateKeyPlaintext = v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *GenerateDataKeyPairOutput) SetPublicKey(v []byte) *GenerateDataKeyPairOutput { + s.PublicKey = v + return s +} + +type GenerateDataKeyPairWithoutPlaintextInput struct { _ struct{} `type:"structure"` - // A set of key-value pairs that represents additional authenticated data. + // Specifies the encryption context that will be used when encrypting the private + // key in the data key pair. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. // // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) // in the AWS Key Management Service Developer Guide. @@ -7208,11 +8852,11 @@ type GenerateDataKeyInput struct { // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // An identifier for the CMK that encrypts the data key. + // Specifies the CMK that encrypts the private key in the data key pair. You + // must specify a symmetric CMK. You cannot use an asymmetric CMK. // // To 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. + // or alias ARN. When using an alias name, prefix it with "alias/". // // For example: // @@ -7230,38 +8874,38 @@ type GenerateDataKeyInput struct { // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // The length of the data key. Use AES_128 to generate a 128-bit symmetric key, - // or AES_256 to generate a 256-bit symmetric key. - KeySpec *string `type:"string" enum:"DataKeySpec"` - - // The length of the data key in bytes. For example, use the value 64 to generate - // a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit - // and 256-bit symmetric keys), we recommend that you use the KeySpec field - // instead of this one. - NumberOfBytes *int64 `min:"1" type:"integer"` + // Determines the type of data key pair that is generated. + // + // The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt + // and decrypt or to sign and verify (but not both), and the rule that permits + // you to use ECC CMKs only to sign and verify, are not effective outside of + // AWS KMS. + // + // KeyPairSpec is a required field + KeyPairSpec *string `type:"string" required:"true" enum:"DataKeyPairSpec"` } // String returns the string representation -func (s GenerateDataKeyInput) String() string { +func (s GenerateDataKeyPairWithoutPlaintextInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GenerateDataKeyInput) GoString() string { +func (s GenerateDataKeyPairWithoutPlaintextInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GenerateDataKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyInput"} +func (s *GenerateDataKeyPairWithoutPlaintextInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyPairWithoutPlaintextInput"} if s.KeyId == nil { invalidParams.Add(request.NewErrParamRequired("KeyId")) } if s.KeyId != nil && len(*s.KeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) } - if s.NumberOfBytes != nil && *s.NumberOfBytes < 1 { - invalidParams.Add(request.NewErrParamMinValue("NumberOfBytes", 1)) + if s.KeyPairSpec == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairSpec")) } if invalidParams.Len() > 0 { @@ -7271,87 +8915,112 @@ func (s *GenerateDataKeyInput) Validate() error { } // SetEncryptionContext sets the EncryptionContext field's value. -func (s *GenerateDataKeyInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyInput { +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyPairWithoutPlaintextInput { s.EncryptionContext = v return s } // SetGrantTokens sets the GrantTokens field's value. -func (s *GenerateDataKeyInput) SetGrantTokens(v []*string) *GenerateDataKeyInput { +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetGrantTokens(v []*string) *GenerateDataKeyPairWithoutPlaintextInput { s.GrantTokens = v return s } // SetKeyId sets the KeyId field's value. -func (s *GenerateDataKeyInput) SetKeyId(v string) *GenerateDataKeyInput { +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyId(v string) *GenerateDataKeyPairWithoutPlaintextInput { s.KeyId = &v return s } -// SetKeySpec sets the KeySpec field's value. -func (s *GenerateDataKeyInput) SetKeySpec(v string) *GenerateDataKeyInput { - s.KeySpec = &v - return s -} - -// SetNumberOfBytes sets the NumberOfBytes field's value. -func (s *GenerateDataKeyInput) SetNumberOfBytes(v int64) *GenerateDataKeyInput { - s.NumberOfBytes = &v +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyPairSpec(v string) *GenerateDataKeyPairWithoutPlaintextInput { + s.KeyPairSpec = &v return s } -type GenerateDataKeyOutput struct { +type GenerateDataKeyPairWithoutPlaintextOutput struct { _ struct{} `type:"structure"` - // The encrypted copy of the data key. When you use the HTTP API or the AWS - // CLI, the value is Base64-encoded. Otherwise, it is not encoded. + // Specifies the CMK that encrypted the private key in the data key pair. You + // must specify a symmetric CMK. You cannot use an asymmetric CMK. // - // CiphertextBlob is automatically base64 encoded/decoded by the SDK. - CiphertextBlob []byte `min:"1" type:"blob"` - - // The identifier of the CMK that encrypted the data key. + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. When using an alias name, prefix it with "alias/". + // + // 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. KeyId *string `min:"1" type:"string"` - // The plaintext data key. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. Use this data key to encrypt - // your data outside of KMS. Then, remove it from memory as soon as possible. + // The type of data key pair that was generated. + KeyPairSpec *string `type:"string" enum:"DataKeyPairSpec"` + + // The encrypted copy of the private key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. // - // Plaintext is automatically base64 encoded/decoded by the SDK. - Plaintext []byte `min:"1" type:"blob" sensitive:"true"` + // PrivateKeyCiphertextBlob is automatically base64 encoded/decoded by the SDK. + PrivateKeyCiphertextBlob []byte `min:"1" type:"blob"` + + // The public key (in plaintext). + // + // PublicKey is automatically base64 encoded/decoded by the SDK. + PublicKey []byte `min:"1" type:"blob"` } // String returns the string representation -func (s GenerateDataKeyOutput) String() string { +func (s GenerateDataKeyPairWithoutPlaintextOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GenerateDataKeyOutput) GoString() string { +func (s GenerateDataKeyPairWithoutPlaintextOutput) GoString() string { return s.String() } -// SetCiphertextBlob sets the CiphertextBlob field's value. -func (s *GenerateDataKeyOutput) SetCiphertextBlob(v []byte) *GenerateDataKeyOutput { - s.CiphertextBlob = v +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetKeyId(v string) *GenerateDataKeyPairWithoutPlaintextOutput { + s.KeyId = &v return s } -// SetKeyId sets the KeyId field's value. -func (s *GenerateDataKeyOutput) SetKeyId(v string) *GenerateDataKeyOutput { - s.KeyId = &v +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetKeyPairSpec(v string) *GenerateDataKeyPairWithoutPlaintextOutput { + s.KeyPairSpec = &v return s } -// SetPlaintext sets the Plaintext field's value. -func (s *GenerateDataKeyOutput) SetPlaintext(v []byte) *GenerateDataKeyOutput { - s.Plaintext = v +// SetPrivateKeyCiphertextBlob sets the PrivateKeyCiphertextBlob field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetPrivateKeyCiphertextBlob(v []byte) *GenerateDataKeyPairWithoutPlaintextOutput { + s.PrivateKeyCiphertextBlob = v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetPublicKey(v []byte) *GenerateDataKeyPairWithoutPlaintextOutput { + s.PublicKey = v return s } type GenerateDataKeyWithoutPlaintextInput struct { _ struct{} `type:"structure"` - // A set of key-value pairs that represents additional authenticated data. + // Specifies the encryption context that will be used when encrypting the data + // key. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. // // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) // in the AWS Key Management Service Developer Guide. @@ -7363,7 +9032,8 @@ type GenerateDataKeyWithoutPlaintextInput struct { // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // The identifier of the customer master key (CMK) that encrypts the data key. + // The identifier of the symmetric customer master key (CMK) that encrypts the + // data key. // // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, // or alias ARN. When using an alias name, prefix it with "alias/". To specify @@ -7459,7 +9129,7 @@ type GenerateDataKeyWithoutPlaintextOutput struct { _ struct{} `type:"structure"` // The encrypted data key. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` @@ -7544,7 +9214,7 @@ type GenerateRandomOutput struct { _ struct{} `type:"structure"` // The random byte string. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // Plaintext is automatically base64 encoded/decoded by the SDK. Plaintext []byte `min:"1" type:"blob" sensitive:"true"` @@ -7736,8 +9406,8 @@ func (s *GetKeyRotationStatusOutput) SetKeyRotationEnabled(v bool) *GetKeyRotati type GetParametersForImportInput struct { _ struct{} `type:"structure"` - // The identifier of the CMK into which you will import key material. The CMK's - // Origin must be EXTERNAL. + // The identifier of the symmetric CMK into which you will import key material. + // The Origin of the CMK must be EXTERNAL. // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -7757,41 +9427,175 @@ type GetParametersForImportInput struct { // (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html) // in the AWS Key Management Service Developer Guide. // - // WrappingAlgorithm is a required field - WrappingAlgorithm *string `type:"string" required:"true" enum:"AlgorithmSpec"` - - // The type of wrapping key (public key) to return in the response. Only 2048-bit - // RSA public keys are supported. + // WrappingAlgorithm is a required field + WrappingAlgorithm *string `type:"string" required:"true" enum:"AlgorithmSpec"` + + // The type of wrapping key (public key) to return in the response. Only 2048-bit + // RSA public keys are supported. + // + // WrappingKeySpec is a required field + WrappingKeySpec *string `type:"string" required:"true" enum:"WrappingKeySpec"` +} + +// String returns the string representation +func (s GetParametersForImportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersForImportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetParametersForImportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetParametersForImportInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.WrappingAlgorithm == nil { + invalidParams.Add(request.NewErrParamRequired("WrappingAlgorithm")) + } + if s.WrappingKeySpec == nil { + invalidParams.Add(request.NewErrParamRequired("WrappingKeySpec")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyId sets the KeyId field's value. +func (s *GetParametersForImportInput) SetKeyId(v string) *GetParametersForImportInput { + s.KeyId = &v + return s +} + +// SetWrappingAlgorithm sets the WrappingAlgorithm field's value. +func (s *GetParametersForImportInput) SetWrappingAlgorithm(v string) *GetParametersForImportInput { + s.WrappingAlgorithm = &v + return s +} + +// SetWrappingKeySpec sets the WrappingKeySpec field's value. +func (s *GetParametersForImportInput) SetWrappingKeySpec(v string) *GetParametersForImportInput { + s.WrappingKeySpec = &v + return s +} + +type GetParametersForImportOutput struct { + _ struct{} `type:"structure"` + + // The import token to send in a subsequent ImportKeyMaterial request. + // + // ImportToken is automatically base64 encoded/decoded by the SDK. + ImportToken []byte `min:"1" type:"blob"` + + // The identifier of the CMK to use in a subsequent ImportKeyMaterial request. + // This is the same CMK specified in the GetParametersForImport request. + KeyId *string `min:"1" type:"string"` + + // The time at which the import token and public key are no longer valid. After + // this time, you cannot use them to make an ImportKeyMaterial request and you + // must send another GetParametersForImport request to get new ones. + ParametersValidTo *time.Time `type:"timestamp"` + + // The public key to use to encrypt the key material before importing it with + // ImportKeyMaterial. + // + // PublicKey is automatically base64 encoded/decoded by the SDK. + PublicKey []byte `min:"1" type:"blob" sensitive:"true"` +} + +// String returns the string representation +func (s GetParametersForImportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersForImportOutput) GoString() string { + return s.String() +} + +// SetImportToken sets the ImportToken field's value. +func (s *GetParametersForImportOutput) SetImportToken(v []byte) *GetParametersForImportOutput { + s.ImportToken = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GetParametersForImportOutput) SetKeyId(v string) *GetParametersForImportOutput { + s.KeyId = &v + return s +} + +// SetParametersValidTo sets the ParametersValidTo field's value. +func (s *GetParametersForImportOutput) SetParametersValidTo(v time.Time) *GetParametersForImportOutput { + s.ParametersValidTo = &v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *GetParametersForImportOutput) SetPublicKey(v []byte) *GetParametersForImportOutput { + s.PublicKey = v + return s +} + +type GetPublicKeyInput struct { + _ struct{} `type:"structure"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Identifies the asymmetric CMK that includes the public key. + // + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. When using an alias name, prefix it with "alias/". To specify + // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Alias name: alias/ExampleAlias + // + // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias + // + // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To + // get the alias name and alias ARN, use ListAliases. // - // WrappingKeySpec is a required field - WrappingKeySpec *string `type:"string" required:"true" enum:"WrappingKeySpec"` + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetParametersForImportInput) String() string { +func (s GetPublicKeyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetParametersForImportInput) GoString() string { +func (s GetPublicKeyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetParametersForImportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetParametersForImportInput"} +func (s *GetPublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} if s.KeyId == nil { invalidParams.Add(request.NewErrParamRequired("KeyId")) } if s.KeyId != nil && len(*s.KeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) } - if s.WrappingAlgorithm == nil { - invalidParams.Add(request.NewErrParamRequired("WrappingAlgorithm")) - } - if s.WrappingKeySpec == nil { - invalidParams.Add(request.NewErrParamRequired("WrappingKeySpec")) - } if invalidParams.Len() > 0 { return invalidParams @@ -7799,82 +9603,106 @@ func (s *GetParametersForImportInput) Validate() error { return nil } -// SetKeyId sets the KeyId field's value. -func (s *GetParametersForImportInput) SetKeyId(v string) *GetParametersForImportInput { - s.KeyId = &v - return s -} - -// SetWrappingAlgorithm sets the WrappingAlgorithm field's value. -func (s *GetParametersForImportInput) SetWrappingAlgorithm(v string) *GetParametersForImportInput { - s.WrappingAlgorithm = &v +// SetGrantTokens sets the GrantTokens field's value. +func (s *GetPublicKeyInput) SetGrantTokens(v []*string) *GetPublicKeyInput { + s.GrantTokens = v return s } -// SetWrappingKeySpec sets the WrappingKeySpec field's value. -func (s *GetParametersForImportInput) SetWrappingKeySpec(v string) *GetParametersForImportInput { - s.WrappingKeySpec = &v +// SetKeyId sets the KeyId field's value. +func (s *GetPublicKeyInput) SetKeyId(v string) *GetPublicKeyInput { + s.KeyId = &v return s } -type GetParametersForImportOutput struct { +type GetPublicKeyOutput struct { _ struct{} `type:"structure"` - // The import token to send in a subsequent ImportKeyMaterial request. + // The type of the of the public key that was downloaded. + CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"` + + // The encryption algorithms that AWS KMS supports for this key. // - // ImportToken is automatically base64 encoded/decoded by the SDK. - ImportToken []byte `min:"1" type:"blob"` + // This information is critical. If a public key encrypts data outside of AWS + // KMS by using an unsupported encryption algorithm, the ciphertext cannot be + // decrypted. + // + // This field appears in the response only when the KeyUsage of the public key + // is ENCRYPT_DECRYPT. + EncryptionAlgorithms []*string `type:"list"` - // The identifier of the CMK to use in a subsequent ImportKeyMaterial request. - // This is the same CMK specified in the GetParametersForImport request. + // The identifier of the asymmetric CMK from which the public key was downloaded. KeyId *string `min:"1" type:"string"` - // The time at which the import token and public key are no longer valid. After - // this time, you cannot use them to make an ImportKeyMaterial request and you - // must send another GetParametersForImport request to get new ones. - ParametersValidTo *time.Time `type:"timestamp"` + // The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or + // SIGN_VERIFY. + // + // This information is critical. If a public key with SIGN_VERIFY key usage + // encrypts data outside of AWS KMS, the ciphertext cannot be decrypted. + KeyUsage *string `type:"string" enum:"KeyUsageType"` - // The public key to use to encrypt the key material before importing it with - // ImportKeyMaterial. + // The exported public key. + // + // This value is returned as a binary Distinguished Encoding Rules (https://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf) + // (DER)-encoded object. To decode it, use an ASN.1 parsing tool, such as OpenSSL + // asn1parse (https://www.openssl.org/docs/man1.0.2/man1/asn1parse.html). // // PublicKey is automatically base64 encoded/decoded by the SDK. - PublicKey []byte `min:"1" type:"blob" sensitive:"true"` + PublicKey []byte `min:"1" type:"blob"` + + // The signing algorithms that AWS KMS supports for this key. + // + // This field appears in the response only when the KeyUsage of the public key + // is SIGN_VERIFY. + SigningAlgorithms []*string `type:"list"` } // String returns the string representation -func (s GetParametersForImportOutput) String() string { +func (s GetPublicKeyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetParametersForImportOutput) GoString() string { +func (s GetPublicKeyOutput) GoString() string { return s.String() } -// SetImportToken sets the ImportToken field's value. -func (s *GetParametersForImportOutput) SetImportToken(v []byte) *GetParametersForImportOutput { - s.ImportToken = v +// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value. +func (s *GetPublicKeyOutput) SetCustomerMasterKeySpec(v string) *GetPublicKeyOutput { + s.CustomerMasterKeySpec = &v + return s +} + +// SetEncryptionAlgorithms sets the EncryptionAlgorithms field's value. +func (s *GetPublicKeyOutput) SetEncryptionAlgorithms(v []*string) *GetPublicKeyOutput { + s.EncryptionAlgorithms = v return s } // SetKeyId sets the KeyId field's value. -func (s *GetParametersForImportOutput) SetKeyId(v string) *GetParametersForImportOutput { +func (s *GetPublicKeyOutput) SetKeyId(v string) *GetPublicKeyOutput { s.KeyId = &v return s } -// SetParametersValidTo sets the ParametersValidTo field's value. -func (s *GetParametersForImportOutput) SetParametersValidTo(v time.Time) *GetParametersForImportOutput { - s.ParametersValidTo = &v +// SetKeyUsage sets the KeyUsage field's value. +func (s *GetPublicKeyOutput) SetKeyUsage(v string) *GetPublicKeyOutput { + s.KeyUsage = &v return s } // SetPublicKey sets the PublicKey field's value. -func (s *GetParametersForImportOutput) SetPublicKey(v []byte) *GetParametersForImportOutput { +func (s *GetPublicKeyOutput) SetPublicKey(v []byte) *GetPublicKeyOutput { s.PublicKey = v return s } +// SetSigningAlgorithms sets the SigningAlgorithms field's value. +func (s *GetPublicKeyOutput) SetSigningAlgorithms(v []*string) *GetPublicKeyOutput { + s.SigningAlgorithms = v + return s +} + // Use this structure to allow cryptographic operations in the grant only when // the operation request includes the specified encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). // @@ -8047,9 +9875,10 @@ func (s *GrantListEntry) SetRetiringPrincipal(v string) *GrantListEntry { type ImportKeyMaterialInput struct { _ struct{} `type:"structure"` - // The encrypted key material to import. It must be encrypted with the public - // key that you received in the response to a previous GetParametersForImport - // request, using the wrapping algorithm that you specified in that request. + // The encrypted key material to import. The key material must be encrypted + // with the public wrapping key that GetParametersForImport returned, using + // the wrapping algorithm that you specified in the same GetParametersForImport + // request. // // EncryptedKeyMaterial is automatically base64 encoded/decoded by the SDK. // @@ -8070,8 +9899,9 @@ type ImportKeyMaterialInput struct { // ImportToken is a required field ImportToken []byte `min:"1" type:"blob" required:"true"` - // The identifier of the CMK to import the key material into. The CMK's Origin - // must be EXTERNAL. + // The identifier of the symmetric CMK that receives the imported key material. + // The CMK's Origin must be EXTERNAL. This must be the same CMK specified in + // the KeyID parameter of the corresponding GetParametersForImport request. // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -8238,6 +10068,9 @@ type KeyMetadata struct { // in a custom key store. CustomKeyStoreId *string `min:"1" type:"string"` + // Describes the type of key material in the CMK. + CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"` + // The date and time after which AWS KMS deletes the CMK. This value is present // only when KeyState is PendingDeletion. DeletionDate *time.Time `type:"timestamp"` @@ -8249,6 +10082,12 @@ type KeyMetadata struct { // is true, otherwise it is false. Enabled *bool `type:"boolean"` + // A list of encryption algorithms that the CMK supports. You cannot use the + // CMK with other encryption algorithms within AWS KMS. + // + // This field appears only when the KeyUsage of the CMK is ENCRYPT_DECRYPT. + EncryptionAlgorithms []*string `type:"list"` + // Specifies whether the CMK's key material expires. This value is present only // when Origin is EXTERNAL, otherwise this value is omitted. ExpirationModel *string `type:"string" enum:"ExpirationModelType"` @@ -8271,9 +10110,7 @@ type KeyMetadata struct { // in the AWS Key Management Service Developer Guide. KeyState *string `type:"string" enum:"KeyState"` - // The cryptographic operations for which you can use the CMK. The only valid - // value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and - // decrypt data. + // The cryptographic operations for which you can use the CMK. KeyUsage *string `type:"string" enum:"KeyUsageType"` // The source of the CMK's key material. When this value is AWS_KMS, AWS KMS @@ -8283,6 +10120,12 @@ type KeyMetadata struct { // in the AWS CloudHSM cluster associated with a custom key store. Origin *string `type:"string" enum:"OriginType"` + // A list of signing algorithms that the CMK supports. You cannot use the CMK + // with other signing algorithms within AWS KMS. + // + // This field appears only when the KeyUsage of the CMK is SIGN_VERIFY. + SigningAlgorithms []*string `type:"list"` + // The time at which the imported key material expires. When the key material // expires, AWS KMS deletes the key material and the CMK becomes unusable. This // value is present only for CMKs whose Origin is EXTERNAL and whose ExpirationModel @@ -8330,6 +10173,12 @@ func (s *KeyMetadata) SetCustomKeyStoreId(v string) *KeyMetadata { return s } +// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value. +func (s *KeyMetadata) SetCustomerMasterKeySpec(v string) *KeyMetadata { + s.CustomerMasterKeySpec = &v + return s +} + // SetDeletionDate sets the DeletionDate field's value. func (s *KeyMetadata) SetDeletionDate(v time.Time) *KeyMetadata { s.DeletionDate = &v @@ -8348,6 +10197,12 @@ func (s *KeyMetadata) SetEnabled(v bool) *KeyMetadata { return s } +// SetEncryptionAlgorithms sets the EncryptionAlgorithms field's value. +func (s *KeyMetadata) SetEncryptionAlgorithms(v []*string) *KeyMetadata { + s.EncryptionAlgorithms = v + return s +} + // SetExpirationModel sets the ExpirationModel field's value. func (s *KeyMetadata) SetExpirationModel(v string) *KeyMetadata { s.ExpirationModel = &v @@ -8384,6 +10239,12 @@ func (s *KeyMetadata) SetOrigin(v string) *KeyMetadata { return s } +// SetSigningAlgorithms sets the SigningAlgorithms field's value. +func (s *KeyMetadata) SetSigningAlgorithms(v []*string) *KeyMetadata { + s.SigningAlgorithms = v + return s +} + // SetValidTo sets the ValidTo field's value. func (s *KeyMetadata) SetValidTo(v time.Time) *KeyMetadata { s.ValidTo = &v @@ -9224,10 +11085,33 @@ type ReEncryptInput struct { // CiphertextBlob is a required field CiphertextBlob []byte `min:"1" type:"blob" required:"true"` - // Encryption context to use when the data is reencrypted. + // Specifies the encryption algorithm that AWS KMS will use to reecrypt the + // data after it has decrypted it. The default value, SYMMETRIC_DEFAULT, represents + // the encryption algorithm used for symmetric CMKs. + // + // This parameter is required only when the destination CMK is an asymmetric + // CMK. + DestinationEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // Specifies that encryption context to use when the reencrypting the data. + // + // A destination encryption context is valid only when the destination CMK is + // a symmetric CMK. The standard ciphertext format for asymmetric CMKs does + // not include fields for metadata. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. DestinationEncryptionContext map[string]*string `type:"map"` - // A unique identifier for the CMK that is used to reencrypt the data. + // A unique identifier for the CMK that is used to reencrypt the data. Specify + // a symmetric or asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To + // find the KeyUsage value of a CMK, use the DescribeKey operation. // // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, // or alias ARN. When using an alias name, prefix it with "alias/". To specify @@ -9255,9 +11139,58 @@ type ReEncryptInput struct { // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // Encryption context used to encrypt and decrypt the data specified in the - // CiphertextBlob parameter. + // Specifies the encryption algorithm that AWS KMS will use to decrypt the ciphertext + // before it is reencrypted. The default value, SYMMETRIC_DEFAULT, represents + // the algorithm used for symmetric CMKs. + // + // Specify the same algorithm that was used to encrypt the ciphertext. If you + // specify a different algorithm, the decrypt attempt fails. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. + SourceEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // Specifies the encryption context to use to decrypt the ciphertext. Enter + // the same encryption context that was used to encrypt the ciphertext. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. SourceEncryptionContext map[string]*string `type:"map"` + + // A unique identifier for the CMK that is used to decrypt the ciphertext before + // it reencrypts it using the destination CMK. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the + // ciphertext blob to determine which CMK was used to encrypt the ciphertext. + // However, you can use this parameter to ensure that a particular CMK (of any + // kind) is used to decrypt the ciphertext before it is reencrypted. + // + // If you specify a KeyId value, the decrypt part of the ReEncrypt operation + // succeeds only if the specified CMK was used to encrypt the ciphertext. + // + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. When using an alias name, prefix it with "alias/". + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Alias name: alias/ExampleAlias + // + // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias + // + // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To + // get the alias name and alias ARN, use ListAliases. + SourceKeyId *string `min:"1" type:"string"` } // String returns the string representation @@ -9285,6 +11218,9 @@ func (s *ReEncryptInput) Validate() error { if s.DestinationKeyId != nil && len(*s.DestinationKeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DestinationKeyId", 1)) } + if s.SourceKeyId != nil && len(*s.SourceKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceKeyId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9298,6 +11234,12 @@ func (s *ReEncryptInput) SetCiphertextBlob(v []byte) *ReEncryptInput { return s } +// SetDestinationEncryptionAlgorithm sets the DestinationEncryptionAlgorithm field's value. +func (s *ReEncryptInput) SetDestinationEncryptionAlgorithm(v string) *ReEncryptInput { + s.DestinationEncryptionAlgorithm = &v + return s +} + // SetDestinationEncryptionContext sets the DestinationEncryptionContext field's value. func (s *ReEncryptInput) SetDestinationEncryptionContext(v map[string]*string) *ReEncryptInput { s.DestinationEncryptionContext = v @@ -9316,24 +11258,43 @@ func (s *ReEncryptInput) SetGrantTokens(v []*string) *ReEncryptInput { return s } +// SetSourceEncryptionAlgorithm sets the SourceEncryptionAlgorithm field's value. +func (s *ReEncryptInput) SetSourceEncryptionAlgorithm(v string) *ReEncryptInput { + s.SourceEncryptionAlgorithm = &v + return s +} + // SetSourceEncryptionContext sets the SourceEncryptionContext field's value. func (s *ReEncryptInput) SetSourceEncryptionContext(v map[string]*string) *ReEncryptInput { s.SourceEncryptionContext = v return s } +// SetSourceKeyId sets the SourceKeyId field's value. +func (s *ReEncryptInput) SetSourceKeyId(v string) *ReEncryptInput { + s.SourceKeyId = &v + return s +} + type ReEncryptOutput struct { _ struct{} `type:"structure"` // The reencrypted data. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` + // The encryption algorithm that was used to reencrypt the data. + DestinationEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + // Unique identifier of the CMK used to reencrypt the data. KeyId *string `min:"1" type:"string"` + // The encryption algorithm that was used to decrypt the ciphertext before it + // was reencrypted. + SourceEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + // Unique identifier of the CMK used to originally encrypt the data. SourceKeyId *string `min:"1" type:"string"` } @@ -9354,12 +11315,24 @@ func (s *ReEncryptOutput) SetCiphertextBlob(v []byte) *ReEncryptOutput { return s } +// SetDestinationEncryptionAlgorithm sets the DestinationEncryptionAlgorithm field's value. +func (s *ReEncryptOutput) SetDestinationEncryptionAlgorithm(v string) *ReEncryptOutput { + s.DestinationEncryptionAlgorithm = &v + return s +} + // SetKeyId sets the KeyId field's value. func (s *ReEncryptOutput) SetKeyId(v string) *ReEncryptOutput { s.KeyId = &v return s } +// SetSourceEncryptionAlgorithm sets the SourceEncryptionAlgorithm field's value. +func (s *ReEncryptOutput) SetSourceEncryptionAlgorithm(v string) *ReEncryptOutput { + s.SourceEncryptionAlgorithm = &v + return s +} + // SetSourceKeyId sets the SourceKeyId field's value. func (s *ReEncryptOutput) SetSourceKeyId(v string) *ReEncryptOutput { s.SourceKeyId = &v @@ -9502,38 +11475,148 @@ func (s *RevokeGrantInput) Validate() error { return nil } -// SetGrantId sets the GrantId field's value. -func (s *RevokeGrantInput) SetGrantId(v string) *RevokeGrantInput { - s.GrantId = &v +// SetGrantId sets the GrantId field's value. +func (s *RevokeGrantInput) SetGrantId(v string) *RevokeGrantInput { + s.GrantId = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *RevokeGrantInput) SetKeyId(v string) *RevokeGrantInput { + s.KeyId = &v + return s +} + +type RevokeGrantOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RevokeGrantOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeGrantOutput) GoString() string { + return s.String() +} + +type ScheduleKeyDeletionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the customer master key (CMK) to delete. + // + // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // The waiting period, specified in number of days. After the waiting period + // ends, AWS KMS deletes the customer master key (CMK). + // + // This value is optional. If you include a value, it must be between 7 and + // 30, inclusive. If you do not include a value, it defaults to 30. + PendingWindowInDays *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s ScheduleKeyDeletionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduleKeyDeletionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduleKeyDeletionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduleKeyDeletionInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.PendingWindowInDays != nil && *s.PendingWindowInDays < 1 { + invalidParams.Add(request.NewErrParamMinValue("PendingWindowInDays", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyId sets the KeyId field's value. +func (s *ScheduleKeyDeletionInput) SetKeyId(v string) *ScheduleKeyDeletionInput { + s.KeyId = &v + return s +} + +// SetPendingWindowInDays sets the PendingWindowInDays field's value. +func (s *ScheduleKeyDeletionInput) SetPendingWindowInDays(v int64) *ScheduleKeyDeletionInput { + s.PendingWindowInDays = &v + return s +} + +type ScheduleKeyDeletionOutput struct { + _ struct{} `type:"structure"` + + // The date and time after which AWS KMS deletes the customer master key (CMK). + DeletionDate *time.Time `type:"timestamp"` + + // The unique identifier of the customer master key (CMK) for which deletion + // is scheduled. + KeyId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ScheduleKeyDeletionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduleKeyDeletionOutput) GoString() string { + return s.String() +} + +// SetDeletionDate sets the DeletionDate field's value. +func (s *ScheduleKeyDeletionOutput) SetDeletionDate(v time.Time) *ScheduleKeyDeletionOutput { + s.DeletionDate = &v return s } // SetKeyId sets the KeyId field's value. -func (s *RevokeGrantInput) SetKeyId(v string) *RevokeGrantInput { +func (s *ScheduleKeyDeletionOutput) SetKeyId(v string) *ScheduleKeyDeletionOutput { s.KeyId = &v return s } -type RevokeGrantOutput struct { +type SignInput struct { _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s RevokeGrantOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RevokeGrantOutput) GoString() string { - return s.String() -} -type ScheduleKeyDeletionInput struct { - _ struct{} `type:"structure"` + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` - // The unique identifier of the customer master key (CMK) to delete. + // Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric + // CMK to sign the message. The KeyUsage type of the CMK must be SIGN_VERIFY. + // To find the KeyUsage of a CMK, use the DescribeKey operation. // - // Specify the key ID or the Amazon Resource Name (ARN) of the 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: // @@ -9541,40 +11624,68 @@ type ScheduleKeyDeletionInput struct { // // * 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. + // * 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. // // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // The waiting period, specified in number of days. After the waiting period - // ends, AWS KMS deletes the customer master key (CMK). + // Specifies the message or message digest to sign. Messages can be 0-4096 bytes. + // To sign a larger message, provide the message digest. // - // This value is optional. If you include a value, it must be between 7 and - // 30, inclusive. If you do not include a value, it defaults to 30. - PendingWindowInDays *int64 `min:"1" type:"integer"` + // If you provide a message, AWS KMS generates a hash digest of the message + // and then signs it. + // + // Message is automatically base64 encoded/decoded by the SDK. + // + // Message is a required field + Message []byte `min:"1" type:"blob" required:"true" sensitive:"true"` + + // Tells AWS KMS whether the value of the Message parameter is a message or + // message digest. To indicate a message, enter RAW. To indicate a message digest, + // enter DIGEST. + MessageType *string `type:"string" enum:"MessageType"` + + // Specifies the signing algorithm to use when signing the message. + // + // Choose an algorithm that is compatible with the type and size of the specified + // asymmetric CMK. + // + // SigningAlgorithm is a required field + SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithmSpec"` } // String returns the string representation -func (s ScheduleKeyDeletionInput) String() string { +func (s SignInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ScheduleKeyDeletionInput) GoString() string { +func (s SignInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ScheduleKeyDeletionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ScheduleKeyDeletionInput"} +func (s *SignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SignInput"} if s.KeyId == nil { invalidParams.Add(request.NewErrParamRequired("KeyId")) } if s.KeyId != nil && len(*s.KeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) } - if s.PendingWindowInDays != nil && *s.PendingWindowInDays < 1 { - invalidParams.Add(request.NewErrParamMinValue("PendingWindowInDays", 1)) + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Message != nil && len(s.Message) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Message", 1)) + } + if s.SigningAlgorithm == nil { + invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm")) } if invalidParams.Len() > 0 { @@ -9583,48 +11694,77 @@ func (s *ScheduleKeyDeletionInput) Validate() error { return nil } +// SetGrantTokens sets the GrantTokens field's value. +func (s *SignInput) SetGrantTokens(v []*string) *SignInput { + s.GrantTokens = v + return s +} + // SetKeyId sets the KeyId field's value. -func (s *ScheduleKeyDeletionInput) SetKeyId(v string) *ScheduleKeyDeletionInput { +func (s *SignInput) SetKeyId(v string) *SignInput { s.KeyId = &v return s } -// SetPendingWindowInDays sets the PendingWindowInDays field's value. -func (s *ScheduleKeyDeletionInput) SetPendingWindowInDays(v int64) *ScheduleKeyDeletionInput { - s.PendingWindowInDays = &v +// SetMessage sets the Message field's value. +func (s *SignInput) SetMessage(v []byte) *SignInput { + s.Message = v return s } -type ScheduleKeyDeletionOutput struct { - _ struct{} `type:"structure"` +// SetMessageType sets the MessageType field's value. +func (s *SignInput) SetMessageType(v string) *SignInput { + s.MessageType = &v + return s +} - // The date and time after which AWS KMS deletes the customer master key (CMK). - DeletionDate *time.Time `type:"timestamp"` +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *SignInput) SetSigningAlgorithm(v string) *SignInput { + s.SigningAlgorithm = &v + return s +} - // The unique identifier of the customer master key (CMK) for which deletion - // is scheduled. +type SignOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the asymmetric CMK that was used to sign + // the message. KeyId *string `min:"1" type:"string"` + + // The cryptographic signature that was generated for the message. + // + // Signature is automatically base64 encoded/decoded by the SDK. + Signature []byte `min:"1" type:"blob"` + + // The signing algorithm that was used to sign the message. + SigningAlgorithm *string `type:"string" enum:"SigningAlgorithmSpec"` } // String returns the string representation -func (s ScheduleKeyDeletionOutput) String() string { +func (s SignOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ScheduleKeyDeletionOutput) GoString() string { +func (s SignOutput) GoString() string { return s.String() } -// SetDeletionDate sets the DeletionDate field's value. -func (s *ScheduleKeyDeletionOutput) SetDeletionDate(v time.Time) *ScheduleKeyDeletionOutput { - s.DeletionDate = &v +// SetKeyId sets the KeyId field's value. +func (s *SignOutput) SetKeyId(v string) *SignOutput { + s.KeyId = &v return s } -// SetKeyId sets the KeyId field's value. -func (s *ScheduleKeyDeletionOutput) SetKeyId(v string) *ScheduleKeyDeletionOutput { - s.KeyId = &v +// SetSignature sets the Signature field's value. +func (s *SignOutput) SetSignature(v []byte) *SignOutput { + s.Signature = v + return s +} + +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *SignOutput) SetSigningAlgorithm(v string) *SignOutput { + s.SigningAlgorithm = &v return s } @@ -9860,14 +12000,19 @@ func (s UntagResourceOutput) GoString() string { type UpdateAliasInput struct { _ struct{} `type:"structure"` - // Specifies the name of the alias to change. This value must begin with alias/ - // followed by the alias name, such as alias/ExampleAlias. + // Identifies the alias that is changing its CMK. This value must begin with + // alias/ followed by the alias name, such as alias/ExampleAlias. You cannot + // use UpdateAlias to change the alias name. // // AliasName is a required field AliasName *string `min:"1" type:"string" required:"true"` - // Unique identifier of the customer master key (CMK) to be mapped to the alias. - // When the update operation completes, the alias will point to this CMK. + // Identifies the CMK to associate with the alias. When the update operation + // completes, the alias will point to this CMK. + // + // The CMK must be in the same AWS account and Region as the alias. Also, the + // new target CMK must be the same type as the current target CMK (both symmetric + // or both asymmetric) and they must have the same key usage. // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -10130,6 +12275,196 @@ func (s UpdateKeyDescriptionOutput) GoString() string { return s.String() } +type VerifyInput struct { + _ struct{} `type:"structure"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Identifies the asymmetric CMK that will be used to verify the signature. + // This must be the same CMK that was used to generate the signature. If you + // specify a different CMK, the value of the SignatureValid field in the response + // will be False. + // + // 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. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // Specifies the message that was signed, or a hash digest of that message. + // Messages can be 0-4096 bytes. To verify a larger message, provide a hash + // digest of the message. + // + // If the digest of the message specified here is different from the message + // digest that was signed, the SignatureValid value in the response will be + // False. + // + // Message is automatically base64 encoded/decoded by the SDK. + // + // Message is a required field + Message []byte `min:"1" type:"blob" required:"true" sensitive:"true"` + + // Tells AWS KMS whether the value of the Message parameter is a message or + // message digest. To indicate a message, enter RAW. To indicate a message digest, + // enter DIGEST. + MessageType *string `type:"string" enum:"MessageType"` + + // The signature that the Sign operation generated. + // + // Signature is automatically base64 encoded/decoded by the SDK. + // + // Signature is a required field + Signature []byte `min:"1" type:"blob" required:"true"` + + // The signing algorithm that was used to sign the message. If you submit a + // different algorithm, the value of the SignatureValid field in the response + // will be False. + // + // SigningAlgorithm is a required field + SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithmSpec"` +} + +// String returns the string representation +func (s VerifyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerifyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerifyInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Message != nil && len(s.Message) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Message", 1)) + } + if s.Signature == nil { + invalidParams.Add(request.NewErrParamRequired("Signature")) + } + if s.Signature != nil && len(s.Signature) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Signature", 1)) + } + if s.SigningAlgorithm == nil { + invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGrantTokens sets the GrantTokens field's value. +func (s *VerifyInput) SetGrantTokens(v []*string) *VerifyInput { + s.GrantTokens = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *VerifyInput) SetKeyId(v string) *VerifyInput { + s.KeyId = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *VerifyInput) SetMessage(v []byte) *VerifyInput { + s.Message = v + return s +} + +// SetMessageType sets the MessageType field's value. +func (s *VerifyInput) SetMessageType(v string) *VerifyInput { + s.MessageType = &v + return s +} + +// SetSignature sets the Signature field's value. +func (s *VerifyInput) SetSignature(v []byte) *VerifyInput { + s.Signature = v + return s +} + +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *VerifyInput) SetSigningAlgorithm(v string) *VerifyInput { + s.SigningAlgorithm = &v + return s +} + +type VerifyOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the asymmetric CMK that was used to verify the + // signature. + KeyId *string `min:"1" type:"string"` + + // A Boolean value that indicates whether the signature was verified. A value + // of True indicates that the Signature was produced by signing the Message + // with the specified KeyID and SigningAlgorithm. A value of False indicates + // that the message, the algorithm, or the key changed since the message was + // signed. + SignatureValid *bool `type:"boolean"` + + // The signing algorithm that was used to verify the signature. + SigningAlgorithm *string `type:"string" enum:"SigningAlgorithmSpec"` +} + +// String returns the string representation +func (s VerifyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyOutput) GoString() string { + return s.String() +} + +// SetKeyId sets the KeyId field's value. +func (s *VerifyOutput) SetKeyId(v string) *VerifyOutput { + s.KeyId = &v + return s +} + +// SetSignatureValid sets the SignatureValid field's value. +func (s *VerifyOutput) SetSignatureValid(v bool) *VerifyOutput { + s.SignatureValid = &v + return s +} + +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *VerifyOutput) SetSigningAlgorithm(v string) *VerifyOutput { + s.SigningAlgorithm = &v + return s +} + const ( // AlgorithmSpecRsaesPkcs1V15 is a AlgorithmSpec enum value AlgorithmSpecRsaesPkcs1V15 = "RSAES_PKCS1_V1_5" @@ -10178,6 +12513,55 @@ const ( ConnectionStateTypeDisconnecting = "DISCONNECTING" ) +const ( + // CustomerMasterKeySpecRsa2048 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecRsa2048 = "RSA_2048" + + // CustomerMasterKeySpecRsa3072 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecRsa3072 = "RSA_3072" + + // CustomerMasterKeySpecRsa4096 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecRsa4096 = "RSA_4096" + + // CustomerMasterKeySpecEccNistP256 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccNistP256 = "ECC_NIST_P256" + + // CustomerMasterKeySpecEccNistP384 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccNistP384 = "ECC_NIST_P384" + + // CustomerMasterKeySpecEccNistP521 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccNistP521 = "ECC_NIST_P521" + + // CustomerMasterKeySpecEccSecgP256k1 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccSecgP256k1 = "ECC_SECG_P256K1" + + // CustomerMasterKeySpecSymmetricDefault is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecSymmetricDefault = "SYMMETRIC_DEFAULT" +) + +const ( + // DataKeyPairSpecRsa2048 is a DataKeyPairSpec enum value + DataKeyPairSpecRsa2048 = "RSA_2048" + + // DataKeyPairSpecRsa3072 is a DataKeyPairSpec enum value + DataKeyPairSpecRsa3072 = "RSA_3072" + + // DataKeyPairSpecRsa4096 is a DataKeyPairSpec enum value + DataKeyPairSpecRsa4096 = "RSA_4096" + + // DataKeyPairSpecEccNistP256 is a DataKeyPairSpec enum value + DataKeyPairSpecEccNistP256 = "ECC_NIST_P256" + + // DataKeyPairSpecEccNistP384 is a DataKeyPairSpec enum value + DataKeyPairSpecEccNistP384 = "ECC_NIST_P384" + + // DataKeyPairSpecEccNistP521 is a DataKeyPairSpec enum value + DataKeyPairSpecEccNistP521 = "ECC_NIST_P521" + + // DataKeyPairSpecEccSecgP256k1 is a DataKeyPairSpec enum value + DataKeyPairSpecEccSecgP256k1 = "ECC_SECG_P256K1" +) + const ( // DataKeySpecAes256 is a DataKeySpec enum value DataKeySpecAes256 = "AES_256" @@ -10186,6 +12570,17 @@ const ( DataKeySpecAes128 = "AES_128" ) +const ( + // EncryptionAlgorithmSpecSymmetricDefault is a EncryptionAlgorithmSpec enum value + EncryptionAlgorithmSpecSymmetricDefault = "SYMMETRIC_DEFAULT" + + // EncryptionAlgorithmSpecRsaesOaepSha1 is a EncryptionAlgorithmSpec enum value + EncryptionAlgorithmSpecRsaesOaepSha1 = "RSAES_OAEP_SHA_1" + + // EncryptionAlgorithmSpecRsaesOaepSha256 is a EncryptionAlgorithmSpec enum value + EncryptionAlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256" +) + const ( // ExpirationModelTypeKeyMaterialExpires is a ExpirationModelType enum value ExpirationModelTypeKeyMaterialExpires = "KEY_MATERIAL_EXPIRES" @@ -10213,6 +12608,15 @@ const ( // GrantOperationReEncryptTo is a GrantOperation enum value GrantOperationReEncryptTo = "ReEncryptTo" + // GrantOperationSign is a GrantOperation enum value + GrantOperationSign = "Sign" + + // GrantOperationVerify is a GrantOperation enum value + GrantOperationVerify = "Verify" + + // GrantOperationGetPublicKey is a GrantOperation enum value + GrantOperationGetPublicKey = "GetPublicKey" + // GrantOperationCreateGrant is a GrantOperation enum value GrantOperationCreateGrant = "CreateGrant" @@ -10221,6 +12625,12 @@ const ( // GrantOperationDescribeKey is a GrantOperation enum value GrantOperationDescribeKey = "DescribeKey" + + // GrantOperationGenerateDataKeyPair is a GrantOperation enum value + GrantOperationGenerateDataKeyPair = "GenerateDataKeyPair" + + // GrantOperationGenerateDataKeyPairWithoutPlaintext is a GrantOperation enum value + GrantOperationGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext" ) const ( @@ -10249,10 +12659,21 @@ const ( ) const ( + // KeyUsageTypeSignVerify is a KeyUsageType enum value + KeyUsageTypeSignVerify = "SIGN_VERIFY" + // KeyUsageTypeEncryptDecrypt is a KeyUsageType enum value KeyUsageTypeEncryptDecrypt = "ENCRYPT_DECRYPT" ) +const ( + // MessageTypeRaw is a MessageType enum value + MessageTypeRaw = "RAW" + + // MessageTypeDigest is a MessageType enum value + MessageTypeDigest = "DIGEST" +) + const ( // OriginTypeAwsKms is a OriginType enum value OriginTypeAwsKms = "AWS_KMS" @@ -10264,6 +12685,35 @@ const ( OriginTypeAwsCloudhsm = "AWS_CLOUDHSM" ) +const ( + // SigningAlgorithmSpecRsassaPssSha256 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPssSha256 = "RSASSA_PSS_SHA_256" + + // SigningAlgorithmSpecRsassaPssSha384 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPssSha384 = "RSASSA_PSS_SHA_384" + + // SigningAlgorithmSpecRsassaPssSha512 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPssSha512 = "RSASSA_PSS_SHA_512" + + // SigningAlgorithmSpecRsassaPkcs1V15Sha256 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPkcs1V15Sha256 = "RSASSA_PKCS1_V1_5_SHA_256" + + // SigningAlgorithmSpecRsassaPkcs1V15Sha384 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPkcs1V15Sha384 = "RSASSA_PKCS1_V1_5_SHA_384" + + // SigningAlgorithmSpecRsassaPkcs1V15Sha512 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPkcs1V15Sha512 = "RSASSA_PKCS1_V1_5_SHA_512" + + // SigningAlgorithmSpecEcdsaSha256 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecEcdsaSha256 = "ECDSA_SHA_256" + + // SigningAlgorithmSpecEcdsaSha384 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecEcdsaSha384 = "ECDSA_SHA_384" + + // SigningAlgorithmSpecEcdsaSha512 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecEcdsaSha512 = "ECDSA_SHA_512" +) + const ( // WrappingKeySpecRsa2048 is a WrappingKeySpec enum value WrappingKeySpecRsa2048 = "RSA_2048" diff --git a/service/kms/errors.go b/service/kms/errors.go index e8ce42f3b9c..a93ac64a807 100644 --- a/service/kms/errors.go +++ b/service/kms/errors.go @@ -156,17 +156,25 @@ const ( // ErrCodeExpiredImportTokenException for service response error code // "ExpiredImportTokenException". // - // The request was rejected because the provided import token is expired. Use + // The request was rejected because the specified import token is expired. Use // GetParametersForImport to get a new import token and public key, use the // new public key to encrypt the key material, and then try the request again. ErrCodeExpiredImportTokenException = "ExpiredImportTokenException" + // ErrCodeIncorrectKeyException for service response error code + // "IncorrectKeyException". + // + // The request was rejected because the specified CMK cannot decrypt the data. + // The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request + // must identify the same CMK that was used to encrypt the ciphertext. + ErrCodeIncorrectKeyException = "IncorrectKeyException" + // ErrCodeIncorrectKeyMaterialException for service response error code // "IncorrectKeyMaterialException". // - // The request was rejected because the provided key material is invalid or - // is not the same key material that was previously imported into this customer - // master key (CMK). + // The request was rejected because the key material in the request is, expired, + // invalid, or is not the same key material that was previously imported into + // this customer master key (CMK). ErrCodeIncorrectKeyMaterialException = "IncorrectKeyMaterialException" // ErrCodeIncorrectTrustAnchorException for service response error code @@ -203,9 +211,13 @@ const ( // ErrCodeInvalidCiphertextException for service response error code // "InvalidCiphertextException". // - // The request was rejected because the specified ciphertext, or additional - // authenticated data incorporated into the ciphertext, such as the encryption - // context, is corrupted, missing, or otherwise invalid. + // From the Decrypt or ReEncrypt operation, the request was rejected because + // the specified ciphertext, or additional authenticated data incorporated into + // the ciphertext, such as the encryption context, is corrupted, missing, or + // otherwise invalid. + // + // From the ImportKeyMaterial operation, the request was rejected because AWS + // KMS could not decrypt the encrypted (wrapped) key material. ErrCodeInvalidCiphertextException = "InvalidCiphertextException" // ErrCodeInvalidGrantIdException for service response error code @@ -230,7 +242,19 @@ const ( // ErrCodeInvalidKeyUsageException for service response error code // "InvalidKeyUsageException". // - // The request was rejected because the specified KeySpec value is not valid. + // The request was rejected for one of the following reasons: + // + // * The KeyUsage value of the CMK is incompatible with the API operation. + // + // * The encryption algorithm or signing algorithm specified for the operation + // is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). + // + // For encrypting, decrypting, re-encrypting, and generating data keys, the + // KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage + // must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. + // + // To find the encryption or signing algorithms supported for a particular CMK, + // use the DescribeKey operation. ErrCodeInvalidKeyUsageException = "InvalidKeyUsageException" // ErrCodeInvalidMarkerException for service response error code @@ -248,14 +272,14 @@ const ( // // For more information about how key state affects the use of a CMK, see How // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) - // in the AWS Key Management Service Developer Guide. + // in the AWS Key Management Service Developer Guide . ErrCodeInvalidStateException = "KMSInvalidStateException" // ErrCodeKeyUnavailableException for service response error code // "KeyUnavailableException". // - // The request was rejected because the specified CMK was not available. The - // request can be retried. + // The request was rejected because the specified CMK was not available. You + // can retry the request. ErrCodeKeyUnavailableException = "KeyUnavailableException" // ErrCodeLimitExceededException for service response error code diff --git a/service/kms/examples_test.go b/service/kms/examples_test.go index 2783821cc0c..4bc87e02977 100644 --- a/service/kms/examples_test.go +++ b/service/kms/examples_test.go @@ -227,6 +227,10 @@ func ExampleKMS_Decrypt_shared00() { fmt.Println(kms.ErrCodeInvalidCiphertextException, aerr.Error()) case kms.ErrCodeKeyUnavailableException: fmt.Println(kms.ErrCodeKeyUnavailableException, aerr.Error()) + case kms.ErrCodeIncorrectKeyException: + fmt.Println(kms.ErrCodeIncorrectKeyException, aerr.Error()) + case kms.ErrCodeInvalidKeyUsageException: + fmt.Println(kms.ErrCodeInvalidKeyUsageException, aerr.Error()) case kms.ErrCodeDependencyTimeoutException: fmt.Println(kms.ErrCodeDependencyTimeoutException, aerr.Error()) case kms.ErrCodeInvalidGrantTokenException: @@ -1143,6 +1147,8 @@ func ExampleKMS_ReEncrypt_shared00() { fmt.Println(kms.ErrCodeInvalidCiphertextException, aerr.Error()) case kms.ErrCodeKeyUnavailableException: fmt.Println(kms.ErrCodeKeyUnavailableException, aerr.Error()) + case kms.ErrCodeIncorrectKeyException: + fmt.Println(kms.ErrCodeIncorrectKeyException, aerr.Error()) case kms.ErrCodeDependencyTimeoutException: fmt.Println(kms.ErrCodeDependencyTimeoutException, aerr.Error()) case kms.ErrCodeInvalidKeyUsageException: diff --git a/service/kms/kmsiface/interface.go b/service/kms/kmsiface/interface.go index c48cec79951..f097c5d8002 100644 --- a/service/kms/kmsiface/interface.go +++ b/service/kms/kmsiface/interface.go @@ -136,6 +136,14 @@ type KMSAPI interface { GenerateDataKeyWithContext(aws.Context, *kms.GenerateDataKeyInput, ...request.Option) (*kms.GenerateDataKeyOutput, error) GenerateDataKeyRequest(*kms.GenerateDataKeyInput) (*request.Request, *kms.GenerateDataKeyOutput) + GenerateDataKeyPair(*kms.GenerateDataKeyPairInput) (*kms.GenerateDataKeyPairOutput, error) + GenerateDataKeyPairWithContext(aws.Context, *kms.GenerateDataKeyPairInput, ...request.Option) (*kms.GenerateDataKeyPairOutput, error) + GenerateDataKeyPairRequest(*kms.GenerateDataKeyPairInput) (*request.Request, *kms.GenerateDataKeyPairOutput) + + GenerateDataKeyPairWithoutPlaintext(*kms.GenerateDataKeyPairWithoutPlaintextInput) (*kms.GenerateDataKeyPairWithoutPlaintextOutput, error) + GenerateDataKeyPairWithoutPlaintextWithContext(aws.Context, *kms.GenerateDataKeyPairWithoutPlaintextInput, ...request.Option) (*kms.GenerateDataKeyPairWithoutPlaintextOutput, error) + GenerateDataKeyPairWithoutPlaintextRequest(*kms.GenerateDataKeyPairWithoutPlaintextInput) (*request.Request, *kms.GenerateDataKeyPairWithoutPlaintextOutput) + GenerateDataKeyWithoutPlaintext(*kms.GenerateDataKeyWithoutPlaintextInput) (*kms.GenerateDataKeyWithoutPlaintextOutput, error) GenerateDataKeyWithoutPlaintextWithContext(aws.Context, *kms.GenerateDataKeyWithoutPlaintextInput, ...request.Option) (*kms.GenerateDataKeyWithoutPlaintextOutput, error) GenerateDataKeyWithoutPlaintextRequest(*kms.GenerateDataKeyWithoutPlaintextInput) (*request.Request, *kms.GenerateDataKeyWithoutPlaintextOutput) @@ -156,6 +164,10 @@ type KMSAPI interface { GetParametersForImportWithContext(aws.Context, *kms.GetParametersForImportInput, ...request.Option) (*kms.GetParametersForImportOutput, error) GetParametersForImportRequest(*kms.GetParametersForImportInput) (*request.Request, *kms.GetParametersForImportOutput) + GetPublicKey(*kms.GetPublicKeyInput) (*kms.GetPublicKeyOutput, error) + GetPublicKeyWithContext(aws.Context, *kms.GetPublicKeyInput, ...request.Option) (*kms.GetPublicKeyOutput, error) + GetPublicKeyRequest(*kms.GetPublicKeyInput) (*request.Request, *kms.GetPublicKeyOutput) + ImportKeyMaterial(*kms.ImportKeyMaterialInput) (*kms.ImportKeyMaterialOutput, error) ImportKeyMaterialWithContext(aws.Context, *kms.ImportKeyMaterialInput, ...request.Option) (*kms.ImportKeyMaterialOutput, error) ImportKeyMaterialRequest(*kms.ImportKeyMaterialInput) (*request.Request, *kms.ImportKeyMaterialOutput) @@ -216,6 +228,10 @@ type KMSAPI interface { ScheduleKeyDeletionWithContext(aws.Context, *kms.ScheduleKeyDeletionInput, ...request.Option) (*kms.ScheduleKeyDeletionOutput, error) ScheduleKeyDeletionRequest(*kms.ScheduleKeyDeletionInput) (*request.Request, *kms.ScheduleKeyDeletionOutput) + Sign(*kms.SignInput) (*kms.SignOutput, error) + SignWithContext(aws.Context, *kms.SignInput, ...request.Option) (*kms.SignOutput, error) + SignRequest(*kms.SignInput) (*request.Request, *kms.SignOutput) + TagResource(*kms.TagResourceInput) (*kms.TagResourceOutput, error) TagResourceWithContext(aws.Context, *kms.TagResourceInput, ...request.Option) (*kms.TagResourceOutput, error) TagResourceRequest(*kms.TagResourceInput) (*request.Request, *kms.TagResourceOutput) @@ -235,6 +251,10 @@ type KMSAPI interface { UpdateKeyDescription(*kms.UpdateKeyDescriptionInput) (*kms.UpdateKeyDescriptionOutput, error) UpdateKeyDescriptionWithContext(aws.Context, *kms.UpdateKeyDescriptionInput, ...request.Option) (*kms.UpdateKeyDescriptionOutput, error) UpdateKeyDescriptionRequest(*kms.UpdateKeyDescriptionInput) (*request.Request, *kms.UpdateKeyDescriptionOutput) + + Verify(*kms.VerifyInput) (*kms.VerifyOutput, error) + VerifyWithContext(aws.Context, *kms.VerifyInput, ...request.Option) (*kms.VerifyOutput, error) + VerifyRequest(*kms.VerifyInput) (*request.Request, *kms.VerifyOutput) } var _ KMSAPI = (*kms.KMS)(nil) diff --git a/service/lambda/api.go b/service/lambda/api.go index b12c06eb8b9..3ec8f6403fd 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -78,19 +78,16 @@ func (c *Lambda) AddLayerVersionPermissionRequest(input *AddLayerVersionPermissi // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodePolicyLengthExceededException "PolicyLengthExceededException" // The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -180,7 +177,7 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // without specifying the source, other accounts could potentially configure // resources in their account to invoke your Lambda function. // -// This action adds a statement to a resource-based permission policy for the +// This action adds a statement to a resource-based permissions policy for the // function. For more information about function policies, see Lambda Function // Policies (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). // @@ -196,22 +193,19 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodePolicyLengthExceededException "PolicyLengthExceededException" // The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -304,19 +298,16 @@ func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) { @@ -389,11 +380,26 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // // For details about each event source type, see the following topics. // +// * Using AWS Lambda with Amazon DynamoDB (https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) +// // * Using AWS Lambda with Amazon Kinesis (https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) // // * Using AWS Lambda with Amazon SQS (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) // -// * Using AWS Lambda with Amazon DynamoDB (https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) +// The following error handling options are only available for stream sources +// (DynamoDB and Kinesis): +// +// * BisectBatchOnFunctionError - If the function returns an error, split +// the batch in two and retry. +// +// * DestinationConfig - Send discarded records to an Amazon SQS queue or +// Amazon SNS topic. +// +// * MaximumRecordAgeInSeconds - Discard records older than the specified +// age. +// +// * MaximumRetryAttempts - Discard records after the specified number of +// retries. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -407,19 +413,16 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping func (c *Lambda) CreateEventSourceMapping(input *CreateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -494,6 +497,13 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // the function permission to use AWS services, such as Amazon CloudWatch Logs // for log streaming and AWS X-Ray for request tracing. // +// When you create a function, Lambda provisions an instance of the function +// and its supporting resources. If your function connects to a VPC, this process +// can take a minute or so. During this time, you can't invoke or modify the +// function. The State, StateReason, and StateReasonCode fields in the response +// from GetFunctionConfiguration indicate when the function is ready to invoke. +// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html). +// // A function has an unpublished version, and can have published versions and // aliases. The unpublished version changes when you update your function's // code and configuration. A published version is a snapshot of your function @@ -515,7 +525,7 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // To invoke your function directly, use Invoke. To invoke your function in // response to events in other AWS services, create an event source mapping // (CreateEventSourceMapping), or configure a function trigger in the other -// service. For more information, see Invoking Functions (https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.html). +// service. For more information, see Invoking Functions (https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -529,19 +539,16 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -627,12 +634,10 @@ func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { @@ -703,6 +708,9 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // Deletes an event source mapping (https://docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html). // You can get the identifier of a mapping from the output of ListEventSourceMappings. // +// When you delete an event source mapping, it enters a Deleting state and might +// not be completely deleted for several seconds. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -715,16 +723,13 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you @@ -817,19 +822,16 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) { @@ -912,16 +914,16 @@ func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurren // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. +// +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionConcurrency func (c *Lambda) DeleteFunctionConcurrency(input *DeleteFunctionConcurrencyInput) (*DeleteFunctionConcurrencyOutput, error) { @@ -945,6 +947,98 @@ func (c *Lambda) DeleteFunctionConcurrencyWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDeleteFunctionEventInvokeConfig = "DeleteFunctionEventInvokeConfig" + +// DeleteFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFunctionEventInvokeConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteFunctionEventInvokeConfig for more information on using the DeleteFunctionEventInvokeConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteFunctionEventInvokeConfigRequest method. +// req, resp := client.DeleteFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig +func (c *Lambda) DeleteFunctionEventInvokeConfigRequest(input *DeleteFunctionEventInvokeConfigInput) (req *request.Request, output *DeleteFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opDeleteFunctionEventInvokeConfig, + HTTPMethod: "DELETE", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &DeleteFunctionEventInvokeConfigInput{} + } + + output = &DeleteFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Deletes the configuration for asynchronous invocation for a function, version, +// or alias. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation DeleteFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig +func (c *Lambda) DeleteFunctionEventInvokeConfig(input *DeleteFunctionEventInvokeConfigInput) (*DeleteFunctionEventInvokeConfigOutput, error) { + req, out := c.DeleteFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// DeleteFunctionEventInvokeConfigWithContext is the same as DeleteFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFunctionEventInvokeConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) DeleteFunctionEventInvokeConfigWithContext(ctx aws.Context, input *DeleteFunctionEventInvokeConfigInput, opts ...request.Option) (*DeleteFunctionEventInvokeConfigOutput, error) { + req, out := c.DeleteFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteLayerVersion = "DeleteLayerVersion" // DeleteLayerVersionRequest generates a "aws/request.Request" representing the @@ -1007,7 +1101,7 @@ func (c *Lambda) DeleteLayerVersionRequest(input *DeleteLayerVersionInput) (req // The AWS Lambda service encountered an internal error. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion func (c *Lambda) DeleteLayerVersion(input *DeleteLayerVersionInput) (*DeleteLayerVersionOutput, error) { @@ -1087,7 +1181,7 @@ func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req // // Returned Error Codes: // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeServiceException "ServiceException" // The AWS Lambda service encountered an internal error. @@ -1172,16 +1266,13 @@ func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, ou // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) { @@ -1264,16 +1355,13 @@ func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -1357,16 +1445,13 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction func (c *Lambda) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) { @@ -1453,16 +1538,13 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration func (c *Lambda) GetFunctionConfiguration(input *GetFunctionConfigurationInput) (*FunctionConfiguration, error) { @@ -1486,6 +1568,97 @@ func (c *Lambda) GetFunctionConfigurationWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetFunctionEventInvokeConfig = "GetFunctionEventInvokeConfig" + +// GetFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetFunctionEventInvokeConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetFunctionEventInvokeConfig for more information on using the GetFunctionEventInvokeConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetFunctionEventInvokeConfigRequest method. +// req, resp := client.GetFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig +func (c *Lambda) GetFunctionEventInvokeConfigRequest(input *GetFunctionEventInvokeConfigInput) (req *request.Request, output *GetFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opGetFunctionEventInvokeConfig, + HTTPMethod: "GET", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &GetFunctionEventInvokeConfigInput{} + } + + output = &GetFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Retrieves the configuration for asynchronous invocation for a function, version, +// or alias. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation GetFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig +func (c *Lambda) GetFunctionEventInvokeConfig(input *GetFunctionEventInvokeConfigInput) (*GetFunctionEventInvokeConfigOutput, error) { + req, out := c.GetFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// GetFunctionEventInvokeConfigWithContext is the same as GetFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetFunctionEventInvokeConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) GetFunctionEventInvokeConfigWithContext(ctx aws.Context, input *GetFunctionEventInvokeConfigInput, opts ...request.Option) (*GetFunctionEventInvokeConfigOutput, error) { + req, out := c.GetFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetLayerVersion = "GetLayerVersion" // GetLayerVersionRequest generates a "aws/request.Request" representing the @@ -1545,16 +1718,13 @@ func (c *Lambda) GetLayerVersionRequest(input *GetLayerVersionInput) (req *reque // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersion func (c *Lambda) GetLayerVersion(input *GetLayerVersionInput) (*GetLayerVersionOutput, error) { @@ -1637,16 +1807,13 @@ func (c *Lambda) GetLayerVersionByArnRequest(input *GetLayerVersionByArnInput) ( // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionByArn func (c *Lambda) GetLayerVersionByArn(input *GetLayerVersionByArnInput) (*GetLayerVersionByArnOutput, error) { @@ -1729,16 +1896,13 @@ func (c *Lambda) GetLayerVersionPolicyRequest(input *GetLayerVersionPolicyInput) // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionPolicy func (c *Lambda) GetLayerVersionPolicy(input *GetLayerVersionPolicyInput) (*GetLayerVersionPolicyOutput, error) { @@ -1821,16 +1985,13 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy func (c *Lambda) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { @@ -1902,12 +2063,11 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // for the response), or asynchronously. To invoke a function asynchronously, // set InvocationType to Event. // -// For synchronous invocation, details about the function response, including -// errors, are included in the response body and headers. For either invocation -// type, you can find more information in the execution log (https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) -// and trace (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). To record -// function errors for asynchronous invocations, configure your function with -// a dead letter queue (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). +// For synchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html), +// details about the function response, including errors, are included in the +// response body and headers. For either invocation type, you can find more +// information in the execution log (https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) +// and trace (https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html). // // When an error occurs, your function may be invoked multiple times. Retry // behavior varies by error type, client, event source, and invocation type. @@ -1915,6 +2075,13 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // Lambda executes the function up to two more times. For more information, // see Retry Behavior (https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html). // +// For asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html), +// Lambda adds events to a queue before sending them to your function. If your +// function does not have enough capacity to keep up with the queue, events +// may be lost. Occasionally, your function may receive the same event multiple +// times, even if no error occurs. To retain events that were not processed, +// configure your function with a dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq). +// // The status code in the API response doesn't reflect function errors. Error // codes are reserved for errors that prevent your function from executing, // such as permissions errors, limit errors (https://docs.aws.amazon.com/lambda/latest/dg/limits.html), @@ -1942,8 +2109,7 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidRequestContentException "InvalidRequestContentException" // The request body could not be parsed as JSON. @@ -1956,12 +2122,10 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // The content type of the Invoke request body is not JSON. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeEC2UnexpectedException "EC2UnexpectedException" // AWS Lambda received an unexpected EC2 client exception while setting up for @@ -1972,9 +2136,9 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // one or more configured subnets has no available IP addresses. // // * ErrCodeENILimitReachedException "ENILimitReachedException" -// AWS Lambda was not able to create an Elastic Network Interface (ENI) in the -// VPC, specified as part of Lambda function configuration, because the limit -// for network interfaces has been reached. +// AWS Lambda was not able to create an elastic network interface in the VPC, +// specified as part of Lambda function configuration, because the limit for +// network interfaces has been reached. // // * ErrCodeEC2ThrottledException "EC2ThrottledException" // AWS Lambda was throttled by Amazon EC2 during Lambda function initialization @@ -2012,6 +2176,13 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // * ErrCodeInvalidRuntimeException "InvalidRuntimeException" // The runtime or runtime version specified is not supported. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// +// * ErrCodeResourceNotReadyException "ResourceNotReadyException" +// The function is inactive and its VPC connection is no longer available. Wait +// for the VPC connection to reestablish and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke func (c *Lambda) Invoke(input *InvokeInput) (*InvokeOutput, error) { req, out := c.InvokeRequest(input) @@ -2100,8 +2271,7 @@ func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidRequestContentException "InvalidRequestContentException" // The request body could not be parsed as JSON. @@ -2109,6 +2279,9 @@ func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Reque // * ErrCodeInvalidRuntimeException "InvalidRuntimeException" // The runtime or runtime version specified is not supported. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync // // Deprecated: InvokeAsync has been deprecated @@ -2200,16 +2373,13 @@ func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { @@ -2350,16 +2520,13 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { @@ -2435,6 +2602,154 @@ func (c *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input return p.Err() } +const opListFunctionEventInvokeConfigs = "ListFunctionEventInvokeConfigs" + +// ListFunctionEventInvokeConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListFunctionEventInvokeConfigs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListFunctionEventInvokeConfigs for more information on using the ListFunctionEventInvokeConfigs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListFunctionEventInvokeConfigsRequest method. +// req, resp := client.ListFunctionEventInvokeConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs +func (c *Lambda) ListFunctionEventInvokeConfigsRequest(input *ListFunctionEventInvokeConfigsInput) (req *request.Request, output *ListFunctionEventInvokeConfigsOutput) { + op := &request.Operation{ + Name: opListFunctionEventInvokeConfigs, + HTTPMethod: "GET", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config/list", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"NextMarker"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFunctionEventInvokeConfigsInput{} + } + + output = &ListFunctionEventInvokeConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFunctionEventInvokeConfigs API operation for AWS Lambda. +// +// Retrieves a list of configurations for asynchronous invocation for a function. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation ListFunctionEventInvokeConfigs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs +func (c *Lambda) ListFunctionEventInvokeConfigs(input *ListFunctionEventInvokeConfigsInput) (*ListFunctionEventInvokeConfigsOutput, error) { + req, out := c.ListFunctionEventInvokeConfigsRequest(input) + return out, req.Send() +} + +// ListFunctionEventInvokeConfigsWithContext is the same as ListFunctionEventInvokeConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListFunctionEventInvokeConfigs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) ListFunctionEventInvokeConfigsWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, opts ...request.Option) (*ListFunctionEventInvokeConfigsOutput, error) { + req, out := c.ListFunctionEventInvokeConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFunctionEventInvokeConfigsPages iterates over the pages of a ListFunctionEventInvokeConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFunctionEventInvokeConfigs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFunctionEventInvokeConfigs operation. +// pageNum := 0 +// err := client.ListFunctionEventInvokeConfigsPages(params, +// func(page *lambda.ListFunctionEventInvokeConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Lambda) ListFunctionEventInvokeConfigsPages(input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool) error { + return c.ListFunctionEventInvokeConfigsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFunctionEventInvokeConfigsPagesWithContext same as ListFunctionEventInvokeConfigsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) ListFunctionEventInvokeConfigsPagesWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFunctionEventInvokeConfigsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFunctionEventInvokeConfigsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFunctionEventInvokeConfigsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListFunctions = "ListFunctions" // ListFunctionsRequest generates a "aws/request.Request" representing the @@ -2504,12 +2819,10 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions func (c *Lambda) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) { @@ -2652,16 +2965,13 @@ func (c *Lambda) ListLayerVersionsRequest(input *ListLayerVersionsInput) (req *r // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions func (c *Lambda) ListLayerVersions(input *ListLayerVersionsInput) (*ListLayerVersionsOutput, error) { @@ -2804,12 +3114,10 @@ func (c *Lambda) ListLayersRequest(input *ListLayersInput) (req *request.Request // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers func (c *Lambda) ListLayers(input *ListLayersInput) (*ListLayersOutput, error) { @@ -2944,16 +3252,13 @@ func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags func (c *Lambda) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { @@ -3042,16 +3347,13 @@ func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInpu // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) { @@ -3173,7 +3475,7 @@ func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (re // // Creates an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) // from a ZIP archive. Each time you call PublishLayerVersion with the same -// version name, a new version is created. +// layer name, a new version is created. // // Add layers to your function with CreateFunction or UpdateFunctionConfiguration. // @@ -3189,16 +3491,13 @@ func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (re // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -3292,16 +3591,13 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -3311,6 +3607,9 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // function or alias. Call the GetFunction or the GetAlias API to retrieve the // latest RevisionId for your resource. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfiguration, error) { req, out := c.PublishVersionRequest(input) @@ -3404,16 +3703,16 @@ func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInpu // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. +// +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency func (c *Lambda) PutFunctionConcurrency(input *PutFunctionConcurrencyInput) (*PutFunctionConcurrencyOutput, error) { @@ -3437,6 +3736,101 @@ func (c *Lambda) PutFunctionConcurrencyWithContext(ctx aws.Context, input *PutFu return out, req.Send() } +const opPutFunctionEventInvokeConfig = "PutFunctionEventInvokeConfig" + +// PutFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the PutFunctionEventInvokeConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutFunctionEventInvokeConfig for more information on using the PutFunctionEventInvokeConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutFunctionEventInvokeConfigRequest method. +// req, resp := client.PutFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig +func (c *Lambda) PutFunctionEventInvokeConfigRequest(input *PutFunctionEventInvokeConfigInput) (req *request.Request, output *PutFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opPutFunctionEventInvokeConfig, + HTTPMethod: "PUT", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &PutFunctionEventInvokeConfigInput{} + } + + output = &PutFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Configures options for asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) +// on a function, version, or alias. +// +// By default, Lambda retries an asynchronous invocation twice if the function +// returns an error. It retains events in a queue for up to six hours. When +// an event fails all processing attempts or stays in the asynchronous invocation +// queue for too long, Lambda discards it. To retain discarded events, configure +// a dead-letter queue with UpdateFunctionConfiguration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation PutFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig +func (c *Lambda) PutFunctionEventInvokeConfig(input *PutFunctionEventInvokeConfigInput) (*PutFunctionEventInvokeConfigOutput, error) { + req, out := c.PutFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// PutFunctionEventInvokeConfigWithContext is the same as PutFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See PutFunctionEventInvokeConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) PutFunctionEventInvokeConfigWithContext(ctx aws.Context, input *PutFunctionEventInvokeConfigInput, opts ...request.Option) (*PutFunctionEventInvokeConfigOutput, error) { + req, out := c.PutFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveLayerVersionPermission = "RemoveLayerVersionPermission" // RemoveLayerVersionPermissionRequest generates a "aws/request.Request" representing the @@ -3498,16 +3892,13 @@ func (c *Lambda) RemoveLayerVersionPermissionRequest(input *RemoveLayerVersionPe // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3596,16 +3987,13 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3694,16 +4082,13 @@ func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource func (c *Lambda) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -3787,16 +4172,13 @@ func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource func (c *Lambda) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -3878,22 +4260,22 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // 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. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) { req, out := c.UpdateAliasRequest(input) @@ -3963,6 +4345,21 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // Updates an event source mapping. You can change the function that AWS Lambda // invokes, or pause invocation and resume later from the same location. // +// The following error handling options are only available for stream sources +// (DynamoDB and Kinesis): +// +// * BisectBatchOnFunctionError - If the function returns an error, split +// the batch in two and retry. +// +// * DestinationConfig - Send discarded records to an Amazon SQS queue or +// Amazon SNS topic. +// +// * MaximumRecordAgeInSeconds - Discard records older than the specified +// age. +// +// * MaximumRetryAttempts - Discard records after the specified number of +// retries. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3975,19 +4372,16 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you @@ -4077,16 +4471,13 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -4096,6 +4487,9 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // function or alias. Call the GetFunction or the GetAlias API to retrieve the // latest RevisionId for your resource. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionCodeRequest(input) @@ -4164,6 +4558,14 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // // Modify the version-specific settings of a Lambda function. // +// When you update a function, Lambda provisions an instance of the function +// and its supporting resources. If your function connects to a VPC, this process +// can take a minute. During this time, you can't modify the function, but you +// can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode +// fields in the response from GetFunctionConfiguration indicate when the update +// is complete and the function is processing events with the new configuration. +// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html). +// // These settings can vary between versions of a function and are locked when // you publish a version. You can't modify the configuration of a published // version, only the unpublished version. @@ -4183,19 +4585,16 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -4224,12 +4623,104 @@ func (c *Lambda) UpdateFunctionConfigurationWithContext(ctx aws.Context, input * return out, req.Send() } -// Limits that are related to concurrency and code storage. All file and storage +const opUpdateFunctionEventInvokeConfig = "UpdateFunctionEventInvokeConfig" + +// UpdateFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFunctionEventInvokeConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateFunctionEventInvokeConfig for more information on using the UpdateFunctionEventInvokeConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateFunctionEventInvokeConfigRequest method. +// req, resp := client.UpdateFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig +func (c *Lambda) UpdateFunctionEventInvokeConfigRequest(input *UpdateFunctionEventInvokeConfigInput) (req *request.Request, output *UpdateFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opUpdateFunctionEventInvokeConfig, + HTTPMethod: "POST", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &UpdateFunctionEventInvokeConfigInput{} + } + + output = &UpdateFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Updates the configuration for asynchronous invocation for a function, version, +// or alias. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation UpdateFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig +func (c *Lambda) UpdateFunctionEventInvokeConfig(input *UpdateFunctionEventInvokeConfigInput) (*UpdateFunctionEventInvokeConfigOutput, error) { + req, out := c.UpdateFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// UpdateFunctionEventInvokeConfigWithContext is the same as UpdateFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFunctionEventInvokeConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) UpdateFunctionEventInvokeConfigWithContext(ctx aws.Context, input *UpdateFunctionEventInvokeConfigInput, opts ...request.Option) (*UpdateFunctionEventInvokeConfigOutput, error) { + req, out := c.UpdateFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Limits that are related to concurrency and storage. All file and storage // sizes are in bytes. type AccountLimit struct { _ struct{} `type:"structure"` - // The maximum size of your function's code and layers when they're extracted. + // The maximum size of a function's deployment package and layers when they're + // extracted. CodeSizeUnzipped *int64 `type:"long"` // The maximum size of a deployment package when it's uploaded directly to AWS @@ -4870,6 +5361,13 @@ type CreateEventSourceMappingInput struct { // * Amazon Simple Queue Service - Default 10. Max 10. BatchSize *int64 `min:"1" type:"integer"` + // (Streams) If the function returns an error, split the batch in two and retry. + BisectBatchOnFunctionError *bool `type:"boolean"` + + // (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded + // records. + DestinationConfig *DestinationConfig `type:"structure"` + // Disables the event source mapping to pause polling and invocation. Enabled *bool `type:"boolean"` @@ -4902,8 +5400,21 @@ type CreateEventSourceMappingInput struct { // FunctionName is a required field FunctionName *string `min:"1" type:"string" required:"true"` + // The maximum amount of time to gather records before invoking the function, + // in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` + // (Streams) The maximum age of a record that Lambda sends to a function for + // processing. + MaximumRecordAgeInSeconds *int64 `min:"60" type:"integer"` + + // (Streams) The maximum number of times to retry when the function returns + // an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // (Streams) The number of batches to process from each shard concurrently. + ParallelizationFactor *int64 `min:"1" type:"integer"` + // The position in a stream from which to start reading. Required for Amazon // Kinesis and Amazon DynamoDB Streams sources. AT_TIMESTAMP is only supported // for Amazon Kinesis streams. @@ -4938,6 +5449,12 @@ func (s *CreateEventSourceMappingInput) Validate() error { if s.FunctionName != nil && len(*s.FunctionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } + if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", 60)) + } + if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -4951,6 +5468,18 @@ func (s *CreateEventSourceMappingInput) SetBatchSize(v int64) *CreateEventSource return s } +// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value. +func (s *CreateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *CreateEventSourceMappingInput { + s.BisectBatchOnFunctionError = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *CreateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *CreateEventSourceMappingInput { + s.DestinationConfig = v + return s +} + // SetEnabled sets the Enabled field's value. func (s *CreateEventSourceMappingInput) SetEnabled(v bool) *CreateEventSourceMappingInput { s.Enabled = &v @@ -4975,6 +5504,24 @@ func (s *CreateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int6 return s } +// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value. +func (s *CreateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *CreateEventSourceMappingInput { + s.MaximumRecordAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *CreateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *CreateEventSourceMappingInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetParallelizationFactor sets the ParallelizationFactor field's value. +func (s *CreateEventSourceMappingInput) SetParallelizationFactor(v int64) *CreateEventSourceMappingInput { + s.ParallelizationFactor = &v + return s +} + // SetStartingPosition sets the StartingPosition field's value. func (s *CreateEventSourceMappingInput) SetStartingPosition(v string) *CreateEventSourceMappingInput { s.StartingPosition = &v @@ -4997,7 +5544,7 @@ type CreateFunctionInput struct { // A dead letter queue configuration that specifies the queue or topic where // Lambda sends asynchronous events when they fail processing. For more information, - // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). + // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq). DeadLetterConfig *DeadLetterConfig `type:"structure"` // A description of the function. @@ -5073,7 +5620,7 @@ type CreateFunctionInput struct { // For network connectivity to AWS resources in a VPC, specify a list of security // groups and subnets in the VPC. When you connect a function to a VPC, it can // only access resources and the internet through that VPC. For more information, - // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/vpc.html). + // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). VpcConfig *VpcConfig `type:"structure"` } @@ -5222,7 +5769,7 @@ func (s *CreateFunctionInput) SetVpcConfig(v *VpcConfig) *CreateFunctionInput { return s } -// The dead letter queue (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html) +// The dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq) // for failed asynchronous invocations. type DeadLetterConfig struct { _ struct{} `type:"structure"` @@ -5437,6 +5984,85 @@ func (s DeleteFunctionConcurrencyOutput) GoString() string { return s.String() } +type DeleteFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionName sets the FunctionName field's value. +func (s *DeleteFunctionEventInvokeConfigInput) SetFunctionName(v string) *DeleteFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *DeleteFunctionEventInvokeConfigInput) SetQualifier(v string) *DeleteFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type DeleteFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + type DeleteFunctionInput struct { _ struct{} `type:"structure"` @@ -5586,6 +6212,40 @@ func (s DeleteLayerVersionOutput) GoString() string { return s.String() } +// A configuration object that specifies the destination of an event after Lambda +// processes it. +type DestinationConfig struct { + _ struct{} `type:"structure"` + + // The destination configuration for failed invocations. + OnFailure *OnFailure `type:"structure"` + + // The destination configuration for successful invocations. + OnSuccess *OnSuccess `type:"structure"` +} + +// String returns the string representation +func (s DestinationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DestinationConfig) GoString() string { + return s.String() +} + +// SetOnFailure sets the OnFailure field's value. +func (s *DestinationConfig) SetOnFailure(v *OnFailure) *DestinationConfig { + s.OnFailure = v + return s +} + +// SetOnSuccess sets the OnSuccess field's value. +func (s *DestinationConfig) SetOnSuccess(v *OnSuccess) *DestinationConfig { + s.OnSuccess = v + return s +} + // A function's environment variable settings. type Environment struct { _ struct{} `type:"structure"` @@ -5643,7 +6303,9 @@ func (s *EnvironmentError) SetMessage(v string) *EnvironmentError { return s } -// The results of a configuration update that applied environment variables. +// The results of an operation to update or read environment variables. If the +// operation is successful, the response contains the environment variables. +// If it failed, the response contains details about the error. type EnvironmentResponse struct { _ struct{} `type:"structure"` @@ -5684,25 +6346,46 @@ type EventSourceMappingConfiguration struct { // The maximum number of items to retrieve in a single batch. BatchSize *int64 `min:"1" type:"integer"` + // (Streams) If the function returns an error, split the batch in two and retry. + BisectBatchOnFunctionError *bool `type:"boolean"` + + // (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded + // records. + DestinationConfig *DestinationConfig `type:"structure"` + // The Amazon Resource Name (ARN) of the event source. EventSourceArn *string `type:"string"` // The ARN of the Lambda function. FunctionArn *string `type:"string"` - // The date that the event source mapping was last updated. + // The date that the event source mapping was last updated, or its state changed. LastModified *time.Time `type:"timestamp"` // The result of the last AWS Lambda invocation of your Lambda function. LastProcessingResult *string `type:"string"` + // The maximum amount of time to gather records before invoking the function, + // in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` + // (Streams) The maximum age of a record that Lambda sends to a function for + // processing. + MaximumRecordAgeInSeconds *int64 `min:"60" type:"integer"` + + // (Streams) The maximum number of times to retry when the function returns + // an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // (Streams) The number of batches to process from each shard concurrently. + ParallelizationFactor *int64 `min:"1" type:"integer"` + // The state of the event source mapping. It can be one of the following: Creating, // Enabling, Enabled, Disabling, Disabled, Updating, or Deleting. State *string `type:"string"` - // The cause of the last state change, either User initiated or Lambda initiated. + // Indicates whether the last change to the event source mapping was made by + // a user, or by the Lambda service. StateTransitionReason *string `type:"string"` // The identifier of the event source mapping. @@ -5725,6 +6408,18 @@ func (s *EventSourceMappingConfiguration) SetBatchSize(v int64) *EventSourceMapp return s } +// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value. +func (s *EventSourceMappingConfiguration) SetBisectBatchOnFunctionError(v bool) *EventSourceMappingConfiguration { + s.BisectBatchOnFunctionError = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *EventSourceMappingConfiguration) SetDestinationConfig(v *DestinationConfig) *EventSourceMappingConfiguration { + s.DestinationConfig = v + return s +} + // SetEventSourceArn sets the EventSourceArn field's value. func (s *EventSourceMappingConfiguration) SetEventSourceArn(v string) *EventSourceMappingConfiguration { s.EventSourceArn = &v @@ -5755,6 +6450,24 @@ func (s *EventSourceMappingConfiguration) SetMaximumBatchingWindowInSeconds(v in return s } +// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value. +func (s *EventSourceMappingConfiguration) SetMaximumRecordAgeInSeconds(v int64) *EventSourceMappingConfiguration { + s.MaximumRecordAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *EventSourceMappingConfiguration) SetMaximumRetryAttempts(v int64) *EventSourceMappingConfiguration { + s.MaximumRetryAttempts = &v + return s +} + +// SetParallelizationFactor sets the ParallelizationFactor field's value. +func (s *EventSourceMappingConfiguration) SetParallelizationFactor(v int64) *EventSourceMappingConfiguration { + s.ParallelizationFactor = &v + return s +} + // SetState sets the State field's value. func (s *EventSourceMappingConfiguration) SetState(v string) *EventSourceMappingConfiguration { s.State = &v @@ -5910,13 +6623,22 @@ type FunctionConfiguration struct { Handler *string `type:"string"` // The KMS key that's used to encrypt the function's environment variables. - // This key is only returned if you've configured a customer-managed CMK. + // This key is only returned if you've configured a customer managed CMK. KMSKeyArn *string `type:"string"` // The date and time that the function was last updated, in ISO-8601 format // (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). LastModified *string `type:"string"` + // The status of the last update that was performed on the function. + LastUpdateStatus *string `type:"string" enum:"LastUpdateStatus"` + + // The reason for the last update that was performed on the function. + LastUpdateStatusReason *string `type:"string"` + + // The reason code for the last update that was performed on the function. + LastUpdateStatusReasonCode *string `type:"string" enum:"LastUpdateStatusReasonCode"` + // The function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). Layers []*Layer `type:"list"` @@ -5935,6 +6657,17 @@ type FunctionConfiguration struct { // The runtime environment for the Lambda function. Runtime *string `type:"string" enum:"Runtime"` + // The current state of the function. When the state is Inactive, you can reactivate + // the function by invoking it. + State *string `type:"string" enum:"State"` + + // The reason for the function's current state. + StateReason *string `type:"string"` + + // The reason code for the function's current state. When the code is Creating, + // you can't invoke or modify the function. + StateReasonCode *string `type:"string" enum:"StateReasonCode"` + // The amount of time that Lambda allows a function to run before stopping it. Timeout *int64 `min:"1" type:"integer"` @@ -6018,6 +6751,24 @@ func (s *FunctionConfiguration) SetLastModified(v string) *FunctionConfiguration return s } +// SetLastUpdateStatus sets the LastUpdateStatus field's value. +func (s *FunctionConfiguration) SetLastUpdateStatus(v string) *FunctionConfiguration { + s.LastUpdateStatus = &v + return s +} + +// SetLastUpdateStatusReason sets the LastUpdateStatusReason field's value. +func (s *FunctionConfiguration) SetLastUpdateStatusReason(v string) *FunctionConfiguration { + s.LastUpdateStatusReason = &v + return s +} + +// SetLastUpdateStatusReasonCode sets the LastUpdateStatusReasonCode field's value. +func (s *FunctionConfiguration) SetLastUpdateStatusReasonCode(v string) *FunctionConfiguration { + s.LastUpdateStatusReasonCode = &v + return s +} + // SetLayers sets the Layers field's value. func (s *FunctionConfiguration) SetLayers(v []*Layer) *FunctionConfiguration { s.Layers = v @@ -6054,6 +6805,24 @@ func (s *FunctionConfiguration) SetRuntime(v string) *FunctionConfiguration { return s } +// SetState sets the State field's value. +func (s *FunctionConfiguration) SetState(v string) *FunctionConfiguration { + s.State = &v + return s +} + +// SetStateReason sets the StateReason field's value. +func (s *FunctionConfiguration) SetStateReason(v string) *FunctionConfiguration { + s.StateReason = &v + return s +} + +// SetStateReasonCode sets the StateReasonCode field's value. +func (s *FunctionConfiguration) SetStateReasonCode(v string) *FunctionConfiguration { + s.StateReasonCode = &v + return s +} + // SetTimeout sets the Timeout field's value. func (s *FunctionConfiguration) SetTimeout(v int64) *FunctionConfiguration { s.Timeout = &v @@ -6078,6 +6847,75 @@ func (s *FunctionConfiguration) SetVpcConfig(v *VpcConfigResponse) *FunctionConf return s } +type FunctionEventInvokeConfig struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s FunctionEventInvokeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FunctionEventInvokeConfig) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *FunctionEventInvokeConfig) SetDestinationConfig(v *DestinationConfig) *FunctionEventInvokeConfig { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *FunctionEventInvokeConfig) SetFunctionArn(v string) *FunctionEventInvokeConfig { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *FunctionEventInvokeConfig) SetLastModified(v time.Time) *FunctionEventInvokeConfig { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *FunctionEventInvokeConfig) SetMaximumEventAgeInSeconds(v int64) *FunctionEventInvokeConfig { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *FunctionEventInvokeConfig) SetMaximumRetryAttempts(v int64) *FunctionEventInvokeConfig { + s.MaximumRetryAttempts = &v + return s +} + type GetAccountSettingsInput struct { _ struct{} `type:"structure"` } @@ -6300,6 +7138,140 @@ func (s *GetFunctionConfigurationInput) SetQualifier(v string) *GetFunctionConfi return s } +type GetFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionName sets the FunctionName field's value. +func (s *GetFunctionEventInvokeConfigInput) SetFunctionName(v string) *GetFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *GetFunctionEventInvokeConfigInput) SetQualifier(v string) *GetFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type GetFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s GetFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *GetFunctionEventInvokeConfigOutput { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *GetFunctionEventInvokeConfigOutput { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *GetFunctionEventInvokeConfigOutput { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *GetFunctionEventInvokeConfigOutput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *GetFunctionEventInvokeConfigOutput { + s.MaximumRetryAttempts = &v + return s +} + type GetFunctionInput struct { _ struct{} `type:"structure"` @@ -7643,38 +8615,52 @@ func (s *ListEventSourceMappingsOutput) SetNextMarker(v string) *ListEventSource return s } -type ListFunctionsInput struct { +type ListFunctionEventInvokeConfigsInput struct { _ struct{} `type:"structure"` - // Set to ALL to include entries for all published versions of each function. - FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" type:"string" enum:"FunctionVersion"` + // The name of the Lambda function. + // + // Name formats + // + // * Function name - my-function. + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // The length constraint applies only to the full ARN. If you specify only the + // function name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Specify the pagination token that's returned by a previous request to retrieve // the next page of results. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // For Lambda@Edge functions, the AWS Region of the master function. For example, - // us-east-2 or ALL. If specified, you must set FunctionVersion to ALL. - MasterRegion *string `location:"querystring" locationName:"MasterRegion" type:"string"` - - // Specify a value between 1 and 50 to limit the number of functions in the - // response. + // The maximum number of configurations to return. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } // String returns the string representation -func (s ListFunctionsInput) String() string { +func (s ListFunctionEventInvokeConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFunctionsInput) GoString() string { +func (s ListFunctionEventInvokeConfigsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListFunctionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"} +func (s *ListFunctionEventInvokeConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFunctionEventInvokeConfigsInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } @@ -7685,80 +8671,172 @@ func (s *ListFunctionsInput) Validate() error { return nil } -// SetFunctionVersion sets the FunctionVersion field's value. -func (s *ListFunctionsInput) SetFunctionVersion(v string) *ListFunctionsInput { - s.FunctionVersion = &v +// SetFunctionName sets the FunctionName field's value. +func (s *ListFunctionEventInvokeConfigsInput) SetFunctionName(v string) *ListFunctionEventInvokeConfigsInput { + s.FunctionName = &v return s } // SetMarker sets the Marker field's value. -func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput { +func (s *ListFunctionEventInvokeConfigsInput) SetMarker(v string) *ListFunctionEventInvokeConfigsInput { s.Marker = &v return s } -// SetMasterRegion sets the MasterRegion field's value. -func (s *ListFunctionsInput) SetMasterRegion(v string) *ListFunctionsInput { - s.MasterRegion = &v - return s -} - // SetMaxItems sets the MaxItems field's value. -func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput { +func (s *ListFunctionEventInvokeConfigsInput) SetMaxItems(v int64) *ListFunctionEventInvokeConfigsInput { s.MaxItems = &v return s } -// A list of Lambda functions. -type ListFunctionsOutput struct { +type ListFunctionEventInvokeConfigsOutput struct { _ struct{} `type:"structure"` - // A list of Lambda functions. - Functions []*FunctionConfiguration `type:"list"` + // A list of configurations. + FunctionEventInvokeConfigs []*FunctionEventInvokeConfig `type:"list"` // The pagination token that's included if more results are available. NextMarker *string `type:"string"` } // String returns the string representation -func (s ListFunctionsOutput) String() string { +func (s ListFunctionEventInvokeConfigsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFunctionsOutput) GoString() string { +func (s ListFunctionEventInvokeConfigsOutput) GoString() string { return s.String() } -// SetFunctions sets the Functions field's value. -func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput { - s.Functions = v +// SetFunctionEventInvokeConfigs sets the FunctionEventInvokeConfigs field's value. +func (s *ListFunctionEventInvokeConfigsOutput) SetFunctionEventInvokeConfigs(v []*FunctionEventInvokeConfig) *ListFunctionEventInvokeConfigsOutput { + s.FunctionEventInvokeConfigs = v return s } // SetNextMarker sets the NextMarker field's value. -func (s *ListFunctionsOutput) SetNextMarker(v string) *ListFunctionsOutput { +func (s *ListFunctionEventInvokeConfigsOutput) SetNextMarker(v string) *ListFunctionEventInvokeConfigsOutput { s.NextMarker = &v return s } -type ListLayerVersionsInput struct { +type ListFunctionsInput struct { _ struct{} `type:"structure"` - // A runtime identifier. For example, go1.x. - CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"` - - // The name or Amazon Resource Name (ARN) of the layer. - // - // LayerName is a required field - LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` + // Set to ALL to include entries for all published versions of each function. + FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" type:"string" enum:"FunctionVersion"` - // A pagination token returned by a previous call. + // Specify the pagination token that's returned by a previous request to retrieve + // the next page of results. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The maximum number of versions to return. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` -} + // For Lambda@Edge functions, the AWS Region of the master function. For example, + // us-east-2 or ALL. If specified, you must set FunctionVersion to ALL. + MasterRegion *string `location:"querystring" locationName:"MasterRegion" type:"string"` + + // Specify a value between 1 and 50 to limit the number of functions in the + // response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ListFunctionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFunctionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFunctionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"} + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionVersion sets the FunctionVersion field's value. +func (s *ListFunctionsInput) SetFunctionVersion(v string) *ListFunctionsInput { + s.FunctionVersion = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput { + s.Marker = &v + return s +} + +// SetMasterRegion sets the MasterRegion field's value. +func (s *ListFunctionsInput) SetMasterRegion(v string) *ListFunctionsInput { + s.MasterRegion = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput { + s.MaxItems = &v + return s +} + +// A list of Lambda functions. +type ListFunctionsOutput struct { + _ struct{} `type:"structure"` + + // A list of Lambda functions. + Functions []*FunctionConfiguration `type:"list"` + + // The pagination token that's included if more results are available. + NextMarker *string `type:"string"` +} + +// String returns the string representation +func (s ListFunctionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFunctionsOutput) GoString() string { + return s.String() +} + +// SetFunctions sets the Functions field's value. +func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput { + s.Functions = v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListFunctionsOutput) SetNextMarker(v string) *ListFunctionsOutput { + s.NextMarker = &v + return s +} + +type ListLayerVersionsInput struct { + _ struct{} `type:"structure"` + + // A runtime identifier. For example, go1.x. + CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"` + + // The name or Amazon Resource Name (ARN) of the layer. + // + // LayerName is a required field + LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` + + // A pagination token returned by a previous call. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of versions to return. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` +} // String returns the string representation func (s ListLayerVersionsInput) String() string { @@ -8101,6 +9179,54 @@ func (s *ListVersionsByFunctionOutput) SetVersions(v []*FunctionConfiguration) * return s } +// A destination for events that failed processing. +type OnFailure struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination resource. + Destination *string `type:"string"` +} + +// String returns the string representation +func (s OnFailure) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OnFailure) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *OnFailure) SetDestination(v string) *OnFailure { + s.Destination = &v + return s +} + +// A destination for events that were processed successfully. +type OnSuccess struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination resource. + Destination *string `type:"string"` +} + +// String returns the string representation +func (s OnSuccess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OnSuccess) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *OnSuccess) SetDestination(v string) *OnSuccess { + s.Destination = &v + return s +} + type PublishLayerVersionInput struct { _ struct{} `type:"structure"` @@ -8458,6 +9584,180 @@ func (s *PutFunctionConcurrencyOutput) SetReservedConcurrentExecutions(v int64) return s } +type PutFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s PutFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *PutFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigInput { + s.DestinationConfig = v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *PutFunctionEventInvokeConfigInput) SetFunctionName(v string) *PutFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *PutFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigInput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *PutFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *PutFunctionEventInvokeConfigInput) SetQualifier(v string) *PutFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type PutFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s PutFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigOutput { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *PutFunctionEventInvokeConfigOutput { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *PutFunctionEventInvokeConfigOutput { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigOutput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigOutput { + s.MaximumRetryAttempts = &v + return s +} + type RemoveLayerVersionPermissionInput struct { _ struct{} `type:"structure"` @@ -8971,6 +10271,13 @@ type UpdateEventSourceMappingInput struct { // * Amazon Simple Queue Service - Default 10. Max 10. BatchSize *int64 `min:"1" type:"integer"` + // (Streams) If the function returns an error, split the batch in two and retry. + BisectBatchOnFunctionError *bool `type:"boolean"` + + // (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded + // records. + DestinationConfig *DestinationConfig `type:"structure"` + // Disables the event source mapping to pause polling and invocation. Enabled *bool `type:"boolean"` @@ -8990,8 +10297,21 @@ type UpdateEventSourceMappingInput struct { // function name, it's limited to 64 characters in length. FunctionName *string `min:"1" type:"string"` + // The maximum amount of time to gather records before invoking the function, + // in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` + // (Streams) The maximum age of a record that Lambda sends to a function for + // processing. + MaximumRecordAgeInSeconds *int64 `min:"60" type:"integer"` + + // (Streams) The maximum number of times to retry when the function returns + // an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // (Streams) The number of batches to process from each shard concurrently. + ParallelizationFactor *int64 `min:"1" type:"integer"` + // The identifier of the event source mapping. // // UUID is a required field @@ -9017,6 +10337,12 @@ func (s *UpdateEventSourceMappingInput) Validate() error { if s.FunctionName != nil && len(*s.FunctionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } + if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", 60)) + } + if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1)) + } if s.UUID == nil { invalidParams.Add(request.NewErrParamRequired("UUID")) } @@ -9036,6 +10362,18 @@ func (s *UpdateEventSourceMappingInput) SetBatchSize(v int64) *UpdateEventSource return s } +// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value. +func (s *UpdateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *UpdateEventSourceMappingInput { + s.BisectBatchOnFunctionError = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *UpdateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *UpdateEventSourceMappingInput { + s.DestinationConfig = v + return s +} + // SetEnabled sets the Enabled field's value. func (s *UpdateEventSourceMappingInput) SetEnabled(v bool) *UpdateEventSourceMappingInput { s.Enabled = &v @@ -9054,6 +10392,24 @@ func (s *UpdateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int6 return s } +// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value. +func (s *UpdateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *UpdateEventSourceMappingInput { + s.MaximumRecordAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *UpdateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *UpdateEventSourceMappingInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetParallelizationFactor sets the ParallelizationFactor field's value. +func (s *UpdateEventSourceMappingInput) SetParallelizationFactor(v int64) *UpdateEventSourceMappingInput { + s.ParallelizationFactor = &v + return s +} + // SetUUID sets the UUID field's value. func (s *UpdateEventSourceMappingInput) SetUUID(v string) *UpdateEventSourceMappingInput { s.UUID = &v @@ -9197,7 +10553,7 @@ type UpdateFunctionConfigurationInput struct { // A dead letter queue configuration that specifies the queue or topic where // Lambda sends asynchronous events when they fail processing. For more information, - // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). + // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq). DeadLetterConfig *DeadLetterConfig `type:"structure"` // A description of the function. @@ -9265,7 +10621,7 @@ type UpdateFunctionConfigurationInput struct { // For network connectivity to AWS resources in a VPC, specify a list of security // groups and subnets in the VPC. When you connect a function to a VPC, it can // only access resources and the internet through that VPC. For more information, - // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/vpc.html). + // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). VpcConfig *VpcConfig `type:"structure"` } @@ -9385,7 +10741,182 @@ func (s *UpdateFunctionConfigurationInput) SetVpcConfig(v *VpcConfig) *UpdateFun return s } +type UpdateFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigInput { + s.DestinationConfig = v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetFunctionName(v string) *UpdateFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigInput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetQualifier(v string) *UpdateFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type UpdateFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s UpdateFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigOutput { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *UpdateFunctionEventInvokeConfigOutput { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *UpdateFunctionEventInvokeConfigOutput { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigOutput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigOutput { + s.MaximumRetryAttempts = &v + return s +} + // The VPC security groups and subnets that are attached to a Lambda function. +// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). type VpcConfig struct { _ struct{} `type:"structure"` @@ -9487,6 +11018,31 @@ const ( InvocationTypeDryRun = "DryRun" ) +const ( + // LastUpdateStatusSuccessful is a LastUpdateStatus enum value + LastUpdateStatusSuccessful = "Successful" + + // LastUpdateStatusFailed is a LastUpdateStatus enum value + LastUpdateStatusFailed = "Failed" + + // LastUpdateStatusInProgress is a LastUpdateStatus enum value + LastUpdateStatusInProgress = "InProgress" +) + +const ( + // LastUpdateStatusReasonCodeEniLimitExceeded is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeEniLimitExceeded = "EniLimitExceeded" + + // LastUpdateStatusReasonCodeInsufficientRolePermissions is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions" + + // LastUpdateStatusReasonCodeInvalidConfiguration is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeInvalidConfiguration = "InvalidConfiguration" + + // LastUpdateStatusReasonCodeInternalError is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeInternalError = "InternalError" +) + const ( // LogTypeNone is a LogType enum value LogTypeNone = "None" @@ -9554,6 +11110,46 @@ const ( RuntimeProvided = "provided" ) +const ( + // StatePending is a State enum value + StatePending = "Pending" + + // StateActive is a State enum value + StateActive = "Active" + + // StateInactive is a State enum value + StateInactive = "Inactive" + + // StateFailed is a State enum value + StateFailed = "Failed" +) + +const ( + // StateReasonCodeIdle is a StateReasonCode enum value + StateReasonCodeIdle = "Idle" + + // StateReasonCodeCreating is a StateReasonCode enum value + StateReasonCodeCreating = "Creating" + + // StateReasonCodeRestoring is a StateReasonCode enum value + StateReasonCodeRestoring = "Restoring" + + // StateReasonCodeEniLimitExceeded is a StateReasonCode enum value + StateReasonCodeEniLimitExceeded = "EniLimitExceeded" + + // StateReasonCodeInsufficientRolePermissions is a StateReasonCode enum value + StateReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions" + + // StateReasonCodeInvalidConfiguration is a StateReasonCode enum value + StateReasonCodeInvalidConfiguration = "InvalidConfiguration" + + // StateReasonCodeInternalError is a StateReasonCode enum value + StateReasonCodeInternalError = "InternalError" + + // StateReasonCodeSubnetOutOfIpaddresses is a StateReasonCode enum value + StateReasonCodeSubnetOutOfIpaddresses = "SubnetOutOfIPAddresses" +) + const ( // ThrottleReasonConcurrentInvocationLimitExceeded is a ThrottleReason enum value ThrottleReasonConcurrentInvocationLimitExceeded = "ConcurrentInvocationLimitExceeded" diff --git a/service/lambda/errors.go b/service/lambda/errors.go index e062a386c34..1a7e62ebfd1 100644 --- a/service/lambda/errors.go +++ b/service/lambda/errors.go @@ -33,17 +33,15 @@ const ( // ErrCodeENILimitReachedException for service response error code // "ENILimitReachedException". // - // AWS Lambda was not able to create an Elastic Network Interface (ENI) in the - // VPC, specified as part of Lambda function configuration, because the limit - // for network interfaces has been reached. + // AWS Lambda was not able to create an elastic network interface in the VPC, + // specified as part of Lambda function configuration, because the limit for + // network interfaces has been reached. ErrCodeENILimitReachedException = "ENILimitReachedException" // ErrCodeInvalidParameterValueException for service response error code // "InvalidParameterValueException". // - // One of the parameters in the request is invalid. For example, if you provided - // an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration - // API, that AWS Lambda is unable to assume you will get this exception. + // One of the parameters in the request is invalid. ErrCodeInvalidParameterValueException = "InvalidParameterValueException" // ErrCodeInvalidRequestContentException for service response error code @@ -129,7 +127,7 @@ const ( // ErrCodeResourceConflictException for service response error code // "ResourceConflictException". // - // The resource already exists. + // The resource already exists, or another operation is in progress. ErrCodeResourceConflictException = "ResourceConflictException" // ErrCodeResourceInUseException for service response error code @@ -143,10 +141,16 @@ const ( // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // The resource (for example, a Lambda function or access policy statement) - // specified in the request does not exist. + // The resource specified in the request does not exist. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeResourceNotReadyException for service response error code + // "ResourceNotReadyException". + // + // The function is inactive and its VPC connection is no longer available. Wait + // for the VPC connection to reestablish and try again. + ErrCodeResourceNotReadyException = "ResourceNotReadyException" + // ErrCodeServiceException for service response error code // "ServiceException". // @@ -163,7 +167,7 @@ const ( // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". // - // Request throughput limit exceeded. + // The request throughput limit was exceeded. ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnsupportedMediaTypeException for service response error code diff --git a/service/lambda/examples_test.go b/service/lambda/examples_test.go index ecb8e0cc58e..29be7bcdee7 100644 --- a/service/lambda/examples_test.go +++ b/service/lambda/examples_test.go @@ -494,6 +494,10 @@ func ExampleLambda_Invoke_shared00() { fmt.Println(lambda.ErrCodeKMSNotFoundException, aerr.Error()) case lambda.ErrCodeInvalidRuntimeException: fmt.Println(lambda.ErrCodeInvalidRuntimeException, aerr.Error()) + case lambda.ErrCodeResourceConflictException: + fmt.Println(lambda.ErrCodeResourceConflictException, aerr.Error()) + case lambda.ErrCodeResourceNotReadyException: + fmt.Println(lambda.ErrCodeResourceNotReadyException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -530,6 +534,8 @@ func ExampleLambda_InvokeAsync_shared00() { fmt.Println(lambda.ErrCodeInvalidRequestContentException, aerr.Error()) case lambda.ErrCodeInvalidRuntimeException: fmt.Println(lambda.ErrCodeInvalidRuntimeException, aerr.Error()) + case lambda.ErrCodeResourceConflictException: + fmt.Println(lambda.ErrCodeResourceConflictException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -680,6 +686,8 @@ func ExampleLambda_PublishVersion_shared00() { fmt.Println(lambda.ErrCodeCodeStorageExceededException, aerr.Error()) case lambda.ErrCodePreconditionFailedException: fmt.Println(lambda.ErrCodePreconditionFailedException, aerr.Error()) + case lambda.ErrCodeResourceConflictException: + fmt.Println(lambda.ErrCodeResourceConflictException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -759,6 +767,8 @@ func ExampleLambda_UpdateAlias_shared00() { fmt.Println(lambda.ErrCodeTooManyRequestsException, aerr.Error()) case lambda.ErrCodePreconditionFailedException: fmt.Println(lambda.ErrCodePreconditionFailedException, aerr.Error()) + case lambda.ErrCodeResourceConflictException: + fmt.Println(lambda.ErrCodeResourceConflictException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -845,6 +855,8 @@ func ExampleLambda_UpdateFunctionCode_shared00() { fmt.Println(lambda.ErrCodeCodeStorageExceededException, aerr.Error()) case lambda.ErrCodePreconditionFailedException: fmt.Println(lambda.ErrCodePreconditionFailedException, aerr.Error()) + case lambda.ErrCodeResourceConflictException: + fmt.Println(lambda.ErrCodeResourceConflictException, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/lambda/lambdaiface/interface.go b/service/lambda/lambdaiface/interface.go index 8ee3aacff6e..d89cd71949a 100644 --- a/service/lambda/lambdaiface/interface.go +++ b/service/lambda/lambdaiface/interface.go @@ -96,6 +96,10 @@ type LambdaAPI interface { DeleteFunctionConcurrencyWithContext(aws.Context, *lambda.DeleteFunctionConcurrencyInput, ...request.Option) (*lambda.DeleteFunctionConcurrencyOutput, error) DeleteFunctionConcurrencyRequest(*lambda.DeleteFunctionConcurrencyInput) (*request.Request, *lambda.DeleteFunctionConcurrencyOutput) + DeleteFunctionEventInvokeConfig(*lambda.DeleteFunctionEventInvokeConfigInput) (*lambda.DeleteFunctionEventInvokeConfigOutput, error) + DeleteFunctionEventInvokeConfigWithContext(aws.Context, *lambda.DeleteFunctionEventInvokeConfigInput, ...request.Option) (*lambda.DeleteFunctionEventInvokeConfigOutput, error) + DeleteFunctionEventInvokeConfigRequest(*lambda.DeleteFunctionEventInvokeConfigInput) (*request.Request, *lambda.DeleteFunctionEventInvokeConfigOutput) + DeleteLayerVersion(*lambda.DeleteLayerVersionInput) (*lambda.DeleteLayerVersionOutput, error) DeleteLayerVersionWithContext(aws.Context, *lambda.DeleteLayerVersionInput, ...request.Option) (*lambda.DeleteLayerVersionOutput, error) DeleteLayerVersionRequest(*lambda.DeleteLayerVersionInput) (*request.Request, *lambda.DeleteLayerVersionOutput) @@ -120,6 +124,10 @@ type LambdaAPI interface { GetFunctionConfigurationWithContext(aws.Context, *lambda.GetFunctionConfigurationInput, ...request.Option) (*lambda.FunctionConfiguration, error) GetFunctionConfigurationRequest(*lambda.GetFunctionConfigurationInput) (*request.Request, *lambda.FunctionConfiguration) + GetFunctionEventInvokeConfig(*lambda.GetFunctionEventInvokeConfigInput) (*lambda.GetFunctionEventInvokeConfigOutput, error) + GetFunctionEventInvokeConfigWithContext(aws.Context, *lambda.GetFunctionEventInvokeConfigInput, ...request.Option) (*lambda.GetFunctionEventInvokeConfigOutput, error) + GetFunctionEventInvokeConfigRequest(*lambda.GetFunctionEventInvokeConfigInput) (*request.Request, *lambda.GetFunctionEventInvokeConfigOutput) + GetLayerVersion(*lambda.GetLayerVersionInput) (*lambda.GetLayerVersionOutput, error) GetLayerVersionWithContext(aws.Context, *lambda.GetLayerVersionInput, ...request.Option) (*lambda.GetLayerVersionOutput, error) GetLayerVersionRequest(*lambda.GetLayerVersionInput) (*request.Request, *lambda.GetLayerVersionOutput) @@ -158,6 +166,13 @@ type LambdaAPI interface { ListEventSourceMappingsPages(*lambda.ListEventSourceMappingsInput, func(*lambda.ListEventSourceMappingsOutput, bool) bool) error ListEventSourceMappingsPagesWithContext(aws.Context, *lambda.ListEventSourceMappingsInput, func(*lambda.ListEventSourceMappingsOutput, bool) bool, ...request.Option) error + ListFunctionEventInvokeConfigs(*lambda.ListFunctionEventInvokeConfigsInput) (*lambda.ListFunctionEventInvokeConfigsOutput, error) + ListFunctionEventInvokeConfigsWithContext(aws.Context, *lambda.ListFunctionEventInvokeConfigsInput, ...request.Option) (*lambda.ListFunctionEventInvokeConfigsOutput, error) + ListFunctionEventInvokeConfigsRequest(*lambda.ListFunctionEventInvokeConfigsInput) (*request.Request, *lambda.ListFunctionEventInvokeConfigsOutput) + + ListFunctionEventInvokeConfigsPages(*lambda.ListFunctionEventInvokeConfigsInput, func(*lambda.ListFunctionEventInvokeConfigsOutput, bool) bool) error + ListFunctionEventInvokeConfigsPagesWithContext(aws.Context, *lambda.ListFunctionEventInvokeConfigsInput, func(*lambda.ListFunctionEventInvokeConfigsOutput, bool) bool, ...request.Option) error + ListFunctions(*lambda.ListFunctionsInput) (*lambda.ListFunctionsOutput, error) ListFunctionsWithContext(aws.Context, *lambda.ListFunctionsInput, ...request.Option) (*lambda.ListFunctionsOutput, error) ListFunctionsRequest(*lambda.ListFunctionsInput) (*request.Request, *lambda.ListFunctionsOutput) @@ -202,6 +217,10 @@ type LambdaAPI interface { PutFunctionConcurrencyWithContext(aws.Context, *lambda.PutFunctionConcurrencyInput, ...request.Option) (*lambda.PutFunctionConcurrencyOutput, error) PutFunctionConcurrencyRequest(*lambda.PutFunctionConcurrencyInput) (*request.Request, *lambda.PutFunctionConcurrencyOutput) + PutFunctionEventInvokeConfig(*lambda.PutFunctionEventInvokeConfigInput) (*lambda.PutFunctionEventInvokeConfigOutput, error) + PutFunctionEventInvokeConfigWithContext(aws.Context, *lambda.PutFunctionEventInvokeConfigInput, ...request.Option) (*lambda.PutFunctionEventInvokeConfigOutput, error) + PutFunctionEventInvokeConfigRequest(*lambda.PutFunctionEventInvokeConfigInput) (*request.Request, *lambda.PutFunctionEventInvokeConfigOutput) + RemoveLayerVersionPermission(*lambda.RemoveLayerVersionPermissionInput) (*lambda.RemoveLayerVersionPermissionOutput, error) RemoveLayerVersionPermissionWithContext(aws.Context, *lambda.RemoveLayerVersionPermissionInput, ...request.Option) (*lambda.RemoveLayerVersionPermissionOutput, error) RemoveLayerVersionPermissionRequest(*lambda.RemoveLayerVersionPermissionInput) (*request.Request, *lambda.RemoveLayerVersionPermissionOutput) @@ -234,8 +253,18 @@ type LambdaAPI interface { UpdateFunctionConfigurationWithContext(aws.Context, *lambda.UpdateFunctionConfigurationInput, ...request.Option) (*lambda.FunctionConfiguration, error) UpdateFunctionConfigurationRequest(*lambda.UpdateFunctionConfigurationInput) (*request.Request, *lambda.FunctionConfiguration) + UpdateFunctionEventInvokeConfig(*lambda.UpdateFunctionEventInvokeConfigInput) (*lambda.UpdateFunctionEventInvokeConfigOutput, error) + UpdateFunctionEventInvokeConfigWithContext(aws.Context, *lambda.UpdateFunctionEventInvokeConfigInput, ...request.Option) (*lambda.UpdateFunctionEventInvokeConfigOutput, error) + UpdateFunctionEventInvokeConfigRequest(*lambda.UpdateFunctionEventInvokeConfigInput) (*request.Request, *lambda.UpdateFunctionEventInvokeConfigOutput) + + WaitUntilFunctionActive(*lambda.GetFunctionConfigurationInput) error + WaitUntilFunctionActiveWithContext(aws.Context, *lambda.GetFunctionConfigurationInput, ...request.WaiterOption) error + WaitUntilFunctionExists(*lambda.GetFunctionInput) error WaitUntilFunctionExistsWithContext(aws.Context, *lambda.GetFunctionInput, ...request.WaiterOption) error + + WaitUntilFunctionUpdated(*lambda.GetFunctionConfigurationInput) error + WaitUntilFunctionUpdatedWithContext(aws.Context, *lambda.GetFunctionConfigurationInput, ...request.WaiterOption) error } var _ LambdaAPI = (*lambda.Lambda)(nil) diff --git a/service/lambda/waiters.go b/service/lambda/waiters.go index 8c55f9f32d1..e9ec3d44482 100644 --- a/service/lambda/waiters.go +++ b/service/lambda/waiters.go @@ -9,6 +9,62 @@ import ( "github.com/aws/aws-sdk-go/aws/request" ) +// WaitUntilFunctionActive uses the AWS Lambda API operation +// GetFunctionConfiguration to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *Lambda) WaitUntilFunctionActive(input *GetFunctionConfigurationInput) error { + return c.WaitUntilFunctionActiveWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilFunctionActiveWithContext is an extended version of WaitUntilFunctionActive. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) WaitUntilFunctionActiveWithContext(ctx aws.Context, input *GetFunctionConfigurationInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilFunctionActive", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "Active", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "Failed", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "Pending", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetFunctionConfigurationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetFunctionConfigurationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + // WaitUntilFunctionExists uses the AWS Lambda API operation // GetFunction to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will @@ -59,3 +115,59 @@ func (c *Lambda) WaitUntilFunctionExistsWithContext(ctx aws.Context, input *GetF return w.WaitWithContext(ctx) } + +// WaitUntilFunctionUpdated uses the AWS Lambda API operation +// GetFunctionConfiguration to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *Lambda) WaitUntilFunctionUpdated(input *GetFunctionConfigurationInput) error { + return c.WaitUntilFunctionUpdatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilFunctionUpdatedWithContext is an extended version of WaitUntilFunctionUpdated. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lambda) WaitUntilFunctionUpdatedWithContext(ctx aws.Context, input *GetFunctionConfigurationInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilFunctionUpdated", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "LastUpdateStatus", + Expected: "Successful", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "LastUpdateStatus", + Expected: "Failed", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "LastUpdateStatus", + Expected: "InProgress", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetFunctionConfigurationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetFunctionConfigurationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/service/lexruntimeservice/api.go b/service/lexruntimeservice/api.go index d1795c51eb9..edb1e69d19a 100644 --- a/service/lexruntimeservice/api.go +++ b/service/lexruntimeservice/api.go @@ -1592,6 +1592,9 @@ type PostContentOutput struct { // Map of key/value pairs representing the session-specific context information. SessionAttributes aws.JSONValue `location:"header" locationName:"x-amz-lex-session-attributes" type:"jsonvalue"` + // The unique identifier for the session. + SessionId *string `location:"header" locationName:"x-amz-lex-session-id" type:"string"` + // If the dialogState value is ElicitSlot, returns the name of the slot for // which Amazon Lex is eliciting a value. SlotToElicit *string `location:"header" locationName:"x-amz-lex-slot-to-elicit" type:"string"` @@ -1674,6 +1677,12 @@ func (s *PostContentOutput) SetSessionAttributes(v aws.JSONValue) *PostContentOu return s } +// SetSessionId sets the SessionId field's value. +func (s *PostContentOutput) SetSessionId(v string) *PostContentOutput { + s.SessionId = &v + return s +} + // SetSlotToElicit sets the SlotToElicit field's value. func (s *PostContentOutput) SetSlotToElicit(v string) *PostContentOutput { s.SlotToElicit = &v @@ -1915,6 +1924,9 @@ type PostTextOutput struct { // A map of key-value pairs representing the session-specific context information. SessionAttributes map[string]*string `locationName:"sessionAttributes" type:"map" sensitive:"true"` + // A unique identifier for the session. + SessionId *string `locationName:"sessionId" type:"string"` + // If the dialogState value is ElicitSlot, returns the name of the slot for // which Amazon Lex is eliciting a value. SlotToElicit *string `locationName:"slotToElicit" type:"string"` @@ -1984,6 +1996,12 @@ func (s *PostTextOutput) SetSessionAttributes(v map[string]*string) *PostTextOut return s } +// SetSessionId sets the SessionId field's value. +func (s *PostTextOutput) SetSessionId(v string) *PostTextOutput { + s.SessionId = &v + return s +} + // SetSlotToElicit sets the SlotToElicit field's value. func (s *PostTextOutput) SetSlotToElicit(v string) *PostTextOutput { s.SlotToElicit = &v diff --git a/service/mediaconvert/api.go b/service/mediaconvert/api.go index 52c43936265..c56f9e46a89 100644 --- a/service/mediaconvert/api.go +++ b/service/mediaconvert/api.go @@ -6671,6 +6671,11 @@ type DvbSubDestinationSettings struct { // burn-in and DVB-Sub font settings must match. ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + // Specify whether your DVB subtitles are standard or for hearing impaired. + // Choose hearing impaired if your subtitles include audio descriptions and + // dialogue. Choose standard if your subtitles include only dialogue. + SubtitlingType *string `locationName:"subtitlingType" type:"string" enum:"DvbSubtitlingType"` + // 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 @@ -6810,6 +6815,12 @@ func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestination return s } +// SetSubtitlingType sets the SubtitlingType field's value. +func (s *DvbSubDestinationSettings) SetSubtitlingType(v string) *DvbSubDestinationSettings { + s.SubtitlingType = &v + return s +} + // SetTeletextSpacing sets the TeletextSpacing field's value. func (s *DvbSubDestinationSettings) SetTeletextSpacing(v string) *DvbSubDestinationSettings { s.TeletextSpacing = &v @@ -17229,6 +17240,13 @@ func (s *VideoPreprocessor) SetTimecodeBurnin(v *TimecodeBurnin) *VideoPreproces type VideoSelector struct { _ struct{} `type:"structure"` + // Ignore this setting unless this input is a QuickTime animation. Specify which + // part of this input MediaConvert uses for your outputs. Leave this setting + // set to DISCARD in order to delete the alpha channel and preserve the video. + // Use REMAP_TO_LUMA for this setting to delete the video and map the alpha + // channel to the luma channel of your outputs. + AlphaBehavior *string `locationName:"alphaBehavior" type:"string" enum:"AlphaBehavior"` + // If your input video has accurate color space metadata, or if you don't know // about color space, leave this set to the default value Follow (FOLLOW). The // service will automatically detect your input color space. If your input video @@ -17312,6 +17330,12 @@ func (s *VideoSelector) Validate() error { return nil } +// SetAlphaBehavior sets the AlphaBehavior field's value. +func (s *VideoSelector) SetAlphaBehavior(v string) *VideoSelector { + s.AlphaBehavior = &v + return s +} + // SetColorSpace sets the ColorSpace field's value. func (s *VideoSelector) SetColorSpace(v string) *VideoSelector { s.ColorSpace = &v @@ -17653,6 +17677,19 @@ const ( AfdSignalingFixed = "FIXED" ) +// Ignore this setting unless this input is a QuickTime animation. Specify which +// part of this input MediaConvert uses for your outputs. Leave this setting +// set to DISCARD in order to delete the alpha channel and preserve the video. +// Use REMAP_TO_LUMA for this setting to delete the video and map the alpha +// channel to the luma channel of your outputs. +const ( + // AlphaBehaviorDiscard is a AlphaBehavior enum value + AlphaBehaviorDiscard = "DISCARD" + + // AlphaBehaviorRemapToLuma is a AlphaBehavior enum value + AlphaBehaviorRemapToLuma = "REMAP_TO_LUMA" +) + // Specify whether this set of input captions appears in your outputs in both // 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes // the captions data in two ways: it passes the 608 data through using the 608 @@ -18533,6 +18570,17 @@ const ( DvbSubtitleTeletextSpacingProportional = "PROPORTIONAL" ) +// Specify whether your DVB subtitles are standard or for hearing impaired. +// Choose hearing impaired if your subtitles include audio descriptions and +// dialogue. Choose standard if your subtitles include only dialogue. +const ( + // DvbSubtitlingTypeHearingImpaired is a DvbSubtitlingType enum value + DvbSubtitlingTypeHearingImpaired = "HEARING_IMPAIRED" + + // DvbSubtitlingTypeStandard is a DvbSubtitlingType enum value + DvbSubtitlingTypeStandard = "STANDARD" +) + // Specify the bitstream mode for the E-AC-3 stream that the encoder emits. // For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex // E). diff --git a/service/medialive/api.go b/service/medialive/api.go index 84f7d8662f6..cd765ffe674 100644 --- a/service/medialive/api.go +++ b/service/medialive/api.go @@ -372,6 +372,190 @@ func (c *MediaLive) CreateInputSecurityGroupWithContext(ctx aws.Context, input * return out, req.Send() } +const opCreateMultiplex = "CreateMultiplex" + +// CreateMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the CreateMultiplex operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMultiplex for more information on using the CreateMultiplex +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateMultiplexRequest method. +// req, resp := client.CreateMultiplexRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplex +func (c *MediaLive) CreateMultiplexRequest(input *CreateMultiplexInput) (req *request.Request, output *CreateMultiplexOutput) { + op := &request.Operation{ + Name: opCreateMultiplex, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes", + } + + if input == nil { + input = &CreateMultiplexInput{} + } + + output = &CreateMultiplexOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMultiplex API operation for AWS Elemental MediaLive. +// +// Create a new multiplex. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation CreateMultiplex for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplex +func (c *MediaLive) CreateMultiplex(input *CreateMultiplexInput) (*CreateMultiplexOutput, error) { + req, out := c.CreateMultiplexRequest(input) + return out, req.Send() +} + +// CreateMultiplexWithContext is the same as CreateMultiplex with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMultiplex for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) CreateMultiplexWithContext(ctx aws.Context, input *CreateMultiplexInput, opts ...request.Option) (*CreateMultiplexOutput, error) { + req, out := c.CreateMultiplexRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateMultiplexProgram = "CreateMultiplexProgram" + +// CreateMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the CreateMultiplexProgram operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMultiplexProgram for more information on using the CreateMultiplexProgram +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateMultiplexProgramRequest method. +// req, resp := client.CreateMultiplexProgramRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplexProgram +func (c *MediaLive) CreateMultiplexProgramRequest(input *CreateMultiplexProgramInput) (req *request.Request, output *CreateMultiplexProgramOutput) { + op := &request.Operation{ + Name: opCreateMultiplexProgram, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs", + } + + if input == nil { + input = &CreateMultiplexProgramInput{} + } + + output = &CreateMultiplexProgramOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMultiplexProgram API operation for AWS Elemental MediaLive. +// +// Create a new program in the multiplex. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation CreateMultiplexProgram for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplexProgram +func (c *MediaLive) CreateMultiplexProgram(input *CreateMultiplexProgramInput) (*CreateMultiplexProgramOutput, error) { + req, out := c.CreateMultiplexProgramRequest(input) + return out, req.Send() +} + +// CreateMultiplexProgramWithContext is the same as CreateMultiplexProgram with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMultiplexProgram for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) CreateMultiplexProgramWithContext(ctx aws.Context, input *CreateMultiplexProgramInput, opts ...request.Option) (*CreateMultiplexProgramOutput, error) { + req, out := c.CreateMultiplexProgramRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the @@ -733,58 +917,58 @@ func (c *MediaLive) DeleteInputSecurityGroupWithContext(ctx aws.Context, input * return out, req.Send() } -const opDeleteReservation = "DeleteReservation" +const opDeleteMultiplex = "DeleteMultiplex" -// DeleteReservationRequest generates a "aws/request.Request" representing the -// client's request for the DeleteReservation operation. The "output" return +// DeleteMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMultiplex operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteReservation for more information on using the DeleteReservation +// See DeleteMultiplex for more information on using the DeleteMultiplex // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteReservationRequest method. -// req, resp := client.DeleteReservationRequest(params) +// // Example sending a request using the DeleteMultiplexRequest method. +// req, resp := client.DeleteMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation -func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req *request.Request, output *DeleteReservationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplex +func (c *MediaLive) DeleteMultiplexRequest(input *DeleteMultiplexInput) (req *request.Request, output *DeleteMultiplexOutput) { op := &request.Operation{ - Name: opDeleteReservation, + Name: opDeleteMultiplex, HTTPMethod: "DELETE", - HTTPPath: "/prod/reservations/{reservationId}", + HTTPPath: "/prod/multiplexes/{multiplexId}", } if input == nil { - input = &DeleteReservationInput{} + input = &DeleteMultiplexInput{} } - output = &DeleteReservationOutput{} + output = &DeleteMultiplexOutput{} req = c.newRequest(op, input, output) return } -// DeleteReservation API operation for AWS Elemental MediaLive. +// DeleteMultiplex API operation for AWS Elemental MediaLive. // -// Delete an expired reservation. +// Delete a multiplex. The multiplex must be idle. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation DeleteReservation for usage and error information. +// API operation DeleteMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -803,81 +987,80 @@ func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req // // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation -func (c *MediaLive) DeleteReservation(input *DeleteReservationInput) (*DeleteReservationOutput, error) { - req, out := c.DeleteReservationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplex +func (c *MediaLive) DeleteMultiplex(input *DeleteMultiplexInput) (*DeleteMultiplexOutput, error) { + req, out := c.DeleteMultiplexRequest(input) return out, req.Send() } -// DeleteReservationWithContext is the same as DeleteReservation with the addition of +// DeleteMultiplexWithContext is the same as DeleteMultiplex with the addition of // the ability to pass a context and additional request options. // -// See DeleteReservation for details on how to use this API operation. +// See DeleteMultiplex for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) DeleteReservationWithContext(ctx aws.Context, input *DeleteReservationInput, opts ...request.Option) (*DeleteReservationOutput, error) { - req, out := c.DeleteReservationRequest(input) +func (c *MediaLive) DeleteMultiplexWithContext(ctx aws.Context, input *DeleteMultiplexInput, opts ...request.Option) (*DeleteMultiplexOutput, error) { + req, out := c.DeleteMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteSchedule = "DeleteSchedule" +const opDeleteMultiplexProgram = "DeleteMultiplexProgram" -// DeleteScheduleRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSchedule operation. The "output" return +// DeleteMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMultiplexProgram operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteSchedule for more information on using the DeleteSchedule +// See DeleteMultiplexProgram for more information on using the DeleteMultiplexProgram // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteScheduleRequest method. -// req, resp := client.DeleteScheduleRequest(params) +// // Example sending a request using the DeleteMultiplexProgramRequest method. +// req, resp := client.DeleteMultiplexProgramRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule -func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplexProgram +func (c *MediaLive) DeleteMultiplexProgramRequest(input *DeleteMultiplexProgramInput) (req *request.Request, output *DeleteMultiplexProgramOutput) { op := &request.Operation{ - Name: opDeleteSchedule, + Name: opDeleteMultiplexProgram, HTTPMethod: "DELETE", - HTTPPath: "/prod/channels/{channelId}/schedule", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs/{programName}", } if input == nil { - input = &DeleteScheduleInput{} + input = &DeleteMultiplexProgramInput{} } - output = &DeleteScheduleOutput{} + output = &DeleteMultiplexProgramOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteSchedule API operation for AWS Elemental MediaLive. +// DeleteMultiplexProgram API operation for AWS Elemental MediaLive. // -// Delete all schedule actions on a channel. +// Delete a program from a multiplex. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation DeleteSchedule for usage and error information. +// API operation DeleteMultiplexProgram for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -894,132 +1077,317 @@ func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *requ // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule -func (c *MediaLive) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) { - req, out := c.DeleteScheduleRequest(input) +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplexProgram +func (c *MediaLive) DeleteMultiplexProgram(input *DeleteMultiplexProgramInput) (*DeleteMultiplexProgramOutput, error) { + req, out := c.DeleteMultiplexProgramRequest(input) return out, req.Send() } -// DeleteScheduleWithContext is the same as DeleteSchedule with the addition of +// DeleteMultiplexProgramWithContext is the same as DeleteMultiplexProgram with the addition of // the ability to pass a context and additional request options. // -// See DeleteSchedule for details on how to use this API operation. +// See DeleteMultiplexProgram for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) { - req, out := c.DeleteScheduleRequest(input) +func (c *MediaLive) DeleteMultiplexProgramWithContext(ctx aws.Context, input *DeleteMultiplexProgramInput, opts ...request.Option) (*DeleteMultiplexProgramOutput, error) { + req, out := c.DeleteMultiplexProgramRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteTags = "DeleteTags" +const opDeleteReservation = "DeleteReservation" -// DeleteTagsRequest generates a "aws/request.Request" representing the -// client's request for the DeleteTags operation. The "output" return +// DeleteReservationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReservation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteTags for more information on using the DeleteTags +// See DeleteReservation for more information on using the DeleteReservation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteTagsRequest method. -// req, resp := client.DeleteTagsRequest(params) +// // Example sending a request using the DeleteReservationRequest method. +// req, resp := client.DeleteReservationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags -func (c *MediaLive) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation +func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req *request.Request, output *DeleteReservationOutput) { op := &request.Operation{ - Name: opDeleteTags, + Name: opDeleteReservation, HTTPMethod: "DELETE", - HTTPPath: "/prod/tags/{resource-arn}", + HTTPPath: "/prod/reservations/{reservationId}", } if input == nil { - input = &DeleteTagsInput{} + input = &DeleteReservationInput{} } - output = &DeleteTagsOutput{} + output = &DeleteReservationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteTags API operation for AWS Elemental MediaLive. +// DeleteReservation API operation for AWS Elemental MediaLive. // -// Removes tags for a resource +// Delete an expired reservation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation DeleteTags for usage and error information. +// API operation DeleteReservation for usage and error information. // // Returned Error Codes: -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeBadRequestException "BadRequestException" // // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags -func (c *MediaLive) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { - req, out := c.DeleteTagsRequest(input) +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation +func (c *MediaLive) DeleteReservation(input *DeleteReservationInput) (*DeleteReservationOutput, error) { + req, out := c.DeleteReservationRequest(input) return out, req.Send() } -// DeleteTagsWithContext is the same as DeleteTags with the addition of +// DeleteReservationWithContext is the same as DeleteReservation with the addition of // the ability to pass a context and additional request options. // -// See DeleteTags for details on how to use this API operation. +// See DeleteReservation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { - req, out := c.DeleteTagsRequest(input) +func (c *MediaLive) DeleteReservationWithContext(ctx aws.Context, input *DeleteReservationInput, opts ...request.Option) (*DeleteReservationOutput, error) { + req, out := c.DeleteReservationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeChannel = "DescribeChannel" +const opDeleteSchedule = "DeleteSchedule" -// DescribeChannelRequest generates a "aws/request.Request" representing the -// client's request for the DescribeChannel operation. The "output" return +// DeleteScheduleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSchedule operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeChannel for more information on using the DescribeChannel +// See DeleteSchedule for more information on using the DeleteSchedule // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeChannelRequest method. -// req, resp := client.DescribeChannelRequest(params) +// // Example sending a request using the DeleteScheduleRequest method. +// req, resp := client.DeleteScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule +func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) { + op := &request.Operation{ + Name: opDeleteSchedule, + HTTPMethod: "DELETE", + HTTPPath: "/prod/channels/{channelId}/schedule", + } + + if input == nil { + input = &DeleteScheduleInput{} + } + + output = &DeleteScheduleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSchedule API operation for AWS Elemental MediaLive. +// +// Delete all schedule actions on a channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DeleteSchedule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule +func (c *MediaLive) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) { + req, out := c.DeleteScheduleRequest(input) + return out, req.Send() +} + +// DeleteScheduleWithContext is the same as DeleteSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSchedule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) { + req, out := c.DeleteScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTags = "DeleteTags" + +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags +func (c *MediaLive) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { + op := &request.Operation{ + Name: opDeleteTags, + HTTPMethod: "DELETE", + HTTPPath: "/prod/tags/{resource-arn}", + } + + if input == nil { + input = &DeleteTagsInput{} + } + + output = &DeleteTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTags API operation for AWS Elemental MediaLive. +// +// Removes tags for a resource +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DeleteTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags +func (c *MediaLive) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + return out, req.Send() +} + +// DeleteTagsWithContext is the same as DeleteTags with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTags for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeChannel = "DescribeChannel" + +// DescribeChannelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeChannel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeChannel for more information on using the DescribeChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeChannelRequest method. +// req, resp := client.DescribeChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled @@ -1271,58 +1639,58 @@ func (c *MediaLive) DescribeInputSecurityGroupWithContext(ctx aws.Context, input return out, req.Send() } -const opDescribeOffering = "DescribeOffering" +const opDescribeMultiplex = "DescribeMultiplex" -// DescribeOfferingRequest generates a "aws/request.Request" representing the -// client's request for the DescribeOffering operation. The "output" return +// DescribeMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMultiplex operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeOffering for more information on using the DescribeOffering +// See DescribeMultiplex for more information on using the DescribeMultiplex // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeOfferingRequest method. -// req, resp := client.DescribeOfferingRequest(params) +// // Example sending a request using the DescribeMultiplexRequest method. +// req, resp := client.DescribeMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering -func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplex +func (c *MediaLive) DescribeMultiplexRequest(input *DescribeMultiplexInput) (req *request.Request, output *DescribeMultiplexOutput) { op := &request.Operation{ - Name: opDescribeOffering, + Name: opDescribeMultiplex, HTTPMethod: "GET", - HTTPPath: "/prod/offerings/{offeringId}", + HTTPPath: "/prod/multiplexes/{multiplexId}", } if input == nil { - input = &DescribeOfferingInput{} + input = &DescribeMultiplexInput{} } - output = &DescribeOfferingOutput{} + output = &DescribeMultiplexOutput{} req = c.newRequest(op, input, output) return } -// DescribeOffering API operation for AWS Elemental MediaLive. +// DescribeMultiplex API operation for AWS Elemental MediaLive. // -// Get details for an offering. +// Gets details about a multiplex. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation DescribeOffering for usage and error information. +// API operation DescribeMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -1339,80 +1707,80 @@ func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req * // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering -func (c *MediaLive) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) { - req, out := c.DescribeOfferingRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplex +func (c *MediaLive) DescribeMultiplex(input *DescribeMultiplexInput) (*DescribeMultiplexOutput, error) { + req, out := c.DescribeMultiplexRequest(input) return out, req.Send() } -// DescribeOfferingWithContext is the same as DescribeOffering with the addition of +// DescribeMultiplexWithContext is the same as DescribeMultiplex with the addition of // the ability to pass a context and additional request options. // -// See DescribeOffering for details on how to use this API operation. +// See DescribeMultiplex for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) { - req, out := c.DescribeOfferingRequest(input) +func (c *MediaLive) DescribeMultiplexWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.Option) (*DescribeMultiplexOutput, error) { + req, out := c.DescribeMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeReservation = "DescribeReservation" +const opDescribeMultiplexProgram = "DescribeMultiplexProgram" -// DescribeReservationRequest generates a "aws/request.Request" representing the -// client's request for the DescribeReservation operation. The "output" return +// DescribeMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMultiplexProgram operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeReservation for more information on using the DescribeReservation +// See DescribeMultiplexProgram for more information on using the DescribeMultiplexProgram // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeReservationRequest method. -// req, resp := client.DescribeReservationRequest(params) +// // Example sending a request using the DescribeMultiplexProgramRequest method. +// req, resp := client.DescribeMultiplexProgramRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation -func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplexProgram +func (c *MediaLive) DescribeMultiplexProgramRequest(input *DescribeMultiplexProgramInput) (req *request.Request, output *DescribeMultiplexProgramOutput) { op := &request.Operation{ - Name: opDescribeReservation, + Name: opDescribeMultiplexProgram, HTTPMethod: "GET", - HTTPPath: "/prod/reservations/{reservationId}", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs/{programName}", } if input == nil { - input = &DescribeReservationInput{} + input = &DescribeMultiplexProgramInput{} } - output = &DescribeReservationOutput{} + output = &DescribeMultiplexProgramOutput{} req = c.newRequest(op, input, output) return } -// DescribeReservation API operation for AWS Elemental MediaLive. +// DescribeMultiplexProgram API operation for AWS Elemental MediaLive. // -// Get details for a reservation. +// Get the details for a program in a multiplex. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation DescribeReservation for usage and error information. +// API operation DescribeMultiplexProgram for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -1429,86 +1797,266 @@ func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation -func (c *MediaLive) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) { - req, out := c.DescribeReservationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplexProgram +func (c *MediaLive) DescribeMultiplexProgram(input *DescribeMultiplexProgramInput) (*DescribeMultiplexProgramOutput, error) { + req, out := c.DescribeMultiplexProgramRequest(input) return out, req.Send() } -// DescribeReservationWithContext is the same as DescribeReservation with the addition of +// DescribeMultiplexProgramWithContext is the same as DescribeMultiplexProgram with the addition of // the ability to pass a context and additional request options. // -// See DescribeReservation for details on how to use this API operation. +// See DescribeMultiplexProgram for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) { - req, out := c.DescribeReservationRequest(input) +func (c *MediaLive) DescribeMultiplexProgramWithContext(ctx aws.Context, input *DescribeMultiplexProgramInput, opts ...request.Option) (*DescribeMultiplexProgramOutput, error) { + req, out := c.DescribeMultiplexProgramRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeSchedule = "DescribeSchedule" +const opDescribeOffering = "DescribeOffering" -// DescribeScheduleRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSchedule operation. The "output" return +// DescribeOfferingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOffering operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeSchedule for more information on using the DescribeSchedule +// See DescribeOffering for more information on using the DescribeOffering // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeScheduleRequest method. -// req, resp := client.DescribeScheduleRequest(params) +// // Example sending a request using the DescribeOfferingRequest method. +// req, resp := client.DescribeOfferingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule -func (c *MediaLive) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering +func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) { op := &request.Operation{ - Name: opDescribeSchedule, + Name: opDescribeOffering, HTTPMethod: "GET", - HTTPPath: "/prod/channels/{channelId}/schedule", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/prod/offerings/{offeringId}", } if input == nil { - input = &DescribeScheduleInput{} + input = &DescribeOfferingInput{} } - output = &DescribeScheduleOutput{} + output = &DescribeOfferingOutput{} req = c.newRequest(op, input, output) return } -// DescribeSchedule API operation for AWS Elemental MediaLive. +// DescribeOffering API operation for AWS Elemental MediaLive. // -// Get a channel schedule +// Get details for an offering. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation DescribeSchedule for usage and error information. +// API operation DescribeOffering for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering +func (c *MediaLive) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) { + req, out := c.DescribeOfferingRequest(input) + return out, req.Send() +} + +// DescribeOfferingWithContext is the same as DescribeOffering with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeOffering for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) { + req, out := c.DescribeOfferingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeReservation = "DescribeReservation" + +// DescribeReservationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeReservation for more information on using the DescribeReservation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeReservationRequest method. +// req, resp := client.DescribeReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation +func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) { + op := &request.Operation{ + Name: opDescribeReservation, + HTTPMethod: "GET", + HTTPPath: "/prod/reservations/{reservationId}", + } + + if input == nil { + input = &DescribeReservationInput{} + } + + output = &DescribeReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReservation API operation for AWS Elemental MediaLive. +// +// Get details for a reservation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DescribeReservation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation +func (c *MediaLive) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) { + req, out := c.DescribeReservationRequest(input) + return out, req.Send() +} + +// DescribeReservationWithContext is the same as DescribeReservation with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReservation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) { + req, out := c.DescribeReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSchedule = "DescribeSchedule" + +// DescribeScheduleRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSchedule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSchedule for more information on using the DescribeSchedule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeScheduleRequest method. +// req, resp := client.DescribeScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule +func (c *MediaLive) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) { + op := &request.Operation{ + Name: opDescribeSchedule, + HTTPMethod: "GET", + HTTPPath: "/prod/channels/{channelId}/schedule", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScheduleInput{} + } + + output = &DescribeScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSchedule API operation for AWS Elemental MediaLive. +// +// Get a channel schedule +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DescribeSchedule for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2037,37 +2585,37 @@ func (c *MediaLive) ListInputsPagesWithContext(ctx aws.Context, input *ListInput return p.Err() } -const opListOfferings = "ListOfferings" +const opListMultiplexPrograms = "ListMultiplexPrograms" -// ListOfferingsRequest generates a "aws/request.Request" representing the -// client's request for the ListOfferings operation. The "output" return +// ListMultiplexProgramsRequest generates a "aws/request.Request" representing the +// client's request for the ListMultiplexPrograms operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListOfferings for more information on using the ListOfferings +// See ListMultiplexPrograms for more information on using the ListMultiplexPrograms // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListOfferingsRequest method. -// req, resp := client.ListOfferingsRequest(params) +// // Example sending a request using the ListMultiplexProgramsRequest method. +// req, resp := client.ListMultiplexProgramsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings -func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexPrograms +func (c *MediaLive) ListMultiplexProgramsRequest(input *ListMultiplexProgramsInput) (req *request.Request, output *ListMultiplexProgramsOutput) { op := &request.Operation{ - Name: opListOfferings, + Name: opListMultiplexPrograms, HTTPMethod: "GET", - HTTPPath: "/prod/offerings", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -2077,24 +2625,24 @@ func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *reques } if input == nil { - input = &ListOfferingsInput{} + input = &ListMultiplexProgramsInput{} } - output = &ListOfferingsOutput{} + output = &ListMultiplexProgramsOutput{} req = c.newRequest(op, input, output) return } -// ListOfferings API operation for AWS Elemental MediaLive. +// ListMultiplexPrograms API operation for AWS Elemental MediaLive. // -// List offerings available for purchase. +// List the programs that currently exist for a specific multiplex. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation ListOfferings for usage and error information. +// API operation ListMultiplexPrograms for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2105,69 +2653,71 @@ func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *reques // // * ErrCodeBadGatewayException "BadGatewayException" // +// * ErrCodeNotFoundException "NotFoundException" +// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings -func (c *MediaLive) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) { - req, out := c.ListOfferingsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexPrograms +func (c *MediaLive) ListMultiplexPrograms(input *ListMultiplexProgramsInput) (*ListMultiplexProgramsOutput, error) { + req, out := c.ListMultiplexProgramsRequest(input) return out, req.Send() } -// ListOfferingsWithContext is the same as ListOfferings with the addition of +// ListMultiplexProgramsWithContext is the same as ListMultiplexPrograms with the addition of // the ability to pass a context and additional request options. // -// See ListOfferings for details on how to use this API operation. +// See ListMultiplexPrograms for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) { - req, out := c.ListOfferingsRequest(input) +func (c *MediaLive) ListMultiplexProgramsWithContext(ctx aws.Context, input *ListMultiplexProgramsInput, opts ...request.Option) (*ListMultiplexProgramsOutput, error) { + req, out := c.ListMultiplexProgramsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListOfferingsPages iterates over the pages of a ListOfferings operation, +// ListMultiplexProgramsPages iterates over the pages of a ListMultiplexPrograms operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListOfferings method for more information on how to use this operation. +// See ListMultiplexPrograms method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListOfferings operation. +// // Example iterating over at most 3 pages of a ListMultiplexPrograms operation. // pageNum := 0 -// err := client.ListOfferingsPages(params, -// func(page *medialive.ListOfferingsOutput, lastPage bool) bool { +// err := client.ListMultiplexProgramsPages(params, +// func(page *medialive.ListMultiplexProgramsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *MediaLive) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error { - return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *MediaLive) ListMultiplexProgramsPages(input *ListMultiplexProgramsInput, fn func(*ListMultiplexProgramsOutput, bool) bool) error { + return c.ListMultiplexProgramsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListOfferingsPagesWithContext same as ListOfferingsPages except +// ListMultiplexProgramsPagesWithContext same as ListMultiplexProgramsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error { +func (c *MediaLive) ListMultiplexProgramsPagesWithContext(ctx aws.Context, input *ListMultiplexProgramsInput, fn func(*ListMultiplexProgramsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListOfferingsInput + var inCpy *ListMultiplexProgramsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListOfferingsRequest(inCpy) + req, _ := c.ListMultiplexProgramsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2175,7 +2725,7 @@ func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOf } for p.Next() { - if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMultiplexProgramsOutput), !p.HasNextPage()) { break } } @@ -2183,37 +2733,37 @@ func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOf return p.Err() } -const opListReservations = "ListReservations" +const opListMultiplexes = "ListMultiplexes" -// ListReservationsRequest generates a "aws/request.Request" representing the -// client's request for the ListReservations operation. The "output" return +// ListMultiplexesRequest generates a "aws/request.Request" representing the +// client's request for the ListMultiplexes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListReservations for more information on using the ListReservations +// See ListMultiplexes for more information on using the ListMultiplexes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListReservationsRequest method. -// req, resp := client.ListReservationsRequest(params) +// // Example sending a request using the ListMultiplexesRequest method. +// req, resp := client.ListMultiplexesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations -func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexes +func (c *MediaLive) ListMultiplexesRequest(input *ListMultiplexesInput) (req *request.Request, output *ListMultiplexesOutput) { op := &request.Operation{ - Name: opListReservations, + Name: opListMultiplexes, HTTPMethod: "GET", - HTTPPath: "/prod/reservations", + HTTPPath: "/prod/multiplexes", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -2223,24 +2773,24 @@ func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req * } if input == nil { - input = &ListReservationsInput{} + input = &ListMultiplexesInput{} } - output = &ListReservationsOutput{} + output = &ListMultiplexesOutput{} req = c.newRequest(op, input, output) return } -// ListReservations API operation for AWS Elemental MediaLive. +// ListMultiplexes API operation for AWS Elemental MediaLive. // -// List purchased reservations. +// Retrieve a list of the existing multiplexes. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation ListReservations for usage and error information. +// API operation ListMultiplexes for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2255,65 +2805,65 @@ func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req * // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations -func (c *MediaLive) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) { - req, out := c.ListReservationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexes +func (c *MediaLive) ListMultiplexes(input *ListMultiplexesInput) (*ListMultiplexesOutput, error) { + req, out := c.ListMultiplexesRequest(input) return out, req.Send() } -// ListReservationsWithContext is the same as ListReservations with the addition of +// ListMultiplexesWithContext is the same as ListMultiplexes with the addition of // the ability to pass a context and additional request options. // -// See ListReservations for details on how to use this API operation. +// See ListMultiplexes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) { - req, out := c.ListReservationsRequest(input) +func (c *MediaLive) ListMultiplexesWithContext(ctx aws.Context, input *ListMultiplexesInput, opts ...request.Option) (*ListMultiplexesOutput, error) { + req, out := c.ListMultiplexesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListReservationsPages iterates over the pages of a ListReservations operation, +// ListMultiplexesPages iterates over the pages of a ListMultiplexes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListReservations method for more information on how to use this operation. +// See ListMultiplexes method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListReservations operation. +// // Example iterating over at most 3 pages of a ListMultiplexes operation. // pageNum := 0 -// err := client.ListReservationsPages(params, -// func(page *medialive.ListReservationsOutput, lastPage bool) bool { +// err := client.ListMultiplexesPages(params, +// func(page *medialive.ListMultiplexesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *MediaLive) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error { - return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *MediaLive) ListMultiplexesPages(input *ListMultiplexesInput, fn func(*ListMultiplexesOutput, bool) bool) error { + return c.ListMultiplexesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListReservationsPagesWithContext same as ListReservationsPages except +// ListMultiplexesPagesWithContext same as ListMultiplexesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error { +func (c *MediaLive) ListMultiplexesPagesWithContext(ctx aws.Context, input *ListMultiplexesInput, fn func(*ListMultiplexesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListReservationsInput + var inCpy *ListMultiplexesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListReservationsRequest(inCpy) + req, _ := c.ListMultiplexesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2321,7 +2871,7 @@ func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListReservationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMultiplexesOutput), !p.HasNextPage()) { break } } @@ -2329,142 +2879,210 @@ func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListOfferings = "ListOfferings" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the ListOfferings operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListOfferings for more information on using the ListOfferings // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListOfferingsRequest method. +// req, resp := client.ListOfferingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource -func (c *MediaLive) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings +func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListOfferings, HTTPMethod: "GET", - HTTPPath: "/prod/tags/{resource-arn}", + HTTPPath: "/prod/offerings", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListOfferingsInput{} } - output = &ListTagsForResourceOutput{} + output = &ListOfferingsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS Elemental MediaLive. +// ListOfferings API operation for AWS Elemental MediaLive. // -// Produces list of tags that have been created for a resource +// List offerings available for purchase. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation ListTagsForResource for usage and error information. +// API operation ListOfferings for usage and error information. // // Returned Error Codes: -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeBadRequestException "BadRequestException" // // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource -func (c *MediaLive) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings +func (c *MediaLive) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) { + req, out := c.ListOfferingsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListOfferingsWithContext is the same as ListOfferings with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListOfferings for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *MediaLive) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) { + req, out := c.ListOfferingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPurchaseOffering = "PurchaseOffering" +// ListOfferingsPages iterates over the pages of a ListOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOfferings method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListOfferings operation. +// pageNum := 0 +// err := client.ListOfferingsPages(params, +// func(page *medialive.ListOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error { + return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PurchaseOfferingRequest generates a "aws/request.Request" representing the -// client's request for the PurchaseOffering operation. The "output" return +// ListOfferingsPagesWithContext same as ListOfferingsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOfferingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOfferingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListReservations = "ListReservations" + +// ListReservationsRequest generates a "aws/request.Request" representing the +// client's request for the ListReservations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PurchaseOffering for more information on using the PurchaseOffering +// See ListReservations for more information on using the ListReservations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PurchaseOfferingRequest method. -// req, resp := client.PurchaseOfferingRequest(params) +// // Example sending a request using the ListReservationsRequest method. +// req, resp := client.ListReservationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering -func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations +func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) { op := &request.Operation{ - Name: opPurchaseOffering, - HTTPMethod: "POST", - HTTPPath: "/prod/offerings/{offeringId}/purchase", + Name: opListReservations, + HTTPMethod: "GET", + HTTPPath: "/prod/reservations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &PurchaseOfferingInput{} + input = &ListReservationsInput{} } - output = &PurchaseOfferingOutput{} + output = &ListReservationsOutput{} req = c.newRequest(op, input, output) return } -// PurchaseOffering API operation for AWS Elemental MediaLive. +// ListReservations API operation for AWS Elemental MediaLive. // -// Purchase an offering and create a reservation. +// List purchased reservations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation PurchaseOffering for usage and error information. +// API operation ListReservations for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2475,180 +3093,220 @@ func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req * // // * ErrCodeBadGatewayException "BadGatewayException" // -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// * ErrCodeConflictException "ConflictException" -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering -func (c *MediaLive) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) { - req, out := c.PurchaseOfferingRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations +func (c *MediaLive) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) { + req, out := c.ListReservationsRequest(input) return out, req.Send() } -// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of +// ListReservationsWithContext is the same as ListReservations with the addition of // the ability to pass a context and additional request options. // -// See PurchaseOffering for details on how to use this API operation. +// See ListReservations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) { - req, out := c.PurchaseOfferingRequest(input) +func (c *MediaLive) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) { + req, out := c.ListReservationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartChannel = "StartChannel" +// ListReservationsPages iterates over the pages of a ListReservations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListReservations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListReservations operation. +// pageNum := 0 +// err := client.ListReservationsPages(params, +// func(page *medialive.ListReservationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error { + return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// StartChannelRequest generates a "aws/request.Request" representing the -// client's request for the StartChannel operation. The "output" return +// ListReservationsPagesWithContext same as ListReservationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListReservationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListReservationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListReservationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartChannel for more information on using the StartChannel +// See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StartChannelRequest method. -// req, resp := client.StartChannelRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel -func (c *MediaLive) StartChannelRequest(input *StartChannelInput) (req *request.Request, output *StartChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource +func (c *MediaLive) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opStartChannel, - HTTPMethod: "POST", - HTTPPath: "/prod/channels/{channelId}/start", + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/prod/tags/{resource-arn}", } if input == nil { - input = &StartChannelInput{} + input = &ListTagsForResourceInput{} } - output = &StartChannelOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// StartChannel API operation for AWS Elemental MediaLive. +// ListTagsForResource API operation for AWS Elemental MediaLive. // -// Starts an existing channel +// Produces list of tags that have been created for a resource // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation StartChannel for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// // * ErrCodeBadRequestException "BadRequestException" // // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // -// * ErrCodeBadGatewayException "BadGatewayException" -// -// * ErrCodeNotFoundException "NotFoundException" -// -// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" -// -// * ErrCodeTooManyRequestsException "TooManyRequestsException" -// -// * ErrCodeConflictException "ConflictException" -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel -func (c *MediaLive) StartChannel(input *StartChannelInput) (*StartChannelOutput, error) { - req, out := c.StartChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource +func (c *MediaLive) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// StartChannelWithContext is the same as StartChannel with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See StartChannel for details on how to use this API operation. +// See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannelInput, opts ...request.Option) (*StartChannelOutput, error) { - req, out := c.StartChannelRequest(input) +func (c *MediaLive) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopChannel = "StopChannel" +const opPurchaseOffering = "PurchaseOffering" -// StopChannelRequest generates a "aws/request.Request" representing the -// client's request for the StopChannel operation. The "output" return +// PurchaseOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseOffering operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopChannel for more information on using the StopChannel +// See PurchaseOffering for more information on using the PurchaseOffering // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopChannelRequest method. -// req, resp := client.StopChannelRequest(params) +// // Example sending a request using the PurchaseOfferingRequest method. +// req, resp := client.PurchaseOfferingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel -func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Request, output *StopChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering +func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) { op := &request.Operation{ - Name: opStopChannel, + Name: opPurchaseOffering, HTTPMethod: "POST", - HTTPPath: "/prod/channels/{channelId}/stop", + HTTPPath: "/prod/offerings/{offeringId}/purchase", } if input == nil { - input = &StopChannelInput{} + input = &PurchaseOfferingInput{} } - output = &StopChannelOutput{} + output = &PurchaseOfferingOutput{} req = c.newRequest(op, input, output) return } -// StopChannel API operation for AWS Elemental MediaLive. +// PurchaseOffering API operation for AWS Elemental MediaLive. // -// Stops a running channel +// Purchase an offering and create a reservation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation StopChannel for usage and error information. +// API operation PurchaseOffering for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2667,176 +3325,177 @@ func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Re // // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel -func (c *MediaLive) StopChannel(input *StopChannelInput) (*StopChannelOutput, error) { - req, out := c.StopChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering +func (c *MediaLive) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) { + req, out := c.PurchaseOfferingRequest(input) return out, req.Send() } -// StopChannelWithContext is the same as StopChannel with the addition of +// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of // the ability to pass a context and additional request options. // -// See StopChannel for details on how to use this API operation. +// See PurchaseOffering for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelInput, opts ...request.Option) (*StopChannelOutput, error) { - req, out := c.StopChannelRequest(input) +func (c *MediaLive) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) { + req, out := c.PurchaseOfferingRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateChannel = "UpdateChannel" +const opStartChannel = "StartChannel" -// UpdateChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateChannel operation. The "output" return +// StartChannelRequest generates a "aws/request.Request" representing the +// client's request for the StartChannel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateChannel for more information on using the UpdateChannel +// See StartChannel for more information on using the StartChannel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateChannelRequest method. -// req, resp := client.UpdateChannelRequest(params) +// // Example sending a request using the StartChannelRequest method. +// req, resp := client.StartChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel -func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel +func (c *MediaLive) StartChannelRequest(input *StartChannelInput) (req *request.Request, output *StartChannelOutput) { op := &request.Operation{ - Name: opUpdateChannel, - HTTPMethod: "PUT", - HTTPPath: "/prod/channels/{channelId}", + Name: opStartChannel, + HTTPMethod: "POST", + HTTPPath: "/prod/channels/{channelId}/start", } if input == nil { - input = &UpdateChannelInput{} + input = &StartChannelInput{} } - output = &UpdateChannelOutput{} + output = &StartChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateChannel API operation for AWS Elemental MediaLive. +// StartChannel API operation for AWS Elemental MediaLive. // -// Updates a channel. +// Starts an existing channel // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation UpdateChannel for usage and error information. +// API operation StartChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // -// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" -// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // // * ErrCodeBadGatewayException "BadGatewayException" // +// * ErrCodeNotFoundException "NotFoundException" +// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel -func (c *MediaLive) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) { - req, out := c.UpdateChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel +func (c *MediaLive) StartChannel(input *StartChannelInput) (*StartChannelOutput, error) { + req, out := c.StartChannelRequest(input) return out, req.Send() } -// UpdateChannelWithContext is the same as UpdateChannel with the addition of +// StartChannelWithContext is the same as StartChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateChannel for details on how to use this API operation. +// See StartChannel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) { - req, out := c.UpdateChannelRequest(input) +func (c *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannelInput, opts ...request.Option) (*StartChannelOutput, error) { + req, out := c.StartChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateChannelClass = "UpdateChannelClass" +const opStartMultiplex = "StartMultiplex" -// UpdateChannelClassRequest generates a "aws/request.Request" representing the -// client's request for the UpdateChannelClass operation. The "output" return +// StartMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the StartMultiplex operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateChannelClass for more information on using the UpdateChannelClass +// See StartMultiplex for more information on using the StartMultiplex // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateChannelClassRequest method. -// req, resp := client.UpdateChannelClassRequest(params) +// // Example sending a request using the StartMultiplexRequest method. +// req, resp := client.StartMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass -func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (req *request.Request, output *UpdateChannelClassOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartMultiplex +func (c *MediaLive) StartMultiplexRequest(input *StartMultiplexInput) (req *request.Request, output *StartMultiplexOutput) { op := &request.Operation{ - Name: opUpdateChannelClass, - HTTPMethod: "PUT", - HTTPPath: "/prod/channels/{channelId}/channelClass", + Name: opStartMultiplex, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes/{multiplexId}/start", } if input == nil { - input = &UpdateChannelClassInput{} + input = &StartMultiplexInput{} } - output = &UpdateChannelClassOutput{} + output = &StartMultiplexOutput{} req = c.newRequest(op, input, output) return } -// UpdateChannelClass API operation for AWS Elemental MediaLive. +// StartMultiplex API operation for AWS Elemental MediaLive. // -// Changes the class of the channel. +// Start (run) the multiplex. Starting the multiplex does not start the channels. +// You must explicitly start each channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation UpdateChannelClass for usage and error information. +// API operation StartMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // -// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" -// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" @@ -2851,80 +3510,80 @@ func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (r // // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass -func (c *MediaLive) UpdateChannelClass(input *UpdateChannelClassInput) (*UpdateChannelClassOutput, error) { - req, out := c.UpdateChannelClassRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartMultiplex +func (c *MediaLive) StartMultiplex(input *StartMultiplexInput) (*StartMultiplexOutput, error) { + req, out := c.StartMultiplexRequest(input) return out, req.Send() } -// UpdateChannelClassWithContext is the same as UpdateChannelClass with the addition of +// StartMultiplexWithContext is the same as StartMultiplex with the addition of // the ability to pass a context and additional request options. // -// See UpdateChannelClass for details on how to use this API operation. +// See StartMultiplex for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) UpdateChannelClassWithContext(ctx aws.Context, input *UpdateChannelClassInput, opts ...request.Option) (*UpdateChannelClassOutput, error) { - req, out := c.UpdateChannelClassRequest(input) +func (c *MediaLive) StartMultiplexWithContext(ctx aws.Context, input *StartMultiplexInput, opts ...request.Option) (*StartMultiplexOutput, error) { + req, out := c.StartMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateInput = "UpdateInput" +const opStopChannel = "StopChannel" -// UpdateInputRequest generates a "aws/request.Request" representing the -// client's request for the UpdateInput operation. The "output" return +// StopChannelRequest generates a "aws/request.Request" representing the +// client's request for the StopChannel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateInput for more information on using the UpdateInput +// See StopChannel for more information on using the StopChannel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateInputRequest method. -// req, resp := client.UpdateInputRequest(params) +// // Example sending a request using the StopChannelRequest method. +// req, resp := client.StopChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput -func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel +func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Request, output *StopChannelOutput) { op := &request.Operation{ - Name: opUpdateInput, - HTTPMethod: "PUT", - HTTPPath: "/prod/inputs/{inputId}", + Name: opStopChannel, + HTTPMethod: "POST", + HTTPPath: "/prod/channels/{channelId}/stop", } if input == nil { - input = &UpdateInputInput{} + input = &StopChannelInput{} } - output = &UpdateInputOutput{} + output = &StopChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateInput API operation for AWS Elemental MediaLive. +// StopChannel API operation for AWS Elemental MediaLive. // -// Updates an input. +// Stops a running channel // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation UpdateInput for usage and error information. +// API operation StopChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2939,82 +3598,85 @@ func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Re // // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput -func (c *MediaLive) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) { - req, out := c.UpdateInputRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel +func (c *MediaLive) StopChannel(input *StopChannelInput) (*StopChannelOutput, error) { + req, out := c.StopChannelRequest(input) return out, req.Send() } -// UpdateInputWithContext is the same as UpdateInput with the addition of +// StopChannelWithContext is the same as StopChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateInput for details on how to use this API operation. +// See StopChannel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) { - req, out := c.UpdateInputRequest(input) +func (c *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelInput, opts ...request.Option) (*StopChannelOutput, error) { + req, out := c.StopChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup" +const opStopMultiplex = "StopMultiplex" -// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateInputSecurityGroup operation. The "output" return +// StopMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the StopMultiplex operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup +// See StopMultiplex for more information on using the StopMultiplex // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateInputSecurityGroupRequest method. -// req, resp := client.UpdateInputSecurityGroupRequest(params) +// // Example sending a request using the StopMultiplexRequest method. +// req, resp := client.StopMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup -func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopMultiplex +func (c *MediaLive) StopMultiplexRequest(input *StopMultiplexInput) (req *request.Request, output *StopMultiplexOutput) { op := &request.Operation{ - Name: opUpdateInputSecurityGroup, - HTTPMethod: "PUT", - HTTPPath: "/prod/inputSecurityGroups/{inputSecurityGroupId}", + Name: opStopMultiplex, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes/{multiplexId}/stop", } if input == nil { - input = &UpdateInputSecurityGroupInput{} + input = &StopMultiplexInput{} } - output = &UpdateInputSecurityGroupOutput{} + output = &StopMultiplexOutput{} req = c.newRequest(op, input, output) return } -// UpdateInputSecurityGroup API operation for AWS Elemental MediaLive. +// StopMultiplex API operation for AWS Elemental MediaLive. // -// Update an Input Security Group's Whilelists. +// Stops a running multiplex. If the multiplex isn't running, this action has +// no effect. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation UpdateInputSecurityGroup for usage and error information. +// API operation StopMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -3029,277 +3691,1921 @@ func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGr // // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup -func (c *MediaLive) UpdateInputSecurityGroup(input *UpdateInputSecurityGroupInput) (*UpdateInputSecurityGroupOutput, error) { - req, out := c.UpdateInputSecurityGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopMultiplex +func (c *MediaLive) StopMultiplex(input *StopMultiplexInput) (*StopMultiplexOutput, error) { + req, out := c.StopMultiplexRequest(input) return out, req.Send() } -// UpdateInputSecurityGroupWithContext is the same as UpdateInputSecurityGroup with the addition of +// StopMultiplexWithContext is the same as StopMultiplex with the addition of // the ability to pass a context and additional request options. // -// See UpdateInputSecurityGroup for details on how to use this API operation. +// See StopMultiplex for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) UpdateInputSecurityGroupWithContext(ctx aws.Context, input *UpdateInputSecurityGroupInput, opts ...request.Option) (*UpdateInputSecurityGroupOutput, error) { - req, out := c.UpdateInputSecurityGroupRequest(input) +func (c *MediaLive) StopMultiplexWithContext(ctx aws.Context, input *StopMultiplexInput, opts ...request.Option) (*StopMultiplexOutput, error) { + req, out := c.StopMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateReservation = "UpdateReservation" +const opUpdateChannel = "UpdateChannel" -// UpdateReservationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateReservation operation. The "output" return +// UpdateChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateChannel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateReservation for more information on using the UpdateReservation +// See UpdateChannel for more information on using the UpdateChannel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateReservationRequest method. -// req, resp := client.UpdateReservationRequest(params) +// // Example sending a request using the UpdateChannelRequest method. +// req, resp := client.UpdateChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation -func (c *MediaLive) UpdateReservationRequest(input *UpdateReservationInput) (req *request.Request, output *UpdateReservationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel +func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) { op := &request.Operation{ - Name: opUpdateReservation, + Name: opUpdateChannel, HTTPMethod: "PUT", - HTTPPath: "/prod/reservations/{reservationId}", + HTTPPath: "/prod/channels/{channelId}", } if input == nil { - input = &UpdateReservationInput{} + input = &UpdateChannelInput{} } - output = &UpdateReservationOutput{} + output = &UpdateChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateReservation API operation for AWS Elemental MediaLive. +// UpdateChannel API operation for AWS Elemental MediaLive. // -// Update reservation. +// Updates a channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Elemental MediaLive's -// API operation UpdateReservation for usage and error information. +// API operation UpdateChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // // * ErrCodeBadGatewayException "BadGatewayException" // -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // -// * ErrCodeTooManyRequestsException "TooManyRequestsException" -// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation -func (c *MediaLive) UpdateReservation(input *UpdateReservationInput) (*UpdateReservationOutput, error) { - req, out := c.UpdateReservationRequest(input) - return out, req.Send() +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel +func (c *MediaLive) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) + return out, req.Send() } -// UpdateReservationWithContext is the same as UpdateReservation with the addition of +// UpdateChannelWithContext is the same as UpdateChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateReservation for details on how to use this API operation. +// See UpdateChannel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *MediaLive) UpdateReservationWithContext(ctx aws.Context, input *UpdateReservationInput, opts ...request.Option) (*UpdateReservationOutput, error) { - req, out := c.UpdateReservationRequest(input) +func (c *MediaLive) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Aac Settings -type AacSettings struct { - _ struct{} `type:"structure"` +const opUpdateChannelClass = "UpdateChannelClass" - // Average bitrate in bits/second. Valid values depend on rate control mode - // and profile. - Bitrate *float64 `locationName:"bitrate" type:"double"` +// UpdateChannelClassRequest generates a "aws/request.Request" representing the +// client's request for the UpdateChannelClass operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateChannelClass for more information on using the UpdateChannelClass +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateChannelClassRequest method. +// req, resp := client.UpdateChannelClassRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass +func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (req *request.Request, output *UpdateChannelClassOutput) { + op := &request.Operation{ + Name: opUpdateChannelClass, + HTTPMethod: "PUT", + HTTPPath: "/prod/channels/{channelId}/channelClass", + } - // 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. - CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"` + if input == nil { + input = &UpdateChannelClassInput{} + } - // 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. - InputType *string `locationName:"inputType" type:"string" enum:"AacInputType"` + output = &UpdateChannelClassOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateChannelClass API operation for AWS Elemental MediaLive. +// +// Changes the class of the channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation UpdateChannelClass for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass +func (c *MediaLive) UpdateChannelClass(input *UpdateChannelClassInput) (*UpdateChannelClassOutput, error) { + req, out := c.UpdateChannelClassRequest(input) + return out, req.Send() +} + +// UpdateChannelClassWithContext is the same as UpdateChannelClass with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateChannelClass for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) UpdateChannelClassWithContext(ctx aws.Context, input *UpdateChannelClassInput, opts ...request.Option) (*UpdateChannelClassOutput, error) { + req, out := c.UpdateChannelClassRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInput = "UpdateInput" + +// UpdateInputRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInput operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateInput for more information on using the UpdateInput +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateInputRequest method. +// req, resp := client.UpdateInputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput +func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) { + op := &request.Operation{ + Name: opUpdateInput, + HTTPMethod: "PUT", + HTTPPath: "/prod/inputs/{inputId}", + } + + if input == nil { + input = &UpdateInputInput{} + } + + output = &UpdateInputOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInput API operation for AWS Elemental MediaLive. +// +// Updates an input. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation UpdateInput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput +func (c *MediaLive) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) { + req, out := c.UpdateInputRequest(input) + return out, req.Send() +} + +// UpdateInputWithContext is the same as UpdateInput with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInput for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) { + req, out := c.UpdateInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup" + +// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInputSecurityGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateInputSecurityGroupRequest method. +// req, resp := client.UpdateInputSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup +func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) { + op := &request.Operation{ + Name: opUpdateInputSecurityGroup, + HTTPMethod: "PUT", + HTTPPath: "/prod/inputSecurityGroups/{inputSecurityGroupId}", + } + + if input == nil { + input = &UpdateInputSecurityGroupInput{} + } + + output = &UpdateInputSecurityGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInputSecurityGroup API operation for AWS Elemental MediaLive. +// +// Update an Input Security Group's Whilelists. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation UpdateInputSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup +func (c *MediaLive) UpdateInputSecurityGroup(input *UpdateInputSecurityGroupInput) (*UpdateInputSecurityGroupOutput, error) { + req, out := c.UpdateInputSecurityGroupRequest(input) + return out, req.Send() +} + +// UpdateInputSecurityGroupWithContext is the same as UpdateInputSecurityGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInputSecurityGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) UpdateInputSecurityGroupWithContext(ctx aws.Context, input *UpdateInputSecurityGroupInput, opts ...request.Option) (*UpdateInputSecurityGroupOutput, error) { + req, out := c.UpdateInputSecurityGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMultiplex = "UpdateMultiplex" + +// UpdateMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMultiplex operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMultiplex for more information on using the UpdateMultiplex +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMultiplexRequest method. +// req, resp := client.UpdateMultiplexRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplex +func (c *MediaLive) UpdateMultiplexRequest(input *UpdateMultiplexInput) (req *request.Request, output *UpdateMultiplexOutput) { + op := &request.Operation{ + Name: opUpdateMultiplex, + HTTPMethod: "PUT", + HTTPPath: "/prod/multiplexes/{multiplexId}", + } + + if input == nil { + input = &UpdateMultiplexInput{} + } + + output = &UpdateMultiplexOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMultiplex API operation for AWS Elemental MediaLive. +// +// Updates a multiplex. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation UpdateMultiplex for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplex +func (c *MediaLive) UpdateMultiplex(input *UpdateMultiplexInput) (*UpdateMultiplexOutput, error) { + req, out := c.UpdateMultiplexRequest(input) + return out, req.Send() +} + +// UpdateMultiplexWithContext is the same as UpdateMultiplex with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMultiplex for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) UpdateMultiplexWithContext(ctx aws.Context, input *UpdateMultiplexInput, opts ...request.Option) (*UpdateMultiplexOutput, error) { + req, out := c.UpdateMultiplexRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMultiplexProgram = "UpdateMultiplexProgram" + +// UpdateMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMultiplexProgram operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMultiplexProgram for more information on using the UpdateMultiplexProgram +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMultiplexProgramRequest method. +// req, resp := client.UpdateMultiplexProgramRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplexProgram +func (c *MediaLive) UpdateMultiplexProgramRequest(input *UpdateMultiplexProgramInput) (req *request.Request, output *UpdateMultiplexProgramOutput) { + op := &request.Operation{ + Name: opUpdateMultiplexProgram, + HTTPMethod: "PUT", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs/{programName}", + } + + if input == nil { + input = &UpdateMultiplexProgramInput{} + } + + output = &UpdateMultiplexProgramOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMultiplexProgram API operation for AWS Elemental MediaLive. +// +// Update a program in a multiplex. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation UpdateMultiplexProgram for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplexProgram +func (c *MediaLive) UpdateMultiplexProgram(input *UpdateMultiplexProgramInput) (*UpdateMultiplexProgramOutput, error) { + req, out := c.UpdateMultiplexProgramRequest(input) + return out, req.Send() +} + +// UpdateMultiplexProgramWithContext is the same as UpdateMultiplexProgram with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMultiplexProgram for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) UpdateMultiplexProgramWithContext(ctx aws.Context, input *UpdateMultiplexProgramInput, opts ...request.Option) (*UpdateMultiplexProgramOutput, error) { + req, out := c.UpdateMultiplexProgramRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateReservation = "UpdateReservation" + +// UpdateReservationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReservation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateReservation for more information on using the UpdateReservation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateReservationRequest method. +// req, resp := client.UpdateReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation +func (c *MediaLive) UpdateReservationRequest(input *UpdateReservationInput) (req *request.Request, output *UpdateReservationOutput) { + op := &request.Operation{ + Name: opUpdateReservation, + HTTPMethod: "PUT", + HTTPPath: "/prod/reservations/{reservationId}", + } + + if input == nil { + input = &UpdateReservationInput{} + } + + output = &UpdateReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateReservation API operation for AWS Elemental MediaLive. +// +// Update reservation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation UpdateReservation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation +func (c *MediaLive) UpdateReservation(input *UpdateReservationInput) (*UpdateReservationOutput, error) { + req, out := c.UpdateReservationRequest(input) + return out, req.Send() +} + +// UpdateReservationWithContext is the same as UpdateReservation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReservation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) UpdateReservationWithContext(ctx aws.Context, input *UpdateReservationInput, opts ...request.Option) (*UpdateReservationOutput, error) { + req, out := c.UpdateReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Aac Settings +type AacSettings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. Valid values depend on rate control mode + // and profile. + Bitrate *float64 `locationName:"bitrate" type:"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. + CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"` + + // 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. + InputType *string `locationName:"inputType" type:"string" enum:"AacInputType"` + + // AAC Profile. + Profile *string `locationName:"profile" type:"string" enum:"AacProfile"` + + // Rate Control Mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"` + + // Sets LATM / LOAS AAC output for raw containers. + RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"` + + // Sample rate in Hz. Valid values depend on rate control mode and profile. + SampleRate *float64 `locationName:"sampleRate" type:"double"` + + // Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport + // Stream containers. + Spec *string `locationName:"spec" type:"string" enum:"AacSpec"` + + // VBR Quality Level - Only used if rateControlMode is VBR. + VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"` +} + +// String returns the string representation +func (s AacSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AacSettings) GoString() string { + return s.String() +} + +// SetBitrate sets the Bitrate field's value. +func (s *AacSettings) SetBitrate(v float64) *AacSettings { + s.Bitrate = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *AacSettings) SetCodingMode(v string) *AacSettings { + s.CodingMode = &v + return s +} + +// SetInputType sets the InputType field's value. +func (s *AacSettings) SetInputType(v string) *AacSettings { + s.InputType = &v + return s +} + +// SetProfile sets the Profile field's value. +func (s *AacSettings) SetProfile(v string) *AacSettings { + s.Profile = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *AacSettings) SetRateControlMode(v string) *AacSettings { + s.RateControlMode = &v + return s +} + +// SetRawFormat sets the RawFormat field's value. +func (s *AacSettings) SetRawFormat(v string) *AacSettings { + s.RawFormat = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *AacSettings) SetSampleRate(v float64) *AacSettings { + s.SampleRate = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *AacSettings) SetSpec(v string) *AacSettings { + s.Spec = &v + return s +} + +// SetVbrQuality sets the VbrQuality field's value. +func (s *AacSettings) SetVbrQuality(v string) *AacSettings { + s.VbrQuality = &v + return s +} + +// Ac3 Settings +type Ac3Settings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *float64 `locationName:"bitrate" type:"double"` + + // Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC + // A/52-2012 for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"` + + // Dolby Digital coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"` + + // Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, + // dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` + + // If set to filmStandard, adds dynamic range compression signaling to the output + // bitstream as defined in the Dolby Digital specification. + DrcProfile *string `locationName:"drcProfile" type:"string" enum:"Ac3DrcProfile"` + + // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior + // to encoding. Only valid in codingMode32Lfe mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"` + + // 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. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"` +} + +// String returns the string representation +func (s Ac3Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ac3Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Ac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings { + s.Bitrate = &v + return s +} + +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings { + s.BitstreamMode = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings { + s.CodingMode = &v + return s +} + +// SetDialnorm sets the Dialnorm field's value. +func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings { + s.Dialnorm = &v + return s +} + +// SetDrcProfile sets the DrcProfile field's value. +func (s *Ac3Settings) SetDrcProfile(v string) *Ac3Settings { + s.DrcProfile = &v + return s +} + +// SetLfeFilter sets the LfeFilter field's value. +func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings { + s.LfeFilter = &v + return s +} + +// SetMetadataControl sets the MetadataControl field's value. +func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings { + s.MetadataControl = &v + return s +} + +// Archive Container Settings +type ArchiveContainerSettings struct { + _ struct{} `type:"structure"` + + // M2ts Settings + M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"` +} + +// String returns the string representation +func (s ArchiveContainerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveContainerSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveContainerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"} + if s.M2tsSettings != nil { + if err := s.M2tsSettings.Validate(); err != nil { + invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetM2tsSettings sets the M2tsSettings field's value. +func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings { + s.M2tsSettings = v + return s +} + +// Archive Group Settings +type ArchiveGroupSettings struct { + _ struct{} `type:"structure"` + + // A directory and base filename where archive files should be written. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + + // Number of seconds to write to archive file before closing and starting a + // new one. + RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ArchiveGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.RolloverInterval != nil && *s.RolloverInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination sets the Destination field's value. +func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings { + s.Destination = v + return s +} + +// SetRolloverInterval sets the RolloverInterval field's value. +func (s *ArchiveGroupSettings) SetRolloverInterval(v int64) *ArchiveGroupSettings { + s.RolloverInterval = &v + return s +} + +// Archive Output Settings +type ArchiveOutputSettings struct { + _ struct{} `type:"structure"` + + // Settings specific to the container type of the file. + // + // ContainerSettings is a required field + ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` + + // Output file extension. If excluded, this will be auto-selected from the container + // type. + Extension *string `locationName:"extension" type:"string"` + + // String concatenated to the end of the destination filename. Required for + // multiple outputs of the same type. + NameModifier *string `locationName:"nameModifier" type:"string"` +} + +// String returns the string representation +func (s ArchiveOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"} + if s.ContainerSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerSettings sets the ContainerSettings field's value. +func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings { + s.ContainerSettings = v + return s +} + +// SetExtension sets the Extension field's value. +func (s *ArchiveOutputSettings) SetExtension(v string) *ArchiveOutputSettings { + s.Extension = &v + return s +} + +// SetNameModifier sets the NameModifier field's value. +func (s *ArchiveOutputSettings) SetNameModifier(v string) *ArchiveOutputSettings { + s.NameModifier = &v + return s +} + +// Arib Destination Settings +type AribDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AribDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AribDestinationSettings) GoString() string { + return s.String() +} + +// Arib Source Settings +type AribSourceSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AribSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AribSourceSettings) GoString() string { + return s.String() +} + +// Audio Channel Mapping +type AudioChannelMapping struct { + _ struct{} `type:"structure"` + + // Indices and gain values for each input channel that should be remixed into + // this output channel. + // + // InputChannelLevels is a required field + InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"` + + // The index of the output channel being produced. + // + // OutputChannel is a required field + OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AudioChannelMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioChannelMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioChannelMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"} + if s.InputChannelLevels == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannelLevels")) + } + if s.OutputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("OutputChannel")) + } + if s.InputChannelLevels != nil { + for i, v := range s.InputChannelLevels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputChannelLevels sets the InputChannelLevels field's value. +func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping { + s.InputChannelLevels = v + return s +} + +// SetOutputChannel sets the OutputChannel field's value. +func (s *AudioChannelMapping) SetOutputChannel(v int64) *AudioChannelMapping { + s.OutputChannel = &v + return s +} + +// Audio Codec Settings +type AudioCodecSettings struct { + _ struct{} `type:"structure"` + + // Aac Settings + AacSettings *AacSettings `locationName:"aacSettings" type:"structure"` + + // Ac3 Settings + Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"` + + // Eac3 Settings + Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"` + + // Mp2 Settings + Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"` + + // Pass Through Settings + PassThroughSettings *PassThroughSettings `locationName:"passThroughSettings" type:"structure"` +} + +// String returns the string representation +func (s AudioCodecSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioCodecSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"} + if s.Ac3Settings != nil { + if err := s.Ac3Settings.Validate(); err != nil { + invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams)) + } + } + if s.Eac3Settings != nil { + if err := s.Eac3Settings.Validate(); err != nil { + invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAacSettings sets the AacSettings field's value. +func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings { + s.AacSettings = v + return s +} + +// SetAc3Settings sets the Ac3Settings field's value. +func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings { + s.Ac3Settings = v + return s +} + +// SetEac3Settings sets the Eac3Settings field's value. +func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings { + s.Eac3Settings = v + return s +} + +// SetMp2Settings sets the Mp2Settings field's value. +func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings { + s.Mp2Settings = v + return s +} + +// SetPassThroughSettings sets the PassThroughSettings field's value. +func (s *AudioCodecSettings) SetPassThroughSettings(v *PassThroughSettings) *AudioCodecSettings { + s.PassThroughSettings = v + return s +} + +// Audio Description +type AudioDescription struct { + _ struct{} `type:"structure"` + + // Advanced audio normalization settings. + AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` + + // The name of the AudioSelector used as the source for this AudioDescription. + // + // AudioSelectorName is a required field + AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"` + + // Applies only if audioTypeControl is useConfigured. The values for audioType + // are defined in ISO-IEC 13818-1. + AudioType *string `locationName:"audioType" type:"string" enum:"AudioType"` + + // 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. + AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioDescriptionAudioTypeControl"` + + // Audio codec settings. + CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` + + // 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. + LanguageCode *string `locationName:"languageCode" min:"3" type:"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. + LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioDescriptionLanguageCodeControl"` + + // The name of this AudioDescription. Outputs will use this name to uniquely + // identify this AudioDescription. Description names should be unique within + // this Live Event. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Settings that control how input audio channels are remixed into the output + // audio channels. + RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"` + + // Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by + // the player (eg. English, or Director Commentary). + StreamName *string `locationName:"streamName" type:"string"` +} + +// String returns the string representation +func (s AudioDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioDescription"} + if s.AudioSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("AudioSelectorName")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + if s.RemixSettings != nil { + if err := s.RemixSettings.Validate(); err != nil { + invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. +func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { + s.AudioNormalizationSettings = v + return s +} + +// SetAudioSelectorName sets the AudioSelectorName field's value. +func (s *AudioDescription) SetAudioSelectorName(v string) *AudioDescription { + s.AudioSelectorName = &v + return s +} + +// SetAudioType sets the AudioType field's value. +func (s *AudioDescription) SetAudioType(v string) *AudioDescription { + s.AudioType = &v + return s +} + +// SetAudioTypeControl sets the AudioTypeControl field's value. +func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription { + s.AudioTypeControl = &v + return s +} + +// SetCodecSettings sets the CodecSettings field's value. +func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription { + s.CodecSettings = v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription { + s.LanguageCode = &v + return s +} + +// SetLanguageCodeControl sets the LanguageCodeControl field's value. +func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription { + s.LanguageCodeControl = &v + return s +} + +// SetName sets the Name field's value. +func (s *AudioDescription) SetName(v string) *AudioDescription { + s.Name = &v + return s +} + +// SetRemixSettings sets the RemixSettings field's value. +func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription { + s.RemixSettings = v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *AudioDescription) SetStreamName(v string) *AudioDescription { + s.StreamName = &v + return s +} + +// Audio Language Selection +type AudioLanguageSelection struct { + _ struct{} `type:"structure"` + + // Selects a specific three-letter language code from within an audio source. + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" type:"string" required:"true"` + + // 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. + LanguageSelectionPolicy *string `locationName:"languageSelectionPolicy" type:"string" enum:"AudioLanguageSelectionPolicy"` +} + +// String returns the string representation +func (s AudioLanguageSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioLanguageSelection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioLanguageSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"} + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection { + s.LanguageCode = &v + return s +} + +// SetLanguageSelectionPolicy sets the LanguageSelectionPolicy field's value. +func (s *AudioLanguageSelection) SetLanguageSelectionPolicy(v string) *AudioLanguageSelection { + s.LanguageSelectionPolicy = &v + return s +} + +// Audio Normalization Settings +type AudioNormalizationSettings struct { + _ struct{} `type:"structure"` + + // Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, + // itu17702 conforms to the EBU R-128 specification. + Algorithm *string `locationName:"algorithm" type:"string" enum:"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. + AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"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. + TargetLkfs *float64 `locationName:"targetLkfs" type:"double"` +} + +// String returns the string representation +func (s AudioNormalizationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioNormalizationSettings) GoString() string { + return s.String() +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings { + s.Algorithm = &v + return s +} + +// SetAlgorithmControl sets the AlgorithmControl field's value. +func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings { + s.AlgorithmControl = &v + return s +} + +// SetTargetLkfs sets the TargetLkfs field's value. +func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings { + s.TargetLkfs = &v + return s +} + +// Audio Only Hls Settings +type AudioOnlyHlsSettings struct { + _ struct{} `type:"structure"` + + // Specifies the group to which the audio Rendition belongs. + AudioGroupId *string `locationName:"audioGroupId" type:"string"` + + // Optional. Specifies the .jpg or .png image to use as the cover art for an + // audio-only output. We recommend a low bit-size file because the image increases + // the output audio bandwidth.The image is attached to the audio as an ID3 tag, + // frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native + // Frames" standard. + AudioOnlyImage *InputLocation `locationName:"audioOnlyImage" type:"structure"` + + // Four types of audio-only tracks are supported:Audio-Only Variant StreamThe + // 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, DefaultAlternate 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=YESAlternate Audio, Auto Select, Not DefaultAlternate + // 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=YESAlternate + // Audio, not Auto SelectAlternate 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 + AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"AudioOnlyHlsTrackType"` +} + +// String returns the string representation +func (s AudioOnlyHlsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioOnlyHlsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioOnlyHlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"} + if s.AudioOnlyImage != nil { + if err := s.AudioOnlyImage.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioGroupId sets the AudioGroupId field's value. +func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings { + s.AudioGroupId = &v + return s +} + +// SetAudioOnlyImage sets the AudioOnlyImage field's value. +func (s *AudioOnlyHlsSettings) SetAudioOnlyImage(v *InputLocation) *AudioOnlyHlsSettings { + s.AudioOnlyImage = v + return s +} + +// SetAudioTrackType sets the AudioTrackType field's value. +func (s *AudioOnlyHlsSettings) SetAudioTrackType(v string) *AudioOnlyHlsSettings { + s.AudioTrackType = &v + return s +} + +// Audio Pid Selection +type AudioPidSelection struct { + _ struct{} `type:"structure"` + + // Selects a specific PID from within a source. + // + // Pid is a required field + Pid *int64 `locationName:"pid" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AudioPidSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioPidSelection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioPidSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"} + if s.Pid == nil { + invalidParams.Add(request.NewErrParamRequired("Pid")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection { + s.Pid = &v + return s +} + +// Audio Selector +type AudioSelector struct { + _ struct{} `type:"structure"` + + // The name of this AudioSelector. AudioDescriptions will use this name to uniquely + // identify this Selector. Selector names should be unique per input. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The audio selector settings. + SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"` +} + +// String returns the string representation +func (s AudioSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelector"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SelectorSettings != nil { + if err := s.SelectorSettings.Validate(); err != nil { + invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AudioSelector) SetName(v string) *AudioSelector { + s.Name = &v + return s +} + +// SetSelectorSettings sets the SelectorSettings field's value. +func (s *AudioSelector) SetSelectorSettings(v *AudioSelectorSettings) *AudioSelector { + s.SelectorSettings = v + return s +} + +// Audio Selector Settings +type AudioSelectorSettings struct { + _ struct{} `type:"structure"` + + // Audio Language Selection + AudioLanguageSelection *AudioLanguageSelection `locationName:"audioLanguageSelection" type:"structure"` + + // Audio Pid Selection + AudioPidSelection *AudioPidSelection `locationName:"audioPidSelection" type:"structure"` +} + +// String returns the string representation +func (s AudioSelectorSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelectorSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"} + if s.AudioLanguageSelection != nil { + if err := s.AudioLanguageSelection.Validate(); err != nil { + invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams)) + } + } + if s.AudioPidSelection != nil { + if err := s.AudioPidSelection.Validate(); err != nil { + invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioLanguageSelection sets the AudioLanguageSelection field's value. +func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings { + s.AudioLanguageSelection = v + return s +} + +// SetAudioPidSelection sets the AudioPidSelection field's value. +func (s *AudioSelectorSettings) SetAudioPidSelection(v *AudioPidSelection) *AudioSelectorSettings { + s.AudioPidSelection = v + return s +} + +// Avail Blanking +type AvailBlanking struct { + _ struct{} `type:"structure"` + + // Blanking image to be used. Leave empty for solid black. Only bmp and png + // images are supported. + AvailBlankingImage *InputLocation `locationName:"availBlankingImage" type:"structure"` + + // When set to enabled, causes video, audio and captions to be blanked when + // insertion metadata is added. + State *string `locationName:"state" type:"string" enum:"AvailBlankingState"` +} + +// String returns the string representation +func (s AvailBlanking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailBlanking) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailBlanking) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"} + if s.AvailBlankingImage != nil { + if err := s.AvailBlankingImage.Validate(); err != nil { + invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailBlankingImage sets the AvailBlankingImage field's value. +func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking { + s.AvailBlankingImage = v + return s +} + +// SetState sets the State field's value. +func (s *AvailBlanking) SetState(v string) *AvailBlanking { + s.State = &v + return s +} + +// Avail Configuration +type AvailConfiguration struct { + _ struct{} `type:"structure"` + + // Ad avail settings. + AvailSettings *AvailSettings `locationName:"availSettings" type:"structure"` +} + +// String returns the string representation +func (s AvailConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailConfiguration) GoString() string { + return s.String() +} - // AAC Profile. - Profile *string `locationName:"profile" type:"string" enum:"AacProfile"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"} + if s.AvailSettings != nil { + if err := s.AvailSettings.Validate(); err != nil { + invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams)) + } + } - // Rate Control Mode. - RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Sets LATM / LOAS AAC output for raw containers. - RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"` +// SetAvailSettings sets the AvailSettings field's value. +func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration { + s.AvailSettings = v + return s +} - // Sample rate in Hz. Valid values depend on rate control mode and profile. - SampleRate *float64 `locationName:"sampleRate" type:"double"` +// Avail Settings +type AvailSettings struct { + _ struct{} `type:"structure"` - // Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport - // Stream containers. - Spec *string `locationName:"spec" type:"string" enum:"AacSpec"` + // Scte35 Splice Insert + Scte35SpliceInsert *Scte35SpliceInsert `locationName:"scte35SpliceInsert" type:"structure"` - // VBR Quality Level - Only used if rateControlMode is VBR. - VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"` + // Scte35 Time Signal Apos + Scte35TimeSignalApos *Scte35TimeSignalApos `locationName:"scte35TimeSignalApos" type:"structure"` } // String returns the string representation -func (s AacSettings) String() string { +func (s AvailSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AacSettings) GoString() string { +func (s AvailSettings) GoString() string { return s.String() } -// SetBitrate sets the Bitrate field's value. -func (s *AacSettings) SetBitrate(v float64) *AacSettings { - s.Bitrate = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailSettings"} + if s.Scte35SpliceInsert != nil { + if err := s.Scte35SpliceInsert.Validate(); err != nil { + invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams)) + } + } + if s.Scte35TimeSignalApos != nil { + if err := s.Scte35TimeSignalApos.Validate(); err != nil { + invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams)) + } + } -// SetCodingMode sets the CodingMode field's value. -func (s *AacSettings) SetCodingMode(v string) *AacSettings { - s.CodingMode = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetInputType sets the InputType field's value. -func (s *AacSettings) SetInputType(v string) *AacSettings { - s.InputType = &v +// SetScte35SpliceInsert sets the Scte35SpliceInsert field's value. +func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings { + s.Scte35SpliceInsert = v return s } -// SetProfile sets the Profile field's value. -func (s *AacSettings) SetProfile(v string) *AacSettings { - s.Profile = &v +// SetScte35TimeSignalApos sets the Scte35TimeSignalApos field's value. +func (s *AvailSettings) SetScte35TimeSignalApos(v *Scte35TimeSignalApos) *AvailSettings { + s.Scte35TimeSignalApos = v return s } -// SetRateControlMode sets the RateControlMode field's value. -func (s *AacSettings) SetRateControlMode(v string) *AacSettings { - s.RateControlMode = &v - return s +// A list of schedule actions to create (in a request) or that have been created +// (in a response). +type BatchScheduleActionCreateRequest struct { + _ struct{} `type:"structure"` + + // A list of schedule actions to create. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` } -// SetRawFormat sets the RawFormat field's value. -func (s *AacSettings) SetRawFormat(v string) *AacSettings { - s.RawFormat = &v - return s +// String returns the string representation +func (s BatchScheduleActionCreateRequest) String() string { + return awsutil.Prettify(s) } -// SetSampleRate sets the SampleRate field's value. -func (s *AacSettings) SetSampleRate(v float64) *AacSettings { - s.SampleRate = &v - return s +// GoString returns the string representation +func (s BatchScheduleActionCreateRequest) GoString() string { + return s.String() } -// SetSpec sets the Spec field's value. -func (s *AacSettings) SetSpec(v string) *AacSettings { - s.Spec = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchScheduleActionCreateRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionCreateRequest"} + if s.ScheduleActions == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleActions")) + } + if s.ScheduleActions != nil { + for i, v := range s.ScheduleActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduleActions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetVbrQuality sets the VbrQuality field's value. -func (s *AacSettings) SetVbrQuality(v string) *AacSettings { - s.VbrQuality = &v +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionCreateRequest) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateRequest { + s.ScheduleActions = v return s } -// Ac3 Settings -type Ac3Settings struct { +// List of actions that have been created in the schedule. +type BatchScheduleActionCreateResult struct { _ struct{} `type:"structure"` - // Average bitrate in bits/second. Valid bitrates depend on the coding mode. - Bitrate *float64 `locationName:"bitrate" type:"double"` - - // Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC - // A/52-2012 for background on these values. - BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"` + // List of actions that have been created in the schedule. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` +} - // Dolby Digital coding mode. Determines number of channels. - CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"` +// String returns the string representation +func (s BatchScheduleActionCreateResult) String() string { + return awsutil.Prettify(s) +} - // Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, - // dialnorm will be passed through. - Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` +// GoString returns the string representation +func (s BatchScheduleActionCreateResult) GoString() string { + return s.String() +} - // If set to filmStandard, adds dynamic range compression signaling to the output - // bitstream as defined in the Dolby Digital specification. - DrcProfile *string `locationName:"drcProfile" type:"string" enum:"Ac3DrcProfile"` +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionCreateResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateResult { + s.ScheduleActions = v + return s +} - // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior - // to encoding. Only valid in codingMode32Lfe mode. - LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"` +// A list of schedule actions to delete. +type BatchScheduleActionDeleteRequest struct { + _ struct{} `type:"structure"` - // 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. - MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"` + // A list of schedule actions to delete. + // + // ActionNames is a required field + ActionNames []*string `locationName:"actionNames" type:"list" required:"true"` } // String returns the string representation -func (s Ac3Settings) String() string { +func (s BatchScheduleActionDeleteRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Ac3Settings) GoString() string { +func (s BatchScheduleActionDeleteRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Ac3Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"} - if s.Dialnorm != nil && *s.Dialnorm < 1 { - invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) +func (s *BatchScheduleActionDeleteRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionDeleteRequest"} + if s.ActionNames == nil { + invalidParams.Add(request.NewErrParamRequired("ActionNames")) } if invalidParams.Len() > 0 { @@ -3308,72 +5614,80 @@ func (s *Ac3Settings) Validate() error { return nil } -// SetBitrate sets the Bitrate field's value. -func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings { - s.Bitrate = &v - return s -} - -// SetBitstreamMode sets the BitstreamMode field's value. -func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings { - s.BitstreamMode = &v +// SetActionNames sets the ActionNames field's value. +func (s *BatchScheduleActionDeleteRequest) SetActionNames(v []*string) *BatchScheduleActionDeleteRequest { + s.ActionNames = v return s } -// SetCodingMode sets the CodingMode field's value. -func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings { - s.CodingMode = &v - return s -} +// List of actions that have been deleted from the schedule. +type BatchScheduleActionDeleteResult struct { + _ struct{} `type:"structure"` -// SetDialnorm sets the Dialnorm field's value. -func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings { - s.Dialnorm = &v - return s + // List of actions that have been deleted from the schedule. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` } -// SetDrcProfile sets the DrcProfile field's value. -func (s *Ac3Settings) SetDrcProfile(v string) *Ac3Settings { - s.DrcProfile = &v - return s +// String returns the string representation +func (s BatchScheduleActionDeleteResult) String() string { + return awsutil.Prettify(s) } -// SetLfeFilter sets the LfeFilter field's value. -func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings { - s.LfeFilter = &v - return s +// GoString returns the string representation +func (s BatchScheduleActionDeleteResult) GoString() string { + return s.String() } -// SetMetadataControl sets the MetadataControl field's value. -func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings { - s.MetadataControl = &v +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionDeleteResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionDeleteResult { + s.ScheduleActions = v return s } -// Archive Container Settings -type ArchiveContainerSettings struct { +// A request to create actions (add actions to the schedule), delete actions +// (remove actions from the schedule), or both create and delete actions. +type BatchUpdateScheduleInput struct { _ struct{} `type:"structure"` - // M2ts Settings - M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + + // Schedule actions to create in the schedule. + Creates *BatchScheduleActionCreateRequest `locationName:"creates" type:"structure"` + + // Schedule actions to delete from the schedule. + Deletes *BatchScheduleActionDeleteRequest `locationName:"deletes" type:"structure"` } // String returns the string representation -func (s ArchiveContainerSettings) String() string { +func (s BatchUpdateScheduleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ArchiveContainerSettings) GoString() string { +func (s BatchUpdateScheduleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ArchiveContainerSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"} - if s.M2tsSettings != nil { - if err := s.M2tsSettings.Validate(); err != nil { - invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) +func (s *BatchUpdateScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchUpdateScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.Creates != nil { + if err := s.Creates.Validate(); err != nil { + invalidParams.AddNested("Creates", err.(request.ErrInvalidParams)) + } + } + if s.Deletes != nil { + if err := s.Deletes.Validate(); err != nil { + invalidParams.AddNested("Deletes", err.(request.ErrInvalidParams)) } } @@ -3383,101 +5697,108 @@ func (s *ArchiveContainerSettings) Validate() error { return nil } -// SetM2tsSettings sets the M2tsSettings field's value. -func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings { - s.M2tsSettings = v +// SetChannelId sets the ChannelId field's value. +func (s *BatchUpdateScheduleInput) SetChannelId(v string) *BatchUpdateScheduleInput { + s.ChannelId = &v return s } -// Archive Group Settings -type ArchiveGroupSettings struct { +// SetCreates sets the Creates field's value. +func (s *BatchUpdateScheduleInput) SetCreates(v *BatchScheduleActionCreateRequest) *BatchUpdateScheduleInput { + s.Creates = v + return s +} + +// SetDeletes sets the Deletes field's value. +func (s *BatchUpdateScheduleInput) SetDeletes(v *BatchScheduleActionDeleteRequest) *BatchUpdateScheduleInput { + s.Deletes = v + return s +} + +type BatchUpdateScheduleOutput struct { _ struct{} `type:"structure"` - // A directory and base filename where archive files should be written. - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + // List of actions that have been created in the schedule. + Creates *BatchScheduleActionCreateResult `locationName:"creates" type:"structure"` - // Number of seconds to write to archive file before closing and starting a - // new one. - RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"` + // List of actions that have been deleted from the schedule. + Deletes *BatchScheduleActionDeleteResult `locationName:"deletes" type:"structure"` } // String returns the string representation -func (s ArchiveGroupSettings) String() string { +func (s BatchUpdateScheduleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ArchiveGroupSettings) GoString() string { +func (s BatchUpdateScheduleOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ArchiveGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) - } - if s.RolloverInterval != nil && *s.RolloverInterval < 1 { - invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDestination sets the Destination field's value. -func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings { - s.Destination = v +// SetCreates sets the Creates field's value. +func (s *BatchUpdateScheduleOutput) SetCreates(v *BatchScheduleActionCreateResult) *BatchUpdateScheduleOutput { + s.Creates = v return s } -// SetRolloverInterval sets the RolloverInterval field's value. -func (s *ArchiveGroupSettings) SetRolloverInterval(v int64) *ArchiveGroupSettings { - s.RolloverInterval = &v +// SetDeletes sets the Deletes field's value. +func (s *BatchUpdateScheduleOutput) SetDeletes(v *BatchScheduleActionDeleteResult) *BatchUpdateScheduleOutput { + s.Deletes = v return s } -// Archive Output Settings -type ArchiveOutputSettings struct { +// Blackout Slate +type BlackoutSlate struct { _ struct{} `type:"structure"` - // Settings specific to the container type of the file. - // - // ContainerSettings is a required field - ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` + // Blackout slate image to be used. Leave empty for solid black. Only bmp and + // png images are supported. + BlackoutSlateImage *InputLocation `locationName:"blackoutSlateImage" type:"structure"` - // Output file extension. If excluded, this will be auto-selected from the container - // type. - Extension *string `locationName:"extension" type:"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". + NetworkEndBlackout *string `locationName:"networkEndBlackout" type:"string" enum:"BlackoutSlateNetworkEndBlackout"` - // String concatenated to the end of the destination filename. Required for - // multiple outputs of the same type. - NameModifier *string `locationName:"nameModifier" type:"string"` + // Path to local file to use as Network End Blackout image. Image will be scaled + // to fill the entire output raster. + NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"` + + // Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). + NetworkId *string `locationName:"networkId" min:"34" type:"string"` + + // When set to enabled, causes video, audio and captions to be blanked when + // indicated by program metadata. + State *string `locationName:"state" type:"string" enum:"BlackoutSlateState"` } // String returns the string representation -func (s ArchiveOutputSettings) String() string { +func (s BlackoutSlate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ArchiveOutputSettings) GoString() string { +func (s BlackoutSlate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ArchiveOutputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"} - if s.ContainerSettings == nil { - invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) +func (s *BlackoutSlate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"} + if s.NetworkId != nil && len(*s.NetworkId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34)) } - if s.ContainerSettings != nil { - if err := s.ContainerSettings.Validate(); err != nil { - invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + if s.BlackoutSlateImage != nil { + if err := s.BlackoutSlateImage.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams)) + } + } + if s.NetworkEndBlackoutImage != nil { + if err := s.NetworkEndBlackoutImage.Validate(); err != nil { + invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams)) } } @@ -3487,97 +5808,153 @@ func (s *ArchiveOutputSettings) Validate() error { return nil } -// SetContainerSettings sets the ContainerSettings field's value. -func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings { - s.ContainerSettings = v +// SetBlackoutSlateImage sets the BlackoutSlateImage field's value. +func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate { + s.BlackoutSlateImage = v return s } -// SetExtension sets the Extension field's value. -func (s *ArchiveOutputSettings) SetExtension(v string) *ArchiveOutputSettings { - s.Extension = &v +// SetNetworkEndBlackout sets the NetworkEndBlackout field's value. +func (s *BlackoutSlate) SetNetworkEndBlackout(v string) *BlackoutSlate { + s.NetworkEndBlackout = &v return s } -// SetNameModifier sets the NameModifier field's value. -func (s *ArchiveOutputSettings) SetNameModifier(v string) *ArchiveOutputSettings { - s.NameModifier = &v +// SetNetworkEndBlackoutImage sets the NetworkEndBlackoutImage field's value. +func (s *BlackoutSlate) SetNetworkEndBlackoutImage(v *InputLocation) *BlackoutSlate { + s.NetworkEndBlackoutImage = v return s } -// Arib Destination Settings -type AribDestinationSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s AribDestinationSettings) String() string { - return awsutil.Prettify(s) +// SetNetworkId sets the NetworkId field's value. +func (s *BlackoutSlate) SetNetworkId(v string) *BlackoutSlate { + s.NetworkId = &v + return s } -// GoString returns the string representation -func (s AribDestinationSettings) GoString() string { - return s.String() +// SetState sets the State field's value. +func (s *BlackoutSlate) SetState(v string) *BlackoutSlate { + s.State = &v + return s } -// Arib Source Settings -type AribSourceSettings struct { +// Burn In Destination Settings +type BurnInDestinationSettings struct { _ struct{} `type:"structure"` -} -// String returns the string representation -func (s AribSourceSettings) String() string { - return awsutil.Prettify(s) -} + // 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. + Alignment *string `locationName:"alignment" type:"string" enum:"BurnInAlignment"` + + // Specifies the color of the rectangle behind the captions. All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"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. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` + + // 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. + Font *InputLocation `locationName:"font" type:"structure"` + + // 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. + FontColor *string `locationName:"fontColor" type:"string" enum:"BurnInFontColor"` + + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + // All burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` + + // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + + // 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. + FontSize *string `locationName:"fontSize" type:"string"` + + // 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. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurnInOutlineColor"` + + // 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. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + + // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurnInShadowColor"` + + // 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. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` -// GoString returns the string representation -func (s AribSourceSettings) GoString() string { - return s.String() -} + // 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. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` -// Audio Channel Mapping -type AudioChannelMapping struct { - _ struct{} `type:"structure"` + // 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. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` - // Indices and gain values for each input channel that should be remixed into - // this output channel. - // - // InputChannelLevels is a required field - InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"` + // 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. + TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"BurnInTeletextGridControl"` - // The index of the output channel being produced. - // - // OutputChannel is a required field - OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"` + // 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. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // 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. + YPosition *int64 `locationName:"yPosition" type:"integer"` } // String returns the string representation -func (s AudioChannelMapping) String() string { +func (s BurnInDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioChannelMapping) GoString() string { +func (s BurnInDestinationSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioChannelMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"} - if s.InputChannelLevels == nil { - invalidParams.Add(request.NewErrParamRequired("InputChannelLevels")) - } - if s.OutputChannel == nil { - invalidParams.Add(request.NewErrParamRequired("OutputChannel")) +func (s *BurnInDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) } - if s.InputChannelLevels != nil { - for i, v := range s.InputChannelLevels { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams)) - } + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) } } @@ -3587,181 +5964,158 @@ func (s *AudioChannelMapping) Validate() error { return nil } -// SetInputChannelLevels sets the InputChannelLevels field's value. -func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping { - s.InputChannelLevels = v +// SetAlignment sets the Alignment field's value. +func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings { + s.Alignment = &v return s } -// SetOutputChannel sets the OutputChannel field's value. -func (s *AudioChannelMapping) SetOutputChannel(v int64) *AudioChannelMapping { - s.OutputChannel = &v +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *BurnInDestinationSettings) SetBackgroundColor(v string) *BurnInDestinationSettings { + s.BackgroundColor = &v return s } -// Audio Codec Settings -type AudioCodecSettings struct { - _ struct{} `type:"structure"` +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *BurnInDestinationSettings) SetBackgroundOpacity(v int64) *BurnInDestinationSettings { + s.BackgroundOpacity = &v + return s +} - // Aac Settings - AacSettings *AacSettings `locationName:"aacSettings" type:"structure"` +// SetFont sets the Font field's value. +func (s *BurnInDestinationSettings) SetFont(v *InputLocation) *BurnInDestinationSettings { + s.Font = v + return s +} - // Ac3 Settings - Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"` +// SetFontColor sets the FontColor field's value. +func (s *BurnInDestinationSettings) SetFontColor(v string) *BurnInDestinationSettings { + s.FontColor = &v + return s +} - // Eac3 Settings - Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"` +// SetFontOpacity sets the FontOpacity field's value. +func (s *BurnInDestinationSettings) SetFontOpacity(v int64) *BurnInDestinationSettings { + s.FontOpacity = &v + return s +} - // Mp2 Settings - Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"` +// SetFontResolution sets the FontResolution field's value. +func (s *BurnInDestinationSettings) SetFontResolution(v int64) *BurnInDestinationSettings { + s.FontResolution = &v + return s +} - // Pass Through Settings - PassThroughSettings *PassThroughSettings `locationName:"passThroughSettings" type:"structure"` +// SetFontSize sets the FontSize field's value. +func (s *BurnInDestinationSettings) SetFontSize(v string) *BurnInDestinationSettings { + s.FontSize = &v + return s } -// String returns the string representation -func (s AudioCodecSettings) String() string { - return awsutil.Prettify(s) +// SetOutlineColor sets the OutlineColor field's value. +func (s *BurnInDestinationSettings) SetOutlineColor(v string) *BurnInDestinationSettings { + s.OutlineColor = &v + return s } -// GoString returns the string representation -func (s AudioCodecSettings) GoString() string { - return s.String() +// SetOutlineSize sets the OutlineSize field's value. +func (s *BurnInDestinationSettings) SetOutlineSize(v int64) *BurnInDestinationSettings { + s.OutlineSize = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AudioCodecSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"} - if s.Ac3Settings != nil { - if err := s.Ac3Settings.Validate(); err != nil { - invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams)) - } - } - if s.Eac3Settings != nil { - if err := s.Eac3Settings.Validate(); err != nil { - invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams)) - } - } +// SetShadowColor sets the ShadowColor field's value. +func (s *BurnInDestinationSettings) SetShadowColor(v string) *BurnInDestinationSettings { + s.ShadowColor = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *BurnInDestinationSettings) SetShadowOpacity(v int64) *BurnInDestinationSettings { + s.ShadowOpacity = &v + return s } -// SetAacSettings sets the AacSettings field's value. -func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings { - s.AacSettings = v +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *BurnInDestinationSettings) SetShadowXOffset(v int64) *BurnInDestinationSettings { + s.ShadowXOffset = &v return s } -// SetAc3Settings sets the Ac3Settings field's value. -func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings { - s.Ac3Settings = v +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *BurnInDestinationSettings) SetShadowYOffset(v int64) *BurnInDestinationSettings { + s.ShadowYOffset = &v return s } -// SetEac3Settings sets the Eac3Settings field's value. -func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings { - s.Eac3Settings = v +// SetTeletextGridControl sets the TeletextGridControl field's value. +func (s *BurnInDestinationSettings) SetTeletextGridControl(v string) *BurnInDestinationSettings { + s.TeletextGridControl = &v return s } -// SetMp2Settings sets the Mp2Settings field's value. -func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings { - s.Mp2Settings = v +// SetXPosition sets the XPosition field's value. +func (s *BurnInDestinationSettings) SetXPosition(v int64) *BurnInDestinationSettings { + s.XPosition = &v return s } -// SetPassThroughSettings sets the PassThroughSettings field's value. -func (s *AudioCodecSettings) SetPassThroughSettings(v *PassThroughSettings) *AudioCodecSettings { - s.PassThroughSettings = v +// SetYPosition sets the YPosition field's value. +func (s *BurnInDestinationSettings) SetYPosition(v int64) *BurnInDestinationSettings { + s.YPosition = &v return s } -// Audio Description -type AudioDescription struct { +// Caption Description +type CaptionDescription struct { _ struct{} `type:"structure"` - // Advanced audio normalization settings. - AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` - - // The name of the AudioSelector used as the source for this AudioDescription. + // Specifies which input caption selector to use as a caption source when generating + // output captions. This field should match a captionSelector name. // - // AudioSelectorName is a required field - AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"` - - // Applies only if audioTypeControl is useConfigured. The values for audioType - // are defined in ISO-IEC 13818-1. - AudioType *string `locationName:"audioType" type:"string" enum:"AudioType"` - - // 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. - AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioDescriptionAudioTypeControl"` + // CaptionSelectorName is a required field + CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"` - // Audio codec settings. - CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` + // Additional settings for captions destination that depend on the destination + // type. + DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"` - // 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. - LanguageCode *string `locationName:"languageCode" min:"3" type:"string"` + // ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ + LanguageCode *string `locationName:"languageCode" type:"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. - LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioDescriptionLanguageCodeControl"` + // Human readable information to indicate captions available for players (eg. + // English, or Spanish). + LanguageDescription *string `locationName:"languageDescription" type:"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. + // Name of the caption description. Used to associate a caption description + // with an output. Names must be unique within an event. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // Settings that control how input audio channels are remixed into the output - // audio channels. - RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"` - - // Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by - // the player (eg. English, or Director Commentary). - StreamName *string `locationName:"streamName" type:"string"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` } // String returns the string representation -func (s AudioDescription) String() string { +func (s CaptionDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioDescription) GoString() string { +func (s CaptionDescription) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioDescription) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioDescription"} - if s.AudioSelectorName == nil { - invalidParams.Add(request.NewErrParamRequired("AudioSelectorName")) - } - if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { - invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) +func (s *CaptionDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"} + if s.CaptionSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName")) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.CodecSettings != nil { - if err := s.CodecSettings.Validate(); err != nil { - invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) - } - } - if s.RemixSettings != nil { - if err := s.RemixSettings.Validate(); err != nil { - invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + if s.DestinationSettings != nil { + if err := s.DestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) } } @@ -3771,99 +6125,99 @@ func (s *AudioDescription) Validate() error { return nil } -// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. -func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { - s.AudioNormalizationSettings = v - return s -} - -// SetAudioSelectorName sets the AudioSelectorName field's value. -func (s *AudioDescription) SetAudioSelectorName(v string) *AudioDescription { - s.AudioSelectorName = &v - return s -} - -// SetAudioType sets the AudioType field's value. -func (s *AudioDescription) SetAudioType(v string) *AudioDescription { - s.AudioType = &v - return s -} - -// SetAudioTypeControl sets the AudioTypeControl field's value. -func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription { - s.AudioTypeControl = &v +// SetCaptionSelectorName sets the CaptionSelectorName field's value. +func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription { + s.CaptionSelectorName = &v return s } -// SetCodecSettings sets the CodecSettings field's value. -func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription { - s.CodecSettings = v +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription { + s.DestinationSettings = v return s } // SetLanguageCode sets the LanguageCode field's value. -func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription { +func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription { s.LanguageCode = &v return s } -// SetLanguageCodeControl sets the LanguageCodeControl field's value. -func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription { - s.LanguageCodeControl = &v +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription { + s.LanguageDescription = &v return s } // SetName sets the Name field's value. -func (s *AudioDescription) SetName(v string) *AudioDescription { +func (s *CaptionDescription) SetName(v string) *CaptionDescription { s.Name = &v return s } -// SetRemixSettings sets the RemixSettings field's value. -func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription { - s.RemixSettings = v - return s -} +// Caption Destination Settings +type CaptionDestinationSettings struct { + _ struct{} `type:"structure"` -// SetStreamName sets the StreamName field's value. -func (s *AudioDescription) SetStreamName(v string) *AudioDescription { - s.StreamName = &v - return s -} + // Arib Destination Settings + AribDestinationSettings *AribDestinationSettings `locationName:"aribDestinationSettings" type:"structure"` -// Audio Language Selection -type AudioLanguageSelection struct { - _ struct{} `type:"structure"` + // Burn In Destination Settings + BurnInDestinationSettings *BurnInDestinationSettings `locationName:"burnInDestinationSettings" type:"structure"` - // Selects a specific three-letter language code from within an audio source. - // - // LanguageCode is a required field - LanguageCode *string `locationName:"languageCode" type:"string" required:"true"` + // Dvb Sub Destination Settings + DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` - // 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. - LanguageSelectionPolicy *string `locationName:"languageSelectionPolicy" type:"string" enum:"AudioLanguageSelectionPolicy"` + // Embedded Destination Settings + EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` + + // Embedded Plus Scte20 Destination Settings + EmbeddedPlusScte20DestinationSettings *EmbeddedPlusScte20DestinationSettings `locationName:"embeddedPlusScte20DestinationSettings" type:"structure"` + + // Rtmp Caption Info Destination Settings + RtmpCaptionInfoDestinationSettings *RtmpCaptionInfoDestinationSettings `locationName:"rtmpCaptionInfoDestinationSettings" type:"structure"` + + // Scte20 Plus Embedded Destination Settings + Scte20PlusEmbeddedDestinationSettings *Scte20PlusEmbeddedDestinationSettings `locationName:"scte20PlusEmbeddedDestinationSettings" type:"structure"` + + // Scte27 Destination Settings + Scte27DestinationSettings *Scte27DestinationSettings `locationName:"scte27DestinationSettings" type:"structure"` + + // Smpte Tt Destination Settings + SmpteTtDestinationSettings *SmpteTtDestinationSettings `locationName:"smpteTtDestinationSettings" type:"structure"` + + // Teletext Destination Settings + TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"` + + // Ttml Destination Settings + TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"` + + // Webvtt Destination Settings + WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"` } // String returns the string representation -func (s AudioLanguageSelection) String() string { +func (s CaptionDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioLanguageSelection) GoString() string { +func (s CaptionDestinationSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioLanguageSelection) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"} - if s.LanguageCode == nil { - invalidParams.Add(request.NewErrParamRequired("LanguageCode")) +func (s *CaptionDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"} + if s.BurnInDestinationSettings != nil { + if err := s.BurnInDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSubDestinationSettings != nil { + if err := s.DvbSubDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -3872,161 +6226,130 @@ func (s *AudioLanguageSelection) Validate() error { return nil } -// SetLanguageCode sets the LanguageCode field's value. -func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection { - s.LanguageCode = &v +// SetAribDestinationSettings sets the AribDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings { + s.AribDestinationSettings = v return s } -// SetLanguageSelectionPolicy sets the LanguageSelectionPolicy field's value. -func (s *AudioLanguageSelection) SetLanguageSelectionPolicy(v string) *AudioLanguageSelection { - s.LanguageSelectionPolicy = &v +// SetBurnInDestinationSettings sets the BurnInDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetBurnInDestinationSettings(v *BurnInDestinationSettings) *CaptionDestinationSettings { + s.BurnInDestinationSettings = v return s } -// Audio Normalization Settings -type AudioNormalizationSettings struct { - _ struct{} `type:"structure"` - - // Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, - // itu17702 conforms to the EBU R-128 specification. - Algorithm *string `locationName:"algorithm" type:"string" enum:"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. - AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"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. - TargetLkfs *float64 `locationName:"targetLkfs" type:"double"` -} - -// String returns the string representation -func (s AudioNormalizationSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AudioNormalizationSettings) GoString() string { - return s.String() -} - -// SetAlgorithm sets the Algorithm field's value. -func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings { - s.Algorithm = &v +// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings { + s.DvbSubDestinationSettings = v return s } -// SetAlgorithmControl sets the AlgorithmControl field's value. -func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings { - s.AlgorithmControl = &v +// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { + s.EmbeddedDestinationSettings = v return s } -// SetTargetLkfs sets the TargetLkfs field's value. -func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings { - s.TargetLkfs = &v +// SetEmbeddedPlusScte20DestinationSettings sets the EmbeddedPlusScte20DestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEmbeddedPlusScte20DestinationSettings(v *EmbeddedPlusScte20DestinationSettings) *CaptionDestinationSettings { + s.EmbeddedPlusScte20DestinationSettings = v return s } -// Audio Only Hls Settings -type AudioOnlyHlsSettings struct { - _ struct{} `type:"structure"` - - // Specifies the group to which the audio Rendition belongs. - AudioGroupId *string `locationName:"audioGroupId" type:"string"` - - // Optional. Specifies the .jpg or .png image to use as the cover art for an - // audio-only output. We recommend a low bit-size file because the image increases - // the output audio bandwidth.The image is attached to the audio as an ID3 tag, - // frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native - // Frames" standard. - AudioOnlyImage *InputLocation `locationName:"audioOnlyImage" type:"structure"` - - // Four types of audio-only tracks are supported:Audio-Only Variant StreamThe - // 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, DefaultAlternate 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=YESAlternate Audio, Auto Select, Not DefaultAlternate - // 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=YESAlternate - // Audio, not Auto SelectAlternate 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 - AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"AudioOnlyHlsTrackType"` -} - -// String returns the string representation -func (s AudioOnlyHlsSettings) String() string { - return awsutil.Prettify(s) +// SetRtmpCaptionInfoDestinationSettings sets the RtmpCaptionInfoDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetRtmpCaptionInfoDestinationSettings(v *RtmpCaptionInfoDestinationSettings) *CaptionDestinationSettings { + s.RtmpCaptionInfoDestinationSettings = v + return s } -// GoString returns the string representation -func (s AudioOnlyHlsSettings) GoString() string { - return s.String() +// SetScte20PlusEmbeddedDestinationSettings sets the Scte20PlusEmbeddedDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetScte20PlusEmbeddedDestinationSettings(v *Scte20PlusEmbeddedDestinationSettings) *CaptionDestinationSettings { + s.Scte20PlusEmbeddedDestinationSettings = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AudioOnlyHlsSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"} - if s.AudioOnlyImage != nil { - if err := s.AudioOnlyImage.Validate(); err != nil { - invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams)) - } - } +// SetScte27DestinationSettings sets the Scte27DestinationSettings field's value. +func (s *CaptionDestinationSettings) SetScte27DestinationSettings(v *Scte27DestinationSettings) *CaptionDestinationSettings { + s.Scte27DestinationSettings = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSmpteTtDestinationSettings sets the SmpteTtDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetSmpteTtDestinationSettings(v *SmpteTtDestinationSettings) *CaptionDestinationSettings { + s.SmpteTtDestinationSettings = v + return s } -// SetAudioGroupId sets the AudioGroupId field's value. -func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings { - s.AudioGroupId = &v +// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings { + s.TeletextDestinationSettings = v return s } -// SetAudioOnlyImage sets the AudioOnlyImage field's value. -func (s *AudioOnlyHlsSettings) SetAudioOnlyImage(v *InputLocation) *AudioOnlyHlsSettings { - s.AudioOnlyImage = v +// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings { + s.TtmlDestinationSettings = v return s } -// SetAudioTrackType sets the AudioTrackType field's value. -func (s *AudioOnlyHlsSettings) SetAudioTrackType(v string) *AudioOnlyHlsSettings { - s.AudioTrackType = &v +// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings { + s.WebvttDestinationSettings = v return s } -// Audio Pid Selection -type AudioPidSelection struct { +// Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), +// with an optional description. +type CaptionLanguageMapping struct { _ struct{} `type:"structure"` - // Selects a specific PID from within a source. + // The closed caption channel being described by this CaptionLanguageMapping. + // Each channel mapping must have a unique channel number (maximum of 4) // - // Pid is a required field - Pid *int64 `locationName:"pid" type:"integer" required:"true"` + // CaptionChannel is a required field + CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"` + + // Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"` + + // Textual description of language + // + // LanguageDescription is a required field + LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AudioPidSelection) String() string { +func (s CaptionLanguageMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioPidSelection) GoString() string { +func (s CaptionLanguageMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioPidSelection) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"} - if s.Pid == nil { - invalidParams.Add(request.NewErrParamRequired("Pid")) +func (s *CaptionLanguageMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"} + if s.CaptionChannel == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionChannel")) + } + if s.CaptionChannel != nil && *s.CaptionChannel < 1 { + invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1)) + } + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.LanguageDescription == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageDescription")) + } + if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1)) } if invalidParams.Len() > 0 { @@ -4035,39 +6358,57 @@ func (s *AudioPidSelection) Validate() error { return nil } -// SetPid sets the Pid field's value. -func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection { - s.Pid = &v +// SetCaptionChannel sets the CaptionChannel field's value. +func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping { + s.CaptionChannel = &v return s } -// Audio Selector -type AudioSelector struct { +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionLanguageMapping) SetLanguageCode(v string) *CaptionLanguageMapping { + s.LanguageCode = &v + return s +} + +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionLanguageMapping) SetLanguageDescription(v string) *CaptionLanguageMapping { + s.LanguageDescription = &v + return s +} + +// Output groups for this Live Event. Output groups contain information about +// where streams should be distributed. +type CaptionSelector struct { _ struct{} `type:"structure"` - // The name of this AudioSelector. AudioDescriptions will use this name to uniquely - // identify this Selector. Selector names should be unique per input. + // When specified this field indicates the three letter language code of the + // caption track to extract from the source. + LanguageCode *string `locationName:"languageCode" type:"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. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The audio selector settings. - SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"` + // Caption selector settings. + SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"` } // String returns the string representation -func (s AudioSelector) String() string { +func (s CaptionSelector) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioSelector) GoString() string { +func (s CaptionSelector) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioSelector) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioSelector"} +func (s *CaptionSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -4086,50 +6427,78 @@ func (s *AudioSelector) Validate() error { return nil } +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector { + s.LanguageCode = &v + return s +} + // SetName sets the Name field's value. -func (s *AudioSelector) SetName(v string) *AudioSelector { +func (s *CaptionSelector) SetName(v string) *CaptionSelector { s.Name = &v return s } // SetSelectorSettings sets the SelectorSettings field's value. -func (s *AudioSelector) SetSelectorSettings(v *AudioSelectorSettings) *AudioSelector { +func (s *CaptionSelector) SetSelectorSettings(v *CaptionSelectorSettings) *CaptionSelector { s.SelectorSettings = v return s } -// Audio Selector Settings -type AudioSelectorSettings struct { +// Caption Selector Settings +type CaptionSelectorSettings struct { _ struct{} `type:"structure"` - // Audio Language Selection - AudioLanguageSelection *AudioLanguageSelection `locationName:"audioLanguageSelection" type:"structure"` + // Arib Source Settings + AribSourceSettings *AribSourceSettings `locationName:"aribSourceSettings" type:"structure"` - // Audio Pid Selection - AudioPidSelection *AudioPidSelection `locationName:"audioPidSelection" type:"structure"` + // Dvb Sub Source Settings + DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"` + + // Embedded Source Settings + EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"` + + // Scte20 Source Settings + Scte20SourceSettings *Scte20SourceSettings `locationName:"scte20SourceSettings" type:"structure"` + + // Scte27 Source Settings + Scte27SourceSettings *Scte27SourceSettings `locationName:"scte27SourceSettings" type:"structure"` + + // Teletext Source Settings + TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"` } // String returns the string representation -func (s AudioSelectorSettings) String() string { +func (s CaptionSelectorSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioSelectorSettings) GoString() string { +func (s CaptionSelectorSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioSelectorSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"} - if s.AudioLanguageSelection != nil { - if err := s.AudioLanguageSelection.Validate(); err != nil { - invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams)) +func (s *CaptionSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"} + if s.DvbSubSourceSettings != nil { + if err := s.DvbSubSourceSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams)) } } - if s.AudioPidSelection != nil { - if err := s.AudioPidSelection.Validate(); err != nil { - invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams)) + if s.EmbeddedSourceSettings != nil { + if err := s.EmbeddedSourceSettings.Validate(); err != nil { + invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte20SourceSettings != nil { + if err := s.Scte20SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte27SourceSettings != nil { + if err := s.Scte27SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams)) } } @@ -4139,454 +6508,428 @@ func (s *AudioSelectorSettings) Validate() error { return nil } -// SetAudioLanguageSelection sets the AudioLanguageSelection field's value. -func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings { - s.AudioLanguageSelection = v - return s -} +// SetAribSourceSettings sets the AribSourceSettings field's value. +func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings { + s.AribSourceSettings = v + return s +} + +// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value. +func (s *CaptionSelectorSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSelectorSettings { + s.DvbSubSourceSettings = v + return s +} + +// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value. +func (s *CaptionSelectorSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSelectorSettings { + s.EmbeddedSourceSettings = v + return s +} + +// SetScte20SourceSettings sets the Scte20SourceSettings field's value. +func (s *CaptionSelectorSettings) SetScte20SourceSettings(v *Scte20SourceSettings) *CaptionSelectorSettings { + s.Scte20SourceSettings = v + return s +} + +// SetScte27SourceSettings sets the Scte27SourceSettings field's value. +func (s *CaptionSelectorSettings) SetScte27SourceSettings(v *Scte27SourceSettings) *CaptionSelectorSettings { + s.Scte27SourceSettings = v + return s +} + +// SetTeletextSourceSettings sets the TeletextSourceSettings field's value. +func (s *CaptionSelectorSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSelectorSettings { + s.TeletextSourceSettings = v + return s +} + +type Channel struct { + _ struct{} `type:"structure"` + + // The unique arn of the channel. + Arn *string `locationName:"arn" type:"string"` + + // The class for this channel. STANDARD for a channel with two pipelines or + // SINGLE_PIPELINE for a channel with one pipeline. + ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` + + // A list of destinations of the channel. For UDP outputs, there is onedestination + // per output. For other types (HLS, for example), there isone destination per + // packager. + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + // The endpoints where outgoing connections initiate from + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + // Encoder Settings + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + // The unique id of the channel. + Id *string `locationName:"id" type:"string"` + + // List of input attachments for channel. + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level being written to CloudWatch Logs. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + // The name of the channel. (user-mutable) + Name *string `locationName:"name" type:"string"` + + // Runtime details for the pipelines of a running channel. + PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"` -// SetAudioPidSelection sets the AudioPidSelection field's value. -func (s *AudioSelectorSettings) SetAudioPidSelection(v *AudioPidSelection) *AudioSelectorSettings { - s.AudioPidSelection = v - return s -} + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` -// Avail Blanking -type AvailBlanking struct { - _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the role assumed when running the Channel. + RoleArn *string `locationName:"roleArn" type:"string"` - // Blanking image to be used. Leave empty for solid black. Only bmp and png - // images are supported. - AvailBlankingImage *InputLocation `locationName:"availBlankingImage" type:"structure"` + State *string `locationName:"state" type:"string" enum:"ChannelState"` - // When set to enabled, causes video, audio and captions to be blanked when - // insertion metadata is added. - State *string `locationName:"state" type:"string" enum:"AvailBlankingState"` + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s AvailBlanking) String() string { +func (s Channel) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AvailBlanking) GoString() string { +func (s Channel) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AvailBlanking) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"} - if s.AvailBlankingImage != nil { - if err := s.AvailBlankingImage.Validate(); err != nil { - invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *Channel) SetArn(v string) *Channel { + s.Arn = &v + return s } -// SetAvailBlankingImage sets the AvailBlankingImage field's value. -func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking { - s.AvailBlankingImage = v +// SetChannelClass sets the ChannelClass field's value. +func (s *Channel) SetChannelClass(v string) *Channel { + s.ChannelClass = &v return s } -// SetState sets the State field's value. -func (s *AvailBlanking) SetState(v string) *AvailBlanking { - s.State = &v +// SetDestinations sets the Destinations field's value. +func (s *Channel) SetDestinations(v []*OutputDestination) *Channel { + s.Destinations = v return s } -// Avail Configuration -type AvailConfiguration struct { - _ struct{} `type:"structure"` - - // Ad avail settings. - AvailSettings *AvailSettings `locationName:"availSettings" type:"structure"` +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *Channel) SetEgressEndpoints(v []*ChannelEgressEndpoint) *Channel { + s.EgressEndpoints = v + return s } -// String returns the string representation -func (s AvailConfiguration) String() string { - return awsutil.Prettify(s) +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *Channel) SetEncoderSettings(v *EncoderSettings) *Channel { + s.EncoderSettings = v + return s } -// GoString returns the string representation -func (s AvailConfiguration) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *Channel) SetId(v string) *Channel { + s.Id = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AvailConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"} - if s.AvailSettings != nil { - if err := s.AvailSettings.Validate(); err != nil { - invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetInputAttachments sets the InputAttachments field's value. +func (s *Channel) SetInputAttachments(v []*InputAttachment) *Channel { + s.InputAttachments = v + return s } -// SetAvailSettings sets the AvailSettings field's value. -func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration { - s.AvailSettings = v +// SetInputSpecification sets the InputSpecification field's value. +func (s *Channel) SetInputSpecification(v *InputSpecification) *Channel { + s.InputSpecification = v return s } -// Avail Settings -type AvailSettings struct { - _ struct{} `type:"structure"` - - // Scte35 Splice Insert - Scte35SpliceInsert *Scte35SpliceInsert `locationName:"scte35SpliceInsert" type:"structure"` - - // Scte35 Time Signal Apos - Scte35TimeSignalApos *Scte35TimeSignalApos `locationName:"scte35TimeSignalApos" type:"structure"` +// SetLogLevel sets the LogLevel field's value. +func (s *Channel) SetLogLevel(v string) *Channel { + s.LogLevel = &v + return s } -// String returns the string representation -func (s AvailSettings) String() string { - return awsutil.Prettify(s) +// SetName sets the Name field's value. +func (s *Channel) SetName(v string) *Channel { + s.Name = &v + return s } -// GoString returns the string representation -func (s AvailSettings) GoString() string { - return s.String() +// SetPipelineDetails sets the PipelineDetails field's value. +func (s *Channel) SetPipelineDetails(v []*PipelineDetail) *Channel { + s.PipelineDetails = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AvailSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AvailSettings"} - if s.Scte35SpliceInsert != nil { - if err := s.Scte35SpliceInsert.Validate(); err != nil { - invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams)) - } - } - if s.Scte35TimeSignalApos != nil { - if err := s.Scte35TimeSignalApos.Validate(); err != nil { - invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams)) - } - } +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *Channel) SetPipelinesRunningCount(v int64) *Channel { + s.PipelinesRunningCount = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRoleArn sets the RoleArn field's value. +func (s *Channel) SetRoleArn(v string) *Channel { + s.RoleArn = &v + return s } -// SetScte35SpliceInsert sets the Scte35SpliceInsert field's value. -func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings { - s.Scte35SpliceInsert = v +// SetState sets the State field's value. +func (s *Channel) SetState(v string) *Channel { + s.State = &v return s } -// SetScte35TimeSignalApos sets the Scte35TimeSignalApos field's value. -func (s *AvailSettings) SetScte35TimeSignalApos(v *Scte35TimeSignalApos) *AvailSettings { - s.Scte35TimeSignalApos = v +// SetTags sets the Tags field's value. +func (s *Channel) SetTags(v map[string]*string) *Channel { + s.Tags = v return s } -// A list of schedule actions to create (in a request) or that have been created -// (in a response). -type BatchScheduleActionCreateRequest struct { +type ChannelEgressEndpoint struct { _ struct{} `type:"structure"` - // A list of schedule actions to create. - // - // ScheduleActions is a required field - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` + // Public IP of where a channel's output comes from + SourceIp *string `locationName:"sourceIp" type:"string"` } // String returns the string representation -func (s BatchScheduleActionCreateRequest) String() string { +func (s ChannelEgressEndpoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchScheduleActionCreateRequest) GoString() string { +func (s ChannelEgressEndpoint) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchScheduleActionCreateRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionCreateRequest"} - if s.ScheduleActions == nil { - invalidParams.Add(request.NewErrParamRequired("ScheduleActions")) - } - if s.ScheduleActions != nil { - for i, v := range s.ScheduleActions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduleActions", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetScheduleActions sets the ScheduleActions field's value. -func (s *BatchScheduleActionCreateRequest) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateRequest { - s.ScheduleActions = v +// SetSourceIp sets the SourceIp field's value. +func (s *ChannelEgressEndpoint) SetSourceIp(v string) *ChannelEgressEndpoint { + s.SourceIp = &v return s } -// List of actions that have been created in the schedule. -type BatchScheduleActionCreateResult struct { +type ChannelSummary struct { _ struct{} `type:"structure"` - // List of actions that have been created in the schedule. - // - // ScheduleActions is a required field - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` -} + // The unique arn of the channel. + Arn *string `locationName:"arn" type:"string"` -// String returns the string representation -func (s BatchScheduleActionCreateResult) String() string { - return awsutil.Prettify(s) -} + // The class for this channel. STANDARD for a channel with two pipelines or + // SINGLE_PIPELINE for a channel with one pipeline. + ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` + + // A list of destinations of the channel. For UDP outputs, there is onedestination + // per output. For other types (HLS, for example), there isone destination per + // packager. + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + // The endpoints where outgoing connections initiate from + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + // The unique id of the channel. + Id *string `locationName:"id" type:"string"` + + // List of input attachments for channel. + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level being written to CloudWatch Logs. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + // The name of the channel. (user-mutable) + Name *string `locationName:"name" type:"string"` -// GoString returns the string representation -func (s BatchScheduleActionCreateResult) GoString() string { - return s.String() -} + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` -// SetScheduleActions sets the ScheduleActions field's value. -func (s *BatchScheduleActionCreateResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateResult { - s.ScheduleActions = v - return s -} + // The Amazon Resource Name (ARN) of the role assumed when running the Channel. + RoleArn *string `locationName:"roleArn" type:"string"` -// A list of schedule actions to delete. -type BatchScheduleActionDeleteRequest struct { - _ struct{} `type:"structure"` + State *string `locationName:"state" type:"string" enum:"ChannelState"` - // A list of schedule actions to delete. - // - // ActionNames is a required field - ActionNames []*string `locationName:"actionNames" type:"list" required:"true"` + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s BatchScheduleActionDeleteRequest) String() string { +func (s ChannelSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchScheduleActionDeleteRequest) GoString() string { +func (s ChannelSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchScheduleActionDeleteRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionDeleteRequest"} - if s.ActionNames == nil { - invalidParams.Add(request.NewErrParamRequired("ActionNames")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *ChannelSummary) SetArn(v string) *ChannelSummary { + s.Arn = &v + return s } -// SetActionNames sets the ActionNames field's value. -func (s *BatchScheduleActionDeleteRequest) SetActionNames(v []*string) *BatchScheduleActionDeleteRequest { - s.ActionNames = v +// SetChannelClass sets the ChannelClass field's value. +func (s *ChannelSummary) SetChannelClass(v string) *ChannelSummary { + s.ChannelClass = &v return s } -// List of actions that have been deleted from the schedule. -type BatchScheduleActionDeleteResult struct { - _ struct{} `type:"structure"` - - // List of actions that have been deleted from the schedule. - // - // ScheduleActions is a required field - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` +// SetDestinations sets the Destinations field's value. +func (s *ChannelSummary) SetDestinations(v []*OutputDestination) *ChannelSummary { + s.Destinations = v + return s } -// String returns the string representation -func (s BatchScheduleActionDeleteResult) String() string { - return awsutil.Prettify(s) +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *ChannelSummary) SetEgressEndpoints(v []*ChannelEgressEndpoint) *ChannelSummary { + s.EgressEndpoints = v + return s } -// GoString returns the string representation -func (s BatchScheduleActionDeleteResult) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *ChannelSummary) SetId(v string) *ChannelSummary { + s.Id = &v + return s } -// SetScheduleActions sets the ScheduleActions field's value. -func (s *BatchScheduleActionDeleteResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionDeleteResult { - s.ScheduleActions = v +// SetInputAttachments sets the InputAttachments field's value. +func (s *ChannelSummary) SetInputAttachments(v []*InputAttachment) *ChannelSummary { + s.InputAttachments = v return s } -// A request to create actions (add actions to the schedule), delete actions -// (remove actions from the schedule), or both create and delete actions. -type BatchUpdateScheduleInput struct { - _ struct{} `type:"structure"` - - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` - - // Schedule actions to create in the schedule. - Creates *BatchScheduleActionCreateRequest `locationName:"creates" type:"structure"` - - // Schedule actions to delete from the schedule. - Deletes *BatchScheduleActionDeleteRequest `locationName:"deletes" type:"structure"` +// SetInputSpecification sets the InputSpecification field's value. +func (s *ChannelSummary) SetInputSpecification(v *InputSpecification) *ChannelSummary { + s.InputSpecification = v + return s } -// String returns the string representation -func (s BatchUpdateScheduleInput) String() string { - return awsutil.Prettify(s) +// SetLogLevel sets the LogLevel field's value. +func (s *ChannelSummary) SetLogLevel(v string) *ChannelSummary { + s.LogLevel = &v + return s } -// GoString returns the string representation -func (s BatchUpdateScheduleInput) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *ChannelSummary) SetName(v string) *ChannelSummary { + s.Name = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchUpdateScheduleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchUpdateScheduleInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) - } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) - } - if s.Creates != nil { - if err := s.Creates.Validate(); err != nil { - invalidParams.AddNested("Creates", err.(request.ErrInvalidParams)) - } - } - if s.Deletes != nil { - if err := s.Deletes.Validate(); err != nil { - invalidParams.AddNested("Deletes", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *ChannelSummary) SetPipelinesRunningCount(v int64) *ChannelSummary { + s.PipelinesRunningCount = &v + return s } -// SetChannelId sets the ChannelId field's value. -func (s *BatchUpdateScheduleInput) SetChannelId(v string) *BatchUpdateScheduleInput { - s.ChannelId = &v +// SetRoleArn sets the RoleArn field's value. +func (s *ChannelSummary) SetRoleArn(v string) *ChannelSummary { + s.RoleArn = &v return s } -// SetCreates sets the Creates field's value. -func (s *BatchUpdateScheduleInput) SetCreates(v *BatchScheduleActionCreateRequest) *BatchUpdateScheduleInput { - s.Creates = v +// SetState sets the State field's value. +func (s *ChannelSummary) SetState(v string) *ChannelSummary { + s.State = &v return s } -// SetDeletes sets the Deletes field's value. -func (s *BatchUpdateScheduleInput) SetDeletes(v *BatchScheduleActionDeleteRequest) *BatchUpdateScheduleInput { - s.Deletes = v +// SetTags sets the Tags field's value. +func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary { + s.Tags = v return s } -type BatchUpdateScheduleOutput struct { +// Passthrough applies no color space conversion to the output +type ColorSpacePassthroughSettings struct { _ struct{} `type:"structure"` - - // List of actions that have been created in the schedule. - Creates *BatchScheduleActionCreateResult `locationName:"creates" type:"structure"` - - // List of actions that have been deleted from the schedule. - Deletes *BatchScheduleActionDeleteResult `locationName:"deletes" type:"structure"` } // String returns the string representation -func (s BatchUpdateScheduleOutput) String() string { +func (s ColorSpacePassthroughSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchUpdateScheduleOutput) GoString() string { +func (s ColorSpacePassthroughSettings) GoString() string { return s.String() } -// SetCreates sets the Creates field's value. -func (s *BatchUpdateScheduleOutput) SetCreates(v *BatchScheduleActionCreateResult) *BatchUpdateScheduleOutput { - s.Creates = v - return s -} +type CreateChannelInput struct { + _ struct{} `type:"structure"` -// SetDeletes sets the Deletes field's value. -func (s *BatchUpdateScheduleOutput) SetDeletes(v *BatchScheduleActionDeleteResult) *BatchUpdateScheduleOutput { - s.Deletes = v - return s -} + // A standard channel has two encoding pipelines and a single pipeline channel + // only has one. + ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` -// Blackout Slate -type BlackoutSlate struct { - _ struct{} `type:"structure"` + Destinations []*OutputDestination `locationName:"destinations" type:"list"` - // Blackout slate image to be used. Leave empty for solid black. Only bmp and - // png images are supported. - BlackoutSlateImage *InputLocation `locationName:"blackoutSlateImage" type:"structure"` + // Encoder Settings + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` - // 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". - NetworkEndBlackout *string `locationName:"networkEndBlackout" type:"string" enum:"BlackoutSlateNetworkEndBlackout"` + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` - // Path to local file to use as Network End Blackout image. Image will be scaled - // to fill the entire output raster. - NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"` + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` - // Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). - NetworkId *string `locationName:"networkId" min:"34" type:"string"` + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` - // When set to enabled, causes video, audio and captions to be blanked when - // indicated by program metadata. - State *string `locationName:"state" type:"string" enum:"BlackoutSlateState"` + Name *string `locationName:"name" type:"string"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + + Reserved *string `locationName:"reserved" deprecated:"true" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s BlackoutSlate) String() string { +func (s CreateChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BlackoutSlate) GoString() string { +func (s CreateChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BlackoutSlate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"} - if s.NetworkId != nil && len(*s.NetworkId) < 34 { - invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34)) +func (s *CreateChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"} + if s.Destinations != nil { + for i, v := range s.Destinations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams)) + } + } } - if s.BlackoutSlateImage != nil { - if err := s.BlackoutSlateImage.Validate(); err != nil { - invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams)) + if s.EncoderSettings != nil { + if err := s.EncoderSettings.Validate(); err != nil { + invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) } } - if s.NetworkEndBlackoutImage != nil { - if err := s.NetworkEndBlackoutImage.Validate(); err != nil { - invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams)) + if s.InputAttachments != nil { + for i, v := range s.InputAttachments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams)) + } } } @@ -4596,153 +6939,138 @@ func (s *BlackoutSlate) Validate() error { return nil } -// SetBlackoutSlateImage sets the BlackoutSlateImage field's value. -func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate { - s.BlackoutSlateImage = v +// SetChannelClass sets the ChannelClass field's value. +func (s *CreateChannelInput) SetChannelClass(v string) *CreateChannelInput { + s.ChannelClass = &v return s } -// SetNetworkEndBlackout sets the NetworkEndBlackout field's value. -func (s *BlackoutSlate) SetNetworkEndBlackout(v string) *BlackoutSlate { - s.NetworkEndBlackout = &v +// SetDestinations sets the Destinations field's value. +func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput { + s.Destinations = v return s } -// SetNetworkEndBlackoutImage sets the NetworkEndBlackoutImage field's value. -func (s *BlackoutSlate) SetNetworkEndBlackoutImage(v *InputLocation) *BlackoutSlate { - s.NetworkEndBlackoutImage = v +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *CreateChannelInput) SetEncoderSettings(v *EncoderSettings) *CreateChannelInput { + s.EncoderSettings = v return s } -// SetNetworkId sets the NetworkId field's value. -func (s *BlackoutSlate) SetNetworkId(v string) *BlackoutSlate { - s.NetworkId = &v +// SetInputAttachments sets the InputAttachments field's value. +func (s *CreateChannelInput) SetInputAttachments(v []*InputAttachment) *CreateChannelInput { + s.InputAttachments = v return s } -// SetState sets the State field's value. -func (s *BlackoutSlate) SetState(v string) *BlackoutSlate { - s.State = &v +// SetInputSpecification sets the InputSpecification field's value. +func (s *CreateChannelInput) SetInputSpecification(v *InputSpecification) *CreateChannelInput { + s.InputSpecification = v return s } -// Burn In Destination Settings -type BurnInDestinationSettings struct { - _ struct{} `type:"structure"` +// SetLogLevel sets the LogLevel field's value. +func (s *CreateChannelInput) SetLogLevel(v string) *CreateChannelInput { + s.LogLevel = &v + return s +} - // 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. - Alignment *string `locationName:"alignment" type:"string" enum:"BurnInAlignment"` +// SetName sets the Name field's value. +func (s *CreateChannelInput) SetName(v string) *CreateChannelInput { + s.Name = &v + return s +} - // Specifies the color of the rectangle behind the captions. All burn-in and - // DVB-Sub font settings must match. - BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurnInBackgroundColor"` +// SetRequestId sets the RequestId field's value. +func (s *CreateChannelInput) SetRequestId(v string) *CreateChannelInput { + s.RequestId = &v + return s +} - // 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. - BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` +// SetReserved sets the Reserved field's value. +func (s *CreateChannelInput) SetReserved(v string) *CreateChannelInput { + s.Reserved = &v + return s +} - // 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. - Font *InputLocation `locationName:"font" type:"structure"` +// SetRoleArn sets the RoleArn field's value. +func (s *CreateChannelInput) SetRoleArn(v string) *CreateChannelInput { + s.RoleArn = &v + return s +} - // 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. - FontColor *string `locationName:"fontColor" type:"string" enum:"BurnInFontColor"` +// SetTags sets the Tags field's value. +func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput { + s.Tags = v + return s +} - // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - // All burn-in and DVB-Sub font settings must match. - FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` +type CreateChannelOutput struct { + _ struct{} `type:"structure"` - // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and - // DVB-Sub font settings must match. - FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + Channel *Channel `locationName:"channel" type:"structure"` +} - // 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. - FontSize *string `locationName:"fontSize" type:"string"` +// String returns the string representation +func (s CreateChannelOutput) String() string { + return awsutil.Prettify(s) +} - // 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. - OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurnInOutlineColor"` +// GoString returns the string representation +func (s CreateChannelOutput) GoString() string { + return s.String() +} - // 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. - OutlineSize *int64 `locationName:"outlineSize" type:"integer"` +// SetChannel sets the Channel field's value. +func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput { + s.Channel = v + return s +} - // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub - // font settings must match. - ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurnInShadowColor"` +type CreateInputInput struct { + _ struct{} `type:"structure"` - // 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. - ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` - // 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. - ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"` - // 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. - ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"` - // 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. - TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"BurnInTeletextGridControl"` + Name *string `locationName:"name" type:"string"` - // 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. - XPosition *int64 `locationName:"xPosition" type:"integer"` + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` - // 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. - YPosition *int64 `locationName:"yPosition" type:"integer"` + RoleArn *string `locationName:"roleArn" type:"string"` + + Sources []*InputSourceRequest `locationName:"sources" type:"list"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"InputType"` + + // Settings for a private VPC Input.When this property is specified, the input + // destination addresses will be created in a VPC rather than with public Internet + // addresses.This property requires setting the roleArn property on Input creation.Not + // compatible with the inputSecurityGroups property. + Vpc *InputVpcRequest `locationName:"vpc" type:"structure"` } // String returns the string representation -func (s BurnInDestinationSettings) String() string { +func (s CreateInputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BurnInDestinationSettings) GoString() string { +func (s CreateInputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BurnInDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"} - if s.FontResolution != nil && *s.FontResolution < 96 { - invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) - } - if s.Font != nil { - if err := s.Font.Validate(); err != nil { - invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) +func (s *CreateInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"} + if s.Vpc != nil { + if err := s.Vpc.Validate(); err != nil { + invalidParams.AddNested("Vpc", err.(request.ErrInvalidParams)) } } @@ -4752,260 +7080,185 @@ func (s *BurnInDestinationSettings) Validate() error { return nil } -// SetAlignment sets the Alignment field's value. -func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings { - s.Alignment = &v - return s -} - -// SetBackgroundColor sets the BackgroundColor field's value. -func (s *BurnInDestinationSettings) SetBackgroundColor(v string) *BurnInDestinationSettings { - s.BackgroundColor = &v - return s -} - -// SetBackgroundOpacity sets the BackgroundOpacity field's value. -func (s *BurnInDestinationSettings) SetBackgroundOpacity(v int64) *BurnInDestinationSettings { - s.BackgroundOpacity = &v - return s -} - -// SetFont sets the Font field's value. -func (s *BurnInDestinationSettings) SetFont(v *InputLocation) *BurnInDestinationSettings { - s.Font = v - return s -} - -// SetFontColor sets the FontColor field's value. -func (s *BurnInDestinationSettings) SetFontColor(v string) *BurnInDestinationSettings { - s.FontColor = &v - return s -} - -// SetFontOpacity sets the FontOpacity field's value. -func (s *BurnInDestinationSettings) SetFontOpacity(v int64) *BurnInDestinationSettings { - s.FontOpacity = &v - return s -} - -// SetFontResolution sets the FontResolution field's value. -func (s *BurnInDestinationSettings) SetFontResolution(v int64) *BurnInDestinationSettings { - s.FontResolution = &v - return s -} - -// SetFontSize sets the FontSize field's value. -func (s *BurnInDestinationSettings) SetFontSize(v string) *BurnInDestinationSettings { - s.FontSize = &v +// SetDestinations sets the Destinations field's value. +func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *CreateInputInput { + s.Destinations = v return s } -// SetOutlineColor sets the OutlineColor field's value. -func (s *BurnInDestinationSettings) SetOutlineColor(v string) *BurnInDestinationSettings { - s.OutlineColor = &v +// SetInputSecurityGroups sets the InputSecurityGroups field's value. +func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput { + s.InputSecurityGroups = v return s } -// SetOutlineSize sets the OutlineSize field's value. -func (s *BurnInDestinationSettings) SetOutlineSize(v int64) *BurnInDestinationSettings { - s.OutlineSize = &v +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *CreateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *CreateInputInput { + s.MediaConnectFlows = v return s } -// SetShadowColor sets the ShadowColor field's value. -func (s *BurnInDestinationSettings) SetShadowColor(v string) *BurnInDestinationSettings { - s.ShadowColor = &v +// SetName sets the Name field's value. +func (s *CreateInputInput) SetName(v string) *CreateInputInput { + s.Name = &v return s } -// SetShadowOpacity sets the ShadowOpacity field's value. -func (s *BurnInDestinationSettings) SetShadowOpacity(v int64) *BurnInDestinationSettings { - s.ShadowOpacity = &v +// SetRequestId sets the RequestId field's value. +func (s *CreateInputInput) SetRequestId(v string) *CreateInputInput { + s.RequestId = &v return s } -// SetShadowXOffset sets the ShadowXOffset field's value. -func (s *BurnInDestinationSettings) SetShadowXOffset(v int64) *BurnInDestinationSettings { - s.ShadowXOffset = &v +// SetRoleArn sets the RoleArn field's value. +func (s *CreateInputInput) SetRoleArn(v string) *CreateInputInput { + s.RoleArn = &v return s } -// SetShadowYOffset sets the ShadowYOffset field's value. -func (s *BurnInDestinationSettings) SetShadowYOffset(v int64) *BurnInDestinationSettings { - s.ShadowYOffset = &v +// SetSources sets the Sources field's value. +func (s *CreateInputInput) SetSources(v []*InputSourceRequest) *CreateInputInput { + s.Sources = v return s } -// SetTeletextGridControl sets the TeletextGridControl field's value. -func (s *BurnInDestinationSettings) SetTeletextGridControl(v string) *BurnInDestinationSettings { - s.TeletextGridControl = &v +// SetTags sets the Tags field's value. +func (s *CreateInputInput) SetTags(v map[string]*string) *CreateInputInput { + s.Tags = v return s } -// SetXPosition sets the XPosition field's value. -func (s *BurnInDestinationSettings) SetXPosition(v int64) *BurnInDestinationSettings { - s.XPosition = &v +// SetType sets the Type field's value. +func (s *CreateInputInput) SetType(v string) *CreateInputInput { + s.Type = &v return s } -// SetYPosition sets the YPosition field's value. -func (s *BurnInDestinationSettings) SetYPosition(v int64) *BurnInDestinationSettings { - s.YPosition = &v +// SetVpc sets the Vpc field's value. +func (s *CreateInputInput) SetVpc(v *InputVpcRequest) *CreateInputInput { + s.Vpc = v return s } -// Output groups for this Live Event. Output groups contain information about -// where streams should be distributed. -type CaptionDescription struct { +type CreateInputOutput struct { _ struct{} `type:"structure"` - // Specifies which input caption selector to use as a caption source when generating - // output captions. This field should match a captionSelector name. - // - // CaptionSelectorName is a required field - CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"` - - // Additional settings for captions destination that depend on the destination - // type. - DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"` - - // ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ - LanguageCode *string `locationName:"languageCode" type:"string"` - - // Human readable information to indicate captions available for players (eg. - // English, or Spanish). - LanguageDescription *string `locationName:"languageDescription" type:"string"` - - // Name of the caption description. Used to associate a caption description - // with an output. Names must be unique within an event. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Input *Input `locationName:"input" type:"structure"` } // String returns the string representation -func (s CaptionDescription) String() string { +func (s CreateInputOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionDescription) GoString() string { +func (s CreateInputOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionDescription) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"} - if s.CaptionSelectorName == nil { - invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.DestinationSettings != nil { - if err := s.DestinationSettings.Validate(); err != nil { - invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetInput sets the Input field's value. +func (s *CreateInputOutput) SetInput(v *Input) *CreateInputOutput { + s.Input = v + return s } -// SetCaptionSelectorName sets the CaptionSelectorName field's value. -func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription { - s.CaptionSelectorName = &v - return s +type CreateInputSecurityGroupInput struct { + _ struct{} `type:"structure"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"` } -// SetDestinationSettings sets the DestinationSettings field's value. -func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription { - s.DestinationSettings = v - return s +// String returns the string representation +func (s CreateInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) } -// SetLanguageCode sets the LanguageCode field's value. -func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription { - s.LanguageCode = &v - return s +// GoString returns the string representation +func (s CreateInputSecurityGroupInput) GoString() string { + return s.String() } -// SetLanguageDescription sets the LanguageDescription field's value. -func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription { - s.LanguageDescription = &v +// SetTags sets the Tags field's value. +func (s *CreateInputSecurityGroupInput) SetTags(v map[string]*string) *CreateInputSecurityGroupInput { + s.Tags = v return s } -// SetName sets the Name field's value. -func (s *CaptionDescription) SetName(v string) *CaptionDescription { - s.Name = &v +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *CreateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *CreateInputSecurityGroupInput { + s.WhitelistRules = v return s } -// Caption Destination Settings -type CaptionDestinationSettings struct { +type CreateInputSecurityGroupOutput struct { _ struct{} `type:"structure"` - // Arib Destination Settings - AribDestinationSettings *AribDestinationSettings `locationName:"aribDestinationSettings" type:"structure"` - - // Burn In Destination Settings - BurnInDestinationSettings *BurnInDestinationSettings `locationName:"burnInDestinationSettings" type:"structure"` - - // Dvb Sub Destination Settings - DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` + // An Input Security Group + SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"` +} - // Embedded Destination Settings - EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` +// String returns the string representation +func (s CreateInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} - // Embedded Plus Scte20 Destination Settings - EmbeddedPlusScte20DestinationSettings *EmbeddedPlusScte20DestinationSettings `locationName:"embeddedPlusScte20DestinationSettings" type:"structure"` +// GoString returns the string representation +func (s CreateInputSecurityGroupOutput) GoString() string { + return s.String() +} - // Rtmp Caption Info Destination Settings - RtmpCaptionInfoDestinationSettings *RtmpCaptionInfoDestinationSettings `locationName:"rtmpCaptionInfoDestinationSettings" type:"structure"` +// SetSecurityGroup sets the SecurityGroup field's value. +func (s *CreateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *CreateInputSecurityGroupOutput { + s.SecurityGroup = v + return s +} - // Scte20 Plus Embedded Destination Settings - Scte20PlusEmbeddedDestinationSettings *Scte20PlusEmbeddedDestinationSettings `locationName:"scte20PlusEmbeddedDestinationSettings" type:"structure"` +type CreateMultiplexInput struct { + _ struct{} `type:"structure"` - // Scte27 Destination Settings - Scte27DestinationSettings *Scte27DestinationSettings `locationName:"scte27DestinationSettings" type:"structure"` + // AvailabilityZones is a required field + AvailabilityZones []*string `locationName:"availabilityZones" type:"list" required:"true"` - // Smpte Tt Destination Settings - SmpteTtDestinationSettings *SmpteTtDestinationSettings `locationName:"smpteTtDestinationSettings" type:"structure"` + // Contains configuration for a Multiplex event + // + // MultiplexSettings is a required field + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure" required:"true"` - // Teletext Destination Settings - TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // Ttml Destination Settings - TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"` + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` - // Webvtt Destination Settings - WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"` + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s CaptionDestinationSettings) String() string { +func (s CreateMultiplexInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionDestinationSettings) GoString() string { +func (s CreateMultiplexInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"} - if s.BurnInDestinationSettings != nil { - if err := s.BurnInDestinationSettings.Validate(); err != nil { - invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams)) - } +func (s *CreateMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMultiplexInput"} + if s.AvailabilityZones == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZones")) } - if s.DvbSubDestinationSettings != nil { - if err := s.DvbSubDestinationSettings.Validate(); err != nil { - invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams)) + if s.MultiplexSettings == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexSettings")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.MultiplexSettings != nil { + if err := s.MultiplexSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams)) } } @@ -5015,130 +7268,105 @@ func (s *CaptionDestinationSettings) Validate() error { return nil } -// SetAribDestinationSettings sets the AribDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings { - s.AribDestinationSettings = v - return s -} - -// SetBurnInDestinationSettings sets the BurnInDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetBurnInDestinationSettings(v *BurnInDestinationSettings) *CaptionDestinationSettings { - s.BurnInDestinationSettings = v - return s -} - -// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings { - s.DvbSubDestinationSettings = v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *CreateMultiplexInput) SetAvailabilityZones(v []*string) *CreateMultiplexInput { + s.AvailabilityZones = v return s } -// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { - s.EmbeddedDestinationSettings = v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *CreateMultiplexInput) SetMultiplexSettings(v *MultiplexSettings) *CreateMultiplexInput { + s.MultiplexSettings = v return s } -// SetEmbeddedPlusScte20DestinationSettings sets the EmbeddedPlusScte20DestinationSettings field's value. -func (s *CaptionDestinationSettings) SetEmbeddedPlusScte20DestinationSettings(v *EmbeddedPlusScte20DestinationSettings) *CaptionDestinationSettings { - s.EmbeddedPlusScte20DestinationSettings = v +// SetName sets the Name field's value. +func (s *CreateMultiplexInput) SetName(v string) *CreateMultiplexInput { + s.Name = &v return s } -// SetRtmpCaptionInfoDestinationSettings sets the RtmpCaptionInfoDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetRtmpCaptionInfoDestinationSettings(v *RtmpCaptionInfoDestinationSettings) *CaptionDestinationSettings { - s.RtmpCaptionInfoDestinationSettings = v +// SetRequestId sets the RequestId field's value. +func (s *CreateMultiplexInput) SetRequestId(v string) *CreateMultiplexInput { + s.RequestId = &v return s } -// SetScte20PlusEmbeddedDestinationSettings sets the Scte20PlusEmbeddedDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetScte20PlusEmbeddedDestinationSettings(v *Scte20PlusEmbeddedDestinationSettings) *CaptionDestinationSettings { - s.Scte20PlusEmbeddedDestinationSettings = v +// SetTags sets the Tags field's value. +func (s *CreateMultiplexInput) SetTags(v map[string]*string) *CreateMultiplexInput { + s.Tags = v return s } -// SetScte27DestinationSettings sets the Scte27DestinationSettings field's value. -func (s *CaptionDestinationSettings) SetScte27DestinationSettings(v *Scte27DestinationSettings) *CaptionDestinationSettings { - s.Scte27DestinationSettings = v - return s -} +type CreateMultiplexOutput struct { + _ struct{} `type:"structure"` -// SetSmpteTtDestinationSettings sets the SmpteTtDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetSmpteTtDestinationSettings(v *SmpteTtDestinationSettings) *CaptionDestinationSettings { - s.SmpteTtDestinationSettings = v - return s + // The multiplex object. + Multiplex *Multiplex `locationName:"multiplex" type:"structure"` } -// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings { - s.TeletextDestinationSettings = v - return s +// String returns the string representation +func (s CreateMultiplexOutput) String() string { + return awsutil.Prettify(s) } -// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings { - s.TtmlDestinationSettings = v - return s +// GoString returns the string representation +func (s CreateMultiplexOutput) GoString() string { + return s.String() } -// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings { - s.WebvttDestinationSettings = v +// SetMultiplex sets the Multiplex field's value. +func (s *CreateMultiplexOutput) SetMultiplex(v *Multiplex) *CreateMultiplexOutput { + s.Multiplex = v return s } -// Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), -// with an optional description. -type CaptionLanguageMapping struct { +type CreateMultiplexProgramInput struct { _ struct{} `type:"structure"` - // The closed caption channel being described by this CaptionLanguageMapping. - // Each channel mapping must have a unique channel number (maximum of 4) - // - // CaptionChannel is a required field - CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` - // Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) + // Multiplex Program settings configuration. // - // LanguageCode is a required field - LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"` + // MultiplexProgramSettings is a required field + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure" required:"true"` - // Textual description of language - // - // LanguageDescription is a required field - LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"` + // ProgramName is a required field + ProgramName *string `locationName:"programName" type:"string" required:"true"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` } // String returns the string representation -func (s CaptionLanguageMapping) String() string { +func (s CreateMultiplexProgramInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionLanguageMapping) GoString() string { +func (s CreateMultiplexProgramInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionLanguageMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"} - if s.CaptionChannel == nil { - invalidParams.Add(request.NewErrParamRequired("CaptionChannel")) - } - if s.CaptionChannel != nil && *s.CaptionChannel < 1 { - invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1)) +func (s *CreateMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) } - if s.LanguageCode == nil { - invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) } - if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { - invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + if s.MultiplexProgramSettings == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexProgramSettings")) } - if s.LanguageDescription == nil { - invalidParams.Add(request.NewErrParamRequired("LanguageDescription")) + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) } - if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1)) + if s.MultiplexProgramSettings != nil { + if err := s.MultiplexProgramSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexProgramSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5147,67 +7375,80 @@ func (s *CaptionLanguageMapping) Validate() error { return nil } -// SetCaptionChannel sets the CaptionChannel field's value. -func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping { - s.CaptionChannel = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *CreateMultiplexProgramInput) SetMultiplexId(v string) *CreateMultiplexProgramInput { + s.MultiplexId = &v return s } -// SetLanguageCode sets the LanguageCode field's value. -func (s *CaptionLanguageMapping) SetLanguageCode(v string) *CaptionLanguageMapping { - s.LanguageCode = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *CreateMultiplexProgramInput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *CreateMultiplexProgramInput { + s.MultiplexProgramSettings = v return s } -// SetLanguageDescription sets the LanguageDescription field's value. -func (s *CaptionLanguageMapping) SetLanguageDescription(v string) *CaptionLanguageMapping { - s.LanguageDescription = &v +// SetProgramName sets the ProgramName field's value. +func (s *CreateMultiplexProgramInput) SetProgramName(v string) *CreateMultiplexProgramInput { + s.ProgramName = &v return s } -// Output groups for this Live Event. Output groups contain information about -// where streams should be distributed. -type CaptionSelector struct { +// SetRequestId sets the RequestId field's value. +func (s *CreateMultiplexProgramInput) SetRequestId(v string) *CreateMultiplexProgramInput { + s.RequestId = &v + return s +} + +type CreateMultiplexProgramOutput struct { _ struct{} `type:"structure"` - // When specified this field indicates the three letter language code of the - // caption track to extract from the source. - LanguageCode *string `locationName:"languageCode" type:"string"` + // The multiplex program object. + MultiplexProgram *MultiplexProgram `locationName:"multiplexProgram" type:"structure"` +} - // 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. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// String returns the string representation +func (s CreateMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) +} - // Caption selector settings. - SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"` +// GoString returns the string representation +func (s CreateMultiplexProgramOutput) GoString() string { + return s.String() +} + +// SetMultiplexProgram sets the MultiplexProgram field's value. +func (s *CreateMultiplexProgramOutput) SetMultiplexProgram(v *MultiplexProgram) *CreateMultiplexProgramOutput { + s.MultiplexProgram = v + return s +} + +type CreateTagsInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s CaptionSelector) String() string { +func (s CreateTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionSelector) GoString() string { +func (s CreateTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionSelector) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func (s *CreateTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.SelectorSettings != nil { - if err := s.SelectorSettings.Validate(); err != nil { - invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) - } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -5216,79 +7457,57 @@ func (s *CaptionSelector) Validate() error { return nil } -// SetLanguageCode sets the LanguageCode field's value. -func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector { - s.LanguageCode = &v - return s -} - -// SetName sets the Name field's value. -func (s *CaptionSelector) SetName(v string) *CaptionSelector { - s.Name = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput { + s.ResourceArn = &v return s } -// SetSelectorSettings sets the SelectorSettings field's value. -func (s *CaptionSelector) SetSelectorSettings(v *CaptionSelectorSettings) *CaptionSelector { - s.SelectorSettings = v +// SetTags sets the Tags field's value. +func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput { + s.Tags = v return s } -// Caption Selector Settings -type CaptionSelectorSettings struct { +type CreateTagsOutput struct { _ struct{} `type:"structure"` +} - // Arib Source Settings - AribSourceSettings *AribSourceSettings `locationName:"aribSourceSettings" type:"structure"` - - // Dvb Sub Source Settings - DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"` - - // Embedded Source Settings - EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"` +// String returns the string representation +func (s CreateTagsOutput) String() string { + return awsutil.Prettify(s) +} - // Scte20 Source Settings - Scte20SourceSettings *Scte20SourceSettings `locationName:"scte20SourceSettings" type:"structure"` +// GoString returns the string representation +func (s CreateTagsOutput) GoString() string { + return s.String() +} - // Scte27 Source Settings - Scte27SourceSettings *Scte27SourceSettings `locationName:"scte27SourceSettings" type:"structure"` +type DeleteChannelInput struct { + _ struct{} `type:"structure"` - // Teletext Source Settings - TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` } // String returns the string representation -func (s CaptionSelectorSettings) String() string { +func (s DeleteChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionSelectorSettings) GoString() string { +func (s DeleteChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionSelectorSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"} - if s.DvbSubSourceSettings != nil { - if err := s.DvbSubSourceSettings.Validate(); err != nil { - invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams)) - } - } - if s.EmbeddedSourceSettings != nil { - if err := s.EmbeddedSourceSettings.Validate(); err != nil { - invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams)) - } - } - if s.Scte20SourceSettings != nil { - if err := s.Scte20SourceSettings.Validate(); err != nil { - invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams)) - } +func (s *DeleteChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) } - if s.Scte27SourceSettings != nil { - if err := s.Scte27SourceSettings.Validate(); err != nil { - invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams)) - } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) } if invalidParams.Len() > 0 { @@ -5297,429 +7516,425 @@ func (s *CaptionSelectorSettings) Validate() error { return nil } -// SetAribSourceSettings sets the AribSourceSettings field's value. -func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings { - s.AribSourceSettings = v - return s -} - -// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value. -func (s *CaptionSelectorSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSelectorSettings { - s.DvbSubSourceSettings = v - return s -} - -// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value. -func (s *CaptionSelectorSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSelectorSettings { - s.EmbeddedSourceSettings = v - return s -} - -// SetScte20SourceSettings sets the Scte20SourceSettings field's value. -func (s *CaptionSelectorSettings) SetScte20SourceSettings(v *Scte20SourceSettings) *CaptionSelectorSettings { - s.Scte20SourceSettings = v - return s -} - -// SetScte27SourceSettings sets the Scte27SourceSettings field's value. -func (s *CaptionSelectorSettings) SetScte27SourceSettings(v *Scte27SourceSettings) *CaptionSelectorSettings { - s.Scte27SourceSettings = v - return s -} - -// SetTeletextSourceSettings sets the TeletextSourceSettings field's value. -func (s *CaptionSelectorSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSelectorSettings { - s.TeletextSourceSettings = v +// SetChannelId sets the ChannelId field's value. +func (s *DeleteChannelInput) SetChannelId(v string) *DeleteChannelInput { + s.ChannelId = &v return s } -type Channel struct { +type DeleteChannelOutput struct { _ struct{} `type:"structure"` - // The unique arn of the channel. Arn *string `locationName:"arn" type:"string"` - // The class for this channel. STANDARD for a channel with two pipelines or - // SINGLE_PIPELINE for a channel with one pipeline. + // A standard channel has two encoding pipelines and a single pipeline channel + // only has one. ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` - // A list of destinations of the channel. For UDP outputs, there is onedestination - // per output. For other types (HLS, for example), there isone destination per - // packager. Destinations []*OutputDestination `locationName:"destinations" type:"list"` - // The endpoints where outgoing connections initiate from EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` // Encoder Settings EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` - // The unique id of the channel. Id *string `locationName:"id" type:"string"` - // List of input attachments for channel. InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` - // The log level being written to CloudWatch Logs. + // The log level the user wants for their channel. LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` - // The name of the channel. (user-mutable) Name *string `locationName:"name" type:"string"` - // Runtime details for the pipelines of a running channel. PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"` - // The number of currently healthy pipelines. PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` - // The Amazon Resource Name (ARN) of the role assumed when running the Channel. RoleArn *string `locationName:"roleArn" type:"string"` State *string `locationName:"state" type:"string" enum:"ChannelState"` - // A collection of key-value pairs. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s Channel) String() string { +func (s DeleteChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Channel) GoString() string { +func (s DeleteChannelOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Channel) SetArn(v string) *Channel { +func (s *DeleteChannelOutput) SetArn(v string) *DeleteChannelOutput { s.Arn = &v return s } // SetChannelClass sets the ChannelClass field's value. -func (s *Channel) SetChannelClass(v string) *Channel { +func (s *DeleteChannelOutput) SetChannelClass(v string) *DeleteChannelOutput { s.ChannelClass = &v return s } // SetDestinations sets the Destinations field's value. -func (s *Channel) SetDestinations(v []*OutputDestination) *Channel { +func (s *DeleteChannelOutput) SetDestinations(v []*OutputDestination) *DeleteChannelOutput { s.Destinations = v return s } // SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *Channel) SetEgressEndpoints(v []*ChannelEgressEndpoint) *Channel { +func (s *DeleteChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DeleteChannelOutput { s.EgressEndpoints = v return s } // SetEncoderSettings sets the EncoderSettings field's value. -func (s *Channel) SetEncoderSettings(v *EncoderSettings) *Channel { +func (s *DeleteChannelOutput) SetEncoderSettings(v *EncoderSettings) *DeleteChannelOutput { s.EncoderSettings = v return s } // SetId sets the Id field's value. -func (s *Channel) SetId(v string) *Channel { +func (s *DeleteChannelOutput) SetId(v string) *DeleteChannelOutput { s.Id = &v return s } // SetInputAttachments sets the InputAttachments field's value. -func (s *Channel) SetInputAttachments(v []*InputAttachment) *Channel { +func (s *DeleteChannelOutput) SetInputAttachments(v []*InputAttachment) *DeleteChannelOutput { s.InputAttachments = v return s } // SetInputSpecification sets the InputSpecification field's value. -func (s *Channel) SetInputSpecification(v *InputSpecification) *Channel { +func (s *DeleteChannelOutput) SetInputSpecification(v *InputSpecification) *DeleteChannelOutput { s.InputSpecification = v return s } // SetLogLevel sets the LogLevel field's value. -func (s *Channel) SetLogLevel(v string) *Channel { +func (s *DeleteChannelOutput) SetLogLevel(v string) *DeleteChannelOutput { s.LogLevel = &v return s } // SetName sets the Name field's value. -func (s *Channel) SetName(v string) *Channel { +func (s *DeleteChannelOutput) SetName(v string) *DeleteChannelOutput { s.Name = &v return s } // SetPipelineDetails sets the PipelineDetails field's value. -func (s *Channel) SetPipelineDetails(v []*PipelineDetail) *Channel { +func (s *DeleteChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DeleteChannelOutput { s.PipelineDetails = v return s } // SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *Channel) SetPipelinesRunningCount(v int64) *Channel { +func (s *DeleteChannelOutput) SetPipelinesRunningCount(v int64) *DeleteChannelOutput { s.PipelinesRunningCount = &v return s } // SetRoleArn sets the RoleArn field's value. -func (s *Channel) SetRoleArn(v string) *Channel { +func (s *DeleteChannelOutput) SetRoleArn(v string) *DeleteChannelOutput { s.RoleArn = &v return s } // SetState sets the State field's value. -func (s *Channel) SetState(v string) *Channel { +func (s *DeleteChannelOutput) SetState(v string) *DeleteChannelOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *Channel) SetTags(v map[string]*string) *Channel { +func (s *DeleteChannelOutput) SetTags(v map[string]*string) *DeleteChannelOutput { s.Tags = v return s } -type ChannelEgressEndpoint struct { +type DeleteInputInput struct { _ struct{} `type:"structure"` - // Public IP of where a channel's output comes from - SourceIp *string `locationName:"sourceIp" type:"string"` + // InputId is a required field + InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` } // String returns the string representation -func (s ChannelEgressEndpoint) String() string { +func (s DeleteInputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ChannelEgressEndpoint) GoString() string { +func (s DeleteInputInput) GoString() string { return s.String() } -// SetSourceIp sets the SourceIp field's value. -func (s *ChannelEgressEndpoint) SetSourceIp(v string) *ChannelEgressEndpoint { - s.SourceIp = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"} + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputId sets the InputId field's value. +func (s *DeleteInputInput) SetInputId(v string) *DeleteInputInput { + s.InputId = &v return s } -type ChannelSummary struct { +type DeleteInputOutput struct { _ struct{} `type:"structure"` +} - // The unique arn of the channel. - Arn *string `locationName:"arn" type:"string"` +// String returns the string representation +func (s DeleteInputOutput) String() string { + return awsutil.Prettify(s) +} - // The class for this channel. STANDARD for a channel with two pipelines or - // SINGLE_PIPELINE for a channel with one pipeline. - ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` +// GoString returns the string representation +func (s DeleteInputOutput) GoString() string { + return s.String() +} - // A list of destinations of the channel. For UDP outputs, there is onedestination - // per output. For other types (HLS, for example), there isone destination per - // packager. - Destinations []*OutputDestination `locationName:"destinations" type:"list"` +type DeleteInputSecurityGroupInput struct { + _ struct{} `type:"structure"` - // The endpoints where outgoing connections initiate from - EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + // InputSecurityGroupId is a required field + InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"` +} - // The unique id of the channel. - Id *string `locationName:"id" type:"string"` +// String returns the string representation +func (s DeleteInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) +} - // List of input attachments for channel. - InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` +// GoString returns the string representation +func (s DeleteInputSecurityGroupInput) GoString() string { + return s.String() +} - InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInputSecurityGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInputSecurityGroupInput"} + if s.InputSecurityGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) + } + if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1)) + } - // The log level being written to CloudWatch Logs. - LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputSecurityGroupId sets the InputSecurityGroupId field's value. +func (s *DeleteInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DeleteInputSecurityGroupInput { + s.InputSecurityGroupId = &v + return s +} + +type DeleteInputSecurityGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputSecurityGroupOutput) GoString() string { + return s.String() +} + +type DeleteMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *DeleteMultiplexInput) SetMultiplexId(v string) *DeleteMultiplexInput { + s.MultiplexId = &v + return s +} + +type DeleteMultiplexOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` - // The name of the channel. (user-mutable) Name *string `locationName:"name" type:"string"` - // The number of currently healthy pipelines. PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` - // The Amazon Resource Name (ARN) of the role assumed when running the Channel. - RoleArn *string `locationName:"roleArn" type:"string"` + ProgramCount *int64 `locationName:"programCount" type:"integer"` - State *string `locationName:"state" type:"string" enum:"ChannelState"` + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` - // A collection of key-value pairs. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s ChannelSummary) String() string { +func (s DeleteMultiplexOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ChannelSummary) GoString() string { +func (s DeleteMultiplexOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *ChannelSummary) SetArn(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetArn(v string) *DeleteMultiplexOutput { s.Arn = &v return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *ChannelSummary) SetChannelClass(v string) *ChannelSummary { - s.ChannelClass = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DeleteMultiplexOutput) SetAvailabilityZones(v []*string) *DeleteMultiplexOutput { + s.AvailabilityZones = v return s } // SetDestinations sets the Destinations field's value. -func (s *ChannelSummary) SetDestinations(v []*OutputDestination) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *DeleteMultiplexOutput { s.Destinations = v return s } -// SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *ChannelSummary) SetEgressEndpoints(v []*ChannelEgressEndpoint) *ChannelSummary { - s.EgressEndpoints = v - return s -} - // SetId sets the Id field's value. -func (s *ChannelSummary) SetId(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetId(v string) *DeleteMultiplexOutput { s.Id = &v return s } -// SetInputAttachments sets the InputAttachments field's value. -func (s *ChannelSummary) SetInputAttachments(v []*InputAttachment) *ChannelSummary { - s.InputAttachments = v - return s -} - -// SetInputSpecification sets the InputSpecification field's value. -func (s *ChannelSummary) SetInputSpecification(v *InputSpecification) *ChannelSummary { - s.InputSpecification = v - return s -} - -// SetLogLevel sets the LogLevel field's value. -func (s *ChannelSummary) SetLogLevel(v string) *ChannelSummary { - s.LogLevel = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *DeleteMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *DeleteMultiplexOutput { + s.MultiplexSettings = v return s } // SetName sets the Name field's value. -func (s *ChannelSummary) SetName(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetName(v string) *DeleteMultiplexOutput { s.Name = &v return s } // SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *ChannelSummary) SetPipelinesRunningCount(v int64) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetPipelinesRunningCount(v int64) *DeleteMultiplexOutput { s.PipelinesRunningCount = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *ChannelSummary) SetRoleArn(v string) *ChannelSummary { - s.RoleArn = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *DeleteMultiplexOutput) SetProgramCount(v int64) *DeleteMultiplexOutput { + s.ProgramCount = &v return s } // SetState sets the State field's value. -func (s *ChannelSummary) SetState(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetState(v string) *DeleteMultiplexOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetTags(v map[string]*string) *DeleteMultiplexOutput { s.Tags = v return s } -// Passthrough applies no color space conversion to the output -type ColorSpacePassthroughSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s ColorSpacePassthroughSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ColorSpacePassthroughSettings) GoString() string { - return s.String() -} - -type CreateChannelInput struct { +type DeleteMultiplexProgramInput struct { _ struct{} `type:"structure"` - // A standard channel has two encoding pipelines and a single pipeline channel - // only has one. - ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` - - Destinations []*OutputDestination `locationName:"destinations" type:"list"` - - // Encoder Settings - EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` - - InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` - - InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` - - // The log level the user wants for their channel. - LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` - - Name *string `locationName:"name" type:"string"` - - RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` - - Reserved *string `locationName:"reserved" deprecated:"true" type:"string"` - - RoleArn *string `locationName:"roleArn" type:"string"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` - Tags map[string]*string `locationName:"tags" type:"map"` + // ProgramName is a required field + ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"` } // String returns the string representation -func (s CreateChannelInput) String() string { +func (s DeleteMultiplexProgramInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateChannelInput) GoString() string { +func (s DeleteMultiplexProgramInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"} - if s.Destinations != nil { - for i, v := range s.Destinations { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams)) - } - } +func (s *DeleteMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) } - if s.EncoderSettings != nil { - if err := s.EncoderSettings.Validate(); err != nil { - invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) - } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) } - if s.InputAttachments != nil { - for i, v := range s.InputAttachments { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams)) - } - } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) } if invalidParams.Len() > 0 { @@ -5728,310 +7943,352 @@ func (s *CreateChannelInput) Validate() error { return nil } -// SetChannelClass sets the ChannelClass field's value. -func (s *CreateChannelInput) SetChannelClass(v string) *CreateChannelInput { - s.ChannelClass = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *DeleteMultiplexProgramInput) SetMultiplexId(v string) *DeleteMultiplexProgramInput { + s.MultiplexId = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput { - s.Destinations = v +// SetProgramName sets the ProgramName field's value. +func (s *DeleteMultiplexProgramInput) SetProgramName(v string) *DeleteMultiplexProgramInput { + s.ProgramName = &v return s } -// SetEncoderSettings sets the EncoderSettings field's value. -func (s *CreateChannelInput) SetEncoderSettings(v *EncoderSettings) *CreateChannelInput { - s.EncoderSettings = v - return s -} +type DeleteMultiplexProgramOutput struct { + _ struct{} `type:"structure"` -// SetInputAttachments sets the InputAttachments field's value. -func (s *CreateChannelInput) SetInputAttachments(v []*InputAttachment) *CreateChannelInput { - s.InputAttachments = v - return s -} + ChannelId *string `locationName:"channelId" type:"string"` -// SetInputSpecification sets the InputSpecification field's value. -func (s *CreateChannelInput) SetInputSpecification(v *InputSpecification) *CreateChannelInput { - s.InputSpecification = v - return s + // Multiplex Program settings configuration. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` + + // Packet identifiers map for a given Multiplex program. + PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"` + + ProgramName *string `locationName:"programName" type:"string"` } -// SetLogLevel sets the LogLevel field's value. -func (s *CreateChannelInput) SetLogLevel(v string) *CreateChannelInput { - s.LogLevel = &v - return s +// String returns the string representation +func (s DeleteMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *CreateChannelInput) SetName(v string) *CreateChannelInput { - s.Name = &v - return s +// GoString returns the string representation +func (s DeleteMultiplexProgramOutput) GoString() string { + return s.String() } -// SetRequestId sets the RequestId field's value. -func (s *CreateChannelInput) SetRequestId(v string) *CreateChannelInput { - s.RequestId = &v +// SetChannelId sets the ChannelId field's value. +func (s *DeleteMultiplexProgramOutput) SetChannelId(v string) *DeleteMultiplexProgramOutput { + s.ChannelId = &v return s } -// SetReserved sets the Reserved field's value. -func (s *CreateChannelInput) SetReserved(v string) *CreateChannelInput { - s.Reserved = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *DeleteMultiplexProgramOutput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *DeleteMultiplexProgramOutput { + s.MultiplexProgramSettings = v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *CreateChannelInput) SetRoleArn(v string) *CreateChannelInput { - s.RoleArn = &v +// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value. +func (s *DeleteMultiplexProgramOutput) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *DeleteMultiplexProgramOutput { + s.PacketIdentifiersMap = v return s } -// SetTags sets the Tags field's value. -func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput { - s.Tags = v +// SetProgramName sets the ProgramName field's value. +func (s *DeleteMultiplexProgramOutput) SetProgramName(v string) *DeleteMultiplexProgramOutput { + s.ProgramName = &v return s } -type CreateChannelOutput struct { +type DeleteReservationInput struct { _ struct{} `type:"structure"` - Channel *Channel `locationName:"channel" type:"structure"` + // ReservationId is a required field + ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` } // String returns the string representation -func (s CreateChannelOutput) String() string { +func (s DeleteReservationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateChannelOutput) GoString() string { +func (s DeleteReservationInput) GoString() string { return s.String() } -// SetChannel sets the Channel field's value. -func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput { - s.Channel = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReservationInput"} + if s.ReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("ReservationId")) + } + if s.ReservationId != nil && len(*s.ReservationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReservationId sets the ReservationId field's value. +func (s *DeleteReservationInput) SetReservationId(v string) *DeleteReservationInput { + s.ReservationId = &v return s } -type CreateInputInput struct { +type DeleteReservationOutput struct { _ struct{} `type:"structure"` - Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` + Arn *string `locationName:"arn" type:"string"` - InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"` + Count *int64 `locationName:"count" type:"integer"` - MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"` + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + End *string `locationName:"end" type:"string"` + + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` Name *string `locationName:"name" type:"string"` - RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + OfferingDescription *string `locationName:"offeringDescription" type:"string"` - RoleArn *string `locationName:"roleArn" type:"string"` + OfferingId *string `locationName:"offeringId" type:"string"` - Sources []*InputSourceRequest `locationName:"sources" type:"list"` + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` - Tags map[string]*string `locationName:"tags" type:"map"` + Region *string `locationName:"region" type:"string"` - Type *string `locationName:"type" type:"string" enum:"InputType"` + ReservationId *string `locationName:"reservationId" type:"string"` - // Settings for a private VPC Input.When this property is specified, the input - // destination addresses will be created in a VPC rather than with public Internet - // addresses.This property requires setting the roleArn property on Input creation.Not - // compatible with the inputSecurityGroups property. - Vpc *InputVpcRequest `locationName:"vpc" type:"structure"` + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + Start *string `locationName:"start" type:"string"` + + // Current reservation state + State *string `locationName:"state" type:"string" enum:"ReservationState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s CreateInputInput) String() string { +func (s DeleteReservationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInputInput) GoString() string { +func (s DeleteReservationOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"} - if s.Vpc != nil { - if err := s.Vpc.Validate(); err != nil { - invalidParams.AddNested("Vpc", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *DeleteReservationOutput) SetArn(v string) *DeleteReservationOutput { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCount sets the Count field's value. +func (s *DeleteReservationOutput) SetCount(v int64) *DeleteReservationOutput { + s.Count = &v + return s } -// SetDestinations sets the Destinations field's value. -func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *CreateInputInput { - s.Destinations = v +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DeleteReservationOutput) SetCurrencyCode(v string) *DeleteReservationOutput { + s.CurrencyCode = &v return s } -// SetInputSecurityGroups sets the InputSecurityGroups field's value. -func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput { - s.InputSecurityGroups = v +// SetDuration sets the Duration field's value. +func (s *DeleteReservationOutput) SetDuration(v int64) *DeleteReservationOutput { + s.Duration = &v return s } -// SetMediaConnectFlows sets the MediaConnectFlows field's value. -func (s *CreateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *CreateInputInput { - s.MediaConnectFlows = v +// SetDurationUnits sets the DurationUnits field's value. +func (s *DeleteReservationOutput) SetDurationUnits(v string) *DeleteReservationOutput { + s.DurationUnits = &v + return s +} + +// SetEnd sets the End field's value. +func (s *DeleteReservationOutput) SetEnd(v string) *DeleteReservationOutput { + s.End = &v + return s +} + +// SetFixedPrice sets the FixedPrice field's value. +func (s *DeleteReservationOutput) SetFixedPrice(v float64) *DeleteReservationOutput { + s.FixedPrice = &v return s } // SetName sets the Name field's value. -func (s *CreateInputInput) SetName(v string) *CreateInputInput { +func (s *DeleteReservationOutput) SetName(v string) *DeleteReservationOutput { s.Name = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *CreateInputInput) SetRequestId(v string) *CreateInputInput { - s.RequestId = &v +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DeleteReservationOutput) SetOfferingDescription(v string) *DeleteReservationOutput { + s.OfferingDescription = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *CreateInputInput) SetRoleArn(v string) *CreateInputInput { - s.RoleArn = &v +// SetOfferingId sets the OfferingId field's value. +func (s *DeleteReservationOutput) SetOfferingId(v string) *DeleteReservationOutput { + s.OfferingId = &v return s } -// SetSources sets the Sources field's value. -func (s *CreateInputInput) SetSources(v []*InputSourceRequest) *CreateInputInput { - s.Sources = v +// SetOfferingType sets the OfferingType field's value. +func (s *DeleteReservationOutput) SetOfferingType(v string) *DeleteReservationOutput { + s.OfferingType = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateInputInput) SetTags(v map[string]*string) *CreateInputInput { - s.Tags = v +// SetRegion sets the Region field's value. +func (s *DeleteReservationOutput) SetRegion(v string) *DeleteReservationOutput { + s.Region = &v return s } -// SetType sets the Type field's value. -func (s *CreateInputInput) SetType(v string) *CreateInputInput { - s.Type = &v +// SetReservationId sets the ReservationId field's value. +func (s *DeleteReservationOutput) SetReservationId(v string) *DeleteReservationOutput { + s.ReservationId = &v return s } -// SetVpc sets the Vpc field's value. -func (s *CreateInputInput) SetVpc(v *InputVpcRequest) *CreateInputInput { - s.Vpc = v +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DeleteReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DeleteReservationOutput { + s.ResourceSpecification = v return s } -type CreateInputOutput struct { - _ struct{} `type:"structure"` - - Input *Input `locationName:"input" type:"structure"` +// SetStart sets the Start field's value. +func (s *DeleteReservationOutput) SetStart(v string) *DeleteReservationOutput { + s.Start = &v + return s } -// String returns the string representation -func (s CreateInputOutput) String() string { - return awsutil.Prettify(s) +// SetState sets the State field's value. +func (s *DeleteReservationOutput) SetState(v string) *DeleteReservationOutput { + s.State = &v + return s } -// GoString returns the string representation -func (s CreateInputOutput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *DeleteReservationOutput) SetTags(v map[string]*string) *DeleteReservationOutput { + s.Tags = v + return s } -// SetInput sets the Input field's value. -func (s *CreateInputOutput) SetInput(v *Input) *CreateInputOutput { - s.Input = v +// SetUsagePrice sets the UsagePrice field's value. +func (s *DeleteReservationOutput) SetUsagePrice(v float64) *DeleteReservationOutput { + s.UsagePrice = &v return s } -type CreateInputSecurityGroupInput struct { +type DeleteScheduleInput struct { _ struct{} `type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` - - WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` } // String returns the string representation -func (s CreateInputSecurityGroupInput) String() string { +func (s DeleteScheduleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInputSecurityGroupInput) GoString() string { +func (s DeleteScheduleInput) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateInputSecurityGroupInput) SetTags(v map[string]*string) *CreateInputSecurityGroupInput { - s.Tags = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetWhitelistRules sets the WhitelistRules field's value. -func (s *CreateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *CreateInputSecurityGroupInput { - s.WhitelistRules = v +// SetChannelId sets the ChannelId field's value. +func (s *DeleteScheduleInput) SetChannelId(v string) *DeleteScheduleInput { + s.ChannelId = &v return s } -type CreateInputSecurityGroupOutput struct { +type DeleteScheduleOutput struct { _ struct{} `type:"structure"` - - // An Input Security Group - SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"` } // String returns the string representation -func (s CreateInputSecurityGroupOutput) String() string { +func (s DeleteScheduleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInputSecurityGroupOutput) GoString() string { +func (s DeleteScheduleOutput) GoString() string { return s.String() } -// SetSecurityGroup sets the SecurityGroup field's value. -func (s *CreateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *CreateInputSecurityGroupOutput { - s.SecurityGroup = v - return s -} - -type CreateTagsInput struct { +type DeleteTagsInput struct { _ struct{} `type:"structure"` // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` - Tags map[string]*string `locationName:"tags" type:"map"` + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` } // String returns the string representation -func (s CreateTagsInput) String() string { +func (s DeleteTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTagsInput) GoString() string { +func (s DeleteTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"} +func (s *DeleteTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } if invalidParams.Len() > 0 { return invalidParams @@ -6040,32 +8297,32 @@ func (s *CreateTagsInput) Validate() error { } // SetResourceArn sets the ResourceArn field's value. -func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput { +func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput { s.ResourceArn = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput { - s.Tags = v +// SetTagKeys sets the TagKeys field's value. +func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput { + s.TagKeys = v return s } -type CreateTagsOutput struct { +type DeleteTagsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s CreateTagsOutput) String() string { +func (s DeleteTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTagsOutput) GoString() string { +func (s DeleteTagsOutput) GoString() string { return s.String() } -type DeleteChannelInput struct { +type DescribeChannelInput struct { _ struct{} `type:"structure"` // ChannelId is a required field @@ -6073,18 +8330,18 @@ type DeleteChannelInput struct { } // String returns the string representation -func (s DeleteChannelInput) String() string { +func (s DescribeChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteChannelInput) GoString() string { +func (s DescribeChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} +func (s *DescribeChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} if s.ChannelId == nil { invalidParams.Add(request.NewErrParamRequired("ChannelId")) } @@ -6099,12 +8356,12 @@ func (s *DeleteChannelInput) Validate() error { } // SetChannelId sets the ChannelId field's value. -func (s *DeleteChannelInput) SetChannelId(v string) *DeleteChannelInput { +func (s *DescribeChannelInput) SetChannelId(v string) *DescribeChannelInput { s.ChannelId = &v return s } -type DeleteChannelOutput struct { +type DescribeChannelOutput struct { _ struct{} `type:"structure"` Arn *string `locationName:"arn" type:"string"` @@ -6143,106 +8400,106 @@ type DeleteChannelOutput struct { } // String returns the string representation -func (s DeleteChannelOutput) String() string { +func (s DescribeChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteChannelOutput) GoString() string { +func (s DescribeChannelOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DeleteChannelOutput) SetArn(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { s.Arn = &v return s } // SetChannelClass sets the ChannelClass field's value. -func (s *DeleteChannelOutput) SetChannelClass(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetChannelClass(v string) *DescribeChannelOutput { s.ChannelClass = &v return s } // SetDestinations sets the Destinations field's value. -func (s *DeleteChannelOutput) SetDestinations(v []*OutputDestination) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetDestinations(v []*OutputDestination) *DescribeChannelOutput { s.Destinations = v return s } // SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *DeleteChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DescribeChannelOutput { s.EgressEndpoints = v return s } // SetEncoderSettings sets the EncoderSettings field's value. -func (s *DeleteChannelOutput) SetEncoderSettings(v *EncoderSettings) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetEncoderSettings(v *EncoderSettings) *DescribeChannelOutput { s.EncoderSettings = v return s } // SetId sets the Id field's value. -func (s *DeleteChannelOutput) SetId(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { s.Id = &v return s } // SetInputAttachments sets the InputAttachments field's value. -func (s *DeleteChannelOutput) SetInputAttachments(v []*InputAttachment) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetInputAttachments(v []*InputAttachment) *DescribeChannelOutput { s.InputAttachments = v return s } // SetInputSpecification sets the InputSpecification field's value. -func (s *DeleteChannelOutput) SetInputSpecification(v *InputSpecification) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetInputSpecification(v *InputSpecification) *DescribeChannelOutput { s.InputSpecification = v return s } // SetLogLevel sets the LogLevel field's value. -func (s *DeleteChannelOutput) SetLogLevel(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetLogLevel(v string) *DescribeChannelOutput { s.LogLevel = &v return s } // SetName sets the Name field's value. -func (s *DeleteChannelOutput) SetName(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetName(v string) *DescribeChannelOutput { s.Name = &v return s } // SetPipelineDetails sets the PipelineDetails field's value. -func (s *DeleteChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DescribeChannelOutput { s.PipelineDetails = v return s } // SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *DeleteChannelOutput) SetPipelinesRunningCount(v int64) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetPipelinesRunningCount(v int64) *DescribeChannelOutput { s.PipelinesRunningCount = &v return s } // SetRoleArn sets the RoleArn field's value. -func (s *DeleteChannelOutput) SetRoleArn(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetRoleArn(v string) *DescribeChannelOutput { s.RoleArn = &v return s } // SetState sets the State field's value. -func (s *DeleteChannelOutput) SetState(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetState(v string) *DescribeChannelOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *DeleteChannelOutput) SetTags(v map[string]*string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { s.Tags = v return s } -type DeleteInputInput struct { +type DescribeInputInput struct { _ struct{} `type:"structure"` // InputId is a required field @@ -6250,18 +8507,18 @@ type DeleteInputInput struct { } // String returns the string representation -func (s DeleteInputInput) String() string { +func (s DescribeInputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInputInput) GoString() string { +func (s DescribeInputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"} +func (s *DescribeInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"} if s.InputId == nil { invalidParams.Add(request.NewErrParamRequired("InputId")) } @@ -6276,26 +8533,143 @@ func (s *DeleteInputInput) Validate() error { } // SetInputId sets the InputId field's value. -func (s *DeleteInputInput) SetInputId(v string) *DeleteInputInput { +func (s *DescribeInputInput) SetInputId(v string) *DescribeInputInput { s.InputId = &v return s } -type DeleteInputOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteInputOutput) String() string { - return awsutil.Prettify(s) +type DescribeInputOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AttachedChannels []*string `locationName:"attachedChannels" type:"list"` + + Destinations []*InputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // A standard input has two sources and a single pipeline input only has one. + InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` + + // There are two types of input sources, static and dynamic. If an input source + // is dynamic you canchange the source url of the input dynamically using an + // input switch action. However, the only input typeto support a dynamic url + // at this time is MP4_FILE. By default all input sources are static. + InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` + + MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` + + Name *string `locationName:"name" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + Sources []*InputSource `locationName:"sources" type:"list"` + + State *string `locationName:"state" type:"string" enum:"InputState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"InputType"` +} + +// String returns the string representation +func (s DescribeInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeInputOutput) SetArn(v string) *DescribeInputOutput { + s.Arn = &v + return s +} + +// SetAttachedChannels sets the AttachedChannels field's value. +func (s *DescribeInputOutput) SetAttachedChannels(v []*string) *DescribeInputOutput { + s.AttachedChannels = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *DescribeInputOutput) SetDestinations(v []*InputDestination) *DescribeInputOutput { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeInputOutput) SetId(v string) *DescribeInputOutput { + s.Id = &v + return s +} + +// SetInputClass sets the InputClass field's value. +func (s *DescribeInputOutput) SetInputClass(v string) *DescribeInputOutput { + s.InputClass = &v + return s +} + +// SetInputSourceType sets the InputSourceType field's value. +func (s *DescribeInputOutput) SetInputSourceType(v string) *DescribeInputOutput { + s.InputSourceType = &v + return s +} + +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *DescribeInputOutput) SetMediaConnectFlows(v []*MediaConnectFlow) *DescribeInputOutput { + s.MediaConnectFlows = v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeInputOutput) SetName(v string) *DescribeInputOutput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeInputOutput) SetRoleArn(v string) *DescribeInputOutput { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *DescribeInputOutput) SetSecurityGroups(v []*string) *DescribeInputOutput { + s.SecurityGroups = v + return s +} + +// SetSources sets the Sources field's value. +func (s *DescribeInputOutput) SetSources(v []*InputSource) *DescribeInputOutput { + s.Sources = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeInputOutput) SetState(v string) *DescribeInputOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeInputOutput) SetTags(v map[string]*string) *DescribeInputOutput { + s.Tags = v + return s } -// GoString returns the string representation -func (s DeleteInputOutput) GoString() string { - return s.String() +// SetType sets the Type field's value. +func (s *DescribeInputOutput) SetType(v string) *DescribeInputOutput { + s.Type = &v + return s } -type DeleteInputSecurityGroupInput struct { +type DescribeInputSecurityGroupInput struct { _ struct{} `type:"structure"` // InputSecurityGroupId is a required field @@ -6303,18 +8677,18 @@ type DeleteInputSecurityGroupInput struct { } // String returns the string representation -func (s DeleteInputSecurityGroupInput) String() string { +func (s DescribeInputSecurityGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInputSecurityGroupInput) GoString() string { +func (s DescribeInputSecurityGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInputSecurityGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInputSecurityGroupInput"} +func (s *DescribeInputSecurityGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputSecurityGroupInput"} if s.InputSecurityGroupId == nil { invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) } @@ -6329,50 +8703,98 @@ func (s *DeleteInputSecurityGroupInput) Validate() error { } // SetInputSecurityGroupId sets the InputSecurityGroupId field's value. -func (s *DeleteInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DeleteInputSecurityGroupInput { +func (s *DescribeInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DescribeInputSecurityGroupInput { s.InputSecurityGroupId = &v return s } -type DeleteInputSecurityGroupOutput struct { +type DescribeInputSecurityGroupOutput struct { _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Id *string `locationName:"id" type:"string"` + + Inputs []*string `locationName:"inputs" type:"list"` + + State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` } // String returns the string representation -func (s DeleteInputSecurityGroupOutput) String() string { +func (s DescribeInputSecurityGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInputSecurityGroupOutput) GoString() string { +func (s DescribeInputSecurityGroupOutput) GoString() string { return s.String() } -type DeleteReservationInput struct { +// SetArn sets the Arn field's value. +func (s *DescribeInputSecurityGroupOutput) SetArn(v string) *DescribeInputSecurityGroupOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeInputSecurityGroupOutput) SetId(v string) *DescribeInputSecurityGroupOutput { + s.Id = &v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *DescribeInputSecurityGroupOutput) SetInputs(v []*string) *DescribeInputSecurityGroupOutput { + s.Inputs = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeInputSecurityGroupOutput) SetState(v string) *DescribeInputSecurityGroupOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeInputSecurityGroupOutput) SetTags(v map[string]*string) *DescribeInputSecurityGroupOutput { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *DescribeInputSecurityGroupOutput) SetWhitelistRules(v []*InputWhitelistRule) *DescribeInputSecurityGroupOutput { + s.WhitelistRules = v + return s +} + +type DescribeMultiplexInput struct { _ struct{} `type:"structure"` - // ReservationId is a required field - ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteReservationInput) String() string { +func (s DescribeMultiplexInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReservationInput) GoString() string { +func (s DescribeMultiplexInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteReservationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteReservationInput"} - if s.ReservationId == nil { - invalidParams.Add(request.NewErrParamRequired("ReservationId")) +func (s *DescribeMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) } - if s.ReservationId != nil && len(*s.ReservationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) } if invalidParams.Len() > 0 { @@ -6381,199 +8803,235 @@ func (s *DeleteReservationInput) Validate() error { return nil } -// SetReservationId sets the ReservationId field's value. -func (s *DeleteReservationInput) SetReservationId(v string) *DeleteReservationInput { - s.ReservationId = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *DescribeMultiplexInput) SetMultiplexId(v string) *DescribeMultiplexInput { + s.MultiplexId = &v return s } -type DeleteReservationOutput struct { +type DescribeMultiplexOutput struct { _ struct{} `type:"structure"` Arn *string `locationName:"arn" type:"string"` - Count *int64 `locationName:"count" type:"integer"` - - CurrencyCode *string `locationName:"currencyCode" type:"string"` - - Duration *int64 `locationName:"duration" type:"integer"` + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` - // Units for duration, e.g. 'MONTHS' - DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` - End *string `locationName:"end" type:"string"` + Id *string `locationName:"id" type:"string"` - FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` Name *string `locationName:"name" type:"string"` - OfferingDescription *string `locationName:"offeringDescription" type:"string"` - - OfferingId *string `locationName:"offeringId" type:"string"` - - // Offering type, e.g. 'NO_UPFRONT' - OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` - - Region *string `locationName:"region" type:"string"` - - ReservationId *string `locationName:"reservationId" type:"string"` - - // Resource configuration (codec, resolution, bitrate, ...) - ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` - Start *string `locationName:"start" type:"string"` + ProgramCount *int64 `locationName:"programCount" type:"integer"` - // Current reservation state - State *string `locationName:"state" type:"string" enum:"ReservationState"` + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` Tags map[string]*string `locationName:"tags" type:"map"` - - UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s DeleteReservationOutput) String() string { +func (s DescribeMultiplexOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReservationOutput) GoString() string { +func (s DescribeMultiplexOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DeleteReservationOutput) SetArn(v string) *DeleteReservationOutput { +func (s *DescribeMultiplexOutput) SetArn(v string) *DescribeMultiplexOutput { s.Arn = &v return s } -// SetCount sets the Count field's value. -func (s *DeleteReservationOutput) SetCount(v int64) *DeleteReservationOutput { - s.Count = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DescribeMultiplexOutput) SetAvailabilityZones(v []*string) *DescribeMultiplexOutput { + s.AvailabilityZones = v return s } -// SetCurrencyCode sets the CurrencyCode field's value. -func (s *DeleteReservationOutput) SetCurrencyCode(v string) *DeleteReservationOutput { - s.CurrencyCode = &v +// SetDestinations sets the Destinations field's value. +func (s *DescribeMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *DescribeMultiplexOutput { + s.Destinations = v return s } -// SetDuration sets the Duration field's value. -func (s *DeleteReservationOutput) SetDuration(v int64) *DeleteReservationOutput { - s.Duration = &v +// SetId sets the Id field's value. +func (s *DescribeMultiplexOutput) SetId(v string) *DescribeMultiplexOutput { + s.Id = &v return s } -// SetDurationUnits sets the DurationUnits field's value. -func (s *DeleteReservationOutput) SetDurationUnits(v string) *DeleteReservationOutput { - s.DurationUnits = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *DescribeMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *DescribeMultiplexOutput { + s.MultiplexSettings = v return s } -// SetEnd sets the End field's value. -func (s *DeleteReservationOutput) SetEnd(v string) *DeleteReservationOutput { - s.End = &v +// SetName sets the Name field's value. +func (s *DescribeMultiplexOutput) SetName(v string) *DescribeMultiplexOutput { + s.Name = &v return s } -// SetFixedPrice sets the FixedPrice field's value. -func (s *DeleteReservationOutput) SetFixedPrice(v float64) *DeleteReservationOutput { - s.FixedPrice = &v +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *DescribeMultiplexOutput) SetPipelinesRunningCount(v int64) *DescribeMultiplexOutput { + s.PipelinesRunningCount = &v return s } -// SetName sets the Name field's value. -func (s *DeleteReservationOutput) SetName(v string) *DeleteReservationOutput { - s.Name = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *DescribeMultiplexOutput) SetProgramCount(v int64) *DescribeMultiplexOutput { + s.ProgramCount = &v return s } -// SetOfferingDescription sets the OfferingDescription field's value. -func (s *DeleteReservationOutput) SetOfferingDescription(v string) *DeleteReservationOutput { - s.OfferingDescription = &v +// SetState sets the State field's value. +func (s *DescribeMultiplexOutput) SetState(v string) *DescribeMultiplexOutput { + s.State = &v return s } -// SetOfferingId sets the OfferingId field's value. -func (s *DeleteReservationOutput) SetOfferingId(v string) *DeleteReservationOutput { - s.OfferingId = &v +// SetTags sets the Tags field's value. +func (s *DescribeMultiplexOutput) SetTags(v map[string]*string) *DescribeMultiplexOutput { + s.Tags = v return s } -// SetOfferingType sets the OfferingType field's value. -func (s *DeleteReservationOutput) SetOfferingType(v string) *DeleteReservationOutput { - s.OfferingType = &v - return s +type DescribeMultiplexProgramInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` + + // ProgramName is a required field + ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"` } -// SetRegion sets the Region field's value. -func (s *DeleteReservationOutput) SetRegion(v string) *DeleteReservationOutput { - s.Region = &v - return s +// String returns the string representation +func (s DescribeMultiplexProgramInput) String() string { + return awsutil.Prettify(s) } -// SetReservationId sets the ReservationId field's value. -func (s *DeleteReservationOutput) SetReservationId(v string) *DeleteReservationOutput { - s.ReservationId = &v +// GoString returns the string representation +func (s DescribeMultiplexProgramInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) + } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *DescribeMultiplexProgramInput) SetMultiplexId(v string) *DescribeMultiplexProgramInput { + s.MultiplexId = &v return s } -// SetResourceSpecification sets the ResourceSpecification field's value. -func (s *DeleteReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DeleteReservationOutput { - s.ResourceSpecification = v +// SetProgramName sets the ProgramName field's value. +func (s *DescribeMultiplexProgramInput) SetProgramName(v string) *DescribeMultiplexProgramInput { + s.ProgramName = &v return s } -// SetStart sets the Start field's value. -func (s *DeleteReservationOutput) SetStart(v string) *DeleteReservationOutput { - s.Start = &v +type DescribeMultiplexProgramOutput struct { + _ struct{} `type:"structure"` + + ChannelId *string `locationName:"channelId" type:"string"` + + // Multiplex Program settings configuration. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` + + // Packet identifiers map for a given Multiplex program. + PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"` + + ProgramName *string `locationName:"programName" type:"string"` +} + +// String returns the string representation +func (s DescribeMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMultiplexProgramOutput) GoString() string { + return s.String() +} + +// SetChannelId sets the ChannelId field's value. +func (s *DescribeMultiplexProgramOutput) SetChannelId(v string) *DescribeMultiplexProgramOutput { + s.ChannelId = &v return s } -// SetState sets the State field's value. -func (s *DeleteReservationOutput) SetState(v string) *DeleteReservationOutput { - s.State = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *DescribeMultiplexProgramOutput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *DescribeMultiplexProgramOutput { + s.MultiplexProgramSettings = v return s } -// SetTags sets the Tags field's value. -func (s *DeleteReservationOutput) SetTags(v map[string]*string) *DeleteReservationOutput { - s.Tags = v +// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value. +func (s *DescribeMultiplexProgramOutput) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *DescribeMultiplexProgramOutput { + s.PacketIdentifiersMap = v return s } -// SetUsagePrice sets the UsagePrice field's value. -func (s *DeleteReservationOutput) SetUsagePrice(v float64) *DeleteReservationOutput { - s.UsagePrice = &v +// SetProgramName sets the ProgramName field's value. +func (s *DescribeMultiplexProgramOutput) SetProgramName(v string) *DescribeMultiplexProgramOutput { + s.ProgramName = &v return s } -type DeleteScheduleInput struct { +type DescribeOfferingInput struct { _ struct{} `type:"structure"` - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + // OfferingId is a required field + OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteScheduleInput) String() string { +func (s DescribeOfferingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteScheduleInput) GoString() string { +func (s DescribeOfferingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteScheduleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) - } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) +func (s *DescribeOfferingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"} + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } + if s.OfferingId != nil && len(*s.OfferingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1)) } if invalidParams.Len() > 0 { @@ -6582,116 +9040,142 @@ func (s *DeleteScheduleInput) Validate() error { return nil } -// SetChannelId sets the ChannelId field's value. -func (s *DeleteScheduleInput) SetChannelId(v string) *DeleteScheduleInput { - s.ChannelId = &v +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeOfferingInput) SetOfferingId(v string) *DescribeOfferingInput { + s.OfferingId = &v return s } -type DeleteScheduleOutput struct { +type DescribeOfferingOutput struct { _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + + OfferingDescription *string `locationName:"offeringDescription" type:"string"` + + OfferingId *string `locationName:"offeringId" type:"string"` + + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + + Region *string `locationName:"region" type:"string"` + + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s DeleteScheduleOutput) String() string { +func (s DescribeOfferingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteScheduleOutput) GoString() string { +func (s DescribeOfferingOutput) GoString() string { return s.String() } -type DeleteTagsInput struct { - _ struct{} `type:"structure"` - - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` +// SetArn sets the Arn field's value. +func (s *DescribeOfferingOutput) SetArn(v string) *DescribeOfferingOutput { + s.Arn = &v + return s +} - // TagKeys is a required field - TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DescribeOfferingOutput) SetCurrencyCode(v string) *DescribeOfferingOutput { + s.CurrencyCode = &v + return s } -// String returns the string representation -func (s DeleteTagsInput) String() string { - return awsutil.Prettify(s) +// SetDuration sets the Duration field's value. +func (s *DescribeOfferingOutput) SetDuration(v int64) *DescribeOfferingOutput { + s.Duration = &v + return s } -// GoString returns the string representation -func (s DeleteTagsInput) GoString() string { - return s.String() +// SetDurationUnits sets the DurationUnits field's value. +func (s *DescribeOfferingOutput) SetDurationUnits(v string) *DescribeOfferingOutput { + s.DurationUnits = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) - } +// SetFixedPrice sets the FixedPrice field's value. +func (s *DescribeOfferingOutput) SetFixedPrice(v float64) *DescribeOfferingOutput { + s.FixedPrice = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DescribeOfferingOutput) SetOfferingDescription(v string) *DescribeOfferingOutput { + s.OfferingDescription = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput { - s.ResourceArn = &v +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeOfferingOutput) SetOfferingId(v string) *DescribeOfferingOutput { + s.OfferingId = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput { - s.TagKeys = v +// SetOfferingType sets the OfferingType field's value. +func (s *DescribeOfferingOutput) SetOfferingType(v string) *DescribeOfferingOutput { + s.OfferingType = &v return s } -type DeleteTagsOutput struct { - _ struct{} `type:"structure"` +// SetRegion sets the Region field's value. +func (s *DescribeOfferingOutput) SetRegion(v string) *DescribeOfferingOutput { + s.Region = &v + return s } -// String returns the string representation -func (s DeleteTagsOutput) String() string { - return awsutil.Prettify(s) +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DescribeOfferingOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeOfferingOutput { + s.ResourceSpecification = v + return s } -// GoString returns the string representation -func (s DeleteTagsOutput) GoString() string { - return s.String() +// SetUsagePrice sets the UsagePrice field's value. +func (s *DescribeOfferingOutput) SetUsagePrice(v float64) *DescribeOfferingOutput { + s.UsagePrice = &v + return s } -type DescribeChannelInput struct { +type DescribeReservationInput struct { _ struct{} `type:"structure"` - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + // ReservationId is a required field + ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` } // String returns the string representation -func (s DescribeChannelInput) String() string { +func (s DescribeReservationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeChannelInput) GoString() string { +func (s DescribeReservationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) +func (s *DescribeReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"} + if s.ReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("ReservationId")) } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + if s.ReservationId != nil && len(*s.ReservationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) } if invalidParams.Len() > 0 { @@ -6700,175 +9184,206 @@ func (s *DescribeChannelInput) Validate() error { return nil } -// SetChannelId sets the ChannelId field's value. -func (s *DescribeChannelInput) SetChannelId(v string) *DescribeChannelInput { - s.ChannelId = &v +// SetReservationId sets the ReservationId field's value. +func (s *DescribeReservationInput) SetReservationId(v string) *DescribeReservationInput { + s.ReservationId = &v return s } -type DescribeChannelOutput struct { +type DescribeReservationOutput struct { _ struct{} `type:"structure"` Arn *string `locationName:"arn" type:"string"` - // A standard channel has two encoding pipelines and a single pipeline channel - // only has one. - ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` + Count *int64 `locationName:"count" type:"integer"` - Destinations []*OutputDestination `locationName:"destinations" type:"list"` + CurrencyCode *string `locationName:"currencyCode" type:"string"` - EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + Duration *int64 `locationName:"duration" type:"integer"` - // Encoder Settings - EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` - Id *string `locationName:"id" type:"string"` + End *string `locationName:"end" type:"string"` - InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` - InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + Name *string `locationName:"name" type:"string"` - // The log level the user wants for their channel. - LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + OfferingDescription *string `locationName:"offeringDescription" type:"string"` - Name *string `locationName:"name" type:"string"` + OfferingId *string `locationName:"offeringId" type:"string"` - PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"` + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` - PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + Region *string `locationName:"region" type:"string"` - RoleArn *string `locationName:"roleArn" type:"string"` + ReservationId *string `locationName:"reservationId" type:"string"` - State *string `locationName:"state" type:"string" enum:"ChannelState"` + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + Start *string `locationName:"start" type:"string"` + + // Current reservation state + State *string `locationName:"state" type:"string" enum:"ReservationState"` Tags map[string]*string `locationName:"tags" type:"map"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s DescribeChannelOutput) String() string { +func (s DescribeReservationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeChannelOutput) GoString() string { +func (s DescribeReservationOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { +func (s *DescribeReservationOutput) SetArn(v string) *DescribeReservationOutput { s.Arn = &v return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *DescribeChannelOutput) SetChannelClass(v string) *DescribeChannelOutput { - s.ChannelClass = &v +// SetCount sets the Count field's value. +func (s *DescribeReservationOutput) SetCount(v int64) *DescribeReservationOutput { + s.Count = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *DescribeChannelOutput) SetDestinations(v []*OutputDestination) *DescribeChannelOutput { - s.Destinations = v +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DescribeReservationOutput) SetCurrencyCode(v string) *DescribeReservationOutput { + s.CurrencyCode = &v return s } -// SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *DescribeChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DescribeChannelOutput { - s.EgressEndpoints = v +// SetDuration sets the Duration field's value. +func (s *DescribeReservationOutput) SetDuration(v int64) *DescribeReservationOutput { + s.Duration = &v return s } -// SetEncoderSettings sets the EncoderSettings field's value. -func (s *DescribeChannelOutput) SetEncoderSettings(v *EncoderSettings) *DescribeChannelOutput { - s.EncoderSettings = v +// SetDurationUnits sets the DurationUnits field's value. +func (s *DescribeReservationOutput) SetDurationUnits(v string) *DescribeReservationOutput { + s.DurationUnits = &v return s } -// SetId sets the Id field's value. -func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { - s.Id = &v +// SetEnd sets the End field's value. +func (s *DescribeReservationOutput) SetEnd(v string) *DescribeReservationOutput { + s.End = &v return s } -// SetInputAttachments sets the InputAttachments field's value. -func (s *DescribeChannelOutput) SetInputAttachments(v []*InputAttachment) *DescribeChannelOutput { - s.InputAttachments = v +// SetFixedPrice sets the FixedPrice field's value. +func (s *DescribeReservationOutput) SetFixedPrice(v float64) *DescribeReservationOutput { + s.FixedPrice = &v return s } -// SetInputSpecification sets the InputSpecification field's value. -func (s *DescribeChannelOutput) SetInputSpecification(v *InputSpecification) *DescribeChannelOutput { - s.InputSpecification = v +// SetName sets the Name field's value. +func (s *DescribeReservationOutput) SetName(v string) *DescribeReservationOutput { + s.Name = &v + return s +} + +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DescribeReservationOutput) SetOfferingDescription(v string) *DescribeReservationOutput { + s.OfferingDescription = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeReservationOutput) SetOfferingId(v string) *DescribeReservationOutput { + s.OfferingId = &v return s } -// SetLogLevel sets the LogLevel field's value. -func (s *DescribeChannelOutput) SetLogLevel(v string) *DescribeChannelOutput { - s.LogLevel = &v +// SetOfferingType sets the OfferingType field's value. +func (s *DescribeReservationOutput) SetOfferingType(v string) *DescribeReservationOutput { + s.OfferingType = &v return s } -// SetName sets the Name field's value. -func (s *DescribeChannelOutput) SetName(v string) *DescribeChannelOutput { - s.Name = &v +// SetRegion sets the Region field's value. +func (s *DescribeReservationOutput) SetRegion(v string) *DescribeReservationOutput { + s.Region = &v return s } -// SetPipelineDetails sets the PipelineDetails field's value. -func (s *DescribeChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DescribeChannelOutput { - s.PipelineDetails = v +// SetReservationId sets the ReservationId field's value. +func (s *DescribeReservationOutput) SetReservationId(v string) *DescribeReservationOutput { + s.ReservationId = &v return s } -// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *DescribeChannelOutput) SetPipelinesRunningCount(v int64) *DescribeChannelOutput { - s.PipelinesRunningCount = &v +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DescribeReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeReservationOutput { + s.ResourceSpecification = v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *DescribeChannelOutput) SetRoleArn(v string) *DescribeChannelOutput { - s.RoleArn = &v +// SetStart sets the Start field's value. +func (s *DescribeReservationOutput) SetStart(v string) *DescribeReservationOutput { + s.Start = &v return s } // SetState sets the State field's value. -func (s *DescribeChannelOutput) SetState(v string) *DescribeChannelOutput { +func (s *DescribeReservationOutput) SetState(v string) *DescribeReservationOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { +func (s *DescribeReservationOutput) SetTags(v map[string]*string) *DescribeReservationOutput { s.Tags = v return s } -type DescribeInputInput struct { +// SetUsagePrice sets the UsagePrice field's value. +func (s *DescribeReservationOutput) SetUsagePrice(v float64) *DescribeReservationOutput { + s.UsagePrice = &v + return s +} + +type DescribeScheduleInput struct { _ struct{} `type:"structure"` - // InputId is a required field - InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DescribeInputInput) String() string { +func (s DescribeScheduleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeInputInput) GoString() string { +func (s DescribeScheduleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"} - if s.InputId == nil { - invalidParams.Add(request.NewErrParamRequired("InputId")) +func (s *DescribeScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) } - if s.InputId != nil && len(*s.InputId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -6877,168 +9392,170 @@ func (s *DescribeInputInput) Validate() error { return nil } -// SetInputId sets the InputId field's value. -func (s *DescribeInputInput) SetInputId(v string) *DescribeInputInput { - s.InputId = &v +// SetChannelId sets the ChannelId field's value. +func (s *DescribeScheduleInput) SetChannelId(v string) *DescribeScheduleInput { + s.ChannelId = &v return s } -type DescribeInputOutput struct { - _ struct{} `type:"structure"` - - Arn *string `locationName:"arn" type:"string"` - - AttachedChannels []*string `locationName:"attachedChannels" type:"list"` - - Destinations []*InputDestination `locationName:"destinations" type:"list"` - - Id *string `locationName:"id" type:"string"` - - // A standard input has two sources and a single pipeline input only has one. - InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` - - // There are two types of input sources, static and dynamic. If an input source - // is dynamic you canchange the source url of the input dynamically using an - // input switch action. However, the only input typeto support a dynamic url - // at this time is MP4_FILE. By default all input sources are static. - InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` - - MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` - - Name *string `locationName:"name" type:"string"` - - RoleArn *string `locationName:"roleArn" type:"string"` - - SecurityGroups []*string `locationName:"securityGroups" type:"list"` +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeScheduleInput) SetMaxResults(v int64) *DescribeScheduleInput { + s.MaxResults = &v + return s +} - Sources []*InputSource `locationName:"sources" type:"list"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeScheduleInput) SetNextToken(v string) *DescribeScheduleInput { + s.NextToken = &v + return s +} - State *string `locationName:"state" type:"string" enum:"InputState"` +type DescribeScheduleOutput struct { + _ struct{} `type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` + NextToken *string `locationName:"nextToken" type:"string"` - Type *string `locationName:"type" type:"string" enum:"InputType"` + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list"` } // String returns the string representation -func (s DescribeInputOutput) String() string { +func (s DescribeScheduleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeInputOutput) GoString() string { +func (s DescribeScheduleOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribeInputOutput) SetArn(v string) *DescribeInputOutput { - s.Arn = &v - return s -} - -// SetAttachedChannels sets the AttachedChannels field's value. -func (s *DescribeInputOutput) SetAttachedChannels(v []*string) *DescribeInputOutput { - s.AttachedChannels = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeScheduleOutput) SetNextToken(v string) *DescribeScheduleOutput { + s.NextToken = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *DescribeInputOutput) SetDestinations(v []*InputDestination) *DescribeInputOutput { - s.Destinations = v +// SetScheduleActions sets the ScheduleActions field's value. +func (s *DescribeScheduleOutput) SetScheduleActions(v []*ScheduleAction) *DescribeScheduleOutput { + s.ScheduleActions = v return s } -// SetId sets the Id field's value. -func (s *DescribeInputOutput) SetId(v string) *DescribeInputOutput { - s.Id = &v - return s -} +// DVB Network Information Table (NIT) +type DvbNitSettings struct { + _ struct{} `type:"structure"` -// SetInputClass sets the InputClass field's value. -func (s *DescribeInputOutput) SetInputClass(v string) *DescribeInputOutput { - s.InputClass = &v - return s -} + // The numeric value placed in the Network Information Table (NIT). + // + // NetworkId is a required field + NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"` -// SetInputSourceType sets the InputSourceType field's value. -func (s *DescribeInputOutput) SetInputSourceType(v string) *DescribeInputOutput { - s.InputSourceType = &v - return s -} + // The network name text placed in the networkNameDescriptor inside the Network + // Information Table. Maximum length is 256 characters. + // + // NetworkName is a required field + NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"` -// SetMediaConnectFlows sets the MediaConnectFlows field's value. -func (s *DescribeInputOutput) SetMediaConnectFlows(v []*MediaConnectFlow) *DescribeInputOutput { - s.MediaConnectFlows = v - return s + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` } -// SetName sets the Name field's value. -func (s *DescribeInputOutput) SetName(v string) *DescribeInputOutput { - s.Name = &v - return s +// String returns the string representation +func (s DvbNitSettings) String() string { + return awsutil.Prettify(s) } -// SetRoleArn sets the RoleArn field's value. -func (s *DescribeInputOutput) SetRoleArn(v string) *DescribeInputOutput { - s.RoleArn = &v - return s +// GoString returns the string representation +func (s DvbNitSettings) GoString() string { + return s.String() } -// SetSecurityGroups sets the SecurityGroups field's value. -func (s *DescribeInputOutput) SetSecurityGroups(v []*string) *DescribeInputOutput { - s.SecurityGroups = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbNitSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"} + if s.NetworkId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkId")) + } + if s.NetworkName == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkName")) + } + if s.NetworkName != nil && len(*s.NetworkName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1)) + } + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) + } -// SetSources sets the Sources field's value. -func (s *DescribeInputOutput) SetSources(v []*InputSource) *DescribeInputOutput { - s.Sources = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetState sets the State field's value. -func (s *DescribeInputOutput) SetState(v string) *DescribeInputOutput { - s.State = &v +// SetNetworkId sets the NetworkId field's value. +func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings { + s.NetworkId = &v return s } -// SetTags sets the Tags field's value. -func (s *DescribeInputOutput) SetTags(v map[string]*string) *DescribeInputOutput { - s.Tags = v +// SetNetworkName sets the NetworkName field's value. +func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings { + s.NetworkName = &v return s } -// SetType sets the Type field's value. -func (s *DescribeInputOutput) SetType(v string) *DescribeInputOutput { - s.Type = &v +// SetRepInterval sets the RepInterval field's value. +func (s *DvbNitSettings) SetRepInterval(v int64) *DvbNitSettings { + s.RepInterval = &v return s } -type DescribeInputSecurityGroupInput struct { +// DVB Service Description Table (SDT) +type DvbSdtSettings struct { _ struct{} `type:"structure"` - // InputSecurityGroupId is a required field - InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"` + // 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. + OutputSdt *string `locationName:"outputSdt" type:"string" enum:"DvbSdtOutputSdt"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` + + // The service name placed in the serviceDescriptor in the Service Description + // Table. Maximum length is 256 characters. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + + // The service provider name placed in the serviceDescriptor in the Service + // Description Table. Maximum length is 256 characters. + ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"` } // String returns the string representation -func (s DescribeInputSecurityGroupInput) String() string { +func (s DvbSdtSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeInputSecurityGroupInput) GoString() string { +func (s DvbSdtSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInputSecurityGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInputSecurityGroupInput"} - if s.InputSecurityGroupId == nil { - invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) +func (s *DvbSdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) } - if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1)) + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1)) } if invalidParams.Len() > 0 { @@ -7047,99 +9564,154 @@ func (s *DescribeInputSecurityGroupInput) Validate() error { return nil } -// SetInputSecurityGroupId sets the InputSecurityGroupId field's value. -func (s *DescribeInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DescribeInputSecurityGroupInput { - s.InputSecurityGroupId = &v +// SetOutputSdt sets the OutputSdt field's value. +func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings { + s.OutputSdt = &v return s } -type DescribeInputSecurityGroupOutput struct { +// SetRepInterval sets the RepInterval field's value. +func (s *DvbSdtSettings) SetRepInterval(v int64) *DvbSdtSettings { + s.RepInterval = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings { + s.ServiceName = &v + return s +} + +// SetServiceProviderName sets the ServiceProviderName field's value. +func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings { + s.ServiceProviderName = &v + return s +} + +// Dvb Sub Destination Settings +type DvbSubDestinationSettings struct { _ struct{} `type:"structure"` - Arn *string `locationName:"arn" type:"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. + Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubDestinationAlignment"` - Id *string `locationName:"id" type:"string"` + // Specifies the color of the rectangle behind the captions. All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubDestinationBackgroundColor"` - Inputs []*string `locationName:"inputs" type:"list"` + // 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. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` - State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + // 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. + Font *InputLocation `locationName:"font" type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` + // 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. + FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubDestinationFontColor"` - WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` -} + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + // All burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` -// String returns the string representation -func (s DescribeInputSecurityGroupOutput) String() string { - return awsutil.Prettify(s) -} + // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` -// GoString returns the string representation -func (s DescribeInputSecurityGroupOutput) GoString() string { - return s.String() -} + // 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. + FontSize *string `locationName:"fontSize" type:"string"` -// SetArn sets the Arn field's value. -func (s *DescribeInputSecurityGroupOutput) SetArn(v string) *DescribeInputSecurityGroupOutput { - s.Arn = &v - return s -} + // 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. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubDestinationOutlineColor"` -// SetId sets the Id field's value. -func (s *DescribeInputSecurityGroupOutput) SetId(v string) *DescribeInputSecurityGroupOutput { - s.Id = &v - return s -} + // 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. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` -// SetInputs sets the Inputs field's value. -func (s *DescribeInputSecurityGroupOutput) SetInputs(v []*string) *DescribeInputSecurityGroupOutput { - s.Inputs = v - return s -} + // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubDestinationShadowColor"` -// SetState sets the State field's value. -func (s *DescribeInputSecurityGroupOutput) SetState(v string) *DescribeInputSecurityGroupOutput { - s.State = &v - return s -} + // 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. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` -// SetTags sets the Tags field's value. -func (s *DescribeInputSecurityGroupOutput) SetTags(v map[string]*string) *DescribeInputSecurityGroupOutput { - s.Tags = v - return s -} + // 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. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` -// SetWhitelistRules sets the WhitelistRules field's value. -func (s *DescribeInputSecurityGroupOutput) SetWhitelistRules(v []*InputWhitelistRule) *DescribeInputSecurityGroupOutput { - s.WhitelistRules = v - return s -} + // 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. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` -type DescribeOfferingInput struct { - _ struct{} `type:"structure"` + // 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. + TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"DvbSubDestinationTeletextGridControl"` - // OfferingId is a required field - OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"` + // 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. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // 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. + YPosition *int64 `locationName:"yPosition" type:"integer"` } // String returns the string representation -func (s DescribeOfferingInput) String() string { +func (s DvbSubDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeOfferingInput) GoString() string { +func (s DvbSubDestinationSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeOfferingInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"} - if s.OfferingId == nil { - invalidParams.Add(request.NewErrParamRequired("OfferingId")) +func (s *DvbSubDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) } - if s.OfferingId != nil && len(*s.OfferingId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1)) + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7148,142 +9720,171 @@ func (s *DescribeOfferingInput) Validate() error { return nil } -// SetOfferingId sets the OfferingId field's value. -func (s *DescribeOfferingInput) SetOfferingId(v string) *DescribeOfferingInput { - s.OfferingId = &v +// SetAlignment sets the Alignment field's value. +func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings { + s.Alignment = &v return s } -type DescribeOfferingOutput struct { - _ struct{} `type:"structure"` - - Arn *string `locationName:"arn" type:"string"` - - CurrencyCode *string `locationName:"currencyCode" type:"string"` - - Duration *int64 `locationName:"duration" type:"integer"` - - // Units for duration, e.g. 'MONTHS' - DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` - - FixedPrice *float64 `locationName:"fixedPrice" type:"double"` - - OfferingDescription *string `locationName:"offeringDescription" type:"string"` - - OfferingId *string `locationName:"offeringId" type:"string"` - - // Offering type, e.g. 'NO_UPFRONT' - OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings { + s.BackgroundColor = &v + return s +} - Region *string `locationName:"region" type:"string"` +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings { + s.BackgroundOpacity = &v + return s +} - // Resource configuration (codec, resolution, bitrate, ...) - ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` +// SetFont sets the Font field's value. +func (s *DvbSubDestinationSettings) SetFont(v *InputLocation) *DvbSubDestinationSettings { + s.Font = v + return s +} - UsagePrice *float64 `locationName:"usagePrice" type:"double"` +// SetFontColor sets the FontColor field's value. +func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings { + s.FontColor = &v + return s } -// String returns the string representation -func (s DescribeOfferingOutput) String() string { - return awsutil.Prettify(s) +// SetFontOpacity sets the FontOpacity field's value. +func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings { + s.FontOpacity = &v + return s } -// GoString returns the string representation -func (s DescribeOfferingOutput) GoString() string { - return s.String() +// SetFontResolution sets the FontResolution field's value. +func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings { + s.FontResolution = &v + return s } -// SetArn sets the Arn field's value. -func (s *DescribeOfferingOutput) SetArn(v string) *DescribeOfferingOutput { - s.Arn = &v +// SetFontSize sets the FontSize field's value. +func (s *DvbSubDestinationSettings) SetFontSize(v string) *DvbSubDestinationSettings { + s.FontSize = &v return s } -// SetCurrencyCode sets the CurrencyCode field's value. -func (s *DescribeOfferingOutput) SetCurrencyCode(v string) *DescribeOfferingOutput { - s.CurrencyCode = &v +// SetOutlineColor sets the OutlineColor field's value. +func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings { + s.OutlineColor = &v return s } -// SetDuration sets the Duration field's value. -func (s *DescribeOfferingOutput) SetDuration(v int64) *DescribeOfferingOutput { - s.Duration = &v +// SetOutlineSize sets the OutlineSize field's value. +func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings { + s.OutlineSize = &v return s } -// SetDurationUnits sets the DurationUnits field's value. -func (s *DescribeOfferingOutput) SetDurationUnits(v string) *DescribeOfferingOutput { - s.DurationUnits = &v +// SetShadowColor sets the ShadowColor field's value. +func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings { + s.ShadowColor = &v return s } -// SetFixedPrice sets the FixedPrice field's value. -func (s *DescribeOfferingOutput) SetFixedPrice(v float64) *DescribeOfferingOutput { - s.FixedPrice = &v +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings { + s.ShadowOpacity = &v return s } -// SetOfferingDescription sets the OfferingDescription field's value. -func (s *DescribeOfferingOutput) SetOfferingDescription(v string) *DescribeOfferingOutput { - s.OfferingDescription = &v +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings { + s.ShadowXOffset = &v return s } -// SetOfferingId sets the OfferingId field's value. -func (s *DescribeOfferingOutput) SetOfferingId(v string) *DescribeOfferingOutput { - s.OfferingId = &v +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings { + s.ShadowYOffset = &v return s } -// SetOfferingType sets the OfferingType field's value. -func (s *DescribeOfferingOutput) SetOfferingType(v string) *DescribeOfferingOutput { - s.OfferingType = &v +// SetTeletextGridControl sets the TeletextGridControl field's value. +func (s *DvbSubDestinationSettings) SetTeletextGridControl(v string) *DvbSubDestinationSettings { + s.TeletextGridControl = &v return s } -// SetRegion sets the Region field's value. -func (s *DescribeOfferingOutput) SetRegion(v string) *DescribeOfferingOutput { - s.Region = &v +// SetXPosition sets the XPosition field's value. +func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings { + s.XPosition = &v return s } -// SetResourceSpecification sets the ResourceSpecification field's value. -func (s *DescribeOfferingOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeOfferingOutput { - s.ResourceSpecification = v +// SetYPosition sets the YPosition field's value. +func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings { + s.YPosition = &v return s } -// SetUsagePrice sets the UsagePrice field's value. -func (s *DescribeOfferingOutput) SetUsagePrice(v float64) *DescribeOfferingOutput { - s.UsagePrice = &v +// Dvb Sub Source Settings +type DvbSubSourceSettings struct { + _ struct{} `type:"structure"` + + // 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. + Pid *int64 `locationName:"pid" min:"1" type:"integer"` +} + +// String returns the string representation +func (s DvbSubSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSubSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings { + s.Pid = &v return s } -type DescribeReservationInput struct { +// DVB Time and Date Table (SDT) +type DvbTdtSettings struct { _ struct{} `type:"structure"` - // ReservationId is a required field - ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"` } // String returns the string representation -func (s DescribeReservationInput) String() string { +func (s DvbTdtSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeReservationInput) GoString() string { +func (s DvbTdtSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeReservationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"} - if s.ReservationId == nil { - invalidParams.Add(request.NewErrParamRequired("ReservationId")) - } - if s.ReservationId != nil && len(*s.ReservationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) +func (s *DvbTdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 1000 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000)) } if invalidParams.Len() > 0 { @@ -7292,378 +9893,302 @@ func (s *DescribeReservationInput) Validate() error { return nil } -// SetReservationId sets the ReservationId field's value. -func (s *DescribeReservationInput) SetReservationId(v string) *DescribeReservationInput { - s.ReservationId = &v +// SetRepInterval sets the RepInterval field's value. +func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings { + s.RepInterval = &v return s } -type DescribeReservationOutput struct { +// Eac3 Settings +type Eac3Settings struct { _ struct{} `type:"structure"` - Arn *string `locationName:"arn" type:"string"` + // When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. + // Only used for 3/2 coding mode. + AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"` - Count *int64 `locationName:"count" type:"integer"` + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *float64 `locationName:"bitrate" type:"double"` - CurrencyCode *string `locationName:"currencyCode" type:"string"` + // Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC + // A/52-2012 (Annex E) for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"` - Duration *int64 `locationName:"duration" type:"integer"` + // Dolby Digital Plus coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"` - // Units for duration, e.g. 'MONTHS' - DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + // When set to enabled, activates a DC highpass filter for all input channels. + DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"` - End *string `locationName:"end" type:"string"` + // Sets the dialnorm for the output. If blank and input audio is Dolby Digital + // Plus, dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` - FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + // Sets the Dolby dynamic range compression profile. + DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"` - Name *string `locationName:"name" type:"string"` + // Sets the profile for heavy Dolby dynamic range compression, ensures that + // the instantaneous signal peaks do not exceed specified levels. + DrcRf *string `locationName:"drcRf" type:"string" enum:"Eac3DrcRf"` - OfferingDescription *string `locationName:"offeringDescription" type:"string"` + // When encoding 3/2 audio, setting to lfe enables the LFE channel + LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"` - OfferingId *string `locationName:"offeringId" type:"string"` + // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior + // to encoding. Only valid with codingMode32 coding mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"` - // Offering type, e.g. 'NO_UPFRONT' - OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + // Left only/Right only center mix level. Only used for 3/2 coding mode. + LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"` - Region *string `locationName:"region" type:"string"` + // Left only/Right only surround mix level. Only used for 3/2 coding mode. + LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"` - ReservationId *string `locationName:"reservationId" type:"string"` + // Left total/Right total center mix level. Only used for 3/2 coding mode. + LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"` - // Resource configuration (codec, resolution, bitrate, ...) - ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + // Left total/Right total surround mix level. Only used for 3/2 coding mode. + LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"` - Start *string `locationName:"start" type:"string"` + // 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. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"` - // Current reservation state - State *string `locationName:"state" type:"string" enum:"ReservationState"` + // 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. + PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"` - Tags map[string]*string `locationName:"tags" type:"map"` + // When set to shift90Degrees, applies a 90-degree phase shift to the surround + // channels. Only used for 3/2 coding mode. + PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"` - UsagePrice *float64 `locationName:"usagePrice" type:"double"` + // Stereo downmix preference. Only used for 3/2 coding mode. + StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"` + + // When encoding 3/2 audio, sets whether an extra center back surround channel + // is matrix encoded into the left and right surround channels. + SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"` + + // When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into + // the two channels. + SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"` } // String returns the string representation -func (s DescribeReservationOutput) String() string { +func (s Eac3Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeReservationOutput) GoString() string { +func (s Eac3Settings) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribeReservationOutput) SetArn(v string) *DescribeReservationOutput { - s.Arn = &v - return s -} - -// SetCount sets the Count field's value. -func (s *DescribeReservationOutput) SetCount(v int64) *DescribeReservationOutput { - s.Count = &v - return s -} - -// SetCurrencyCode sets the CurrencyCode field's value. -func (s *DescribeReservationOutput) SetCurrencyCode(v string) *DescribeReservationOutput { - s.CurrencyCode = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *Eac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } -// SetDuration sets the Duration field's value. -func (s *DescribeReservationOutput) SetDuration(v int64) *DescribeReservationOutput { - s.Duration = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDurationUnits sets the DurationUnits field's value. -func (s *DescribeReservationOutput) SetDurationUnits(v string) *DescribeReservationOutput { - s.DurationUnits = &v +// SetAttenuationControl sets the AttenuationControl field's value. +func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings { + s.AttenuationControl = &v return s } -// SetEnd sets the End field's value. -func (s *DescribeReservationOutput) SetEnd(v string) *DescribeReservationOutput { - s.End = &v +// SetBitrate sets the Bitrate field's value. +func (s *Eac3Settings) SetBitrate(v float64) *Eac3Settings { + s.Bitrate = &v return s } -// SetFixedPrice sets the FixedPrice field's value. -func (s *DescribeReservationOutput) SetFixedPrice(v float64) *DescribeReservationOutput { - s.FixedPrice = &v +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings { + s.BitstreamMode = &v return s } -// SetName sets the Name field's value. -func (s *DescribeReservationOutput) SetName(v string) *DescribeReservationOutput { - s.Name = &v +// SetCodingMode sets the CodingMode field's value. +func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings { + s.CodingMode = &v return s } -// SetOfferingDescription sets the OfferingDescription field's value. -func (s *DescribeReservationOutput) SetOfferingDescription(v string) *DescribeReservationOutput { - s.OfferingDescription = &v +// SetDcFilter sets the DcFilter field's value. +func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings { + s.DcFilter = &v return s } -// SetOfferingId sets the OfferingId field's value. -func (s *DescribeReservationOutput) SetOfferingId(v string) *DescribeReservationOutput { - s.OfferingId = &v +// SetDialnorm sets the Dialnorm field's value. +func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings { + s.Dialnorm = &v return s } -// SetOfferingType sets the OfferingType field's value. -func (s *DescribeReservationOutput) SetOfferingType(v string) *DescribeReservationOutput { - s.OfferingType = &v +// SetDrcLine sets the DrcLine field's value. +func (s *Eac3Settings) SetDrcLine(v string) *Eac3Settings { + s.DrcLine = &v return s } -// SetRegion sets the Region field's value. -func (s *DescribeReservationOutput) SetRegion(v string) *DescribeReservationOutput { - s.Region = &v +// SetDrcRf sets the DrcRf field's value. +func (s *Eac3Settings) SetDrcRf(v string) *Eac3Settings { + s.DrcRf = &v return s } -// SetReservationId sets the ReservationId field's value. -func (s *DescribeReservationOutput) SetReservationId(v string) *DescribeReservationOutput { - s.ReservationId = &v +// SetLfeControl sets the LfeControl field's value. +func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings { + s.LfeControl = &v return s } -// SetResourceSpecification sets the ResourceSpecification field's value. -func (s *DescribeReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeReservationOutput { - s.ResourceSpecification = v +// SetLfeFilter sets the LfeFilter field's value. +func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings { + s.LfeFilter = &v return s } -// SetStart sets the Start field's value. -func (s *DescribeReservationOutput) SetStart(v string) *DescribeReservationOutput { - s.Start = &v +// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value. +func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings { + s.LoRoCenterMixLevel = &v return s } -// SetState sets the State field's value. -func (s *DescribeReservationOutput) SetState(v string) *DescribeReservationOutput { - s.State = &v +// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value. +func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings { + s.LoRoSurroundMixLevel = &v return s } -// SetTags sets the Tags field's value. -func (s *DescribeReservationOutput) SetTags(v map[string]*string) *DescribeReservationOutput { - s.Tags = v +// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value. +func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings { + s.LtRtCenterMixLevel = &v return s } -// SetUsagePrice sets the UsagePrice field's value. -func (s *DescribeReservationOutput) SetUsagePrice(v float64) *DescribeReservationOutput { - s.UsagePrice = &v +// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value. +func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings { + s.LtRtSurroundMixLevel = &v return s } -type DescribeScheduleInput struct { - _ struct{} `type:"structure"` - - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` -} - -// String returns the string representation -func (s DescribeScheduleInput) String() string { - return awsutil.Prettify(s) +// SetMetadataControl sets the MetadataControl field's value. +func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings { + s.MetadataControl = &v + return s } -// GoString returns the string representation -func (s DescribeScheduleInput) GoString() string { - return s.String() +// SetPassthroughControl sets the PassthroughControl field's value. +func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings { + s.PassthroughControl = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeScheduleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) - } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPhaseControl sets the PhaseControl field's value. +func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings { + s.PhaseControl = &v + return s } -// SetChannelId sets the ChannelId field's value. -func (s *DescribeScheduleInput) SetChannelId(v string) *DescribeScheduleInput { - s.ChannelId = &v +// SetStereoDownmix sets the StereoDownmix field's value. +func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings { + s.StereoDownmix = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeScheduleInput) SetMaxResults(v int64) *DescribeScheduleInput { - s.MaxResults = &v +// SetSurroundExMode sets the SurroundExMode field's value. +func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings { + s.SurroundExMode = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeScheduleInput) SetNextToken(v string) *DescribeScheduleInput { - s.NextToken = &v +// SetSurroundMode sets the SurroundMode field's value. +func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { + s.SurroundMode = &v return s } -type DescribeScheduleOutput struct { +// Embedded Destination Settings +type EmbeddedDestinationSettings struct { _ struct{} `type:"structure"` - - NextToken *string `locationName:"nextToken" type:"string"` - - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list"` } // String returns the string representation -func (s DescribeScheduleOutput) String() string { +func (s EmbeddedDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeScheduleOutput) GoString() string { +func (s EmbeddedDestinationSettings) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeScheduleOutput) SetNextToken(v string) *DescribeScheduleOutput { - s.NextToken = &v - return s -} - -// SetScheduleActions sets the ScheduleActions field's value. -func (s *DescribeScheduleOutput) SetScheduleActions(v []*ScheduleAction) *DescribeScheduleOutput { - s.ScheduleActions = v - return s -} - -// DVB Network Information Table (NIT) -type DvbNitSettings struct { +// Embedded Plus Scte20 Destination Settings +type EmbeddedPlusScte20DestinationSettings struct { _ struct{} `type:"structure"` - - // The numeric value placed in the Network Information Table (NIT). - // - // NetworkId is a required field - NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"` - - // The network name text placed in the networkNameDescriptor inside the Network - // Information Table. Maximum length is 256 characters. - // - // NetworkName is a required field - NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"` - - // The number of milliseconds between instances of this table in the output - // transport stream. - RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` } // String returns the string representation -func (s DvbNitSettings) String() string { +func (s EmbeddedPlusScte20DestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbNitSettings) GoString() string { +func (s EmbeddedPlusScte20DestinationSettings) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DvbNitSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"} - if s.NetworkId == nil { - invalidParams.Add(request.NewErrParamRequired("NetworkId")) - } - if s.NetworkName == nil { - invalidParams.Add(request.NewErrParamRequired("NetworkName")) - } - if s.NetworkName != nil && len(*s.NetworkName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1)) - } - if s.RepInterval != nil && *s.RepInterval < 25 { - invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetNetworkId sets the NetworkId field's value. -func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings { - s.NetworkId = &v - return s -} - -// SetNetworkName sets the NetworkName field's value. -func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings { - s.NetworkName = &v - return s -} - -// SetRepInterval sets the RepInterval field's value. -func (s *DvbNitSettings) SetRepInterval(v int64) *DvbNitSettings { - s.RepInterval = &v - return s -} - -// DVB Service Description Table (SDT) -type DvbSdtSettings struct { +// Embedded Source Settings +type EmbeddedSourceSettings struct { _ struct{} `type:"structure"` - // 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. - OutputSdt *string `locationName:"outputSdt" type:"string" enum:"DvbSdtOutputSdt"` + // 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. + Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"` - // The number of milliseconds between instances of this table in the output - // transport stream. - RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` + // Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 + // and Embedded captions. + Scte20Detection *string `locationName:"scte20Detection" type:"string" enum:"EmbeddedScte20Detection"` - // The service name placed in the serviceDescriptor in the Service Description - // Table. Maximum length is 256 characters. - ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + // Specifies the 608/708 channel number within the video track from which to + // extract captions. Unused for passthrough. + Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` - // The service provider name placed in the serviceDescriptor in the Service - // Description Table. Maximum length is 256 characters. - ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"` + // This field is unused and deprecated. + Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"` } // String returns the string representation -func (s DvbSdtSettings) String() string { +func (s EmbeddedSourceSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbSdtSettings) GoString() string { +func (s EmbeddedSourceSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DvbSdtSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"} - if s.RepInterval != nil && *s.RepInterval < 25 { - invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) - } - if s.ServiceName != nil && len(*s.ServiceName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) +func (s *EmbeddedSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"} + if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) } - if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1)) + if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1)) } if invalidParams.Len() > 0 { @@ -7672,289 +10197,263 @@ func (s *DvbSdtSettings) Validate() error { return nil } -// SetOutputSdt sets the OutputSdt field's value. -func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings { - s.OutputSdt = &v +// SetConvert608To708 sets the Convert608To708 field's value. +func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings { + s.Convert608To708 = &v return s } -// SetRepInterval sets the RepInterval field's value. -func (s *DvbSdtSettings) SetRepInterval(v int64) *DvbSdtSettings { - s.RepInterval = &v +// SetScte20Detection sets the Scte20Detection field's value. +func (s *EmbeddedSourceSettings) SetScte20Detection(v string) *EmbeddedSourceSettings { + s.Scte20Detection = &v return s } -// SetServiceName sets the ServiceName field's value. -func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings { - s.ServiceName = &v +// SetSource608ChannelNumber sets the Source608ChannelNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings { + s.Source608ChannelNumber = &v return s } -// SetServiceProviderName sets the ServiceProviderName field's value. -func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings { - s.ServiceProviderName = &v +// SetSource608TrackNumber sets the Source608TrackNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings { + s.Source608TrackNumber = &v return s } -// Dvb Sub Destination Settings -type DvbSubDestinationSettings struct { +// Encoder Settings +type EncoderSettings struct { _ struct{} `type:"structure"` - // 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. - Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubDestinationAlignment"` - - // Specifies the color of the rectangle behind the captions. All burn-in and - // DVB-Sub font settings must match. - BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"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. - BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` - - // 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. - Font *InputLocation `locationName:"font" type:"structure"` - - // 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. - FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubDestinationFontColor"` - - // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - // All burn-in and DVB-Sub font settings must match. - FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` - - // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and - // DVB-Sub font settings must match. - FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` - - // 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. - FontSize *string `locationName:"fontSize" type:"string"` + // AudioDescriptions is a required field + AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"` - // 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. - OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubDestinationOutlineColor"` + // Settings for ad avail blanking. + AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` - // 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. - OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + // Event-wide configuration settings for ad avail insertion. + AvailConfiguration *AvailConfiguration `locationName:"availConfiguration" type:"structure"` - // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub - // font settings must match. - ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubDestinationShadowColor"` + // Settings for blackout slate. + BlackoutSlate *BlackoutSlate `locationName:"blackoutSlate" type:"structure"` - // 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. - ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + // Settings for caption decriptions + CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` - // 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. - ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + // Configuration settings that apply to the event as a whole. + GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"` - // 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. - ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + // Nielsen configuration settings. + NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"` - // 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. - TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"DvbSubDestinationTeletextGridControl"` + // OutputGroups is a required field + OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"` - // 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. - XPosition *int64 `locationName:"xPosition" type:"integer"` + // Contains settings used to acquire and adjust timecode information from inputs. + // + // TimecodeConfig is a required field + TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"` - // 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. - YPosition *int64 `locationName:"yPosition" type:"integer"` + // VideoDescriptions is a required field + VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"` } // String returns the string representation -func (s DvbSubDestinationSettings) String() string { +func (s EncoderSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbSubDestinationSettings) GoString() string { +func (s EncoderSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DvbSubDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"} - if s.FontResolution != nil && *s.FontResolution < 96 { - invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) +func (s *EncoderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"} + if s.AudioDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("AudioDescriptions")) } - if s.Font != nil { - if err := s.Font.Validate(); err != nil { - invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + if s.OutputGroups == nil { + invalidParams.Add(request.NewErrParamRequired("OutputGroups")) + } + if s.TimecodeConfig == nil { + invalidParams.Add(request.NewErrParamRequired("TimecodeConfig")) + } + if s.VideoDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("VideoDescriptions")) + } + if s.AudioDescriptions != nil { + for i, v := range s.AudioDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) + } } } - - if invalidParams.Len() > 0 { - return invalidParams + if s.AvailBlanking != nil { + if err := s.AvailBlanking.Validate(); err != nil { + invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) + } + } + if s.AvailConfiguration != nil { + if err := s.AvailConfiguration.Validate(); err != nil { + invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.BlackoutSlate != nil { + if err := s.BlackoutSlate.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams)) + } + } + if s.CaptionDescriptions != nil { + for i, v := range s.CaptionDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.GlobalConfiguration != nil { + if err := s.GlobalConfiguration.Validate(); err != nil { + invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OutputGroups != nil { + for i, v := range s.OutputGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TimecodeConfig != nil { + if err := s.TimecodeConfig.Validate(); err != nil { + invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams)) + } + } + if s.VideoDescriptions != nil { + for i, v := range s.VideoDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams)) + } + } } - return nil -} - -// SetAlignment sets the Alignment field's value. -func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings { - s.Alignment = &v - return s -} - -// SetBackgroundColor sets the BackgroundColor field's value. -func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings { - s.BackgroundColor = &v - return s -} - -// SetBackgroundOpacity sets the BackgroundOpacity field's value. -func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings { - s.BackgroundOpacity = &v - return s -} - -// SetFont sets the Font field's value. -func (s *DvbSubDestinationSettings) SetFont(v *InputLocation) *DvbSubDestinationSettings { - s.Font = v - return s -} -// SetFontColor sets the FontColor field's value. -func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings { - s.FontColor = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetFontOpacity sets the FontOpacity field's value. -func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings { - s.FontOpacity = &v +// SetAudioDescriptions sets the AudioDescriptions field's value. +func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings { + s.AudioDescriptions = v return s } -// SetFontResolution sets the FontResolution field's value. -func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings { - s.FontResolution = &v +// SetAvailBlanking sets the AvailBlanking field's value. +func (s *EncoderSettings) SetAvailBlanking(v *AvailBlanking) *EncoderSettings { + s.AvailBlanking = v return s } -// SetFontSize sets the FontSize field's value. -func (s *DvbSubDestinationSettings) SetFontSize(v string) *DvbSubDestinationSettings { - s.FontSize = &v +// SetAvailConfiguration sets the AvailConfiguration field's value. +func (s *EncoderSettings) SetAvailConfiguration(v *AvailConfiguration) *EncoderSettings { + s.AvailConfiguration = v return s } -// SetOutlineColor sets the OutlineColor field's value. -func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings { - s.OutlineColor = &v +// SetBlackoutSlate sets the BlackoutSlate field's value. +func (s *EncoderSettings) SetBlackoutSlate(v *BlackoutSlate) *EncoderSettings { + s.BlackoutSlate = v return s } -// SetOutlineSize sets the OutlineSize field's value. -func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings { - s.OutlineSize = &v +// SetCaptionDescriptions sets the CaptionDescriptions field's value. +func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *EncoderSettings { + s.CaptionDescriptions = v return s } -// SetShadowColor sets the ShadowColor field's value. -func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings { - s.ShadowColor = &v +// SetGlobalConfiguration sets the GlobalConfiguration field's value. +func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings { + s.GlobalConfiguration = v return s } -// SetShadowOpacity sets the ShadowOpacity field's value. -func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings { - s.ShadowOpacity = &v +// SetNielsenConfiguration sets the NielsenConfiguration field's value. +func (s *EncoderSettings) SetNielsenConfiguration(v *NielsenConfiguration) *EncoderSettings { + s.NielsenConfiguration = v return s } -// SetShadowXOffset sets the ShadowXOffset field's value. -func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings { - s.ShadowXOffset = &v +// SetOutputGroups sets the OutputGroups field's value. +func (s *EncoderSettings) SetOutputGroups(v []*OutputGroup) *EncoderSettings { + s.OutputGroups = v return s } -// SetShadowYOffset sets the ShadowYOffset field's value. -func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings { - s.ShadowYOffset = &v +// SetTimecodeConfig sets the TimecodeConfig field's value. +func (s *EncoderSettings) SetTimecodeConfig(v *TimecodeConfig) *EncoderSettings { + s.TimecodeConfig = v return s } -// SetTeletextGridControl sets the TeletextGridControl field's value. -func (s *DvbSubDestinationSettings) SetTeletextGridControl(v string) *DvbSubDestinationSettings { - s.TeletextGridControl = &v +// SetVideoDescriptions sets the VideoDescriptions field's value. +func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSettings { + s.VideoDescriptions = v return s } -// SetXPosition sets the XPosition field's value. -func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings { - s.XPosition = &v - return s -} +// Fec Output Settings +type FecOutputSettings struct { + _ struct{} `type:"structure"` -// SetYPosition sets the YPosition field's value. -func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings { - s.YPosition = &v - return s -} + // 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. + ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"` -// Dvb Sub Source Settings -type DvbSubSourceSettings struct { - _ struct{} `type:"structure"` + // Enables column only or column and row based FEC + IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"` - // 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. - Pid *int64 `locationName:"pid" min:"1" type:"integer"` + // 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. + RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"` } // String returns the string representation -func (s DvbSubSourceSettings) String() string { +func (s FecOutputSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbSubSourceSettings) GoString() string { +func (s FecOutputSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DvbSubSourceSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"} - if s.Pid != nil && *s.Pid < 1 { - invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) +func (s *FecOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"} + if s.ColumnDepth != nil && *s.ColumnDepth < 4 { + invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4)) + } + if s.RowLength != nil && *s.RowLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("RowLength", 1)) } if invalidParams.Len() > 0 { @@ -7963,143 +10462,53 @@ func (s *DvbSubSourceSettings) Validate() error { return nil } -// SetPid sets the Pid field's value. -func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings { - s.Pid = &v +// SetColumnDepth sets the ColumnDepth field's value. +func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings { + s.ColumnDepth = &v return s } -// DVB Time and Date Table (SDT) -type DvbTdtSettings struct { - _ struct{} `type:"structure"` - - // The number of milliseconds between instances of this table in the output - // transport stream. - RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"` -} - -// String returns the string representation -func (s DvbTdtSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DvbTdtSettings) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DvbTdtSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"} - if s.RepInterval != nil && *s.RepInterval < 1000 { - invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIncludeFec sets the IncludeFec field's value. +func (s *FecOutputSettings) SetIncludeFec(v string) *FecOutputSettings { + s.IncludeFec = &v + return s } -// SetRepInterval sets the RepInterval field's value. -func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings { - s.RepInterval = &v +// SetRowLength sets the RowLength field's value. +func (s *FecOutputSettings) SetRowLength(v int64) *FecOutputSettings { + s.RowLength = &v return s } -// Eac3 Settings -type Eac3Settings struct { +// Start time for the action. +type FixedModeScheduleActionStartSettings struct { _ struct{} `type:"structure"` - - // When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. - // Only used for 3/2 coding mode. - AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"` - - // Average bitrate in bits/second. Valid bitrates depend on the coding mode. - Bitrate *float64 `locationName:"bitrate" type:"double"` - - // Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC - // A/52-2012 (Annex E) for background on these values. - BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"` - - // Dolby Digital Plus coding mode. Determines number of channels. - CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"` - - // When set to enabled, activates a DC highpass filter for all input channels. - DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"` - - // Sets the dialnorm for the output. If blank and input audio is Dolby Digital - // Plus, dialnorm will be passed through. - Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` - - // Sets the Dolby dynamic range compression profile. - DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"` - - // Sets the profile for heavy Dolby dynamic range compression, ensures that - // the instantaneous signal peaks do not exceed specified levels. - DrcRf *string `locationName:"drcRf" type:"string" enum:"Eac3DrcRf"` - - // When encoding 3/2 audio, setting to lfe enables the LFE channel - LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"` - - // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior - // to encoding. Only valid with codingMode32 coding mode. - LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"` - - // Left only/Right only center mix level. Only used for 3/2 coding mode. - LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"` - - // Left only/Right only surround mix level. Only used for 3/2 coding mode. - LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"` - - // Left total/Right total center mix level. Only used for 3/2 coding mode. - LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"` - - // Left total/Right total surround mix level. Only used for 3/2 coding mode. - LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"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. - MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"` - - // 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. - PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"` - - // When set to shift90Degrees, applies a 90-degree phase shift to the surround - // channels. Only used for 3/2 coding mode. - PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"` - - // Stereo downmix preference. Only used for 3/2 coding mode. - StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"` - - // When encoding 3/2 audio, sets whether an extra center back surround channel - // is matrix encoded into the left and right surround channels. - SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"` - - // When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into - // the two channels. - SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"` + + // Start time for the action to start in the channel. (Not the time for the + // action to be added to the schedule: actions are always added to the schedule + // immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits + // (for example, mm might be 01) except for the two constants "T" for time and + // "Z" for "UTC format". + // + // Time is a required field + Time *string `locationName:"time" type:"string" required:"true"` } // String returns the string representation -func (s Eac3Settings) String() string { +func (s FixedModeScheduleActionStartSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Eac3Settings) GoString() string { +func (s FixedModeScheduleActionStartSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Eac3Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} - if s.Dialnorm != nil && *s.Dialnorm < 1 { - invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) +func (s *FixedModeScheduleActionStartSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FixedModeScheduleActionStartSettings"} + if s.Time == nil { + invalidParams.Add(request.NewErrParamRequired("Time")) } if invalidParams.Len() > 0 { @@ -8108,195 +10517,235 @@ func (s *Eac3Settings) Validate() error { return nil } -// SetAttenuationControl sets the AttenuationControl field's value. -func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings { - s.AttenuationControl = &v +// SetTime sets the Time field's value. +func (s *FixedModeScheduleActionStartSettings) SetTime(v string) *FixedModeScheduleActionStartSettings { + s.Time = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *Eac3Settings) SetBitrate(v float64) *Eac3Settings { - s.Bitrate = &v - return s -} +// Settings to specify if an action follows another. +type FollowModeScheduleActionStartSettings struct { + _ struct{} `type:"structure"` -// SetBitstreamMode sets the BitstreamMode field's value. -func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings { - s.BitstreamMode = &v - return s -} + // Identifies whether this action starts relative to the start or relative to + // the end of the reference action. + // + // FollowPoint is a required field + FollowPoint *string `locationName:"followPoint" type:"string" required:"true" enum:"FollowPoint"` -// SetCodingMode sets the CodingMode field's value. -func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings { - s.CodingMode = &v - return s + // The action name of another action that this one refers to. + // + // ReferenceActionName is a required field + ReferenceActionName *string `locationName:"referenceActionName" type:"string" required:"true"` } -// SetDcFilter sets the DcFilter field's value. -func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings { - s.DcFilter = &v - return s +// String returns the string representation +func (s FollowModeScheduleActionStartSettings) String() string { + return awsutil.Prettify(s) } -// SetDialnorm sets the Dialnorm field's value. -func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings { - s.Dialnorm = &v - return s +// GoString returns the string representation +func (s FollowModeScheduleActionStartSettings) GoString() string { + return s.String() } -// SetDrcLine sets the DrcLine field's value. -func (s *Eac3Settings) SetDrcLine(v string) *Eac3Settings { - s.DrcLine = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *FollowModeScheduleActionStartSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FollowModeScheduleActionStartSettings"} + if s.FollowPoint == nil { + invalidParams.Add(request.NewErrParamRequired("FollowPoint")) + } + if s.ReferenceActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ReferenceActionName")) + } -// SetDrcRf sets the DrcRf field's value. -func (s *Eac3Settings) SetDrcRf(v string) *Eac3Settings { - s.DrcRf = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLfeControl sets the LfeControl field's value. -func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings { - s.LfeControl = &v +// SetFollowPoint sets the FollowPoint field's value. +func (s *FollowModeScheduleActionStartSettings) SetFollowPoint(v string) *FollowModeScheduleActionStartSettings { + s.FollowPoint = &v return s } -// SetLfeFilter sets the LfeFilter field's value. -func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings { - s.LfeFilter = &v +// SetReferenceActionName sets the ReferenceActionName field's value. +func (s *FollowModeScheduleActionStartSettings) SetReferenceActionName(v string) *FollowModeScheduleActionStartSettings { + s.ReferenceActionName = &v return s } -// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value. -func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings { - s.LoRoCenterMixLevel = &v - return s -} +// Frame Capture Group Settings +type FrameCaptureGroupSettings struct { + _ struct{} `type:"structure"` -// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value. -func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings { - s.LoRoSurroundMixLevel = &v - return s + // The destination for the frame capture files. Either the URI for an Amazon + // S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) + // or the URI for a MediaStore container, plus a file name prefix (for example, + // mediastoressl://sportsDelivery/20180820/curling_). The final file names consist + // of the prefix from the destination field (for example, "curling_") + name + // modifier + the counter (5 digits, starting from 00001) + extension (which + // is always .jpg). For example, curlingLow.00001.jpg + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` } -// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value. -func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings { - s.LtRtCenterMixLevel = &v - return s +// String returns the string representation +func (s FrameCaptureGroupSettings) String() string { + return awsutil.Prettify(s) } -// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value. -func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings { - s.LtRtSurroundMixLevel = &v - return s +// GoString returns the string representation +func (s FrameCaptureGroupSettings) GoString() string { + return s.String() } -// SetMetadataControl sets the MetadataControl field's value. -func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings { - s.MetadataControl = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *FrameCaptureGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FrameCaptureGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPassthroughControl sets the PassthroughControl field's value. -func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings { - s.PassthroughControl = &v +// SetDestination sets the Destination field's value. +func (s *FrameCaptureGroupSettings) SetDestination(v *OutputLocationRef) *FrameCaptureGroupSettings { + s.Destination = v return s } -// SetPhaseControl sets the PhaseControl field's value. -func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings { - s.PhaseControl = &v - return s +// Frame Capture Output Settings +type FrameCaptureOutputSettings struct { + _ struct{} `type:"structure"` + + // Required if the output group contains more than one output. This modifier + // forms part of the output file name. + NameModifier *string `locationName:"nameModifier" type:"string"` } -// SetStereoDownmix sets the StereoDownmix field's value. -func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings { - s.StereoDownmix = &v - return s +// String returns the string representation +func (s FrameCaptureOutputSettings) String() string { + return awsutil.Prettify(s) } -// SetSurroundExMode sets the SurroundExMode field's value. -func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings { - s.SurroundExMode = &v - return s +// GoString returns the string representation +func (s FrameCaptureOutputSettings) GoString() string { + return s.String() } -// SetSurroundMode sets the SurroundMode field's value. -func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { - s.SurroundMode = &v +// SetNameModifier sets the NameModifier field's value. +func (s *FrameCaptureOutputSettings) SetNameModifier(v string) *FrameCaptureOutputSettings { + s.NameModifier = &v return s } -// Embedded Destination Settings -type EmbeddedDestinationSettings struct { +// Frame Capture Settings +type FrameCaptureSettings struct { _ struct{} `type:"structure"` + + // The frequency at which to capture frames for inclusion in the output. May + // be specified in either seconds or milliseconds, as specified by captureIntervalUnits. + // + // CaptureInterval is a required field + CaptureInterval *int64 `locationName:"captureInterval" min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s EmbeddedDestinationSettings) String() string { +func (s FrameCaptureSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmbeddedDestinationSettings) GoString() string { +func (s FrameCaptureSettings) GoString() string { return s.String() } -// Embedded Plus Scte20 Destination Settings -type EmbeddedPlusScte20DestinationSettings struct { - _ struct{} `type:"structure"` -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *FrameCaptureSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"} + if s.CaptureInterval == nil { + invalidParams.Add(request.NewErrParamRequired("CaptureInterval")) + } + if s.CaptureInterval != nil && *s.CaptureInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("CaptureInterval", 1)) + } -// String returns the string representation -func (s EmbeddedPlusScte20DestinationSettings) String() string { - return awsutil.Prettify(s) + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// GoString returns the string representation -func (s EmbeddedPlusScte20DestinationSettings) GoString() string { - return s.String() +// SetCaptureInterval sets the CaptureInterval field's value. +func (s *FrameCaptureSettings) SetCaptureInterval(v int64) *FrameCaptureSettings { + s.CaptureInterval = &v + return s } -// Embedded Source Settings -type EmbeddedSourceSettings struct { +// Global Configuration +type GlobalConfiguration struct { _ struct{} `type:"structure"` - // 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. - Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"` + // Value to set the initial audio gain for the Live Event. + InitialAudioGain *int64 `locationName:"initialAudioGain" type:"integer"` - // Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 - // and Embedded captions. - Scte20Detection *string `locationName:"scte20Detection" type:"string" enum:"EmbeddedScte20Detection"` + // Indicates the action to take when the current input completes (e.g. end-of-file). + // When switchAndLoopInputs is configured the encoder will restart at the beginning + // of the first input. When "none" is configured the encoder will transcode + // either black, a solid color, or a user specified slate images per the "Input + // Loss Behavior" configuration until the next input switch occurs (which is + // controlled through the Channel Schedule API). + InputEndAction *string `locationName:"inputEndAction" type:"string" enum:"GlobalConfigurationInputEndAction"` + + // Settings for system actions when input is lost. + InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"` + + // Indicates how MediaLive pipelines are synchronized.PIPELINELOCKING - MediaLive + // will attempt to synchronize the output of each pipeline to the other.EPOCHLOCKING + // - MediaLive will attempt to synchronize the output of each pipeline to the + // Unix epoch. + OutputLockingMode *string `locationName:"outputLockingMode" type:"string" enum:"GlobalConfigurationOutputLockingMode"` - // Specifies the 608/708 channel number within the video track from which to - // extract captions. Unused for passthrough. - Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` + // 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. + OutputTimingSource *string `locationName:"outputTimingSource" type:"string" enum:"GlobalConfigurationOutputTimingSource"` - // This field is unused and deprecated. - Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"` + // 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. + SupportLowFramerateInputs *string `locationName:"supportLowFramerateInputs" type:"string" enum:"GlobalConfigurationLowFramerateInputs"` } // String returns the string representation -func (s EmbeddedSourceSettings) String() string { +func (s GlobalConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmbeddedSourceSettings) GoString() string { +func (s GlobalConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EmbeddedSourceSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"} - if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) +func (s *GlobalConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"} + if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 { + invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60)) } - if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1)) + if s.InputLossBehavior != nil { + if err := s.InputLossBehavior.Validate(); err != nil { + invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8305,357 +10754,295 @@ func (s *EmbeddedSourceSettings) Validate() error { return nil } -// SetConvert608To708 sets the Convert608To708 field's value. -func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings { - s.Convert608To708 = &v +// SetInitialAudioGain sets the InitialAudioGain field's value. +func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration { + s.InitialAudioGain = &v return s } -// SetScte20Detection sets the Scte20Detection field's value. -func (s *EmbeddedSourceSettings) SetScte20Detection(v string) *EmbeddedSourceSettings { - s.Scte20Detection = &v +// SetInputEndAction sets the InputEndAction field's value. +func (s *GlobalConfiguration) SetInputEndAction(v string) *GlobalConfiguration { + s.InputEndAction = &v return s } -// SetSource608ChannelNumber sets the Source608ChannelNumber field's value. -func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings { - s.Source608ChannelNumber = &v +// SetInputLossBehavior sets the InputLossBehavior field's value. +func (s *GlobalConfiguration) SetInputLossBehavior(v *InputLossBehavior) *GlobalConfiguration { + s.InputLossBehavior = v return s } -// SetSource608TrackNumber sets the Source608TrackNumber field's value. -func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings { - s.Source608TrackNumber = &v +// SetOutputLockingMode sets the OutputLockingMode field's value. +func (s *GlobalConfiguration) SetOutputLockingMode(v string) *GlobalConfiguration { + s.OutputLockingMode = &v return s } -// Encoder Settings -type EncoderSettings struct { - _ struct{} `type:"structure"` - - // AudioDescriptions is a required field - AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"` - - // Settings for ad avail blanking. - AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` - - // Event-wide configuration settings for ad avail insertion. - AvailConfiguration *AvailConfiguration `locationName:"availConfiguration" type:"structure"` - - // Settings for blackout slate. - BlackoutSlate *BlackoutSlate `locationName:"blackoutSlate" type:"structure"` +// SetOutputTimingSource sets the OutputTimingSource field's value. +func (s *GlobalConfiguration) SetOutputTimingSource(v string) *GlobalConfiguration { + s.OutputTimingSource = &v + return s +} - // Settings for caption decriptions - CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` +// SetSupportLowFramerateInputs sets the SupportLowFramerateInputs field's value. +func (s *GlobalConfiguration) SetSupportLowFramerateInputs(v string) *GlobalConfiguration { + s.SupportLowFramerateInputs = &v + return s +} - // Configuration settings that apply to the event as a whole. - GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"` +// H264 Color Space Settings +type H264ColorSpaceSettings struct { + _ struct{} `type:"structure"` - // OutputGroups is a required field - OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"` + // Passthrough applies no color space conversion to the output + ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"` - // Contains settings used to acquire and adjust timecode information from inputs. - // - // TimecodeConfig is a required field - TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"` + // Rec601 Settings + Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"` - // VideoDescriptions is a required field - VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"` + // Rec709 Settings + Rec709Settings *Rec709Settings `locationName:"rec709Settings" type:"structure"` } // String returns the string representation -func (s EncoderSettings) String() string { +func (s H264ColorSpaceSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncoderSettings) GoString() string { +func (s H264ColorSpaceSettings) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EncoderSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"} - if s.AudioDescriptions == nil { - invalidParams.Add(request.NewErrParamRequired("AudioDescriptions")) - } - if s.OutputGroups == nil { - invalidParams.Add(request.NewErrParamRequired("OutputGroups")) - } - if s.TimecodeConfig == nil { - invalidParams.Add(request.NewErrParamRequired("TimecodeConfig")) - } - if s.VideoDescriptions == nil { - invalidParams.Add(request.NewErrParamRequired("VideoDescriptions")) - } - if s.AudioDescriptions != nil { - for i, v := range s.AudioDescriptions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.AvailBlanking != nil { - if err := s.AvailBlanking.Validate(); err != nil { - invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) - } - } - if s.AvailConfiguration != nil { - if err := s.AvailConfiguration.Validate(); err != nil { - invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.BlackoutSlate != nil { - if err := s.BlackoutSlate.Validate(); err != nil { - invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams)) - } - } - if s.CaptionDescriptions != nil { - for i, v := range s.CaptionDescriptions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.GlobalConfiguration != nil { - if err := s.GlobalConfiguration.Validate(); err != nil { - invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.OutputGroups != nil { - for i, v := range s.OutputGroups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) - } - } - } - if s.TimecodeConfig != nil { - if err := s.TimecodeConfig.Validate(); err != nil { - invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams)) - } - } - if s.VideoDescriptions != nil { - for i, v := range s.VideoDescriptions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAudioDescriptions sets the AudioDescriptions field's value. -func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings { - s.AudioDescriptions = v +// SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value. +func (s *H264ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H264ColorSpaceSettings { + s.ColorSpacePassthroughSettings = v return s } -// SetAvailBlanking sets the AvailBlanking field's value. -func (s *EncoderSettings) SetAvailBlanking(v *AvailBlanking) *EncoderSettings { - s.AvailBlanking = v +// SetRec601Settings sets the Rec601Settings field's value. +func (s *H264ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H264ColorSpaceSettings { + s.Rec601Settings = v return s } -// SetAvailConfiguration sets the AvailConfiguration field's value. -func (s *EncoderSettings) SetAvailConfiguration(v *AvailConfiguration) *EncoderSettings { - s.AvailConfiguration = v +// SetRec709Settings sets the Rec709Settings field's value. +func (s *H264ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H264ColorSpaceSettings { + s.Rec709Settings = v return s } -// SetBlackoutSlate sets the BlackoutSlate field's value. -func (s *EncoderSettings) SetBlackoutSlate(v *BlackoutSlate) *EncoderSettings { - s.BlackoutSlate = v - return s -} +// H264 Settings +type H264Settings struct { + _ struct{} `type:"structure"` + + // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual + // quality. + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"` + + // 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. + AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + + // Average bitrate in bits/second. Required when the rate control mode is VBR + // or CBR. Not used for QVBR. In an MS Smooth output group, each output must + // have a unique value when its bitrate is rounded down to the nearest multiple + // of 1000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // Percentage of the buffer that should initially be filled (HRD buffer model). + BufFillPct *int64 `locationName:"bufFillPct" type:"integer"` + + // Size of buffer (HRD buffer model) in bits. + BufSize *int64 `locationName:"bufSize" type:"integer"` + + // Includes colorspace metadata in the output. + ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H264ColorMetadata"` + + // Color Space settings + ColorSpaceSettings *H264ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` + + // Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. + EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"` + + // Four bit AFD value to write on all frames of video in the output stream. + // Only valid when afdSignaling is set to 'Fixed'. + FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"` + + // If set to enabled, adjust quantization within each frame to reduce flicker + // or 'pop' on I-frames. + FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H264FlickerAq"` + + // 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. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` + + // Framerate denominator. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` -// SetCaptionDescriptions sets the CaptionDescriptions field's value. -func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *EncoderSettings { - s.CaptionDescriptions = v - return s -} + // Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 + // fps. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` -// SetGlobalConfiguration sets the GlobalConfiguration field's value. -func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings { - s.GlobalConfiguration = v - return s -} + // If enabled, use reference B frames for GOP structures that have B frames + // > 1. + GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"` -// SetOutputGroups sets the OutputGroups field's value. -func (s *EncoderSettings) SetOutputGroups(v []*OutputGroup) *EncoderSettings { - s.OutputGroups = v - return s -} + // 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. + GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` -// SetTimecodeConfig sets the TimecodeConfig field's value. -func (s *EncoderSettings) SetTimecodeConfig(v *TimecodeConfig) *EncoderSettings { - s.TimecodeConfig = v - return s -} + // Number of B-frames between reference frames. + GopNumBFrames *int64 `locationName:"gopNumBFrames" type:"integer"` -// SetVideoDescriptions sets the VideoDescriptions field's value. -func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSettings { - s.VideoDescriptions = v - return s -} + // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.If + // gopSizeUnits is frames, gopSize must be an integer and must be greater than + // or equal to 1.If gopSizeUnits is seconds, gopSize must be greater than 0, + // but need not be an integer. + GopSize *float64 `locationName:"gopSize" type:"double"` -// Fec Output Settings -type FecOutputSettings struct { - _ struct{} `type:"structure"` + // 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. + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"` - // 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. - ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"` + // H.264 Level. + Level *string `locationName:"level" type:"string" enum:"H264Level"` - // Enables column only or column and row based FEC - IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"` + // Amount of lookahead. A value of low can decrease latency and memory usage, + // while high can produce better quality for certain content. + LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"` - // 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. - RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"` -} + // For QVBR: See the tooltip for Quality levelFor VBR: Set the maximum bitrate + // in order to accommodate expected spikes in the complexity of the video. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` -// String returns the string representation -func (s FecOutputSettings) String() string { - return awsutil.Prettify(s) -} + // Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if + // multiplex rate control is used. Enforces separation between repeated (cadence) + // I-frames and I-frames inserted by Scene Change Detection. If a scene change + // I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk + // and/or stretched to the scene change I-frame. GOP stretch requires enabling + // lookahead as well as setting I-interval. The normal cadence resumes for the + // next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 + MinIInterval *int64 `locationName:"minIInterval" type:"integer"` -// GoString returns the string representation -func (s FecOutputSettings) GoString() string { - return s.String() -} + // Number of reference frames to use. The encoder may use more than requested + // if using B-frames and/or interlaced encoding. + NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *FecOutputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"} - if s.ColumnDepth != nil && *s.ColumnDepth < 4 { - invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4)) - } - if s.RowLength != nil && *s.RowLength < 1 { - invalidParams.Add(request.NewErrParamMinValue("RowLength", 1)) - } + // 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. + ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // Pixel Aspect Ratio denominator. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` -// SetColumnDepth sets the ColumnDepth field's value. -func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings { - s.ColumnDepth = &v - return s -} + // Pixel Aspect Ratio numerator. + ParNumerator *int64 `locationName:"parNumerator" type:"integer"` -// SetIncludeFec sets the IncludeFec field's value. -func (s *FecOutputSettings) SetIncludeFec(v string) *FecOutputSettings { - s.IncludeFec = &v - return s -} + // H.264 Profile. + Profile *string `locationName:"profile" type:"string" enum:"H264Profile"` -// SetRowLength sets the RowLength field's value. -func (s *FecOutputSettings) SetRowLength(v int64) *FecOutputSettings { - s.RowLength = &v - return s -} + // Controls the target quality for the video encode. Applies only when the rate + // control mode is QVBR. Set values for the QVBR quality level field and Max + // bitrate field that suit your most important viewing devices. Recommended + // values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC + // or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality + // level: 6. Max bitrate: 1M to 1.5M + QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"` -// Start time for the action. -type FixedModeScheduleActionStartSettings struct { - _ struct{} `type:"structure"` + // Rate control mode.QVBR: Quality will match the specified quality level except + // when it is constrained by themaximum bitrate. Recommended if you or your + // viewers pay for bandwidth.VBR: Quality and bitrate vary, depending on the + // video complexity. Recommended instead of QVBRif you want to maintain a specific + // average bitrate over the duration of the channel.CBR: Quality varies, depending + // on the video complexity. Recommended only if you distributeyour assets to + // devices that cannot handle variable bitrates. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"` - // Start time for the action to start in the channel. (Not the time for the - // action to be added to the schedule: actions are always added to the schedule - // immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits - // (for example, mm might be 01) except for the two constants "T" for time and - // "Z" for "UTC format". - // - // Time is a required field - Time *string `locationName:"time" type:"string" required:"true"` -} + // Sets the scan type of the output to progressive or top-field-first interlaced. + ScanType *string `locationName:"scanType" type:"string" enum:"H264ScanType"` -// String returns the string representation -func (s FixedModeScheduleActionStartSettings) String() string { - return awsutil.Prettify(s) -} + // Scene change detection.- On: inserts I-frames when scene change is detected.- + // Off: does not force an I-frame when scene change is detected. + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"` -// GoString returns the string representation -func (s FixedModeScheduleActionStartSettings) GoString() string { - return s.String() -} + // 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. + Slices *int64 `locationName:"slices" min:"1" type:"integer"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *FixedModeScheduleActionStartSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FixedModeScheduleActionStartSettings"} - if s.Time == nil { - invalidParams.Add(request.NewErrParamRequired("Time")) - } + // Softness. Selects quantizer matrix, larger values reduce high-frequency content + // in the encoded image. + Softness *int64 `locationName:"softness" type:"integer"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // If set to enabled, adjust quantization within each frame based on spatial + // variation of content complexity. + SpatialAq *string `locationName:"spatialAq" type:"string" enum:"H264SpatialAq"` -// SetTime sets the Time field's value. -func (s *FixedModeScheduleActionStartSettings) SetTime(v string) *FixedModeScheduleActionStartSettings { - s.Time = &v - return s -} + // If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, + // optimize the number of B-frames used for each sub-GOP to improve visual quality. + SubgopLength *string `locationName:"subgopLength" type:"string" enum:"H264SubGopLength"` -// Settings to specify if an action follows another. -type FollowModeScheduleActionStartSettings struct { - _ struct{} `type:"structure"` + // Produces a bitstream compliant with SMPTE RP-2027. + Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"` - // Identifies whether this action starts relative to the start or relative to - // the end of the reference action. - // - // FollowPoint is a required field - FollowPoint *string `locationName:"followPoint" type:"string" required:"true" enum:"FollowPoint"` + // If set to enabled, adjust quantization within each frame based on temporal + // variation of content complexity. + TemporalAq *string `locationName:"temporalAq" type:"string" enum:"H264TemporalAq"` - // The action name of another action that this one refers to. - // - // ReferenceActionName is a required field - ReferenceActionName *string `locationName:"referenceActionName" type:"string" required:"true"` + // 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 + TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H264TimecodeInsertionBehavior"` } // String returns the string representation -func (s FollowModeScheduleActionStartSettings) String() string { +func (s H264Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FollowModeScheduleActionStartSettings) GoString() string { +func (s H264Settings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FollowModeScheduleActionStartSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FollowModeScheduleActionStartSettings"} - if s.FollowPoint == nil { - invalidParams.Add(request.NewErrParamRequired("FollowPoint")) +func (s *H264Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H264Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) } - if s.ReferenceActionName == nil { - invalidParams.Add(request.NewErrParamRequired("ReferenceActionName")) + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.NumRefFrames != nil && *s.NumRefFrames < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { + invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) + } + if s.Slices != nil && *s.Slices < 1 { + invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) } if invalidParams.Len() > 0 { @@ -8664,238 +11051,244 @@ func (s *FollowModeScheduleActionStartSettings) Validate() error { return nil } -// SetFollowPoint sets the FollowPoint field's value. -func (s *FollowModeScheduleActionStartSettings) SetFollowPoint(v string) *FollowModeScheduleActionStartSettings { - s.FollowPoint = &v +// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. +func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { + s.AdaptiveQuantization = &v return s } -// SetReferenceActionName sets the ReferenceActionName field's value. -func (s *FollowModeScheduleActionStartSettings) SetReferenceActionName(v string) *FollowModeScheduleActionStartSettings { - s.ReferenceActionName = &v +// SetAfdSignaling sets the AfdSignaling field's value. +func (s *H264Settings) SetAfdSignaling(v string) *H264Settings { + s.AfdSignaling = &v return s } -// Frame Capture Group Settings -type FrameCaptureGroupSettings struct { - _ struct{} `type:"structure"` +// SetBitrate sets the Bitrate field's value. +func (s *H264Settings) SetBitrate(v int64) *H264Settings { + s.Bitrate = &v + return s +} - // The destination for the frame capture files. Either the URI for an Amazon - // S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) - // or the URI for a MediaStore container, plus a file name prefix (for example, - // mediastoressl://sportsDelivery/20180820/curling_). The final file names consist - // of the prefix from the destination field (for example, "curling_") + name - // modifier + the counter (5 digits, starting from 00001) + extension (which - // is always .jpg). For example, curlingLow.00001.jpg - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +// SetBufFillPct sets the BufFillPct field's value. +func (s *H264Settings) SetBufFillPct(v int64) *H264Settings { + s.BufFillPct = &v + return s } -// String returns the string representation -func (s FrameCaptureGroupSettings) String() string { - return awsutil.Prettify(s) +// SetBufSize sets the BufSize field's value. +func (s *H264Settings) SetBufSize(v int64) *H264Settings { + s.BufSize = &v + return s } -// GoString returns the string representation -func (s FrameCaptureGroupSettings) GoString() string { - return s.String() +// SetColorMetadata sets the ColorMetadata field's value. +func (s *H264Settings) SetColorMetadata(v string) *H264Settings { + s.ColorMetadata = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *FrameCaptureGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FrameCaptureGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) - } +// SetColorSpaceSettings sets the ColorSpaceSettings field's value. +func (s *H264Settings) SetColorSpaceSettings(v *H264ColorSpaceSettings) *H264Settings { + s.ColorSpaceSettings = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEntropyEncoding sets the EntropyEncoding field's value. +func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings { + s.EntropyEncoding = &v + return s } -// SetDestination sets the Destination field's value. -func (s *FrameCaptureGroupSettings) SetDestination(v *OutputLocationRef) *FrameCaptureGroupSettings { - s.Destination = v +// SetFixedAfd sets the FixedAfd field's value. +func (s *H264Settings) SetFixedAfd(v string) *H264Settings { + s.FixedAfd = &v return s } -// Frame Capture Output Settings -type FrameCaptureOutputSettings struct { - _ struct{} `type:"structure"` +// SetFlickerAq sets the FlickerAq field's value. +func (s *H264Settings) SetFlickerAq(v string) *H264Settings { + s.FlickerAq = &v + return s +} - // Required if the output group contains more than one output. This modifier - // forms part of the output file name. - NameModifier *string `locationName:"nameModifier" type:"string"` +// SetFramerateControl sets the FramerateControl field's value. +func (s *H264Settings) SetFramerateControl(v string) *H264Settings { + s.FramerateControl = &v + return s } -// String returns the string representation -func (s FrameCaptureOutputSettings) String() string { - return awsutil.Prettify(s) +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings { + s.FramerateDenominator = &v + return s } -// GoString returns the string representation -func (s FrameCaptureOutputSettings) GoString() string { - return s.String() +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings { + s.FramerateNumerator = &v + return s } -// SetNameModifier sets the NameModifier field's value. -func (s *FrameCaptureOutputSettings) SetNameModifier(v string) *FrameCaptureOutputSettings { - s.NameModifier = &v +// SetGopBReference sets the GopBReference field's value. +func (s *H264Settings) SetGopBReference(v string) *H264Settings { + s.GopBReference = &v return s } -// Frame Capture Settings -type FrameCaptureSettings struct { - _ struct{} `type:"structure"` +// SetGopClosedCadence sets the GopClosedCadence field's value. +func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings { + s.GopClosedCadence = &v + return s +} - // The frequency, in seconds, for capturing frames for inclusion in the output. - // For example, "10" means capture a frame every 10 seconds. - // - // CaptureInterval is a required field - CaptureInterval *int64 `locationName:"captureInterval" min:"1" type:"integer" required:"true"` +// SetGopNumBFrames sets the GopNumBFrames field's value. +func (s *H264Settings) SetGopNumBFrames(v int64) *H264Settings { + s.GopNumBFrames = &v + return s } -// String returns the string representation -func (s FrameCaptureSettings) String() string { - return awsutil.Prettify(s) +// SetGopSize sets the GopSize field's value. +func (s *H264Settings) SetGopSize(v float64) *H264Settings { + s.GopSize = &v + return s } -// GoString returns the string representation -func (s FrameCaptureSettings) GoString() string { - return s.String() +// SetGopSizeUnits sets the GopSizeUnits field's value. +func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings { + s.GopSizeUnits = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *FrameCaptureSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"} - if s.CaptureInterval == nil { - invalidParams.Add(request.NewErrParamRequired("CaptureInterval")) - } - if s.CaptureInterval != nil && *s.CaptureInterval < 1 { - invalidParams.Add(request.NewErrParamMinValue("CaptureInterval", 1)) - } +// SetLevel sets the Level field's value. +func (s *H264Settings) SetLevel(v string) *H264Settings { + s.Level = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLookAheadRateControl sets the LookAheadRateControl field's value. +func (s *H264Settings) SetLookAheadRateControl(v string) *H264Settings { + s.LookAheadRateControl = &v + return s } -// SetCaptureInterval sets the CaptureInterval field's value. -func (s *FrameCaptureSettings) SetCaptureInterval(v int64) *FrameCaptureSettings { - s.CaptureInterval = &v +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings { + s.MaxBitrate = &v return s } -// Global Configuration -type GlobalConfiguration struct { - _ struct{} `type:"structure"` +// SetMinIInterval sets the MinIInterval field's value. +func (s *H264Settings) SetMinIInterval(v int64) *H264Settings { + s.MinIInterval = &v + return s +} - // Value to set the initial audio gain for the Live Event. - InitialAudioGain *int64 `locationName:"initialAudioGain" type:"integer"` +// SetNumRefFrames sets the NumRefFrames field's value. +func (s *H264Settings) SetNumRefFrames(v int64) *H264Settings { + s.NumRefFrames = &v + return s +} - // Indicates the action to take when the current input completes (e.g. end-of-file). - // When switchAndLoopInputs is configured the encoder will restart at the beginning - // of the first input. When "none" is configured the encoder will transcode - // either black, a solid color, or a user specified slate images per the "Input - // Loss Behavior" configuration until the next input switch occurs (which is - // controlled through the Channel Schedule API). - InputEndAction *string `locationName:"inputEndAction" type:"string" enum:"GlobalConfigurationInputEndAction"` +// SetParControl sets the ParControl field's value. +func (s *H264Settings) SetParControl(v string) *H264Settings { + s.ParControl = &v + return s +} - // Settings for system actions when input is lost. - InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"` +// SetParDenominator sets the ParDenominator field's value. +func (s *H264Settings) SetParDenominator(v int64) *H264Settings { + s.ParDenominator = &v + return s +} - // Indicates how MediaLive pipelines are synchronized.PIPELINELOCKING - MediaLive - // will attempt to synchronize the output of each pipeline to the other.EPOCHLOCKING - // - MediaLive will attempt to synchronize the output of each pipeline to the - // Unix epoch. - OutputLockingMode *string `locationName:"outputLockingMode" type:"string" enum:"GlobalConfigurationOutputLockingMode"` +// SetParNumerator sets the ParNumerator field's value. +func (s *H264Settings) SetParNumerator(v int64) *H264Settings { + s.ParNumerator = &v + return s +} - // 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. - OutputTimingSource *string `locationName:"outputTimingSource" type:"string" enum:"GlobalConfigurationOutputTimingSource"` +// SetProfile sets the Profile field's value. +func (s *H264Settings) SetProfile(v string) *H264Settings { + s.Profile = &v + return s +} - // 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. - SupportLowFramerateInputs *string `locationName:"supportLowFramerateInputs" type:"string" enum:"GlobalConfigurationLowFramerateInputs"` +// SetQvbrQualityLevel sets the QvbrQualityLevel field's value. +func (s *H264Settings) SetQvbrQualityLevel(v int64) *H264Settings { + s.QvbrQualityLevel = &v + return s } -// String returns the string representation -func (s GlobalConfiguration) String() string { - return awsutil.Prettify(s) +// SetRateControlMode sets the RateControlMode field's value. +func (s *H264Settings) SetRateControlMode(v string) *H264Settings { + s.RateControlMode = &v + return s } -// GoString returns the string representation -func (s GlobalConfiguration) GoString() string { - return s.String() +// SetScanType sets the ScanType field's value. +func (s *H264Settings) SetScanType(v string) *H264Settings { + s.ScanType = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GlobalConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"} - if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 { - invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60)) - } - if s.InputLossBehavior != nil { - if err := s.InputLossBehavior.Validate(); err != nil { - invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams)) - } - } +// SetSceneChangeDetect sets the SceneChangeDetect field's value. +func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings { + s.SceneChangeDetect = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSlices sets the Slices field's value. +func (s *H264Settings) SetSlices(v int64) *H264Settings { + s.Slices = &v + return s } -// SetInitialAudioGain sets the InitialAudioGain field's value. -func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration { - s.InitialAudioGain = &v +// SetSoftness sets the Softness field's value. +func (s *H264Settings) SetSoftness(v int64) *H264Settings { + s.Softness = &v return s } -// SetInputEndAction sets the InputEndAction field's value. -func (s *GlobalConfiguration) SetInputEndAction(v string) *GlobalConfiguration { - s.InputEndAction = &v +// SetSpatialAq sets the SpatialAq field's value. +func (s *H264Settings) SetSpatialAq(v string) *H264Settings { + s.SpatialAq = &v return s } -// SetInputLossBehavior sets the InputLossBehavior field's value. -func (s *GlobalConfiguration) SetInputLossBehavior(v *InputLossBehavior) *GlobalConfiguration { - s.InputLossBehavior = v +// SetSubgopLength sets the SubgopLength field's value. +func (s *H264Settings) SetSubgopLength(v string) *H264Settings { + s.SubgopLength = &v return s } -// SetOutputLockingMode sets the OutputLockingMode field's value. -func (s *GlobalConfiguration) SetOutputLockingMode(v string) *GlobalConfiguration { - s.OutputLockingMode = &v +// SetSyntax sets the Syntax field's value. +func (s *H264Settings) SetSyntax(v string) *H264Settings { + s.Syntax = &v return s } -// SetOutputTimingSource sets the OutputTimingSource field's value. -func (s *GlobalConfiguration) SetOutputTimingSource(v string) *GlobalConfiguration { - s.OutputTimingSource = &v +// SetTemporalAq sets the TemporalAq field's value. +func (s *H264Settings) SetTemporalAq(v string) *H264Settings { + s.TemporalAq = &v return s } -// SetSupportLowFramerateInputs sets the SupportLowFramerateInputs field's value. -func (s *GlobalConfiguration) SetSupportLowFramerateInputs(v string) *GlobalConfiguration { - s.SupportLowFramerateInputs = &v +// SetTimecodeInsertion sets the TimecodeInsertion field's value. +func (s *H264Settings) SetTimecodeInsertion(v string) *H264Settings { + s.TimecodeInsertion = &v return s } -// H264 Color Space Settings -type H264ColorSpaceSettings struct { +// H265 Color Space Settings +type H265ColorSpaceSettings struct { _ struct{} `type:"structure"` // Passthrough applies no color space conversion to the output ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"` + // Hdr10 Settings + Hdr10Settings *Hdr10Settings `locationName:"hdr10Settings" type:"structure"` + // Rec601 Settings Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"` @@ -8904,40 +11297,46 @@ type H264ColorSpaceSettings struct { } // String returns the string representation -func (s H264ColorSpaceSettings) String() string { +func (s H265ColorSpaceSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H264ColorSpaceSettings) GoString() string { +func (s H265ColorSpaceSettings) GoString() string { return s.String() } // SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value. -func (s *H264ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H264ColorSpaceSettings { +func (s *H265ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H265ColorSpaceSettings { s.ColorSpacePassthroughSettings = v return s } +// SetHdr10Settings sets the Hdr10Settings field's value. +func (s *H265ColorSpaceSettings) SetHdr10Settings(v *Hdr10Settings) *H265ColorSpaceSettings { + s.Hdr10Settings = v + return s +} + // SetRec601Settings sets the Rec601Settings field's value. -func (s *H264ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H264ColorSpaceSettings { +func (s *H265ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H265ColorSpaceSettings { s.Rec601Settings = v return s } // SetRec709Settings sets the Rec709Settings field's value. -func (s *H264ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H264ColorSpaceSettings { +func (s *H265ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H265ColorSpaceSettings { s.Rec709Settings = v return s } -// H264 Settings -type H264Settings struct { +// H265 Settings +type H265Settings struct { _ struct{} `type:"structure"` // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual // quality. - AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"` + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"` // 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 @@ -8945,26 +11344,24 @@ type H264Settings struct { // be the value configured in the fixedAfd parameter. AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + // Whether or not EML should insert an Alternative Transfer Function SEI message + // to support backwards compatibility with non-HDR decoders and displays. + AlternativeTransferFunction *string `locationName:"alternativeTransferFunction" type:"string" enum:"H265AlternativeTransferFunction"` + // Average bitrate in bits/second. Required when the rate control mode is VBR // or CBR. Not used for QVBR. In an MS Smooth output group, each output must // have a unique value when its bitrate is rounded down to the nearest multiple // of 1000. - Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` - - // Percentage of the buffer that should initially be filled (HRD buffer model). - BufFillPct *int64 `locationName:"bufFillPct" type:"integer"` + Bitrate *int64 `locationName:"bitrate" min:"100000" type:"integer"` // Size of buffer (HRD buffer model) in bits. - BufSize *int64 `locationName:"bufSize" type:"integer"` + BufSize *int64 `locationName:"bufSize" min:"100000" type:"integer"` // Includes colorspace metadata in the output. - ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H264ColorMetadata"` + ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H265ColorMetadata"` // Color Space settings - ColorSpaceSettings *H264ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` - - // Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. - EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"` + ColorSpaceSettings *H265ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` // Four bit AFD value to write on all frames of video in the output stream. // Only valid when afdSignaling is set to 'Fixed'. @@ -8972,81 +11369,61 @@ type H264Settings struct { // If set to enabled, adjust quantization within each frame to reduce flicker // or 'pop' on I-frames. - FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H264FlickerAq"` - - // 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. - FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` + FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H265FlickerAq"` // Framerate denominator. - FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + // + // FramerateDenominator is a required field + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer" required:"true"` // Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 // fps. - FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` - - // If enabled, use reference B frames for GOP structures that have B frames - // > 1. - GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"` + // + // FramerateNumerator is a required field + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer" required:"true"` // 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. GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` - // Number of B-frames between reference frames. - GopNumBFrames *int64 `locationName:"gopNumBFrames" type:"integer"` - - // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - // Must be greater than zero. + // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.If + // gopSizeUnits is frames, gopSize must be an integer and must be greater than + // or equal to 1.If gopSizeUnits is seconds, gopSize must be greater than 0, + // but need not be an integer. GopSize *float64 `locationName:"gopSize" type:"double"` // 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. - GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"` + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"` - // H.264 Level. - Level *string `locationName:"level" type:"string" enum:"H264Level"` + // H.265 Level. + Level *string `locationName:"level" type:"string" enum:"H265Level"` // Amount of lookahead. A value of low can decrease latency and memory usage, // while high can produce better quality for certain content. - LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"` + LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H265LookAheadRateControl"` - // For QVBR: See the tooltip for Quality levelFor VBR: Set the maximum bitrate - // in order to accommodate expected spikes in the complexity of the video. - MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + // For QVBR: See the tooltip for Quality level + MaxBitrate *int64 `locationName:"maxBitrate" min:"100000" type:"integer"` - // 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 + // Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if + // multiplex rate control is used. Enforces separation between repeated (cadence) + // I-frames and I-frames inserted by Scene Change Detection. If a scene change + // I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk + // and/or stretched to the scene change I-frame. GOP stretch requires enabling + // lookahead as well as setting I-interval. The normal cadence resumes for the + // next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 MinIInterval *int64 `locationName:"minIInterval" type:"integer"` - // Number of reference frames to use. The encoder may use more than requested - // if using B-frames and/or interlaced encoding. - NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"` - - // 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. - ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` - // Pixel Aspect Ratio denominator. ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` // Pixel Aspect Ratio numerator. - ParNumerator *int64 `locationName:"parNumerator" type:"integer"` + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // H.264 Profile. - Profile *string `locationName:"profile" type:"string" enum:"H264Profile"` + // H.265 Profile. + Profile *string `locationName:"profile" type:"string" enum:"H265Profile"` // Controls the target quality for the video encode. Applies only when the rate // control mode is QVBR. Set values for the QVBR quality level field and Max @@ -9058,19 +11435,16 @@ type H264Settings struct { // Rate control mode.QVBR: Quality will match the specified quality level except // when it is constrained by themaximum bitrate. Recommended if you or your - // viewers pay for bandwidth.VBR: Quality and bitrate vary, depending on the - // video complexity. Recommended instead of QVBRif you want to maintain a specific - // average bitrate over the duration of the channel.CBR: Quality varies, depending - // on the video complexity. Recommended only if you distributeyour assets to - // devices that cannot handle variable bitrates. - RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"` + // viewers pay for bandwidth.CBR: Quality varies, depending on the video complexity. + // Recommended only if you distributeyour assets to devices that cannot handle + // variable bitrates. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"` // Sets the scan type of the output to progressive or top-field-first interlaced. - ScanType *string `locationName:"scanType" type:"string" enum:"H264ScanType"` + ScanType *string `locationName:"scanType" type:"string" enum:"H265ScanType"` - // Scene change detection.- On: inserts I-frames when scene change is detected.- - // Off: does not force an I-frame when scene change is detected. - SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"` + // Scene change detection. + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"` // 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 @@ -9079,62 +11453,55 @@ type H264Settings struct { // on encode resolution. Slices *int64 `locationName:"slices" min:"1" type:"integer"` - // Softness. Selects quantizer matrix, larger values reduce high-frequency content - // in the encoded image. - Softness *int64 `locationName:"softness" type:"integer"` - - // If set to enabled, adjust quantization within each frame based on spatial - // variation of content complexity. - SpatialAq *string `locationName:"spatialAq" type:"string" enum:"H264SpatialAq"` - - // If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, - // optimize the number of B-frames used for each sub-GOP to improve visual quality. - SubgopLength *string `locationName:"subgopLength" type:"string" enum:"H264SubGopLength"` - - // Produces a bitstream compliant with SMPTE RP-2027. - Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"` - - // If set to enabled, adjust quantization within each frame based on temporal - // variation of content complexity. - TemporalAq *string `locationName:"temporalAq" type:"string" enum:"H264TemporalAq"` + // H.265 Tier. + Tier *string `locationName:"tier" type:"string" enum:"H265Tier"` // 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 - TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H264TimecodeInsertionBehavior"` + TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H265TimecodeInsertionBehavior"` } // String returns the string representation -func (s H264Settings) String() string { +func (s H265Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H264Settings) GoString() string { +func (s H265Settings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *H264Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "H264Settings"} - if s.Bitrate != nil && *s.Bitrate < 1000 { - invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) +func (s *H265Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H265Settings"} + if s.Bitrate != nil && *s.Bitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 100000)) + } + if s.BufSize != nil && *s.BufSize < 100000 { + invalidParams.Add(request.NewErrParamMinValue("BufSize", 100000)) + } + if s.FramerateDenominator == nil { + invalidParams.Add(request.NewErrParamRequired("FramerateDenominator")) } if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) } + if s.FramerateNumerator == nil { + invalidParams.Add(request.NewErrParamRequired("FramerateNumerator")) + } if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) } - if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { - invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) - } - if s.NumRefFrames != nil && *s.NumRefFrames < 1 { - invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1)) + if s.MaxBitrate != nil && *s.MaxBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 100000)) } if s.ParDenominator != nil && *s.ParDenominator < 1 { invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) } @@ -9149,459 +11516,633 @@ func (s *H264Settings) Validate() error { } // SetAdaptiveQuantization sets the AdaptiveQuantization field's value. -func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { +func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings { s.AdaptiveQuantization = &v return s } // SetAfdSignaling sets the AfdSignaling field's value. -func (s *H264Settings) SetAfdSignaling(v string) *H264Settings { +func (s *H265Settings) SetAfdSignaling(v string) *H265Settings { s.AfdSignaling = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *H264Settings) SetBitrate(v int64) *H264Settings { - s.Bitrate = &v +// SetAlternativeTransferFunction sets the AlternativeTransferFunction field's value. +func (s *H265Settings) SetAlternativeTransferFunction(v string) *H265Settings { + s.AlternativeTransferFunction = &v return s } -// SetBufFillPct sets the BufFillPct field's value. -func (s *H264Settings) SetBufFillPct(v int64) *H264Settings { - s.BufFillPct = &v +// SetBitrate sets the Bitrate field's value. +func (s *H265Settings) SetBitrate(v int64) *H265Settings { + s.Bitrate = &v return s } // SetBufSize sets the BufSize field's value. -func (s *H264Settings) SetBufSize(v int64) *H264Settings { +func (s *H265Settings) SetBufSize(v int64) *H265Settings { s.BufSize = &v return s } // SetColorMetadata sets the ColorMetadata field's value. -func (s *H264Settings) SetColorMetadata(v string) *H264Settings { +func (s *H265Settings) SetColorMetadata(v string) *H265Settings { s.ColorMetadata = &v return s } // SetColorSpaceSettings sets the ColorSpaceSettings field's value. -func (s *H264Settings) SetColorSpaceSettings(v *H264ColorSpaceSettings) *H264Settings { +func (s *H265Settings) SetColorSpaceSettings(v *H265ColorSpaceSettings) *H265Settings { s.ColorSpaceSettings = v return s } -// SetEntropyEncoding sets the EntropyEncoding field's value. -func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings { - s.EntropyEncoding = &v - return s -} - // SetFixedAfd sets the FixedAfd field's value. -func (s *H264Settings) SetFixedAfd(v string) *H264Settings { +func (s *H265Settings) SetFixedAfd(v string) *H265Settings { s.FixedAfd = &v return s } // SetFlickerAq sets the FlickerAq field's value. -func (s *H264Settings) SetFlickerAq(v string) *H264Settings { - s.FlickerAq = &v - return s -} - -// SetFramerateControl sets the FramerateControl field's value. -func (s *H264Settings) SetFramerateControl(v string) *H264Settings { - s.FramerateControl = &v +func (s *H265Settings) SetFlickerAq(v string) *H265Settings { + s.FlickerAq = &v return s } // SetFramerateDenominator sets the FramerateDenominator field's value. -func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings { +func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings { s.FramerateDenominator = &v return s } // SetFramerateNumerator sets the FramerateNumerator field's value. -func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings { +func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings { s.FramerateNumerator = &v return s } -// SetGopBReference sets the GopBReference field's value. -func (s *H264Settings) SetGopBReference(v string) *H264Settings { - s.GopBReference = &v - return s -} - // SetGopClosedCadence sets the GopClosedCadence field's value. -func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings { +func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings { s.GopClosedCadence = &v return s } -// SetGopNumBFrames sets the GopNumBFrames field's value. -func (s *H264Settings) SetGopNumBFrames(v int64) *H264Settings { - s.GopNumBFrames = &v - return s -} - // SetGopSize sets the GopSize field's value. -func (s *H264Settings) SetGopSize(v float64) *H264Settings { +func (s *H265Settings) SetGopSize(v float64) *H265Settings { s.GopSize = &v return s } // SetGopSizeUnits sets the GopSizeUnits field's value. -func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings { +func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings { s.GopSizeUnits = &v return s } // SetLevel sets the Level field's value. -func (s *H264Settings) SetLevel(v string) *H264Settings { +func (s *H265Settings) SetLevel(v string) *H265Settings { s.Level = &v return s } // SetLookAheadRateControl sets the LookAheadRateControl field's value. -func (s *H264Settings) SetLookAheadRateControl(v string) *H264Settings { +func (s *H265Settings) SetLookAheadRateControl(v string) *H265Settings { s.LookAheadRateControl = &v return s } // SetMaxBitrate sets the MaxBitrate field's value. -func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings { +func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings { s.MaxBitrate = &v return s } // SetMinIInterval sets the MinIInterval field's value. -func (s *H264Settings) SetMinIInterval(v int64) *H264Settings { +func (s *H265Settings) SetMinIInterval(v int64) *H265Settings { s.MinIInterval = &v return s } -// SetNumRefFrames sets the NumRefFrames field's value. -func (s *H264Settings) SetNumRefFrames(v int64) *H264Settings { - s.NumRefFrames = &v - return s -} - -// SetParControl sets the ParControl field's value. -func (s *H264Settings) SetParControl(v string) *H264Settings { - s.ParControl = &v - return s -} - // SetParDenominator sets the ParDenominator field's value. -func (s *H264Settings) SetParDenominator(v int64) *H264Settings { +func (s *H265Settings) SetParDenominator(v int64) *H265Settings { s.ParDenominator = &v return s } // SetParNumerator sets the ParNumerator field's value. -func (s *H264Settings) SetParNumerator(v int64) *H264Settings { +func (s *H265Settings) SetParNumerator(v int64) *H265Settings { s.ParNumerator = &v return s } // SetProfile sets the Profile field's value. -func (s *H264Settings) SetProfile(v string) *H264Settings { +func (s *H265Settings) SetProfile(v string) *H265Settings { s.Profile = &v return s } // SetQvbrQualityLevel sets the QvbrQualityLevel field's value. -func (s *H264Settings) SetQvbrQualityLevel(v int64) *H264Settings { +func (s *H265Settings) SetQvbrQualityLevel(v int64) *H265Settings { s.QvbrQualityLevel = &v return s } // SetRateControlMode sets the RateControlMode field's value. -func (s *H264Settings) SetRateControlMode(v string) *H264Settings { +func (s *H265Settings) SetRateControlMode(v string) *H265Settings { s.RateControlMode = &v return s } // SetScanType sets the ScanType field's value. -func (s *H264Settings) SetScanType(v string) *H264Settings { +func (s *H265Settings) SetScanType(v string) *H265Settings { s.ScanType = &v return s } // SetSceneChangeDetect sets the SceneChangeDetect field's value. -func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings { +func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings { s.SceneChangeDetect = &v return s } // SetSlices sets the Slices field's value. -func (s *H264Settings) SetSlices(v int64) *H264Settings { +func (s *H265Settings) SetSlices(v int64) *H265Settings { s.Slices = &v return s } -// SetSoftness sets the Softness field's value. -func (s *H264Settings) SetSoftness(v int64) *H264Settings { - s.Softness = &v +// SetTier sets the Tier field's value. +func (s *H265Settings) SetTier(v string) *H265Settings { + s.Tier = &v return s } -// SetSpatialAq sets the SpatialAq field's value. -func (s *H264Settings) SetSpatialAq(v string) *H264Settings { - s.SpatialAq = &v +// SetTimecodeInsertion sets the TimecodeInsertion field's value. +func (s *H265Settings) SetTimecodeInsertion(v string) *H265Settings { + s.TimecodeInsertion = &v return s } -// SetSubgopLength sets the SubgopLength field's value. -func (s *H264Settings) SetSubgopLength(v string) *H264Settings { - s.SubgopLength = &v +// Hdr10 Settings +type Hdr10Settings struct { + _ struct{} `type:"structure"` + + // Maximum Content Light LevelAn integer metadata value defining the maximum + // light level, in nits,of any single pixel within an encoded HDR video stream + // or file. + MaxCll *int64 `locationName:"maxCll" type:"integer"` + + // Maximum Frame Average Light LevelAn integer metadata value defining the maximum + // average light level, in nits,for any single frame within an encoded HDR video + // stream or file. + MaxFall *int64 `locationName:"maxFall" type:"integer"` +} + +// String returns the string representation +func (s Hdr10Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Hdr10Settings) GoString() string { + return s.String() +} + +// SetMaxCll sets the MaxCll field's value. +func (s *Hdr10Settings) SetMaxCll(v int64) *Hdr10Settings { + s.MaxCll = &v return s } -// SetSyntax sets the Syntax field's value. -func (s *H264Settings) SetSyntax(v string) *H264Settings { - s.Syntax = &v +// SetMaxFall sets the MaxFall field's value. +func (s *Hdr10Settings) SetMaxFall(v int64) *Hdr10Settings { + s.MaxFall = &v return s } -// SetTemporalAq sets the TemporalAq field's value. -func (s *H264Settings) SetTemporalAq(v string) *H264Settings { - s.TemporalAq = &v +// Hls Akamai Settings +type HlsAkamaiSettings struct { + _ struct{} `type:"structure"` + + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Specify whether or not to use chunked transfer encoding to Akamai. User should + // contact Akamai to enable this feature. + HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsAkamaiHttpTransferMode"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + + // Salt for authenticated Akamai. + Salt *string `locationName:"salt" type:"string"` + + // Token parameter for authenticated akamai. If not specified, _gda_ is used. + Token *string `locationName:"token" type:"string"` +} + +// String returns the string representation +func (s HlsAkamaiSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsAkamaiSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsAkamaiSettings) SetConnectionRetryInterval(v int64) *HlsAkamaiSettings { + s.ConnectionRetryInterval = &v return s } -// SetTimecodeInsertion sets the TimecodeInsertion field's value. -func (s *H264Settings) SetTimecodeInsertion(v string) *H264Settings { - s.TimecodeInsertion = &v +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsAkamaiSettings) SetFilecacheDuration(v int64) *HlsAkamaiSettings { + s.FilecacheDuration = &v return s } -// H265 Color Space Settings -type H265ColorSpaceSettings struct { +// SetHttpTransferMode sets the HttpTransferMode field's value. +func (s *HlsAkamaiSettings) SetHttpTransferMode(v string) *HlsAkamaiSettings { + s.HttpTransferMode = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsAkamaiSettings) SetNumRetries(v int64) *HlsAkamaiSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsAkamaiSettings) SetRestartDelay(v int64) *HlsAkamaiSettings { + s.RestartDelay = &v + return s +} + +// SetSalt sets the Salt field's value. +func (s *HlsAkamaiSettings) SetSalt(v string) *HlsAkamaiSettings { + s.Salt = &v + return s +} + +// SetToken sets the Token field's value. +func (s *HlsAkamaiSettings) SetToken(v string) *HlsAkamaiSettings { + s.Token = &v + return s +} + +// Hls Basic Put Settings +type HlsBasicPutSettings struct { _ struct{} `type:"structure"` - // Passthrough applies no color space conversion to the output - ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"` + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` - // Hdr10 Settings - Hdr10Settings *Hdr10Settings `locationName:"hdr10Settings" type:"structure"` + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} + +// String returns the string representation +func (s HlsBasicPutSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsBasicPutSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsBasicPutSettings) SetConnectionRetryInterval(v int64) *HlsBasicPutSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsBasicPutSettings) SetFilecacheDuration(v int64) *HlsBasicPutSettings { + s.FilecacheDuration = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsBasicPutSettings) SetNumRetries(v int64) *HlsBasicPutSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsBasicPutSettings) SetRestartDelay(v int64) *HlsBasicPutSettings { + s.RestartDelay = &v + return s +} + +// Hls Cdn Settings +type HlsCdnSettings struct { + _ struct{} `type:"structure"` + + // Hls Akamai Settings + HlsAkamaiSettings *HlsAkamaiSettings `locationName:"hlsAkamaiSettings" type:"structure"` + + // Hls Basic Put Settings + HlsBasicPutSettings *HlsBasicPutSettings `locationName:"hlsBasicPutSettings" type:"structure"` - // Rec601 Settings - Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"` + // Hls Media Store Settings + HlsMediaStoreSettings *HlsMediaStoreSettings `locationName:"hlsMediaStoreSettings" type:"structure"` - // Rec709 Settings - Rec709Settings *Rec709Settings `locationName:"rec709Settings" type:"structure"` + // Hls Webdav Settings + HlsWebdavSettings *HlsWebdavSettings `locationName:"hlsWebdavSettings" type:"structure"` } // String returns the string representation -func (s H265ColorSpaceSettings) String() string { +func (s HlsCdnSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H265ColorSpaceSettings) GoString() string { +func (s HlsCdnSettings) GoString() string { return s.String() } -// SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value. -func (s *H265ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H265ColorSpaceSettings { - s.ColorSpacePassthroughSettings = v +// SetHlsAkamaiSettings sets the HlsAkamaiSettings field's value. +func (s *HlsCdnSettings) SetHlsAkamaiSettings(v *HlsAkamaiSettings) *HlsCdnSettings { + s.HlsAkamaiSettings = v return s } -// SetHdr10Settings sets the Hdr10Settings field's value. -func (s *H265ColorSpaceSettings) SetHdr10Settings(v *Hdr10Settings) *H265ColorSpaceSettings { - s.Hdr10Settings = v +// SetHlsBasicPutSettings sets the HlsBasicPutSettings field's value. +func (s *HlsCdnSettings) SetHlsBasicPutSettings(v *HlsBasicPutSettings) *HlsCdnSettings { + s.HlsBasicPutSettings = v return s } -// SetRec601Settings sets the Rec601Settings field's value. -func (s *H265ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H265ColorSpaceSettings { - s.Rec601Settings = v +// SetHlsMediaStoreSettings sets the HlsMediaStoreSettings field's value. +func (s *HlsCdnSettings) SetHlsMediaStoreSettings(v *HlsMediaStoreSettings) *HlsCdnSettings { + s.HlsMediaStoreSettings = v return s } -// SetRec709Settings sets the Rec709Settings field's value. -func (s *H265ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H265ColorSpaceSettings { - s.Rec709Settings = v +// SetHlsWebdavSettings sets the HlsWebdavSettings field's value. +func (s *HlsCdnSettings) SetHlsWebdavSettings(v *HlsWebdavSettings) *HlsCdnSettings { + s.HlsWebdavSettings = v return s } -// H265 Settings -type H265Settings struct { +// Hls Group Settings +type HlsGroupSettings struct { _ struct{} `type:"structure"` - // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual - // quality. - AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"` - - // 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. - AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + // Choose one or more ad marker types to pass SCTE35 signals through to this + // group of Apple HLS outputs. + AdMarkers []*string `locationName:"adMarkers" type:"list"` - // Whether or not EML should insert an Alternative Transfer Function SEI message - // to support backwards compatibility with non-HDR decoders and displays. - AlternativeTransferFunction *string `locationName:"alternativeTransferFunction" type:"string" enum:"H265AlternativeTransferFunction"` + // 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. + BaseUrlContent *string `locationName:"baseUrlContent" type:"string"` - // Average bitrate in bits/second. Required when the rate control mode is VBR - // or CBR. Not used for QVBR. In an MS Smooth output group, each output must - // have a unique value when its bitrate is rounded down to the nearest multiple - // of 1000. - Bitrate *int64 `locationName:"bitrate" min:"100000" type:"integer"` + // A partial URI prefix that will be prepended to each output in the media .m3u8 + // file. Can be used if base manifest is delivered from a different URL than + // the main .m3u8 file. + BaseUrlManifest *string `locationName:"baseUrlManifest" type:"string"` - // Size of buffer (HRD buffer model) in bits. - BufSize *int64 `locationName:"bufSize" min:"100000" type:"integer"` + // Mapping of up to 4 caption channels to caption languages. Is only meaningful + // if captionLanguageSetting is set to "insert". + CaptionLanguageMappings []*CaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"` - // Includes colorspace metadata in the output. - ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H265ColorMetadata"` + // 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. + CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"` - // Color Space settings - ColorSpaceSettings *H265ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` + // 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. + ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"` - // Four bit AFD value to write on all frames of video in the output stream. - // Only valid when afdSignaling is set to 'Fixed'. - FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"` + // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist + // generation. + CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"` - // If set to enabled, adjust quantization within each frame to reduce flicker - // or 'pop' on I-frames. - FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H265FlickerAq"` + // 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. + ConstantIv *string `locationName:"constantIv" min:"32" type:"string"` - // Framerate denominator. + // A directory or HTTP destination for the HLS segments, manifest files, and + // encryption keys (if enabled). // - // FramerateDenominator is a required field - FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer" required:"true"` + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` - // Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 - // fps. - // - // FramerateNumerator is a required field - FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer" required:"true"` + // Place segments in subdirectories. + DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` - // 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. - GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` + // Encrypts the segments with the given encryption scheme. Exclude this parameter + // if no encryption is desired. + EncryptionType *string `locationName:"encryptionType" type:"string" enum:"HlsEncryptionType"` - // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - // Must be greater than zero. - GopSize *float64 `locationName:"gopSize" type:"double"` + // Parameters that control interactions with the CDN. + HlsCdnSettings *HlsCdnSettings `locationName:"hlsCdnSettings" type:"structure"` - // 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. - GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"` + // DISABLED: Do not create an I-frame-only manifest, but do create the master + // and media manifests (according to the Output Selection field).STANDARD: Create + // an I-frame-only manifest for each output that contains video, as well as + // the other manifests (according to the Output Selection field). The I-frame + // manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, + // and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. + // For example, #EXT-X-BYTERANGE:160364@1461888" + IFrameOnlyPlaylists *string `locationName:"iFrameOnlyPlaylists" type:"string" enum:"IFrameOnlyPlaylistType"` - // H.265 Level. - Level *string `locationName:"level" type:"string" enum:"H265Level"` + // Applies only if Mode field is LIVE. Specifies the maximum number of segments + // in the media manifest file. After this maximum, older segments are removed + // from the media manifest. This number must be less than or equal to the Keep + // Segments field. + IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"` - // Amount of lookahead. A value of low can decrease latency and memory usage, - // while high can produce better quality for certain content. - LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H265LookAheadRateControl"` + // Parameter that control output group behavior on input loss. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"` - // For QVBR: See the tooltip for Quality level - MaxBitrate *int64 `locationName:"maxBitrate" min:"100000" type:"integer"` + // 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. + IvInManifest *string `locationName:"ivInManifest" type:"string" enum:"HlsIvInManifest"` - // 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 - MinIInterval *int64 `locationName:"minIInterval" type:"integer"` + // 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. + IvSource *string `locationName:"ivSource" type:"string" enum:"HlsIvSource"` - // Pixel Aspect Ratio denominator. - ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + // Applies only if Mode field is LIVE. Specifies the number of media segments + // (.ts files) to retain in the destination directory. + KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"` - // Pixel Aspect Ratio numerator. - ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + // 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. + KeyFormat *string `locationName:"keyFormat" type:"string"` - // H.265 Profile. - Profile *string `locationName:"profile" type:"string" enum:"H265Profile"` + // Either a single positive integer version value or a slash delimited list + // of version values (1/2/3). + KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"` - // Controls the target quality for the video encode. Applies only when the rate - // control mode is QVBR. Set values for the QVBR quality level field and Max - // bitrate field that suit your most important viewing devices. Recommended - // values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC - // or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality - // level: 6. Max bitrate: 1M to 1.5M - QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"` + // The key provider settings. + KeyProviderSettings *KeyProviderSettings `locationName:"keyProviderSettings" type:"structure"` - // Rate control mode.QVBR: Quality will match the specified quality level except - // when it is constrained by themaximum bitrate. Recommended if you or your - // viewers pay for bandwidth.CBR: Quality varies, depending on the video complexity. - // Recommended only if you distributeyour assets to devices that cannot handle - // variable bitrates. - RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"` + // When set to gzip, compresses HLS playlist. + ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"` - // Sets the scan type of the output to progressive or top-field-first interlaced. - ScanType *string `locationName:"scanType" type:"string" enum:"H265ScanType"` + // Indicates whether the output manifest should use floating point or integer + // values for segment duration. + ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"` + + // 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. + MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"` + + // 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. + Mode *string `locationName:"mode" type:"string" enum:"HlsMode"` + + // MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable, + // and media manifests) for this output group.SEGMENTSONLY: Does not generate + // any manifests for this output group. + OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"` + + // 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. + ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"` + + // Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"` + + // ENABLED: The master manifest (.m3u8 file) for each pipeline includes information + // about both pipelines: first its own media files, then the media files of + // the other pipeline. This feature allows playout device that support stale + // manifest detection to switch from one manifest to the other, when the current + // manifest seems to be stale. There are still two destinations and two master + // manifests, but both master manifests reference the media files from both + // pipelines.DISABLED: The master manifest (.m3u8 file) for each pipeline includes + // information about its own pipeline only.For an HLS output group with MediaPackage + // as the destination, the DISABLED behavior is always followed. MediaPackage + // regenerates the manifests it serves to players so a redundant manifest from + // MediaLive is irrelevant. + RedundantManifest *string `locationName:"redundantManifest" type:"string" enum:"HlsRedundantManifest"` + + // 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. + SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` + + // useInputSegmentation has been deprecated. The configured segment size is + // always used. + SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"HlsSegmentationMode"` + + // Number of segments to write to a subdirectory before starting a new one. + // directoryStructure must be subdirectoryPerStream for this setting to have + // an effect. + SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"` - // Scene change detection. - SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"` + // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag + // of variant manifest. + StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"` - // 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. - Slices *int64 `locationName:"slices" min:"1" type:"integer"` + // Indicates ID3 frame that has the timecode. + TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"` - // H.265 Tier. - Tier *string `locationName:"tier" type:"string" enum:"H265Tier"` + // Timed Metadata interval in seconds. + TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"` - // 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 - TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H265TimecodeInsertionBehavior"` + // Provides an extra millisecond delta offset to fine tune the timestamps. + TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"` + + // SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE: + // Applies only if Mode field is VOD. Emit the program as a single .ts media + // file. The media manifest includes #EXT-X-BYTERANGE tags to index segments + // for playback. A typical use for this value is when sending the output to + // AWS Elemental MediaConvert, which can accept only a single media file. Playback + // while the channel is running is not guaranteed due to HTTP server caching. + TsFileMode *string `locationName:"tsFileMode" type:"string" enum:"HlsTsFileMode"` } // String returns the string representation -func (s H265Settings) String() string { +func (s HlsGroupSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H265Settings) GoString() string { +func (s HlsGroupSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *H265Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "H265Settings"} - if s.Bitrate != nil && *s.Bitrate < 100000 { - invalidParams.Add(request.NewErrParamMinValue("Bitrate", 100000)) - } - if s.BufSize != nil && *s.BufSize < 100000 { - invalidParams.Add(request.NewErrParamMinValue("BufSize", 100000)) - } - if s.FramerateDenominator == nil { - invalidParams.Add(request.NewErrParamRequired("FramerateDenominator")) - } - if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { - invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) +func (s *HlsGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"} + if s.ConstantIv != nil && len(*s.ConstantIv) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32)) } - if s.FramerateNumerator == nil { - invalidParams.Add(request.NewErrParamRequired("FramerateNumerator")) + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) } - if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { - invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + if s.IndexNSegments != nil && *s.IndexNSegments < 3 { + invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3)) } - if s.MaxBitrate != nil && *s.MaxBitrate < 100000 { - invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 100000)) + if s.KeepSegments != nil && *s.KeepSegments < 1 { + invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1)) } - if s.ParDenominator != nil && *s.ParDenominator < 1 { - invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + if s.SegmentLength != nil && *s.SegmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) } - if s.ParNumerator != nil && *s.ParNumerator < 1 { - invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1)) } - if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { - invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) + if s.CaptionLanguageMappings != nil { + for i, v := range s.CaptionLanguageMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams)) + } + } } - if s.Slices != nil && *s.Slices < 1 { - invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) + if s.KeyProviderSettings != nil { + if err := s.KeyProviderSettings.Validate(); err != nil { + invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -9610,213 +12151,288 @@ func (s *H265Settings) Validate() error { return nil } -// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. -func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings { - s.AdaptiveQuantization = &v +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings { + s.AdMarkers = v return s } -// SetAfdSignaling sets the AfdSignaling field's value. -func (s *H265Settings) SetAfdSignaling(v string) *H265Settings { - s.AfdSignaling = &v +// SetBaseUrlContent sets the BaseUrlContent field's value. +func (s *HlsGroupSettings) SetBaseUrlContent(v string) *HlsGroupSettings { + s.BaseUrlContent = &v return s } -// SetAlternativeTransferFunction sets the AlternativeTransferFunction field's value. -func (s *H265Settings) SetAlternativeTransferFunction(v string) *H265Settings { - s.AlternativeTransferFunction = &v +// SetBaseUrlManifest sets the BaseUrlManifest field's value. +func (s *HlsGroupSettings) SetBaseUrlManifest(v string) *HlsGroupSettings { + s.BaseUrlManifest = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *H265Settings) SetBitrate(v int64) *H265Settings { - s.Bitrate = &v +// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value. +func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*CaptionLanguageMapping) *HlsGroupSettings { + s.CaptionLanguageMappings = v return s } -// SetBufSize sets the BufSize field's value. -func (s *H265Settings) SetBufSize(v int64) *H265Settings { - s.BufSize = &v +// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value. +func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings { + s.CaptionLanguageSetting = &v return s } -// SetColorMetadata sets the ColorMetadata field's value. -func (s *H265Settings) SetColorMetadata(v string) *H265Settings { - s.ColorMetadata = &v +// SetClientCache sets the ClientCache field's value. +func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings { + s.ClientCache = &v return s } -// SetColorSpaceSettings sets the ColorSpaceSettings field's value. -func (s *H265Settings) SetColorSpaceSettings(v *H265ColorSpaceSettings) *H265Settings { - s.ColorSpaceSettings = v +// SetCodecSpecification sets the CodecSpecification field's value. +func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings { + s.CodecSpecification = &v return s } -// SetFixedAfd sets the FixedAfd field's value. -func (s *H265Settings) SetFixedAfd(v string) *H265Settings { - s.FixedAfd = &v +// SetConstantIv sets the ConstantIv field's value. +func (s *HlsGroupSettings) SetConstantIv(v string) *HlsGroupSettings { + s.ConstantIv = &v return s } -// SetFlickerAq sets the FlickerAq field's value. -func (s *H265Settings) SetFlickerAq(v string) *H265Settings { - s.FlickerAq = &v +// SetDestination sets the Destination field's value. +func (s *HlsGroupSettings) SetDestination(v *OutputLocationRef) *HlsGroupSettings { + s.Destination = v return s } -// SetFramerateDenominator sets the FramerateDenominator field's value. -func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings { - s.FramerateDenominator = &v +// SetDirectoryStructure sets the DirectoryStructure field's value. +func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings { + s.DirectoryStructure = &v return s } -// SetFramerateNumerator sets the FramerateNumerator field's value. -func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings { - s.FramerateNumerator = &v +// SetEncryptionType sets the EncryptionType field's value. +func (s *HlsGroupSettings) SetEncryptionType(v string) *HlsGroupSettings { + s.EncryptionType = &v return s } -// SetGopClosedCadence sets the GopClosedCadence field's value. -func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings { - s.GopClosedCadence = &v +// SetHlsCdnSettings sets the HlsCdnSettings field's value. +func (s *HlsGroupSettings) SetHlsCdnSettings(v *HlsCdnSettings) *HlsGroupSettings { + s.HlsCdnSettings = v return s } -// SetGopSize sets the GopSize field's value. -func (s *H265Settings) SetGopSize(v float64) *H265Settings { - s.GopSize = &v +// SetIFrameOnlyPlaylists sets the IFrameOnlyPlaylists field's value. +func (s *HlsGroupSettings) SetIFrameOnlyPlaylists(v string) *HlsGroupSettings { + s.IFrameOnlyPlaylists = &v return s } -// SetGopSizeUnits sets the GopSizeUnits field's value. -func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings { - s.GopSizeUnits = &v +// SetIndexNSegments sets the IndexNSegments field's value. +func (s *HlsGroupSettings) SetIndexNSegments(v int64) *HlsGroupSettings { + s.IndexNSegments = &v return s } -// SetLevel sets the Level field's value. -func (s *H265Settings) SetLevel(v string) *H265Settings { - s.Level = &v +// SetInputLossAction sets the InputLossAction field's value. +func (s *HlsGroupSettings) SetInputLossAction(v string) *HlsGroupSettings { + s.InputLossAction = &v return s } -// SetLookAheadRateControl sets the LookAheadRateControl field's value. -func (s *H265Settings) SetLookAheadRateControl(v string) *H265Settings { - s.LookAheadRateControl = &v +// SetIvInManifest sets the IvInManifest field's value. +func (s *HlsGroupSettings) SetIvInManifest(v string) *HlsGroupSettings { + s.IvInManifest = &v return s } -// SetMaxBitrate sets the MaxBitrate field's value. -func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings { - s.MaxBitrate = &v +// SetIvSource sets the IvSource field's value. +func (s *HlsGroupSettings) SetIvSource(v string) *HlsGroupSettings { + s.IvSource = &v return s } -// SetMinIInterval sets the MinIInterval field's value. -func (s *H265Settings) SetMinIInterval(v int64) *H265Settings { - s.MinIInterval = &v +// SetKeepSegments sets the KeepSegments field's value. +func (s *HlsGroupSettings) SetKeepSegments(v int64) *HlsGroupSettings { + s.KeepSegments = &v return s } -// SetParDenominator sets the ParDenominator field's value. -func (s *H265Settings) SetParDenominator(v int64) *H265Settings { - s.ParDenominator = &v +// SetKeyFormat sets the KeyFormat field's value. +func (s *HlsGroupSettings) SetKeyFormat(v string) *HlsGroupSettings { + s.KeyFormat = &v + return s +} + +// SetKeyFormatVersions sets the KeyFormatVersions field's value. +func (s *HlsGroupSettings) SetKeyFormatVersions(v string) *HlsGroupSettings { + s.KeyFormatVersions = &v + return s +} + +// SetKeyProviderSettings sets the KeyProviderSettings field's value. +func (s *HlsGroupSettings) SetKeyProviderSettings(v *KeyProviderSettings) *HlsGroupSettings { + s.KeyProviderSettings = v + return s +} + +// SetManifestCompression sets the ManifestCompression field's value. +func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings { + s.ManifestCompression = &v + return s +} + +// SetManifestDurationFormat sets the ManifestDurationFormat field's value. +func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings { + s.ManifestDurationFormat = &v + return s +} + +// SetMinSegmentLength sets the MinSegmentLength field's value. +func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings { + s.MinSegmentLength = &v + return s +} + +// SetMode sets the Mode field's value. +func (s *HlsGroupSettings) SetMode(v string) *HlsGroupSettings { + s.Mode = &v + return s +} + +// SetOutputSelection sets the OutputSelection field's value. +func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings { + s.OutputSelection = &v + return s +} + +// SetProgramDateTime sets the ProgramDateTime field's value. +func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings { + s.ProgramDateTime = &v + return s +} + +// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value. +func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings { + s.ProgramDateTimePeriod = &v return s } -// SetParNumerator sets the ParNumerator field's value. -func (s *H265Settings) SetParNumerator(v int64) *H265Settings { - s.ParNumerator = &v +// SetRedundantManifest sets the RedundantManifest field's value. +func (s *HlsGroupSettings) SetRedundantManifest(v string) *HlsGroupSettings { + s.RedundantManifest = &v return s } -// SetProfile sets the Profile field's value. -func (s *H265Settings) SetProfile(v string) *H265Settings { - s.Profile = &v +// SetSegmentLength sets the SegmentLength field's value. +func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings { + s.SegmentLength = &v return s } -// SetQvbrQualityLevel sets the QvbrQualityLevel field's value. -func (s *H265Settings) SetQvbrQualityLevel(v int64) *H265Settings { - s.QvbrQualityLevel = &v +// SetSegmentationMode sets the SegmentationMode field's value. +func (s *HlsGroupSettings) SetSegmentationMode(v string) *HlsGroupSettings { + s.SegmentationMode = &v return s } -// SetRateControlMode sets the RateControlMode field's value. -func (s *H265Settings) SetRateControlMode(v string) *H265Settings { - s.RateControlMode = &v +// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value. +func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings { + s.SegmentsPerSubdirectory = &v return s } -// SetScanType sets the ScanType field's value. -func (s *H265Settings) SetScanType(v string) *H265Settings { - s.ScanType = &v +// SetStreamInfResolution sets the StreamInfResolution field's value. +func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings { + s.StreamInfResolution = &v return s } -// SetSceneChangeDetect sets the SceneChangeDetect field's value. -func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings { - s.SceneChangeDetect = &v +// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings { + s.TimedMetadataId3Frame = &v return s } -// SetSlices sets the Slices field's value. -func (s *H265Settings) SetSlices(v int64) *H265Settings { - s.Slices = &v +// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings { + s.TimedMetadataId3Period = &v return s } -// SetTier sets the Tier field's value. -func (s *H265Settings) SetTier(v string) *H265Settings { - s.Tier = &v +// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value. +func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings { + s.TimestampDeltaMilliseconds = &v return s } -// SetTimecodeInsertion sets the TimecodeInsertion field's value. -func (s *H265Settings) SetTimecodeInsertion(v string) *H265Settings { - s.TimecodeInsertion = &v +// SetTsFileMode sets the TsFileMode field's value. +func (s *HlsGroupSettings) SetTsFileMode(v string) *HlsGroupSettings { + s.TsFileMode = &v return s } -// Hdr10 Settings -type Hdr10Settings struct { +// Hls Input Settings +type HlsInputSettings struct { _ struct{} `type:"structure"` - // Maximum Content Light LevelAn integer metadata value defining the maximum - // light level, in nits,of any single pixel within an encoded HDR video stream - // or file. - MaxCll *int64 `locationName:"maxCll" 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. + Bandwidth *int64 `locationName:"bandwidth" type:"integer"` - // Maximum Frame Average Light LevelAn integer metadata value defining the maximum - // average light level, in nits,for any single frame within an encoded HDR video - // stream or file. - MaxFall *int64 `locationName:"maxFall" type:"integer"` + // 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. + BufferSegments *int64 `locationName:"bufferSegments" type:"integer"` + + // The number of consecutive times that attempts to read a manifest or segment + // must fail before the input is considered unavailable. + Retries *int64 `locationName:"retries" type:"integer"` + + // The number of seconds between retries when an attempt to read a manifest + // or segment fails. + RetryInterval *int64 `locationName:"retryInterval" type:"integer"` } // String returns the string representation -func (s Hdr10Settings) String() string { +func (s HlsInputSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Hdr10Settings) GoString() string { +func (s HlsInputSettings) GoString() string { return s.String() } -// SetMaxCll sets the MaxCll field's value. -func (s *Hdr10Settings) SetMaxCll(v int64) *Hdr10Settings { - s.MaxCll = &v +// SetBandwidth sets the Bandwidth field's value. +func (s *HlsInputSettings) SetBandwidth(v int64) *HlsInputSettings { + s.Bandwidth = &v return s } -// SetMaxFall sets the MaxFall field's value. -func (s *Hdr10Settings) SetMaxFall(v int64) *Hdr10Settings { - s.MaxFall = &v +// SetBufferSegments sets the BufferSegments field's value. +func (s *HlsInputSettings) SetBufferSegments(v int64) *HlsInputSettings { + s.BufferSegments = &v return s } -// Hls Akamai Settings -type HlsAkamaiSettings struct { +// SetRetries sets the Retries field's value. +func (s *HlsInputSettings) SetRetries(v int64) *HlsInputSettings { + s.Retries = &v + return s +} + +// SetRetryInterval sets the RetryInterval field's value. +func (s *HlsInputSettings) SetRetryInterval(v int64) *HlsInputSettings { + s.RetryInterval = &v + return s +} + +// Hls Media Store Settings +type HlsMediaStoreSettings struct { _ struct{} `type:"structure"` // Number of seconds to wait before retrying connection to the CDN if the connection @@ -9826,9 +12442,9 @@ type HlsAkamaiSettings struct { // Size in seconds of file cache for streaming outputs. FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` - // Specify whether or not to use chunked transfer encoding to Akamai. User should - // contact Akamai to enable this feature. - HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsAkamaiHttpTransferMode"` + // When set to temporal, output files are stored in non-persistent memory for + // faster reading and writing. + MediaStoreStorageClass *string `locationName:"mediaStoreStorageClass" type:"string" enum:"HlsMediaStoreStorageClass"` // Number of retry attempts that will be made before the Live Event is put into // an error state. @@ -9837,68 +12453,209 @@ type HlsAkamaiSettings struct { // If a streaming output fails, number of seconds to wait until a restart is // initiated. A value of 0 means never restart. RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} - // Salt for authenticated Akamai. - Salt *string `locationName:"salt" type:"string"` +// String returns the string representation +func (s HlsMediaStoreSettings) String() string { + return awsutil.Prettify(s) +} - // Token parameter for authenticated akamai. If not specified, _gda_ is used. - Token *string `locationName:"token" type:"string"` +// GoString returns the string representation +func (s HlsMediaStoreSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsMediaStoreSettings) SetConnectionRetryInterval(v int64) *HlsMediaStoreSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsMediaStoreSettings) SetFilecacheDuration(v int64) *HlsMediaStoreSettings { + s.FilecacheDuration = &v + return s +} + +// SetMediaStoreStorageClass sets the MediaStoreStorageClass field's value. +func (s *HlsMediaStoreSettings) SetMediaStoreStorageClass(v string) *HlsMediaStoreSettings { + s.MediaStoreStorageClass = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsMediaStoreSettings) SetNumRetries(v int64) *HlsMediaStoreSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsMediaStoreSettings) SetRestartDelay(v int64) *HlsMediaStoreSettings { + s.RestartDelay = &v + return s +} + +// Hls Output Settings +type HlsOutputSettings struct { + _ struct{} `type:"structure"` + + // Settings regarding the underlying stream. These settings are different for + // audio-only outputs. + // + // HlsSettings is a required field + HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"` + + // String concatenated to the end of the destination filename. Accepts \"Format + // Identifiers\":#formatIdentifierParameters. + NameModifier *string `locationName:"nameModifier" min:"1" type:"string"` + + // String concatenated to end of segment filenames. + SegmentModifier *string `locationName:"segmentModifier" type:"string"` } // String returns the string representation -func (s HlsAkamaiSettings) String() string { +func (s HlsOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"} + if s.HlsSettings == nil { + invalidParams.Add(request.NewErrParamRequired("HlsSettings")) + } + if s.NameModifier != nil && len(*s.NameModifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1)) + } + if s.HlsSettings != nil { + if err := s.HlsSettings.Validate(); err != nil { + invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHlsSettings sets the HlsSettings field's value. +func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings { + s.HlsSettings = v + return s +} + +// SetNameModifier sets the NameModifier field's value. +func (s *HlsOutputSettings) SetNameModifier(v string) *HlsOutputSettings { + s.NameModifier = &v + return s +} + +// SetSegmentModifier sets the SegmentModifier field's value. +func (s *HlsOutputSettings) SetSegmentModifier(v string) *HlsOutputSettings { + s.SegmentModifier = &v + return s +} + +// Hls Settings +type HlsSettings struct { + _ struct{} `type:"structure"` + + // Audio Only Hls Settings + AudioOnlyHlsSettings *AudioOnlyHlsSettings `locationName:"audioOnlyHlsSettings" type:"structure"` + + // Standard Hls Settings + StandardHlsSettings *StandardHlsSettings `locationName:"standardHlsSettings" type:"structure"` +} + +// String returns the string representation +func (s HlsSettings) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s HlsAkamaiSettings) GoString() string { - return s.String() +// GoString returns the string representation +func (s HlsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsSettings"} + if s.AudioOnlyHlsSettings != nil { + if err := s.AudioOnlyHlsSettings.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams)) + } + } + if s.StandardHlsSettings != nil { + if err := s.StandardHlsSettings.Validate(); err != nil { + invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsAkamaiSettings) SetConnectionRetryInterval(v int64) *HlsAkamaiSettings { - s.ConnectionRetryInterval = &v +// SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value. +func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings { + s.AudioOnlyHlsSettings = v return s } -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsAkamaiSettings) SetFilecacheDuration(v int64) *HlsAkamaiSettings { - s.FilecacheDuration = &v +// SetStandardHlsSettings sets the StandardHlsSettings field's value. +func (s *HlsSettings) SetStandardHlsSettings(v *StandardHlsSettings) *HlsSettings { + s.StandardHlsSettings = v return s } -// SetHttpTransferMode sets the HttpTransferMode field's value. -func (s *HlsAkamaiSettings) SetHttpTransferMode(v string) *HlsAkamaiSettings { - s.HttpTransferMode = &v - return s +// Settings for the action to emit HLS metadata +type HlsTimedMetadataScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure + // + // Id3 is a required field + Id3 *string `locationName:"id3" type:"string" required:"true"` } -// SetNumRetries sets the NumRetries field's value. -func (s *HlsAkamaiSettings) SetNumRetries(v int64) *HlsAkamaiSettings { - s.NumRetries = &v - return s +// String returns the string representation +func (s HlsTimedMetadataScheduleActionSettings) String() string { + return awsutil.Prettify(s) } -// SetRestartDelay sets the RestartDelay field's value. -func (s *HlsAkamaiSettings) SetRestartDelay(v int64) *HlsAkamaiSettings { - s.RestartDelay = &v - return s +// GoString returns the string representation +func (s HlsTimedMetadataScheduleActionSettings) GoString() string { + return s.String() } -// SetSalt sets the Salt field's value. -func (s *HlsAkamaiSettings) SetSalt(v string) *HlsAkamaiSettings { - s.Salt = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsTimedMetadataScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsTimedMetadataScheduleActionSettings"} + if s.Id3 == nil { + invalidParams.Add(request.NewErrParamRequired("Id3")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetToken sets the Token field's value. -func (s *HlsAkamaiSettings) SetToken(v string) *HlsAkamaiSettings { - s.Token = &v +// SetId3 sets the Id3 field's value. +func (s *HlsTimedMetadataScheduleActionSettings) SetId3(v string) *HlsTimedMetadataScheduleActionSettings { + s.Id3 = &v return s } -// Hls Basic Put Settings -type HlsBasicPutSettings struct { +// Hls Webdav Settings +type HlsWebdavSettings struct { _ struct{} `type:"structure"` // Number of seconds to wait before retrying connection to the CDN if the connection @@ -9908,6 +12665,9 @@ type HlsBasicPutSettings struct { // Size in seconds of file cache for streaming outputs. FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + // Specify whether or not to use chunked transfer encoding to WebDAV. + HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsWebdavHttpTransferMode"` + // Number of retry attempts that will be made before the Live Event is put into // an error state. NumRetries *int64 `locationName:"numRetries" type:"integer"` @@ -9918,326 +12678,303 @@ type HlsBasicPutSettings struct { } // String returns the string representation -func (s HlsBasicPutSettings) String() string { +func (s HlsWebdavSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsBasicPutSettings) GoString() string { +func (s HlsWebdavSettings) GoString() string { return s.String() } // SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsBasicPutSettings) SetConnectionRetryInterval(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetConnectionRetryInterval(v int64) *HlsWebdavSettings { s.ConnectionRetryInterval = &v return s } // SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsBasicPutSettings) SetFilecacheDuration(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetFilecacheDuration(v int64) *HlsWebdavSettings { s.FilecacheDuration = &v return s } +// SetHttpTransferMode sets the HttpTransferMode field's value. +func (s *HlsWebdavSettings) SetHttpTransferMode(v string) *HlsWebdavSettings { + s.HttpTransferMode = &v + return s +} + // SetNumRetries sets the NumRetries field's value. -func (s *HlsBasicPutSettings) SetNumRetries(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetNumRetries(v int64) *HlsWebdavSettings { s.NumRetries = &v return s } // SetRestartDelay sets the RestartDelay field's value. -func (s *HlsBasicPutSettings) SetRestartDelay(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetRestartDelay(v int64) *HlsWebdavSettings { s.RestartDelay = &v return s } -// Hls Cdn Settings -type HlsCdnSettings struct { +// Settings to configure an action so that it occurs immediately. This is only +// supported for input switch actions currently. +type ImmediateModeScheduleActionStartSettings struct { _ struct{} `type:"structure"` - - // Hls Akamai Settings - HlsAkamaiSettings *HlsAkamaiSettings `locationName:"hlsAkamaiSettings" type:"structure"` - - // Hls Basic Put Settings - HlsBasicPutSettings *HlsBasicPutSettings `locationName:"hlsBasicPutSettings" type:"structure"` - - // Hls Media Store Settings - HlsMediaStoreSettings *HlsMediaStoreSettings `locationName:"hlsMediaStoreSettings" type:"structure"` - - // Hls Webdav Settings - HlsWebdavSettings *HlsWebdavSettings `locationName:"hlsWebdavSettings" type:"structure"` } // String returns the string representation -func (s HlsCdnSettings) String() string { +func (s ImmediateModeScheduleActionStartSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsCdnSettings) GoString() string { +func (s ImmediateModeScheduleActionStartSettings) GoString() string { return s.String() } -// SetHlsAkamaiSettings sets the HlsAkamaiSettings field's value. -func (s *HlsCdnSettings) SetHlsAkamaiSettings(v *HlsAkamaiSettings) *HlsCdnSettings { - s.HlsAkamaiSettings = v - return s -} +type Input struct { + _ struct{} `type:"structure"` -// SetHlsBasicPutSettings sets the HlsBasicPutSettings field's value. -func (s *HlsCdnSettings) SetHlsBasicPutSettings(v *HlsBasicPutSettings) *HlsCdnSettings { - s.HlsBasicPutSettings = v - return s -} + // The Unique ARN of the input (generated, immutable). + Arn *string `locationName:"arn" type:"string"` -// SetHlsMediaStoreSettings sets the HlsMediaStoreSettings field's value. -func (s *HlsCdnSettings) SetHlsMediaStoreSettings(v *HlsMediaStoreSettings) *HlsCdnSettings { - s.HlsMediaStoreSettings = v - return s -} + // A list of channel IDs that that input is attached to (currently an input + // can only be attached to one channel). + AttachedChannels []*string `locationName:"attachedChannels" type:"list"` -// SetHlsWebdavSettings sets the HlsWebdavSettings field's value. -func (s *HlsCdnSettings) SetHlsWebdavSettings(v *HlsWebdavSettings) *HlsCdnSettings { - s.HlsWebdavSettings = v - return s -} + // A list of the destinations of the input (PUSH-type). + Destinations []*InputDestination `locationName:"destinations" type:"list"` -// Hls Group Settings -type HlsGroupSettings struct { - _ struct{} `type:"structure"` + // The generated ID of the input (unique for user account, immutable). + Id *string `locationName:"id" type:"string"` - // Choose one or more ad marker types to pass SCTE35 signals through to this - // group of Apple HLS outputs. - AdMarkers []*string `locationName:"adMarkers" type:"list"` + // STANDARD - MediaLive expects two sources to be connected to this input. If + // the channel is also STANDARD, both sources will be ingested. If the channel + // is SINGLE_PIPELINE, only the first source will be ingested; the second source + // will always be ignored, even if the first source fails.SINGLE_PIPELINE - + // You can connect only one source to this input. If the ChannelClass is also + // SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this + // value is not valid because the channel requires two sources in the input. + InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` - // 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. - BaseUrlContent *string `locationName:"baseUrlContent" type:"string"` + // Certain pull input sources can be dynamic, meaning that they can have their + // URL's dynamically changesduring input switch actions. Presently, this functionality + // only works with MP4_FILE inputs. + InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` - // A partial URI prefix that will be prepended to each output in the media .m3u8 - // file. Can be used if base manifest is delivered from a different URL than - // the main .m3u8 file. - BaseUrlManifest *string `locationName:"baseUrlManifest" type:"string"` + // A list of MediaConnect Flows for this input. + MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` - // Mapping of up to 4 caption channels to caption languages. Is only meaningful - // if captionLanguageSetting is set to "insert". - CaptionLanguageMappings []*CaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"` + // The user-assigned name (This is a mutable value). + Name *string `locationName:"name" type:"string"` - // 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. - CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"` + // The Amazon Resource Name (ARN) of the role this input assumes during and + // after creation. + RoleArn *string `locationName:"roleArn" type:"string"` - // 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. - ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"` + // A list of IDs for all the Input Security Groups attached to the input. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` - // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist - // generation. - CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"` + // A list of the sources of the input (PULL-type). + Sources []*InputSource `locationName:"sources" type:"list"` - // 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. - ConstantIv *string `locationName:"constantIv" min:"32" type:"string"` + State *string `locationName:"state" type:"string" enum:"InputState"` - // A directory or HTTP destination for the HLS segments, manifest files, and - // encryption keys (if enabled). - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` - // Place segments in subdirectories. - DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` + Type *string `locationName:"type" type:"string" enum:"InputType"` +} - // Encrypts the segments with the given encryption scheme. Exclude this parameter - // if no encryption is desired. - EncryptionType *string `locationName:"encryptionType" type:"string" enum:"HlsEncryptionType"` +// String returns the string representation +func (s Input) String() string { + return awsutil.Prettify(s) +} - // Parameters that control interactions with the CDN. - HlsCdnSettings *HlsCdnSettings `locationName:"hlsCdnSettings" type:"structure"` +// GoString returns the string representation +func (s Input) GoString() string { + return s.String() +} - // DISABLED: Do not create an I-frame-only manifest, but do create the master - // and media manifests (according to the Output Selection field).STANDARD: Create - // an I-frame-only manifest for each output that contains video, as well as - // the other manifests (according to the Output Selection field). The I-frame - // manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, - // and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. - // For example, #EXT-X-BYTERANGE:160364@1461888" - IFrameOnlyPlaylists *string `locationName:"iFrameOnlyPlaylists" type:"string" enum:"IFrameOnlyPlaylistType"` +// SetArn sets the Arn field's value. +func (s *Input) SetArn(v string) *Input { + s.Arn = &v + return s +} + +// SetAttachedChannels sets the AttachedChannels field's value. +func (s *Input) SetAttachedChannels(v []*string) *Input { + s.AttachedChannels = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *Input) SetDestinations(v []*InputDestination) *Input { + s.Destinations = v + return s +} - // Applies only if Mode field is LIVE. Specifies the maximum number of segments - // in the media manifest file. After this maximum, older segments are removed - // from the media manifest. This number must be less than or equal to the Keep - // Segments field. - IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"` +// SetId sets the Id field's value. +func (s *Input) SetId(v string) *Input { + s.Id = &v + return s +} - // Parameter that control output group behavior on input loss. - InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"` +// SetInputClass sets the InputClass field's value. +func (s *Input) SetInputClass(v string) *Input { + s.InputClass = &v + return s +} - // 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. - IvInManifest *string `locationName:"ivInManifest" type:"string" enum:"HlsIvInManifest"` +// SetInputSourceType sets the InputSourceType field's value. +func (s *Input) SetInputSourceType(v string) *Input { + s.InputSourceType = &v + return s +} - // 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. - IvSource *string `locationName:"ivSource" type:"string" enum:"HlsIvSource"` +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *Input) SetMediaConnectFlows(v []*MediaConnectFlow) *Input { + s.MediaConnectFlows = v + return s +} - // Applies only if Mode field is LIVE. Specifies the number of media segments - // (.ts files) to retain in the destination directory. - KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"` +// SetName sets the Name field's value. +func (s *Input) SetName(v string) *Input { + s.Name = &v + return s +} - // 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. - KeyFormat *string `locationName:"keyFormat" type:"string"` +// SetRoleArn sets the RoleArn field's value. +func (s *Input) SetRoleArn(v string) *Input { + s.RoleArn = &v + return s +} - // Either a single positive integer version value or a slash delimited list - // of version values (1/2/3). - KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"` +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *Input) SetSecurityGroups(v []*string) *Input { + s.SecurityGroups = v + return s +} - // The key provider settings. - KeyProviderSettings *KeyProviderSettings `locationName:"keyProviderSettings" type:"structure"` +// SetSources sets the Sources field's value. +func (s *Input) SetSources(v []*InputSource) *Input { + s.Sources = v + return s +} - // When set to gzip, compresses HLS playlist. - ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"` +// SetState sets the State field's value. +func (s *Input) SetState(v string) *Input { + s.State = &v + return s +} - // Indicates whether the output manifest should use floating point or integer - // values for segment duration. - ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"` +// SetTags sets the Tags field's value. +func (s *Input) SetTags(v map[string]*string) *Input { + s.Tags = v + return s +} - // 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. - MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"` +// SetType sets the Type field's value. +func (s *Input) SetType(v string) *Input { + s.Type = &v + return s +} - // 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. - Mode *string `locationName:"mode" type:"string" enum:"HlsMode"` +type InputAttachment struct { + _ struct{} `type:"structure"` - // MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable, - // and media manifests) for this output group.SEGMENTSONLY: Does not generate - // any manifests for this output group. - OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"` + // User-specified name for the attachment. This is required if the user wants + // to use this input in an input switch action. + InputAttachmentName *string `locationName:"inputAttachmentName" type:"string"` - // 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. - ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"` + // The ID of the input + InputId *string `locationName:"inputId" type:"string"` - // Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. - ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"` + // Settings of an input (caption selector, etc.) + InputSettings *InputSettings `locationName:"inputSettings" type:"structure"` +} - // ENABLED: The master manifest (.m3u8 file) for each pipeline includes information - // about both pipelines: first its own media files, then the media files of - // the other pipeline. This feature allows playout device that support stale - // manifest detection to switch from one manifest to the other, when the current - // manifest seems to be stale. There are still two destinations and two master - // manifests, but both master manifests reference the media files from both - // pipelines.DISABLED: The master manifest (.m3u8 file) for each pipeline includes - // information about its own pipeline only.For an HLS output group with MediaPackage - // as the destination, the DISABLED behavior is always followed. MediaPackage - // regenerates the manifests it serves to players so a redundant manifest from - // MediaLive is irrelevant. - RedundantManifest *string `locationName:"redundantManifest" type:"string" enum:"HlsRedundantManifest"` +// String returns the string representation +func (s InputAttachment) String() string { + return awsutil.Prettify(s) +} - // 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. - SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` +// GoString returns the string representation +func (s InputAttachment) GoString() string { + return s.String() +} - // useInputSegmentation has been deprecated. The configured segment size is - // always used. - SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"HlsSegmentationMode"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputAttachment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputAttachment"} + if s.InputSettings != nil { + if err := s.InputSettings.Validate(); err != nil { + invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams)) + } + } - // Number of segments to write to a subdirectory before starting a new one. - // directoryStructure must be subdirectoryPerStream for this setting to have - // an effect. - SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag - // of variant manifest. - StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"` +// SetInputAttachmentName sets the InputAttachmentName field's value. +func (s *InputAttachment) SetInputAttachmentName(v string) *InputAttachment { + s.InputAttachmentName = &v + return s +} - // Indicates ID3 frame that has the timecode. - TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"` +// SetInputId sets the InputId field's value. +func (s *InputAttachment) SetInputId(v string) *InputAttachment { + s.InputId = &v + return s +} - // Timed Metadata interval in seconds. - TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"` +// SetInputSettings sets the InputSettings field's value. +func (s *InputAttachment) SetInputSettings(v *InputSettings) *InputAttachment { + s.InputSettings = v + return s +} - // Provides an extra millisecond delta offset to fine tune the timestamps. - TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"` +// Input Channel Level +type InputChannelLevel struct { + _ struct{} `type:"structure"` - // SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE: - // Applies only if Mode field is VOD. Emit the program as a single .ts media - // file. The media manifest includes #EXT-X-BYTERANGE tags to index segments - // for playback. A typical use for this value is when sending the output to - // AWS Elemental MediaConvert, which can accept only a single media file. Playback - // while the channel is running is not guaranteed due to HTTP server caching. - TsFileMode *string `locationName:"tsFileMode" type:"string" enum:"HlsTsFileMode"` + // Remixing value. Units are in dB and acceptable values are within the range + // from -60 (mute) and 6 dB. + // + // Gain is a required field + Gain *int64 `locationName:"gain" type:"integer" required:"true"` + + // The index of the input channel used as a source. + // + // InputChannel is a required field + InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"` } // String returns the string representation -func (s HlsGroupSettings) String() string { +func (s InputChannelLevel) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsGroupSettings) GoString() string { +func (s InputChannelLevel) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HlsGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"} - if s.ConstantIv != nil && len(*s.ConstantIv) < 32 { - invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32)) - } - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) - } - if s.IndexNSegments != nil && *s.IndexNSegments < 3 { - invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3)) - } - if s.KeepSegments != nil && *s.KeepSegments < 1 { - invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1)) - } - if s.SegmentLength != nil && *s.SegmentLength < 1 { - invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) - } - if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 { - invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1)) +func (s *InputChannelLevel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"} + if s.Gain == nil { + invalidParams.Add(request.NewErrParamRequired("Gain")) } - if s.CaptionLanguageMappings != nil { - for i, v := range s.CaptionLanguageMappings { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams)) - } - } + if s.Gain != nil && *s.Gain < -60 { + invalidParams.Add(request.NewErrParamMinValue("Gain", -60)) } - if s.KeyProviderSettings != nil { - if err := s.KeyProviderSettings.Validate(); err != nil { - invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams)) - } + if s.InputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannel")) } if invalidParams.Len() > 0 { @@ -10246,449 +12983,473 @@ func (s *HlsGroupSettings) Validate() error { return nil } -// SetAdMarkers sets the AdMarkers field's value. -func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings { - s.AdMarkers = v - return s -} - -// SetBaseUrlContent sets the BaseUrlContent field's value. -func (s *HlsGroupSettings) SetBaseUrlContent(v string) *HlsGroupSettings { - s.BaseUrlContent = &v +// SetGain sets the Gain field's value. +func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel { + s.Gain = &v return s } -// SetBaseUrlManifest sets the BaseUrlManifest field's value. -func (s *HlsGroupSettings) SetBaseUrlManifest(v string) *HlsGroupSettings { - s.BaseUrlManifest = &v +// SetInputChannel sets the InputChannel field's value. +func (s *InputChannelLevel) SetInputChannel(v int64) *InputChannelLevel { + s.InputChannel = &v return s } -// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value. -func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*CaptionLanguageMapping) *HlsGroupSettings { - s.CaptionLanguageMappings = v - return s -} +// Settings to let you create a clip of the file input, in order to set up the +// input to ingest only a portion of the file. +type InputClippingSettings struct { + _ struct{} `type:"structure"` -// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value. -func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings { - s.CaptionLanguageSetting = &v - return s -} + // The source of the timecodes in the source being clipped. + // + // InputTimecodeSource is a required field + InputTimecodeSource *string `locationName:"inputTimecodeSource" type:"string" required:"true" enum:"InputTimecodeSource"` -// SetClientCache sets the ClientCache field's value. -func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings { - s.ClientCache = &v - return s -} + // Settings to identify the start of the clip. + StartTimecode *StartTimecode `locationName:"startTimecode" type:"structure"` -// SetCodecSpecification sets the CodecSpecification field's value. -func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings { - s.CodecSpecification = &v - return s + // Settings to identify the end of the clip. + StopTimecode *StopTimecode `locationName:"stopTimecode" type:"structure"` } -// SetConstantIv sets the ConstantIv field's value. -func (s *HlsGroupSettings) SetConstantIv(v string) *HlsGroupSettings { - s.ConstantIv = &v - return s +// String returns the string representation +func (s InputClippingSettings) String() string { + return awsutil.Prettify(s) } -// SetDestination sets the Destination field's value. -func (s *HlsGroupSettings) SetDestination(v *OutputLocationRef) *HlsGroupSettings { - s.Destination = v - return s +// GoString returns the string representation +func (s InputClippingSettings) GoString() string { + return s.String() } -// SetDirectoryStructure sets the DirectoryStructure field's value. -func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings { - s.DirectoryStructure = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputClippingSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputClippingSettings"} + if s.InputTimecodeSource == nil { + invalidParams.Add(request.NewErrParamRequired("InputTimecodeSource")) + } -// SetEncryptionType sets the EncryptionType field's value. -func (s *HlsGroupSettings) SetEncryptionType(v string) *HlsGroupSettings { - s.EncryptionType = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetHlsCdnSettings sets the HlsCdnSettings field's value. -func (s *HlsGroupSettings) SetHlsCdnSettings(v *HlsCdnSettings) *HlsGroupSettings { - s.HlsCdnSettings = v +// SetInputTimecodeSource sets the InputTimecodeSource field's value. +func (s *InputClippingSettings) SetInputTimecodeSource(v string) *InputClippingSettings { + s.InputTimecodeSource = &v return s } -// SetIFrameOnlyPlaylists sets the IFrameOnlyPlaylists field's value. -func (s *HlsGroupSettings) SetIFrameOnlyPlaylists(v string) *HlsGroupSettings { - s.IFrameOnlyPlaylists = &v +// SetStartTimecode sets the StartTimecode field's value. +func (s *InputClippingSettings) SetStartTimecode(v *StartTimecode) *InputClippingSettings { + s.StartTimecode = v return s } -// SetIndexNSegments sets the IndexNSegments field's value. -func (s *HlsGroupSettings) SetIndexNSegments(v int64) *HlsGroupSettings { - s.IndexNSegments = &v +// SetStopTimecode sets the StopTimecode field's value. +func (s *InputClippingSettings) SetStopTimecode(v *StopTimecode) *InputClippingSettings { + s.StopTimecode = v return s } -// SetInputLossAction sets the InputLossAction field's value. -func (s *HlsGroupSettings) SetInputLossAction(v string) *HlsGroupSettings { - s.InputLossAction = &v - return s -} +// The settings for a PUSH type input. +type InputDestination struct { + _ struct{} `type:"structure"` -// SetIvInManifest sets the IvInManifest field's value. -func (s *HlsGroupSettings) SetIvInManifest(v string) *HlsGroupSettings { - s.IvInManifest = &v - return s -} + // The system-generated static IP address of endpoint.It remains fixed for the + // lifetime of the input. + Ip *string `locationName:"ip" type:"string"` -// SetIvSource sets the IvSource field's value. -func (s *HlsGroupSettings) SetIvSource(v string) *HlsGroupSettings { - s.IvSource = &v - return s -} + // The port number for the input. + Port *string `locationName:"port" type:"string"` -// SetKeepSegments sets the KeepSegments field's value. -func (s *HlsGroupSettings) SetKeepSegments(v int64) *HlsGroupSettings { - s.KeepSegments = &v - return s -} + // This represents the endpoint that the customer stream will bepushed to. + Url *string `locationName:"url" type:"string"` -// SetKeyFormat sets the KeyFormat field's value. -func (s *HlsGroupSettings) SetKeyFormat(v string) *HlsGroupSettings { - s.KeyFormat = &v - return s + // The properties for a VPC type input destination. + Vpc *InputDestinationVpc `locationName:"vpc" type:"structure"` } -// SetKeyFormatVersions sets the KeyFormatVersions field's value. -func (s *HlsGroupSettings) SetKeyFormatVersions(v string) *HlsGroupSettings { - s.KeyFormatVersions = &v - return s +// String returns the string representation +func (s InputDestination) String() string { + return awsutil.Prettify(s) } -// SetKeyProviderSettings sets the KeyProviderSettings field's value. -func (s *HlsGroupSettings) SetKeyProviderSettings(v *KeyProviderSettings) *HlsGroupSettings { - s.KeyProviderSettings = v - return s +// GoString returns the string representation +func (s InputDestination) GoString() string { + return s.String() } -// SetManifestCompression sets the ManifestCompression field's value. -func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings { - s.ManifestCompression = &v +// SetIp sets the Ip field's value. +func (s *InputDestination) SetIp(v string) *InputDestination { + s.Ip = &v return s } -// SetManifestDurationFormat sets the ManifestDurationFormat field's value. -func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings { - s.ManifestDurationFormat = &v +// SetPort sets the Port field's value. +func (s *InputDestination) SetPort(v string) *InputDestination { + s.Port = &v return s } -// SetMinSegmentLength sets the MinSegmentLength field's value. -func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings { - s.MinSegmentLength = &v +// SetUrl sets the Url field's value. +func (s *InputDestination) SetUrl(v string) *InputDestination { + s.Url = &v return s } -// SetMode sets the Mode field's value. -func (s *HlsGroupSettings) SetMode(v string) *HlsGroupSettings { - s.Mode = &v +// SetVpc sets the Vpc field's value. +func (s *InputDestination) SetVpc(v *InputDestinationVpc) *InputDestination { + s.Vpc = v return s } -// SetOutputSelection sets the OutputSelection field's value. -func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings { - s.OutputSelection = &v - return s -} +// Endpoint settings for a PUSH type input. +type InputDestinationRequest struct { + _ struct{} `type:"structure"` -// SetProgramDateTime sets the ProgramDateTime field's value. -func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings { - s.ProgramDateTime = &v - return s + // A unique name for the location the RTMP stream is being pushedto. + StreamName *string `locationName:"streamName" type:"string"` } -// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value. -func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings { - s.ProgramDateTimePeriod = &v - return s +// String returns the string representation +func (s InputDestinationRequest) String() string { + return awsutil.Prettify(s) } -// SetRedundantManifest sets the RedundantManifest field's value. -func (s *HlsGroupSettings) SetRedundantManifest(v string) *HlsGroupSettings { - s.RedundantManifest = &v - return s +// GoString returns the string representation +func (s InputDestinationRequest) GoString() string { + return s.String() } -// SetSegmentLength sets the SegmentLength field's value. -func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings { - s.SegmentLength = &v +// SetStreamName sets the StreamName field's value. +func (s *InputDestinationRequest) SetStreamName(v string) *InputDestinationRequest { + s.StreamName = &v return s } -// SetSegmentationMode sets the SegmentationMode field's value. -func (s *HlsGroupSettings) SetSegmentationMode(v string) *HlsGroupSettings { - s.SegmentationMode = &v - return s -} +// The properties for a VPC type input destination. +type InputDestinationVpc struct { + _ struct{} `type:"structure"` -// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value. -func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings { - s.SegmentsPerSubdirectory = &v - return s -} + // The availability zone of the Input destination. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` -// SetStreamInfResolution sets the StreamInfResolution field's value. -func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings { - s.StreamInfResolution = &v - return s + // The network interface ID of the Input destination in the VPC. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` } -// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value. -func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings { - s.TimedMetadataId3Frame = &v - return s +// String returns the string representation +func (s InputDestinationVpc) String() string { + return awsutil.Prettify(s) } -// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value. -func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings { - s.TimedMetadataId3Period = &v - return s +// GoString returns the string representation +func (s InputDestinationVpc) GoString() string { + return s.String() } -// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value. -func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings { - s.TimestampDeltaMilliseconds = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *InputDestinationVpc) SetAvailabilityZone(v string) *InputDestinationVpc { + s.AvailabilityZone = &v return s } -// SetTsFileMode sets the TsFileMode field's value. -func (s *HlsGroupSettings) SetTsFileMode(v string) *HlsGroupSettings { - s.TsFileMode = &v +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationVpc { + s.NetworkInterfaceId = &v return s } -// Hls Input Settings -type HlsInputSettings struct { +// Input Location +type InputLocation struct { _ struct{} `type:"structure"` - // 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. - Bandwidth *int64 `locationName:"bandwidth" type:"integer"` - - // 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. - BufferSegments *int64 `locationName:"bufferSegments" type:"integer"` + // key used to extract the password from EC2 Parameter store + PasswordParam *string `locationName:"passwordParam" type:"string"` - // The number of consecutive times that attempts to read a manifest or segment - // must fail before the input is considered unavailable. - Retries *int64 `locationName:"retries" type:"integer"` + // 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". + // + // Uri is a required field + Uri *string `locationName:"uri" type:"string" required:"true"` - // The number of seconds between retries when an attempt to read a manifest - // or segment fails. - RetryInterval *int64 `locationName:"retryInterval" type:"integer"` + // 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://" + Username *string `locationName:"username" type:"string"` } // String returns the string representation -func (s HlsInputSettings) String() string { +func (s InputLocation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsInputSettings) GoString() string { +func (s InputLocation) GoString() string { return s.String() } -// SetBandwidth sets the Bandwidth field's value. -func (s *HlsInputSettings) SetBandwidth(v int64) *HlsInputSettings { - s.Bandwidth = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLocation"} + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBufferSegments sets the BufferSegments field's value. -func (s *HlsInputSettings) SetBufferSegments(v int64) *HlsInputSettings { - s.BufferSegments = &v +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputLocation) SetPasswordParam(v string) *InputLocation { + s.PasswordParam = &v return s } -// SetRetries sets the Retries field's value. -func (s *HlsInputSettings) SetRetries(v int64) *HlsInputSettings { - s.Retries = &v +// SetUri sets the Uri field's value. +func (s *InputLocation) SetUri(v string) *InputLocation { + s.Uri = &v return s } -// SetRetryInterval sets the RetryInterval field's value. -func (s *HlsInputSettings) SetRetryInterval(v int64) *HlsInputSettings { - s.RetryInterval = &v +// SetUsername sets the Username field's value. +func (s *InputLocation) SetUsername(v string) *InputLocation { + s.Username = &v return s } -// Hls Media Store Settings -type HlsMediaStoreSettings struct { +// Input Loss Behavior +type InputLossBehavior struct { _ struct{} `type:"structure"` - // Number of seconds to wait before retrying connection to the CDN if the connection - // is lost. - ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + // 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. + BlackFrameMsec *int64 `locationName:"blackFrameMsec" type:"integer"` - // Size in seconds of file cache for streaming outputs. - FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + // When input loss image type is "color" this field specifies the color to use. + // Value: 6 hex characters representing the values of RGB. + InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"` - // When set to temporal, output files are stored in non-persistent memory for - // faster reading and writing. - MediaStoreStorageClass *string `locationName:"mediaStoreStorageClass" type:"string" enum:"HlsMediaStoreStorageClass"` + // When input loss image type is "slate" these fields specify the parameters + // for accessing the slate. + InputLossImageSlate *InputLocation `locationName:"inputLossImageSlate" type:"structure"` - // Number of retry attempts that will be made before the Live Event is put into - // an error state. - NumRetries *int64 `locationName:"numRetries" type:"integer"` + // Indicates whether to substitute a solid color or a slate into the output + // after input loss exceeds blackFrameMsec. + InputLossImageType *string `locationName:"inputLossImageType" type:"string" enum:"InputLossImageType"` - // If a streaming output fails, number of seconds to wait until a restart is - // initiated. A value of 0 means never restart. - RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + // 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. + RepeatFrameMsec *int64 `locationName:"repeatFrameMsec" type:"integer"` } // String returns the string representation -func (s HlsMediaStoreSettings) String() string { +func (s InputLossBehavior) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsMediaStoreSettings) GoString() string { +func (s InputLossBehavior) GoString() string { return s.String() } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsMediaStoreSettings) SetConnectionRetryInterval(v int64) *HlsMediaStoreSettings { - s.ConnectionRetryInterval = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLossBehavior) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"} + if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 { + invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6)) + } + if s.InputLossImageSlate != nil { + if err := s.InputLossImageSlate.Validate(); err != nil { + invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlackFrameMsec sets the BlackFrameMsec field's value. +func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior { + s.BlackFrameMsec = &v return s } -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsMediaStoreSettings) SetFilecacheDuration(v int64) *HlsMediaStoreSettings { - s.FilecacheDuration = &v +// SetInputLossImageColor sets the InputLossImageColor field's value. +func (s *InputLossBehavior) SetInputLossImageColor(v string) *InputLossBehavior { + s.InputLossImageColor = &v return s } -// SetMediaStoreStorageClass sets the MediaStoreStorageClass field's value. -func (s *HlsMediaStoreSettings) SetMediaStoreStorageClass(v string) *HlsMediaStoreSettings { - s.MediaStoreStorageClass = &v +// SetInputLossImageSlate sets the InputLossImageSlate field's value. +func (s *InputLossBehavior) SetInputLossImageSlate(v *InputLocation) *InputLossBehavior { + s.InputLossImageSlate = v return s } -// SetNumRetries sets the NumRetries field's value. -func (s *HlsMediaStoreSettings) SetNumRetries(v int64) *HlsMediaStoreSettings { - s.NumRetries = &v +// SetInputLossImageType sets the InputLossImageType field's value. +func (s *InputLossBehavior) SetInputLossImageType(v string) *InputLossBehavior { + s.InputLossImageType = &v return s } -// SetRestartDelay sets the RestartDelay field's value. -func (s *HlsMediaStoreSettings) SetRestartDelay(v int64) *HlsMediaStoreSettings { - s.RestartDelay = &v +// SetRepeatFrameMsec sets the RepeatFrameMsec field's value. +func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior { + s.RepeatFrameMsec = &v return s } -// Hls Output Settings -type HlsOutputSettings struct { +// An Input Security Group +type InputSecurityGroup struct { _ struct{} `type:"structure"` - // Settings regarding the underlying stream. These settings are different for - // audio-only outputs. - // - // HlsSettings is a required field - HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"` + // Unique ARN of Input Security Group + Arn *string `locationName:"arn" type:"string"` - // String concatenated to the end of the destination filename. Accepts \"Format - // Identifiers\":#formatIdentifierParameters. - NameModifier *string `locationName:"nameModifier" min:"1" type:"string"` + // The Id of the Input Security Group + Id *string `locationName:"id" type:"string"` - // String concatenated to end of segment filenames. - SegmentModifier *string `locationName:"segmentModifier" type:"string"` + // The list of inputs currently using this Input Security Group. + Inputs []*string `locationName:"inputs" type:"list"` + + // The current state of the Input Security Group. + State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Whitelist rules and their sync status + WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` } // String returns the string representation -func (s HlsOutputSettings) String() string { +func (s InputSecurityGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsOutputSettings) GoString() string { +func (s InputSecurityGroup) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HlsOutputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"} - if s.HlsSettings == nil { - invalidParams.Add(request.NewErrParamRequired("HlsSettings")) - } - if s.NameModifier != nil && len(*s.NameModifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1)) - } - if s.HlsSettings != nil { - if err := s.HlsSettings.Validate(); err != nil { - invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *InputSecurityGroup) SetArn(v string) *InputSecurityGroup { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *InputSecurityGroup) SetId(v string) *InputSecurityGroup { + s.Id = &v + return s } -// SetHlsSettings sets the HlsSettings field's value. -func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings { - s.HlsSettings = v +// SetInputs sets the Inputs field's value. +func (s *InputSecurityGroup) SetInputs(v []*string) *InputSecurityGroup { + s.Inputs = v return s } -// SetNameModifier sets the NameModifier field's value. -func (s *HlsOutputSettings) SetNameModifier(v string) *HlsOutputSettings { - s.NameModifier = &v - return s -} +// SetState sets the State field's value. +func (s *InputSecurityGroup) SetState(v string) *InputSecurityGroup { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *InputSecurityGroup) SetTags(v map[string]*string) *InputSecurityGroup { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *InputSecurityGroup) SetWhitelistRules(v []*InputWhitelistRule) *InputSecurityGroup { + s.WhitelistRules = v + return s +} + +// Live Event input parameters. There can be multiple inputs in a single Live +// Event. +type InputSettings struct { + _ struct{} `type:"structure"` + + // Used to select the audio stream to decode for inputs that have multiple available. + AudioSelectors []*AudioSelector `locationName:"audioSelectors" type:"list"` + + // Used to select the caption input to use for inputs that have multiple available. + CaptionSelectors []*CaptionSelector `locationName:"captionSelectors" type:"list"` + + // Enable or disable the deblock filter when filtering. + DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` + + // Enable or disable the denoise filter when filtering. + DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` -// SetSegmentModifier sets the SegmentModifier field's value. -func (s *HlsOutputSettings) SetSegmentModifier(v string) *HlsOutputSettings { - s.SegmentModifier = &v - return s -} + // Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). + FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"` -// Hls Settings -type HlsSettings struct { - _ struct{} `type:"structure"` + // 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/quality2) disabled - no filtering will be applied to the input3) forced + // - filtering will be applied regardless of input type + InputFilter *string `locationName:"inputFilter" type:"string" enum:"InputFilter"` - // Audio Only Hls Settings - AudioOnlyHlsSettings *AudioOnlyHlsSettings `locationName:"audioOnlyHlsSettings" type:"structure"` + // Input settings. + NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"` - // Standard Hls Settings - StandardHlsSettings *StandardHlsSettings `locationName:"standardHlsSettings" type:"structure"` + // Loop input if it is a file. This allows a file input to be streamed indefinitely. + SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"` + + // Informs which video elementary stream to decode for input types that have + // multiple available. + VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"` } // String returns the string representation -func (s HlsSettings) String() string { +func (s InputSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsSettings) GoString() string { +func (s InputSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HlsSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsSettings"} - if s.AudioOnlyHlsSettings != nil { - if err := s.AudioOnlyHlsSettings.Validate(); err != nil { - invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams)) +func (s *InputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSettings"} + if s.FilterStrength != nil && *s.FilterStrength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1)) + } + if s.AudioSelectors != nil { + for i, v := range s.AudioSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) + } } } - if s.StandardHlsSettings != nil { - if err := s.StandardHlsSettings.Validate(); err != nil { - invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams)) + if s.CaptionSelectors != nil { + for i, v := range s.CaptionSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) + } } } @@ -10698,315 +13459,287 @@ func (s *HlsSettings) Validate() error { return nil } -// SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value. -func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings { - s.AudioOnlyHlsSettings = v +// SetAudioSelectors sets the AudioSelectors field's value. +func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings { + s.AudioSelectors = v return s } -// SetStandardHlsSettings sets the StandardHlsSettings field's value. -func (s *HlsSettings) SetStandardHlsSettings(v *StandardHlsSettings) *HlsSettings { - s.StandardHlsSettings = v +// SetCaptionSelectors sets the CaptionSelectors field's value. +func (s *InputSettings) SetCaptionSelectors(v []*CaptionSelector) *InputSettings { + s.CaptionSelectors = v return s } -// Settings for the action to emit HLS metadata -type HlsTimedMetadataScheduleActionSettings struct { - _ struct{} `type:"structure"` +// SetDeblockFilter sets the DeblockFilter field's value. +func (s *InputSettings) SetDeblockFilter(v string) *InputSettings { + s.DeblockFilter = &v + return s +} - // Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure - // - // Id3 is a required field - Id3 *string `locationName:"id3" type:"string" required:"true"` +// SetDenoiseFilter sets the DenoiseFilter field's value. +func (s *InputSettings) SetDenoiseFilter(v string) *InputSettings { + s.DenoiseFilter = &v + return s } -// String returns the string representation -func (s HlsTimedMetadataScheduleActionSettings) String() string { - return awsutil.Prettify(s) +// SetFilterStrength sets the FilterStrength field's value. +func (s *InputSettings) SetFilterStrength(v int64) *InputSettings { + s.FilterStrength = &v + return s } -// GoString returns the string representation -func (s HlsTimedMetadataScheduleActionSettings) GoString() string { - return s.String() +// SetInputFilter sets the InputFilter field's value. +func (s *InputSettings) SetInputFilter(v string) *InputSettings { + s.InputFilter = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HlsTimedMetadataScheduleActionSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsTimedMetadataScheduleActionSettings"} - if s.Id3 == nil { - invalidParams.Add(request.NewErrParamRequired("Id3")) - } +// SetNetworkInputSettings sets the NetworkInputSettings field's value. +func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputSettings { + s.NetworkInputSettings = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSourceEndBehavior sets the SourceEndBehavior field's value. +func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings { + s.SourceEndBehavior = &v + return s } -// SetId3 sets the Id3 field's value. -func (s *HlsTimedMetadataScheduleActionSettings) SetId3(v string) *HlsTimedMetadataScheduleActionSettings { - s.Id3 = &v +// SetVideoSelector sets the VideoSelector field's value. +func (s *InputSettings) SetVideoSelector(v *VideoSelector) *InputSettings { + s.VideoSelector = v return s } -// Hls Webdav Settings -type HlsWebdavSettings struct { +// The settings for a PULL type input. +type InputSource struct { _ struct{} `type:"structure"` - // Number of seconds to wait before retrying connection to the CDN if the connection - // is lost. - ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` - - // Size in seconds of file cache for streaming outputs. - FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` - - // Specify whether or not to use chunked transfer encoding to WebDAV. - HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsWebdavHttpTransferMode"` + // The key used to extract the password from EC2 Parameter store. + PasswordParam *string `locationName:"passwordParam" type:"string"` - // Number of retry attempts that will be made before the Live Event is put into - // an error state. - NumRetries *int64 `locationName:"numRetries" type:"integer"` + // This represents the customer's source URL where stream ispulled from. + Url *string `locationName:"url" type:"string"` - // If a streaming output fails, number of seconds to wait until a restart is - // initiated. A value of 0 means never restart. - RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + // The username for the input source. + Username *string `locationName:"username" type:"string"` } // String returns the string representation -func (s HlsWebdavSettings) String() string { +func (s InputSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsWebdavSettings) GoString() string { +func (s InputSource) GoString() string { return s.String() } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsWebdavSettings) SetConnectionRetryInterval(v int64) *HlsWebdavSettings { - s.ConnectionRetryInterval = &v - return s -} - -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsWebdavSettings) SetFilecacheDuration(v int64) *HlsWebdavSettings { - s.FilecacheDuration = &v - return s -} - -// SetHttpTransferMode sets the HttpTransferMode field's value. -func (s *HlsWebdavSettings) SetHttpTransferMode(v string) *HlsWebdavSettings { - s.HttpTransferMode = &v +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputSource) SetPasswordParam(v string) *InputSource { + s.PasswordParam = &v return s } -// SetNumRetries sets the NumRetries field's value. -func (s *HlsWebdavSettings) SetNumRetries(v int64) *HlsWebdavSettings { - s.NumRetries = &v +// SetUrl sets the Url field's value. +func (s *InputSource) SetUrl(v string) *InputSource { + s.Url = &v return s } -// SetRestartDelay sets the RestartDelay field's value. -func (s *HlsWebdavSettings) SetRestartDelay(v int64) *HlsWebdavSettings { - s.RestartDelay = &v +// SetUsername sets the Username field's value. +func (s *InputSource) SetUsername(v string) *InputSource { + s.Username = &v return s } -// Settings to configure an action so that it occurs immediately. This is only -// supported for input switch actions currently. -type ImmediateModeScheduleActionStartSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s ImmediateModeScheduleActionStartSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ImmediateModeScheduleActionStartSettings) GoString() string { - return s.String() -} - -type Input struct { +// Settings for for a PULL type input. +type InputSourceRequest struct { _ struct{} `type:"structure"` - // The Unique ARN of the input (generated, immutable). - Arn *string `locationName:"arn" type:"string"` - - // A list of channel IDs that that input is attached to (currently an input - // can only be attached to one channel). - AttachedChannels []*string `locationName:"attachedChannels" type:"list"` - - // A list of the destinations of the input (PUSH-type). - Destinations []*InputDestination `locationName:"destinations" type:"list"` - - // The generated ID of the input (unique for user account, immutable). - Id *string `locationName:"id" type:"string"` - - // STANDARD - MediaLive expects two sources to be connected to this input. If - // the channel is also STANDARD, both sources will be ingested. If the channel - // is SINGLE_PIPELINE, only the first source will be ingested; the second source - // will always be ignored, even if the first source fails.SINGLE_PIPELINE - - // You can connect only one source to this input. If the ChannelClass is also - // SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this - // value is not valid because the channel requires two sources in the input. - InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` - - // Certain pull input sources can be dynamic, meaning that they can have their - // URL's dynamically changesduring input switch actions. Presently, this functionality - // only works with MP4_FILE inputs. - InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` - - // A list of MediaConnect Flows for this input. - MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` - - // The user-assigned name (This is a mutable value). - Name *string `locationName:"name" type:"string"` - - // The Amazon Resource Name (ARN) of the role this input assumes during and - // after creation. - RoleArn *string `locationName:"roleArn" type:"string"` - - // A list of IDs for all the Input Security Groups attached to the input. - SecurityGroups []*string `locationName:"securityGroups" type:"list"` - - // A list of the sources of the input (PULL-type). - Sources []*InputSource `locationName:"sources" type:"list"` - - State *string `locationName:"state" type:"string" enum:"InputState"` + // The key used to extract the password from EC2 Parameter store. + PasswordParam *string `locationName:"passwordParam" type:"string"` - // A collection of key-value pairs. - Tags map[string]*string `locationName:"tags" type:"map"` + // This represents the customer's source URL where stream ispulled from. + Url *string `locationName:"url" type:"string"` - Type *string `locationName:"type" type:"string" enum:"InputType"` + // The username for the input source. + Username *string `locationName:"username" type:"string"` } // String returns the string representation -func (s Input) String() string { +func (s InputSourceRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Input) GoString() string { +func (s InputSourceRequest) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Input) SetArn(v string) *Input { - s.Arn = &v +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputSourceRequest) SetPasswordParam(v string) *InputSourceRequest { + s.PasswordParam = &v return s } -// SetAttachedChannels sets the AttachedChannels field's value. -func (s *Input) SetAttachedChannels(v []*string) *Input { - s.AttachedChannels = v +// SetUrl sets the Url field's value. +func (s *InputSourceRequest) SetUrl(v string) *InputSourceRequest { + s.Url = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *Input) SetDestinations(v []*InputDestination) *Input { - s.Destinations = v +// SetUsername sets the Username field's value. +func (s *InputSourceRequest) SetUsername(v string) *InputSourceRequest { + s.Username = &v return s } -// SetId sets the Id field's value. -func (s *Input) SetId(v string) *Input { - s.Id = &v - return s +type InputSpecification struct { + _ struct{} `type:"structure"` + + // Input codec + Codec *string `locationName:"codec" type:"string" enum:"InputCodec"` + + // Maximum input bitrate, categorized coarsely + MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"InputMaximumBitrate"` + + // Input resolution, categorized coarsely + Resolution *string `locationName:"resolution" type:"string" enum:"InputResolution"` } -// SetInputClass sets the InputClass field's value. -func (s *Input) SetInputClass(v string) *Input { - s.InputClass = &v - return s +// String returns the string representation +func (s InputSpecification) String() string { + return awsutil.Prettify(s) } -// SetInputSourceType sets the InputSourceType field's value. -func (s *Input) SetInputSourceType(v string) *Input { - s.InputSourceType = &v - return s +// GoString returns the string representation +func (s InputSpecification) GoString() string { + return s.String() } -// SetMediaConnectFlows sets the MediaConnectFlows field's value. -func (s *Input) SetMediaConnectFlows(v []*MediaConnectFlow) *Input { - s.MediaConnectFlows = v +// SetCodec sets the Codec field's value. +func (s *InputSpecification) SetCodec(v string) *InputSpecification { + s.Codec = &v return s } -// SetName sets the Name field's value. -func (s *Input) SetName(v string) *Input { - s.Name = &v +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *InputSpecification) SetMaximumBitrate(v string) *InputSpecification { + s.MaximumBitrate = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *Input) SetRoleArn(v string) *Input { - s.RoleArn = &v +// SetResolution sets the Resolution field's value. +func (s *InputSpecification) SetResolution(v string) *InputSpecification { + s.Resolution = &v return s } -// SetSecurityGroups sets the SecurityGroups field's value. -func (s *Input) SetSecurityGroups(v []*string) *Input { - s.SecurityGroups = v - return s +// Settings for the "switch input" action: to switch from ingesting one input +// to ingesting another input. +type InputSwitchScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The name of the input attachment (not the name of the input!) to switch to. + // The name is specified in the channel configuration. + // + // InputAttachmentNameReference is a required field + InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"` + + // Settings to let you create a clip of the file input, in order to set up the + // input to ingest only a portion of the file. + InputClippingSettings *InputClippingSettings `locationName:"inputClippingSettings" type:"structure"` + + // The value for the variable portion of the URL for the dynamic input, for + // this instance of the input. Each time you use the same dynamic input in an + // input switch action, you can provide a different value, in order to connect + // the input to a different content source. + UrlPath []*string `locationName:"urlPath" type:"list"` } -// SetSources sets the Sources field's value. -func (s *Input) SetSources(v []*InputSource) *Input { - s.Sources = v - return s +// String returns the string representation +func (s InputSwitchScheduleActionSettings) String() string { + return awsutil.Prettify(s) } -// SetState sets the State field's value. -func (s *Input) SetState(v string) *Input { - s.State = &v +// GoString returns the string representation +func (s InputSwitchScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputSwitchScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSwitchScheduleActionSettings"} + if s.InputAttachmentNameReference == nil { + invalidParams.Add(request.NewErrParamRequired("InputAttachmentNameReference")) + } + if s.InputClippingSettings != nil { + if err := s.InputClippingSettings.Validate(); err != nil { + invalidParams.AddNested("InputClippingSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value. +func (s *InputSwitchScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputSwitchScheduleActionSettings { + s.InputAttachmentNameReference = &v return s } -// SetTags sets the Tags field's value. -func (s *Input) SetTags(v map[string]*string) *Input { - s.Tags = v +// SetInputClippingSettings sets the InputClippingSettings field's value. +func (s *InputSwitchScheduleActionSettings) SetInputClippingSettings(v *InputClippingSettings) *InputSwitchScheduleActionSettings { + s.InputClippingSettings = v return s } -// SetType sets the Type field's value. -func (s *Input) SetType(v string) *Input { - s.Type = &v +// SetUrlPath sets the UrlPath field's value. +func (s *InputSwitchScheduleActionSettings) SetUrlPath(v []*string) *InputSwitchScheduleActionSettings { + s.UrlPath = v return s } -type InputAttachment struct { +// Settings for a private VPC Input.When this property is specified, the input +// destination addresses will be created in a VPC rather than with public Internet +// addresses.This property requires setting the roleArn property on Input creation.Not +// compatible with the inputSecurityGroups property. +type InputVpcRequest struct { _ struct{} `type:"structure"` - // User-specified name for the attachment. This is required if the user wants - // to use this input in an input switch action. - InputAttachmentName *string `locationName:"inputAttachmentName" type:"string"` - - // The ID of the input - InputId *string `locationName:"inputId" type:"string"` + // A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network + // interfaces.Requires subnetIds. If none are specified then the VPC default + // security group will be used. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - // Settings of an input (caption selector, etc.) - InputSettings *InputSettings `locationName:"inputSettings" type:"structure"` + // A list of 2 VPC subnet IDs from the same VPC.Subnet IDs must be mapped to + // two unique availability zones (AZ). + // + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` } // String returns the string representation -func (s InputAttachment) String() string { +func (s InputVpcRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputAttachment) GoString() string { +func (s InputVpcRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputAttachment) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputAttachment"} - if s.InputSettings != nil { - if err := s.InputSettings.Validate(); err != nil { - invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams)) - } +func (s *InputVpcRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputVpcRequest"} + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) } if invalidParams.Len() > 0 { @@ -11015,61 +13748,91 @@ func (s *InputAttachment) Validate() error { return nil } -// SetInputAttachmentName sets the InputAttachmentName field's value. -func (s *InputAttachment) SetInputAttachmentName(v string) *InputAttachment { - s.InputAttachmentName = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *InputVpcRequest) SetSecurityGroupIds(v []*string) *InputVpcRequest { + s.SecurityGroupIds = v return s } -// SetInputId sets the InputId field's value. -func (s *InputAttachment) SetInputId(v string) *InputAttachment { - s.InputId = &v +// SetSubnetIds sets the SubnetIds field's value. +func (s *InputVpcRequest) SetSubnetIds(v []*string) *InputVpcRequest { + s.SubnetIds = v return s } -// SetInputSettings sets the InputSettings field's value. -func (s *InputAttachment) SetInputSettings(v *InputSettings) *InputAttachment { - s.InputSettings = v +// Whitelist rule +type InputWhitelistRule struct { + _ struct{} `type:"structure"` + + // The IPv4 CIDR that's whitelisted. + Cidr *string `locationName:"cidr" type:"string"` +} + +// String returns the string representation +func (s InputWhitelistRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputWhitelistRule) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *InputWhitelistRule) SetCidr(v string) *InputWhitelistRule { + s.Cidr = &v return s } -// Input Channel Level -type InputChannelLevel struct { +// An IPv4 CIDR to whitelist. +type InputWhitelistRuleCidr struct { _ struct{} `type:"structure"` - // Remixing value. Units are in dB and acceptable values are within the range - // from -60 (mute) and 6 dB. - // - // Gain is a required field - Gain *int64 `locationName:"gain" type:"integer" required:"true"` + // The IPv4 CIDR to whitelist. + Cidr *string `locationName:"cidr" type:"string"` +} - // The index of the input channel used as a source. - // - // InputChannel is a required field - InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"` +// String returns the string representation +func (s InputWhitelistRuleCidr) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputWhitelistRuleCidr) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *InputWhitelistRuleCidr) SetCidr(v string) *InputWhitelistRuleCidr { + s.Cidr = &v + return s +} + +// Key Provider Settings +type KeyProviderSettings struct { + _ struct{} `type:"structure"` + + // Static Key Settings + StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"` } // String returns the string representation -func (s InputChannelLevel) String() string { +func (s KeyProviderSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputChannelLevel) GoString() string { +func (s KeyProviderSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputChannelLevel) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"} - if s.Gain == nil { - invalidParams.Add(request.NewErrParamRequired("Gain")) - } - if s.Gain != nil && *s.Gain < -60 { - invalidParams.Add(request.NewErrParamMinValue("Gain", -60)) - } - if s.InputChannel == nil { - invalidParams.Add(request.NewErrParamRequired("InputChannel")) +func (s *KeyProviderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} + if s.StaticKeySettings != nil { + if err := s.StaticKeySettings.Validate(); err != nil { + invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11078,50 +13841,35 @@ func (s *InputChannelLevel) Validate() error { return nil } -// SetGain sets the Gain field's value. -func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel { - s.Gain = &v - return s -} - -// SetInputChannel sets the InputChannel field's value. -func (s *InputChannelLevel) SetInputChannel(v int64) *InputChannelLevel { - s.InputChannel = &v +// SetStaticKeySettings sets the StaticKeySettings field's value. +func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { + s.StaticKeySettings = v return s } -// Settings to let you create a clip of the file input, in order to set up the -// input to ingest only a portion of the file. -type InputClippingSettings struct { +type ListChannelsInput struct { _ struct{} `type:"structure"` - // The source of the timecodes in the source being clipped. - // - // InputTimecodeSource is a required field - InputTimecodeSource *string `locationName:"inputTimecodeSource" type:"string" required:"true" enum:"InputTimecodeSource"` - - // Settings to identify the start of the clip. - StartTimecode *StartTimecode `locationName:"startTimecode" type:"structure"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Settings to identify the end of the clip. - StopTimecode *StopTimecode `locationName:"stopTimecode" type:"structure"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputClippingSettings) String() string { +func (s ListChannelsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputClippingSettings) GoString() string { +func (s ListChannelsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputClippingSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputClippingSettings"} - if s.InputTimecodeSource == nil { - invalidParams.Add(request.NewErrParamRequired("InputTimecodeSource")) +func (s *ListChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -11130,169 +13878,144 @@ func (s *InputClippingSettings) Validate() error { return nil } -// SetInputTimecodeSource sets the InputTimecodeSource field's value. -func (s *InputClippingSettings) SetInputTimecodeSource(v string) *InputClippingSettings { - s.InputTimecodeSource = &v - return s -} - -// SetStartTimecode sets the StartTimecode field's value. -func (s *InputClippingSettings) SetStartTimecode(v *StartTimecode) *InputClippingSettings { - s.StartTimecode = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { + s.MaxResults = &v return s } -// SetStopTimecode sets the StopTimecode field's value. -func (s *InputClippingSettings) SetStopTimecode(v *StopTimecode) *InputClippingSettings { - s.StopTimecode = v +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { + s.NextToken = &v return s } -// The settings for a PUSH type input. -type InputDestination struct { +type ListChannelsOutput struct { _ struct{} `type:"structure"` - // The system-generated static IP address of endpoint.It remains fixed for the - // lifetime of the input. - Ip *string `locationName:"ip" type:"string"` - - // The port number for the input. - Port *string `locationName:"port" type:"string"` - - // This represents the endpoint that the customer stream will bepushed to. - Url *string `locationName:"url" type:"string"` + Channels []*ChannelSummary `locationName:"channels" type:"list"` - // The properties for a VPC type input destination. - Vpc *InputDestinationVpc `locationName:"vpc" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputDestination) String() string { +func (s ListChannelsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputDestination) GoString() string { +func (s ListChannelsOutput) GoString() string { return s.String() } -// SetIp sets the Ip field's value. -func (s *InputDestination) SetIp(v string) *InputDestination { - s.Ip = &v - return s -} - -// SetPort sets the Port field's value. -func (s *InputDestination) SetPort(v string) *InputDestination { - s.Port = &v - return s -} - -// SetUrl sets the Url field's value. -func (s *InputDestination) SetUrl(v string) *InputDestination { - s.Url = &v +// SetChannels sets the Channels field's value. +func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput { + s.Channels = v return s } -// SetVpc sets the Vpc field's value. -func (s *InputDestination) SetVpc(v *InputDestinationVpc) *InputDestination { - s.Vpc = v +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { + s.NextToken = &v return s } -// Endpoint settings for a PUSH type input. -type InputDestinationRequest struct { +type ListInputSecurityGroupsInput struct { _ struct{} `type:"structure"` - // A unique name for the location the RTMP stream is being pushedto. - StreamName *string `locationName:"streamName" type:"string"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputDestinationRequest) String() string { +func (s ListInputSecurityGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputDestinationRequest) GoString() string { +func (s ListInputSecurityGroupsInput) GoString() string { return s.String() } -// SetStreamName sets the StreamName field's value. -func (s *InputDestinationRequest) SetStreamName(v string) *InputDestinationRequest { - s.StreamName = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInputSecurityGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputSecurityGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInputSecurityGroupsInput) SetMaxResults(v int64) *ListInputSecurityGroupsInput { + s.MaxResults = &v return s } -// The properties for a VPC type input destination. -type InputDestinationVpc struct { +// SetNextToken sets the NextToken field's value. +func (s *ListInputSecurityGroupsInput) SetNextToken(v string) *ListInputSecurityGroupsInput { + s.NextToken = &v + return s +} + +type ListInputSecurityGroupsOutput struct { _ struct{} `type:"structure"` - // The availability zone of the Input destination. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + InputSecurityGroups []*InputSecurityGroup `locationName:"inputSecurityGroups" type:"list"` - // The network interface ID of the Input destination in the VPC. - NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputDestinationVpc) String() string { +func (s ListInputSecurityGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputDestinationVpc) GoString() string { +func (s ListInputSecurityGroupsOutput) GoString() string { return s.String() } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *InputDestinationVpc) SetAvailabilityZone(v string) *InputDestinationVpc { - s.AvailabilityZone = &v +// SetInputSecurityGroups sets the InputSecurityGroups field's value. +func (s *ListInputSecurityGroupsOutput) SetInputSecurityGroups(v []*InputSecurityGroup) *ListInputSecurityGroupsOutput { + s.InputSecurityGroups = v return s } -// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. -func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationVpc { - s.NetworkInterfaceId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListInputSecurityGroupsOutput) SetNextToken(v string) *ListInputSecurityGroupsOutput { + s.NextToken = &v return s } -// Input Location -type InputLocation struct { +type ListInputsInput struct { _ struct{} `type:"structure"` - // key used to extract the password from EC2 Parameter store - PasswordParam *string `locationName:"passwordParam" 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 RTMP destination should have a uri simliar to: "rtmp://fmsserver/live". - // - // Uri is a required field - Uri *string `locationName:"uri" type:"string" required:"true"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // 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://" - Username *string `locationName:"username" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputLocation) String() string { +func (s ListInputsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputLocation) GoString() string { +func (s ListInputsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputLocation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputLocation"} - if s.Uri == nil { - invalidParams.Add(request.NewErrParamRequired("Uri")) +func (s *ListInputsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -11301,72 +14024,80 @@ func (s *InputLocation) Validate() error { return nil } -// SetPasswordParam sets the PasswordParam field's value. -func (s *InputLocation) SetPasswordParam(v string) *InputLocation { - s.PasswordParam = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput { + s.MaxResults = &v return s } -// SetUri sets the Uri field's value. -func (s *InputLocation) SetUri(v string) *InputLocation { - s.Uri = &v +// SetNextToken sets the NextToken field's value. +func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput { + s.NextToken = &v return s } -// SetUsername sets the Username field's value. -func (s *InputLocation) SetUsername(v string) *InputLocation { - s.Username = &v +type ListInputsOutput struct { + _ struct{} `type:"structure"` + + Inputs []*Input `locationName:"inputs" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInputsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputsOutput) GoString() string { + return s.String() +} + +// SetInputs sets the Inputs field's value. +func (s *ListInputsOutput) SetInputs(v []*Input) *ListInputsOutput { + s.Inputs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput { + s.NextToken = &v return s } -// Input Loss Behavior -type InputLossBehavior struct { +type ListMultiplexProgramsInput struct { _ struct{} `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. - BlackFrameMsec *int64 `locationName:"blackFrameMsec" type:"integer"` - - // When input loss image type is "color" this field specifies the color to use. - // Value: 6 hex characters representing the values of RGB. - InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"` - - // When input loss image type is "slate" these fields specify the parameters - // for accessing the slate. - InputLossImageSlate *InputLocation `locationName:"inputLossImageSlate" type:"structure"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Indicates whether to substitute a solid color or a slate into the output - // after input loss exceeds blackFrameMsec. - InputLossImageType *string `locationName:"inputLossImageType" type:"string" enum:"InputLossImageType"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` - // 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. - RepeatFrameMsec *int64 `locationName:"repeatFrameMsec" type:"integer"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputLossBehavior) String() string { +func (s ListMultiplexProgramsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputLossBehavior) GoString() string { +func (s ListMultiplexProgramsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputLossBehavior) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"} - if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 { - invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6)) +func (s *ListMultiplexProgramsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMultiplexProgramsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.InputLossImageSlate != nil { - if err := s.InputLossImageSlate.Validate(); err != nil { - invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams)) - } + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) } if invalidParams.Len() > 0 { @@ -11375,177 +14106,170 @@ func (s *InputLossBehavior) Validate() error { return nil } -// SetBlackFrameMsec sets the BlackFrameMsec field's value. -func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior { - s.BlackFrameMsec = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMultiplexProgramsInput) SetMaxResults(v int64) *ListMultiplexProgramsInput { + s.MaxResults = &v return s } -// SetInputLossImageColor sets the InputLossImageColor field's value. -func (s *InputLossBehavior) SetInputLossImageColor(v string) *InputLossBehavior { - s.InputLossImageColor = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *ListMultiplexProgramsInput) SetMultiplexId(v string) *ListMultiplexProgramsInput { + s.MultiplexId = &v return s } -// SetInputLossImageSlate sets the InputLossImageSlate field's value. -func (s *InputLossBehavior) SetInputLossImageSlate(v *InputLocation) *InputLossBehavior { - s.InputLossImageSlate = v +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexProgramsInput) SetNextToken(v string) *ListMultiplexProgramsInput { + s.NextToken = &v return s } -// SetInputLossImageType sets the InputLossImageType field's value. -func (s *InputLossBehavior) SetInputLossImageType(v string) *InputLossBehavior { - s.InputLossImageType = &v - return s -} +type ListMultiplexProgramsOutput struct { + _ struct{} `type:"structure"` -// SetRepeatFrameMsec sets the RepeatFrameMsec field's value. -func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior { - s.RepeatFrameMsec = &v - return s + MultiplexPrograms []*MultiplexProgramSummary `locationName:"multiplexPrograms" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` } -// An Input Security Group -type InputSecurityGroup struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s ListMultiplexProgramsOutput) String() string { + return awsutil.Prettify(s) +} - // Unique ARN of Input Security Group - Arn *string `locationName:"arn" type:"string"` +// GoString returns the string representation +func (s ListMultiplexProgramsOutput) GoString() string { + return s.String() +} - // The Id of the Input Security Group - Id *string `locationName:"id" type:"string"` +// SetMultiplexPrograms sets the MultiplexPrograms field's value. +func (s *ListMultiplexProgramsOutput) SetMultiplexPrograms(v []*MultiplexProgramSummary) *ListMultiplexProgramsOutput { + s.MultiplexPrograms = v + return s +} - // The list of inputs currently using this Input Security Group. - Inputs []*string `locationName:"inputs" type:"list"` +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexProgramsOutput) SetNextToken(v string) *ListMultiplexProgramsOutput { + s.NextToken = &v + return s +} - // The current state of the Input Security Group. - State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` +type ListMultiplexesInput struct { + _ struct{} `type:"structure"` - // A collection of key-value pairs. - Tags map[string]*string `locationName:"tags" type:"map"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Whitelist rules and their sync status - WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputSecurityGroup) String() string { +func (s ListMultiplexesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSecurityGroup) GoString() string { +func (s ListMultiplexesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *InputSecurityGroup) SetArn(v string) *InputSecurityGroup { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMultiplexesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMultiplexesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *InputSecurityGroup) SetId(v string) *InputSecurityGroup { - s.Id = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMultiplexesInput) SetMaxResults(v int64) *ListMultiplexesInput { + s.MaxResults = &v return s } -// SetInputs sets the Inputs field's value. -func (s *InputSecurityGroup) SetInputs(v []*string) *InputSecurityGroup { - s.Inputs = v +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexesInput) SetNextToken(v string) *ListMultiplexesInput { + s.NextToken = &v return s } -// SetState sets the State field's value. -func (s *InputSecurityGroup) SetState(v string) *InputSecurityGroup { - s.State = &v - return s +type ListMultiplexesOutput struct { + _ struct{} `type:"structure"` + + Multiplexes []*MultiplexSummary `locationName:"multiplexes" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` } -// SetTags sets the Tags field's value. -func (s *InputSecurityGroup) SetTags(v map[string]*string) *InputSecurityGroup { - s.Tags = v +// String returns the string representation +func (s ListMultiplexesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListMultiplexesOutput) GoString() string { + return s.String() +} + +// SetMultiplexes sets the Multiplexes field's value. +func (s *ListMultiplexesOutput) SetMultiplexes(v []*MultiplexSummary) *ListMultiplexesOutput { + s.Multiplexes = v return s } -// SetWhitelistRules sets the WhitelistRules field's value. -func (s *InputSecurityGroup) SetWhitelistRules(v []*InputWhitelistRule) *InputSecurityGroup { - s.WhitelistRules = v +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexesOutput) SetNextToken(v string) *ListMultiplexesOutput { + s.NextToken = &v return s } -// Live Event input parameters. There can be multiple inputs in a single Live -// Event. -type InputSettings struct { +type ListOfferingsInput struct { _ struct{} `type:"structure"` - // Used to select the audio stream to decode for inputs that have multiple available. - AudioSelectors []*AudioSelector `locationName:"audioSelectors" type:"list"` + ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"` - // Used to select the caption input to use for inputs that have multiple available. - CaptionSelectors []*CaptionSelector `locationName:"captionSelectors" type:"list"` + ChannelConfiguration *string `location:"querystring" locationName:"channelConfiguration" type:"string"` - // Enable or disable the deblock filter when filtering. - DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` + Codec *string `location:"querystring" locationName:"codec" type:"string"` - // Enable or disable the denoise filter when filtering. - DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` + Duration *string `location:"querystring" locationName:"duration" type:"string"` - // Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). - FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // 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/quality2) disabled - no filtering will be applied to the input3) forced - // - filtering will be applied regardless of input type - InputFilter *string `locationName:"inputFilter" type:"string" enum:"InputFilter"` + MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` - // Input settings. - NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"` + MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` - // Loop input if it is a file. This allows a file input to be streamed indefinitely. - SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // Informs which video elementary stream to decode for input types that have - // multiple available. - VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"` + Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + + VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` } // String returns the string representation -func (s InputSettings) String() string { +func (s ListOfferingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSettings) GoString() string { +func (s ListOfferingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputSettings"} - if s.FilterStrength != nil && *s.FilterStrength < 1 { - invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1)) - } - if s.AudioSelectors != nil { - for i, v := range s.AudioSelectors { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) - } - } - } - if s.CaptionSelectors != nil { - for i, v := range s.CaptionSelectors { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) - } - } +func (s *ListOfferingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -11554,287 +14278,270 @@ func (s *InputSettings) Validate() error { return nil } -// SetAudioSelectors sets the AudioSelectors field's value. -func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings { - s.AudioSelectors = v +// SetChannelClass sets the ChannelClass field's value. +func (s *ListOfferingsInput) SetChannelClass(v string) *ListOfferingsInput { + s.ChannelClass = &v return s } -// SetCaptionSelectors sets the CaptionSelectors field's value. -func (s *InputSettings) SetCaptionSelectors(v []*CaptionSelector) *InputSettings { - s.CaptionSelectors = v +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *ListOfferingsInput) SetChannelConfiguration(v string) *ListOfferingsInput { + s.ChannelConfiguration = &v return s } -// SetDeblockFilter sets the DeblockFilter field's value. -func (s *InputSettings) SetDeblockFilter(v string) *InputSettings { - s.DeblockFilter = &v +// SetCodec sets the Codec field's value. +func (s *ListOfferingsInput) SetCodec(v string) *ListOfferingsInput { + s.Codec = &v return s } -// SetDenoiseFilter sets the DenoiseFilter field's value. -func (s *InputSettings) SetDenoiseFilter(v string) *InputSettings { - s.DenoiseFilter = &v +// SetDuration sets the Duration field's value. +func (s *ListOfferingsInput) SetDuration(v string) *ListOfferingsInput { + s.Duration = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput { + s.MaxResults = &v + return s +} + +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *ListOfferingsInput) SetMaximumBitrate(v string) *ListOfferingsInput { + s.MaximumBitrate = &v + return s +} + +// SetMaximumFramerate sets the MaximumFramerate field's value. +func (s *ListOfferingsInput) SetMaximumFramerate(v string) *ListOfferingsInput { + s.MaximumFramerate = &v return s } -// SetFilterStrength sets the FilterStrength field's value. -func (s *InputSettings) SetFilterStrength(v int64) *InputSettings { - s.FilterStrength = &v +// SetNextToken sets the NextToken field's value. +func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput { + s.NextToken = &v return s } -// SetInputFilter sets the InputFilter field's value. -func (s *InputSettings) SetInputFilter(v string) *InputSettings { - s.InputFilter = &v +// SetResolution sets the Resolution field's value. +func (s *ListOfferingsInput) SetResolution(v string) *ListOfferingsInput { + s.Resolution = &v return s } -// SetNetworkInputSettings sets the NetworkInputSettings field's value. -func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputSettings { - s.NetworkInputSettings = v +// SetResourceType sets the ResourceType field's value. +func (s *ListOfferingsInput) SetResourceType(v string) *ListOfferingsInput { + s.ResourceType = &v return s } -// SetSourceEndBehavior sets the SourceEndBehavior field's value. -func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings { - s.SourceEndBehavior = &v +// SetSpecialFeature sets the SpecialFeature field's value. +func (s *ListOfferingsInput) SetSpecialFeature(v string) *ListOfferingsInput { + s.SpecialFeature = &v return s } -// SetVideoSelector sets the VideoSelector field's value. -func (s *InputSettings) SetVideoSelector(v *VideoSelector) *InputSettings { - s.VideoSelector = v +// SetVideoQuality sets the VideoQuality field's value. +func (s *ListOfferingsInput) SetVideoQuality(v string) *ListOfferingsInput { + s.VideoQuality = &v return s } -// The settings for a PULL type input. -type InputSource struct { +type ListOfferingsOutput struct { _ struct{} `type:"structure"` - // The key used to extract the password from EC2 Parameter store. - PasswordParam *string `locationName:"passwordParam" type:"string"` - - // This represents the customer's source URL where stream ispulled from. - Url *string `locationName:"url" type:"string"` + NextToken *string `locationName:"nextToken" type:"string"` - // The username for the input source. - Username *string `locationName:"username" type:"string"` + Offerings []*Offering `locationName:"offerings" type:"list"` } // String returns the string representation -func (s InputSource) String() string { +func (s ListOfferingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSource) GoString() string { +func (s ListOfferingsOutput) GoString() string { return s.String() } -// SetPasswordParam sets the PasswordParam field's value. -func (s *InputSource) SetPasswordParam(v string) *InputSource { - s.PasswordParam = &v - return s -} - -// SetUrl sets the Url field's value. -func (s *InputSource) SetUrl(v string) *InputSource { - s.Url = &v +// SetNextToken sets the NextToken field's value. +func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput { + s.NextToken = &v return s } -// SetUsername sets the Username field's value. -func (s *InputSource) SetUsername(v string) *InputSource { - s.Username = &v +// SetOfferings sets the Offerings field's value. +func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput { + s.Offerings = v return s } -// Settings for for a PULL type input. -type InputSourceRequest struct { +type ListReservationsInput struct { _ struct{} `type:"structure"` - // The key used to extract the password from EC2 Parameter store. - PasswordParam *string `locationName:"passwordParam" type:"string"` + ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"` - // This represents the customer's source URL where stream ispulled from. - Url *string `locationName:"url" type:"string"` + Codec *string `location:"querystring" locationName:"codec" type:"string"` - // The username for the input source. - Username *string `locationName:"username" type:"string"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` + + MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + + VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` } // String returns the string representation -func (s InputSourceRequest) String() string { +func (s ListReservationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSourceRequest) GoString() string { +func (s ListReservationsInput) GoString() string { return s.String() } -// SetPasswordParam sets the PasswordParam field's value. -func (s *InputSourceRequest) SetPasswordParam(v string) *InputSourceRequest { - s.PasswordParam = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReservationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUrl sets the Url field's value. -func (s *InputSourceRequest) SetUrl(v string) *InputSourceRequest { - s.Url = &v +// SetChannelClass sets the ChannelClass field's value. +func (s *ListReservationsInput) SetChannelClass(v string) *ListReservationsInput { + s.ChannelClass = &v return s } -// SetUsername sets the Username field's value. -func (s *InputSourceRequest) SetUsername(v string) *InputSourceRequest { - s.Username = &v +// SetCodec sets the Codec field's value. +func (s *ListReservationsInput) SetCodec(v string) *ListReservationsInput { + s.Codec = &v return s } -type InputSpecification struct { - _ struct{} `type:"structure"` - - // Input codec - Codec *string `locationName:"codec" type:"string" enum:"InputCodec"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput { + s.MaxResults = &v + return s +} - // Maximum input bitrate, categorized coarsely - MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"InputMaximumBitrate"` +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *ListReservationsInput) SetMaximumBitrate(v string) *ListReservationsInput { + s.MaximumBitrate = &v + return s +} - // Input resolution, categorized coarsely - Resolution *string `locationName:"resolution" type:"string" enum:"InputResolution"` +// SetMaximumFramerate sets the MaximumFramerate field's value. +func (s *ListReservationsInput) SetMaximumFramerate(v string) *ListReservationsInput { + s.MaximumFramerate = &v + return s } -// String returns the string representation -func (s InputSpecification) String() string { - return awsutil.Prettify(s) +// SetNextToken sets the NextToken field's value. +func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput { + s.NextToken = &v + return s } -// GoString returns the string representation -func (s InputSpecification) GoString() string { - return s.String() +// SetResolution sets the Resolution field's value. +func (s *ListReservationsInput) SetResolution(v string) *ListReservationsInput { + s.Resolution = &v + return s } -// SetCodec sets the Codec field's value. -func (s *InputSpecification) SetCodec(v string) *InputSpecification { - s.Codec = &v +// SetResourceType sets the ResourceType field's value. +func (s *ListReservationsInput) SetResourceType(v string) *ListReservationsInput { + s.ResourceType = &v return s } -// SetMaximumBitrate sets the MaximumBitrate field's value. -func (s *InputSpecification) SetMaximumBitrate(v string) *InputSpecification { - s.MaximumBitrate = &v +// SetSpecialFeature sets the SpecialFeature field's value. +func (s *ListReservationsInput) SetSpecialFeature(v string) *ListReservationsInput { + s.SpecialFeature = &v return s } -// SetResolution sets the Resolution field's value. -func (s *InputSpecification) SetResolution(v string) *InputSpecification { - s.Resolution = &v +// SetVideoQuality sets the VideoQuality field's value. +func (s *ListReservationsInput) SetVideoQuality(v string) *ListReservationsInput { + s.VideoQuality = &v return s } -// Settings for the "switch input" action: to switch from ingesting one input -// to ingesting another input. -type InputSwitchScheduleActionSettings struct { +type ListReservationsOutput struct { _ struct{} `type:"structure"` - // The name of the input attachment (not the name of the input!) to switch to. - // The name is specified in the channel configuration. - // - // InputAttachmentNameReference is a required field - InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"` - - // Settings to let you create a clip of the file input, in order to set up the - // input to ingest only a portion of the file. - InputClippingSettings *InputClippingSettings `locationName:"inputClippingSettings" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` - // The value for the variable portion of the URL for the dynamic input, for - // this instance of the input. Each time you use the same dynamic input in an - // input switch action, you can provide a different value, in order to connect - // the input to a different content source. - UrlPath []*string `locationName:"urlPath" type:"list"` + Reservations []*Reservation `locationName:"reservations" type:"list"` } // String returns the string representation -func (s InputSwitchScheduleActionSettings) String() string { +func (s ListReservationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSwitchScheduleActionSettings) GoString() string { +func (s ListReservationsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *InputSwitchScheduleActionSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputSwitchScheduleActionSettings"} - if s.InputAttachmentNameReference == nil { - invalidParams.Add(request.NewErrParamRequired("InputAttachmentNameReference")) - } - if s.InputClippingSettings != nil { - if err := s.InputClippingSettings.Validate(); err != nil { - invalidParams.AddNested("InputClippingSettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value. -func (s *InputSwitchScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputSwitchScheduleActionSettings { - s.InputAttachmentNameReference = &v - return s -} - -// SetInputClippingSettings sets the InputClippingSettings field's value. -func (s *InputSwitchScheduleActionSettings) SetInputClippingSettings(v *InputClippingSettings) *InputSwitchScheduleActionSettings { - s.InputClippingSettings = v +// SetNextToken sets the NextToken field's value. +func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput { + s.NextToken = &v return s } -// SetUrlPath sets the UrlPath field's value. -func (s *InputSwitchScheduleActionSettings) SetUrlPath(v []*string) *InputSwitchScheduleActionSettings { - s.UrlPath = v +// SetReservations sets the Reservations field's value. +func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput { + s.Reservations = v return s } -// Settings for a private VPC Input.When this property is specified, the input -// destination addresses will be created in a VPC rather than with public Internet -// addresses.This property requires setting the roleArn property on Input creation.Not -// compatible with the inputSecurityGroups property. -type InputVpcRequest struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network - // interfaces.Requires subnetIds. If none are specified then the VPC default - // security group will be used. - SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - - // A list of 2 VPC subnet IDs from the same VPC.Subnet IDs must be mapped to - // two unique availability zones (AZ). - // - // SubnetIds is a required field - SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` } // String returns the string representation -func (s InputVpcRequest) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputVpcRequest) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputVpcRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputVpcRequest"} - if s.SubnetIds == nil { - invalidParams.Add(request.NewErrParamRequired("SubnetIds")) +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -11843,128 +14550,292 @@ func (s *InputVpcRequest) Validate() error { return nil } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *InputVpcRequest) SetSecurityGroupIds(v []*string) *InputVpcRequest { - s.SecurityGroupIds = v - return s -} - -// SetSubnetIds sets the SubnetIds field's value. -func (s *InputVpcRequest) SetSubnetIds(v []*string) *InputVpcRequest { - s.SubnetIds = v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -// Whitelist rule -type InputWhitelistRule struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // The IPv4 CIDR that's whitelisted. - Cidr *string `locationName:"cidr" type:"string"` + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s InputWhitelistRule) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputWhitelistRule) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetCidr sets the Cidr field's value. -func (s *InputWhitelistRule) SetCidr(v string) *InputWhitelistRule { - s.Cidr = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v return s } -// An IPv4 CIDR to whitelist. -type InputWhitelistRuleCidr struct { +// M2ts Settings +type M2tsSettings struct { _ struct{} `type:"structure"` - // The IPv4 CIDR to whitelist. - Cidr *string `locationName:"cidr" type:"string"` -} + // 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. + AbsentInputAudioBehavior *string `locationName:"absentInputAudioBehavior" type:"string" enum:"M2tsAbsentInputAudioBehavior"` -// String returns the string representation -func (s InputWhitelistRuleCidr) String() string { - return awsutil.Prettify(s) -} + // When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. + Arib *string `locationName:"arib" type:"string" enum:"M2tsArib"` -// GoString returns the string representation -func (s InputWhitelistRuleCidr) GoString() string { - return s.String() -} + // 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). + AribCaptionsPid *string `locationName:"aribCaptionsPid" type:"string"` -// SetCidr sets the Cidr field's value. -func (s *InputWhitelistRuleCidr) SetCidr(v string) *InputWhitelistRuleCidr { - s.Cidr = &v - return s -} + // 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. + AribCaptionsPidControl *string `locationName:"aribCaptionsPidControl" type:"string" enum:"M2tsAribCaptionsPidControl"` -// Key Provider Settings -type KeyProviderSettings struct { - _ struct{} `type:"structure"` + // When set to dvb, uses DVB buffer model for Dolby Digital audio. When set + // to atsc, the ATSC model is used. + AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"` - // Static Key Settings - StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"` -} + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` -// String returns the string representation -func (s KeyProviderSettings) String() string { - return awsutil.Prettify(s) -} + // 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). + AudioPids *string `locationName:"audioPids" type:"string"` -// GoString returns the string representation -func (s KeyProviderSettings) GoString() string { - return s.String() -} + // When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 + // for EAC3. When set to dvb, uses stream type = 0x06. + AudioStreamType *string `locationName:"audioStreamType" type:"string" enum:"M2tsAudioStreamType"` + + // The output bitrate of the transport stream in bits per second. Setting to + // 0 lets the muxer automatically determine the appropriate bitrate. + Bitrate *int64 `locationName:"bitrate" type:"integer"` + + // 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. + BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"` + + // When set to enabled, generates captionServiceDescriptor in PMT. + CcDescriptor *string `locationName:"ccDescriptor" type:"string" enum:"M2tsCcDescriptor"` + + // Inserts DVB Network Information Table (NIT) at the specified table repetition + // interval. + DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"` + + // Inserts DVB Service Description Table (SDT) at the specified table repetition + // interval. + DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"` + + // 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). + DvbSubPids *string `locationName:"dvbSubPids" type:"string"` + + // Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. + DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"` + + // 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). + DvbTeletextPid *string `locationName:"dvbTeletextPid" type:"string"` + + // If set to passthrough, passes any EBIF data from the input source to this + // output. + Ebif *string `locationName:"ebif" type:"string" enum:"M2tsEbifControl"` + + // 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. + EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsAudioInterval"` + + // 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. + EbpLookaheadMs *int64 `locationName:"ebpLookaheadMs" type:"integer"` + + // 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. + EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"` + + // This field is unused and deprecated. + EcmPid *string `locationName:"ecmPid" type:"string"` + + // Include or exclude the ES Rate field in the PES header. + EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"` + + // 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). + EtvPlatformPid *string `locationName:"etvPlatformPid" type:"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). + EtvSignalPid *string `locationName:"etvSignalPid" type:"string"` + + // The length in seconds of each fragment. Only used with EBP markers. + FragmentTime *float64 `locationName:"fragmentTime" type:"double"` + + // If set to passthrough, passes any KLV data from the input source to this + // output. + Klv *string `locationName:"klv" type:"string" enum:"M2tsKlv"` + + // 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). + KlvDataPids *string `locationName:"klvDataPids" type:"string"` + + // If set to passthrough, Nielsen inaudible tones for media tracking will be + // detected in the input audio and an equivalent ID3 tag will be inserted in + // the output. + NielsenId3Behavior *string `locationName:"nielsenId3Behavior" type:"string" enum:"M2tsNielsenId3Behavior"` + + // 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. + NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"` + + // The number of milliseconds between instances of this table in the output + // transport stream. Valid values are 0, 10..1000. + PatInterval *int64 `locationName:"patInterval" type:"integer"` + + // 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. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"` + + // Maximum time in milliseconds between Program Clock Reference (PCRs) inserted + // into the transport stream. + PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + + // 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). + PcrPid *string `locationName:"pcrPid" type:"string"` + + // The number of milliseconds between instances of this table in the output + // transport stream. Valid values are 0, 10..1000. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + + // 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). + PmtPid *string `locationName:"pmtPid" type:"string"` + + // The value of the program number field in the Program Map Table. + ProgramNum *int64 `locationName:"programNum" type:"integer"` + + // 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. + RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"` + + // 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). + Scte27Pids *string `locationName:"scte27Pids" type:"string"` + + // Optionally pass SCTE-35 signals from the input source to this output. + Scte35Control *string `locationName:"scte35Control" type:"string" enum:"M2tsScte35Control"` + + // 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). + Scte35Pid *string `locationName:"scte35Pid" type:"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. + SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *KeyProviderSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} - if s.StaticKeySettings != nil { - if err := s.StaticKeySettings.Validate(); err != nil { - invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) - } - } + // 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. + SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The length in seconds of each segment. Required unless markers is set to + // None_. + SegmentationTime *float64 `locationName:"segmentationTime" type:"double"` -// SetStaticKeySettings sets the StaticKeySettings field's value. -func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { - s.StaticKeySettings = v - return s -} + // When set to passthrough, timed metadata will be passed through from input + // to output. + TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M2tsTimedMetadataBehavior"` -type ListChannelsInput struct { - _ struct{} `type:"structure"` + // 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). + TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The value of the transport stream ID field in the Program Map Table. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"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). + VideoPid *string `locationName:"videoPid" type:"string"` } // String returns the string representation -func (s ListChannelsInput) String() string { +func (s M2tsSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListChannelsInput) GoString() string { +func (s M2tsSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListChannelsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *M2tsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"} + if s.DvbNitSettings != nil { + if err := s.DvbNitSettings.Validate(); err != nil { + invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSdtSettings != nil { + if err := s.DvbSdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbTdtSettings != nil { + if err := s.DvbTdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11973,790 +14844,763 @@ func (s *ListChannelsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { - s.MaxResults = &v +// SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value. +func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings { + s.AbsentInputAudioBehavior = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { - s.NextToken = &v +// SetArib sets the Arib field's value. +func (s *M2tsSettings) SetArib(v string) *M2tsSettings { + s.Arib = &v return s } -type ListChannelsOutput struct { - _ struct{} `type:"structure"` - - Channels []*ChannelSummary `locationName:"channels" type:"list"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetAribCaptionsPid sets the AribCaptionsPid field's value. +func (s *M2tsSettings) SetAribCaptionsPid(v string) *M2tsSettings { + s.AribCaptionsPid = &v + return s } -// String returns the string representation -func (s ListChannelsOutput) String() string { - return awsutil.Prettify(s) +// SetAribCaptionsPidControl sets the AribCaptionsPidControl field's value. +func (s *M2tsSettings) SetAribCaptionsPidControl(v string) *M2tsSettings { + s.AribCaptionsPidControl = &v + return s } -// GoString returns the string representation -func (s ListChannelsOutput) GoString() string { - return s.String() +// SetAudioBufferModel sets the AudioBufferModel field's value. +func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings { + s.AudioBufferModel = &v + return s } -// SetChannels sets the Channels field's value. -func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput { - s.Channels = v +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings { + s.AudioFramesPerPes = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { - s.NextToken = &v +// SetAudioPids sets the AudioPids field's value. +func (s *M2tsSettings) SetAudioPids(v string) *M2tsSettings { + s.AudioPids = &v return s } -type ListInputSecurityGroupsInput struct { - _ struct{} `type:"structure"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// SetAudioStreamType sets the AudioStreamType field's value. +func (s *M2tsSettings) SetAudioStreamType(v string) *M2tsSettings { + s.AudioStreamType = &v + return s } -// String returns the string representation -func (s ListInputSecurityGroupsInput) String() string { - return awsutil.Prettify(s) +// SetBitrate sets the Bitrate field's value. +func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings { + s.Bitrate = &v + return s } -// GoString returns the string representation -func (s ListInputSecurityGroupsInput) GoString() string { - return s.String() +// SetBufferModel sets the BufferModel field's value. +func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings { + s.BufferModel = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListInputSecurityGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInputSecurityGroupsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCcDescriptor sets the CcDescriptor field's value. +func (s *M2tsSettings) SetCcDescriptor(v string) *M2tsSettings { + s.CcDescriptor = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListInputSecurityGroupsInput) SetMaxResults(v int64) *ListInputSecurityGroupsInput { - s.MaxResults = &v +// SetDvbNitSettings sets the DvbNitSettings field's value. +func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings { + s.DvbNitSettings = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputSecurityGroupsInput) SetNextToken(v string) *ListInputSecurityGroupsInput { - s.NextToken = &v +// SetDvbSdtSettings sets the DvbSdtSettings field's value. +func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings { + s.DvbSdtSettings = v return s } -type ListInputSecurityGroupsOutput struct { - _ struct{} `type:"structure"` - - InputSecurityGroups []*InputSecurityGroup `locationName:"inputSecurityGroups" type:"list"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetDvbSubPids sets the DvbSubPids field's value. +func (s *M2tsSettings) SetDvbSubPids(v string) *M2tsSettings { + s.DvbSubPids = &v + return s } -// String returns the string representation -func (s ListInputSecurityGroupsOutput) String() string { - return awsutil.Prettify(s) +// SetDvbTdtSettings sets the DvbTdtSettings field's value. +func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings { + s.DvbTdtSettings = v + return s } -// GoString returns the string representation -func (s ListInputSecurityGroupsOutput) GoString() string { - return s.String() +// SetDvbTeletextPid sets the DvbTeletextPid field's value. +func (s *M2tsSettings) SetDvbTeletextPid(v string) *M2tsSettings { + s.DvbTeletextPid = &v + return s } -// SetInputSecurityGroups sets the InputSecurityGroups field's value. -func (s *ListInputSecurityGroupsOutput) SetInputSecurityGroups(v []*InputSecurityGroup) *ListInputSecurityGroupsOutput { - s.InputSecurityGroups = v +// SetEbif sets the Ebif field's value. +func (s *M2tsSettings) SetEbif(v string) *M2tsSettings { + s.Ebif = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputSecurityGroupsOutput) SetNextToken(v string) *ListInputSecurityGroupsOutput { - s.NextToken = &v +// SetEbpAudioInterval sets the EbpAudioInterval field's value. +func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings { + s.EbpAudioInterval = &v return s } -type ListInputsInput struct { - _ struct{} `type:"structure"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// SetEbpLookaheadMs sets the EbpLookaheadMs field's value. +func (s *M2tsSettings) SetEbpLookaheadMs(v int64) *M2tsSettings { + s.EbpLookaheadMs = &v + return s } -// String returns the string representation -func (s ListInputsInput) String() string { - return awsutil.Prettify(s) +// SetEbpPlacement sets the EbpPlacement field's value. +func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings { + s.EbpPlacement = &v + return s } -// GoString returns the string representation -func (s ListInputsInput) GoString() string { - return s.String() +// SetEcmPid sets the EcmPid field's value. +func (s *M2tsSettings) SetEcmPid(v string) *M2tsSettings { + s.EcmPid = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListInputsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEsRateInPes sets the EsRateInPes field's value. +func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings { + s.EsRateInPes = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput { - s.MaxResults = &v +// SetEtvPlatformPid sets the EtvPlatformPid field's value. +func (s *M2tsSettings) SetEtvPlatformPid(v string) *M2tsSettings { + s.EtvPlatformPid = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput { - s.NextToken = &v +// SetEtvSignalPid sets the EtvSignalPid field's value. +func (s *M2tsSettings) SetEtvSignalPid(v string) *M2tsSettings { + s.EtvSignalPid = &v return s } -type ListInputsOutput struct { - _ struct{} `type:"structure"` - - Inputs []*Input `locationName:"inputs" type:"list"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetFragmentTime sets the FragmentTime field's value. +func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings { + s.FragmentTime = &v + return s } -// String returns the string representation -func (s ListInputsOutput) String() string { - return awsutil.Prettify(s) +// SetKlv sets the Klv field's value. +func (s *M2tsSettings) SetKlv(v string) *M2tsSettings { + s.Klv = &v + return s } -// GoString returns the string representation -func (s ListInputsOutput) GoString() string { - return s.String() +// SetKlvDataPids sets the KlvDataPids field's value. +func (s *M2tsSettings) SetKlvDataPids(v string) *M2tsSettings { + s.KlvDataPids = &v + return s } -// SetInputs sets the Inputs field's value. -func (s *ListInputsOutput) SetInputs(v []*Input) *ListInputsOutput { - s.Inputs = v +// SetNielsenId3Behavior sets the NielsenId3Behavior field's value. +func (s *M2tsSettings) SetNielsenId3Behavior(v string) *M2tsSettings { + s.NielsenId3Behavior = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput { - s.NextToken = &v +// SetNullPacketBitrate sets the NullPacketBitrate field's value. +func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings { + s.NullPacketBitrate = &v return s } -type ListOfferingsInput struct { - _ struct{} `type:"structure"` - - ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"` - - ChannelConfiguration *string `location:"querystring" locationName:"channelConfiguration" type:"string"` - - Codec *string `location:"querystring" locationName:"codec" type:"string"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` - - MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - - Resolution *string `location:"querystring" locationName:"resolution" type:"string"` - - ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` +// SetPatInterval sets the PatInterval field's value. +func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings { + s.PatInterval = &v + return s +} - SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` +// SetPcrControl sets the PcrControl field's value. +func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings { + s.PcrControl = &v + return s +} - VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` +// SetPcrPeriod sets the PcrPeriod field's value. +func (s *M2tsSettings) SetPcrPeriod(v int64) *M2tsSettings { + s.PcrPeriod = &v + return s } -// String returns the string representation -func (s ListOfferingsInput) String() string { - return awsutil.Prettify(s) +// SetPcrPid sets the PcrPid field's value. +func (s *M2tsSettings) SetPcrPid(v string) *M2tsSettings { + s.PcrPid = &v + return s } -// GoString returns the string representation -func (s ListOfferingsInput) GoString() string { - return s.String() +// SetPmtInterval sets the PmtInterval field's value. +func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings { + s.PmtInterval = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListOfferingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +// SetPmtPid sets the PmtPid field's value. +func (s *M2tsSettings) SetPmtPid(v string) *M2tsSettings { + s.PmtPid = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetProgramNum sets the ProgramNum field's value. +func (s *M2tsSettings) SetProgramNum(v int64) *M2tsSettings { + s.ProgramNum = &v + return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *ListOfferingsInput) SetChannelClass(v string) *ListOfferingsInput { - s.ChannelClass = &v +// SetRateMode sets the RateMode field's value. +func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings { + s.RateMode = &v return s } -// SetChannelConfiguration sets the ChannelConfiguration field's value. -func (s *ListOfferingsInput) SetChannelConfiguration(v string) *ListOfferingsInput { - s.ChannelConfiguration = &v +// SetScte27Pids sets the Scte27Pids field's value. +func (s *M2tsSettings) SetScte27Pids(v string) *M2tsSettings { + s.Scte27Pids = &v return s } -// SetCodec sets the Codec field's value. -func (s *ListOfferingsInput) SetCodec(v string) *ListOfferingsInput { - s.Codec = &v +// SetScte35Control sets the Scte35Control field's value. +func (s *M2tsSettings) SetScte35Control(v string) *M2tsSettings { + s.Scte35Control = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput { - s.MaxResults = &v +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M2tsSettings) SetScte35Pid(v string) *M2tsSettings { + s.Scte35Pid = &v return s } -// SetMaximumBitrate sets the MaximumBitrate field's value. -func (s *ListOfferingsInput) SetMaximumBitrate(v string) *ListOfferingsInput { - s.MaximumBitrate = &v +// SetSegmentationMarkers sets the SegmentationMarkers field's value. +func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings { + s.SegmentationMarkers = &v return s } -// SetMaximumFramerate sets the MaximumFramerate field's value. -func (s *ListOfferingsInput) SetMaximumFramerate(v string) *ListOfferingsInput { - s.MaximumFramerate = &v +// SetSegmentationStyle sets the SegmentationStyle field's value. +func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings { + s.SegmentationStyle = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput { - s.NextToken = &v +// SetSegmentationTime sets the SegmentationTime field's value. +func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings { + s.SegmentationTime = &v return s } -// SetResolution sets the Resolution field's value. -func (s *ListOfferingsInput) SetResolution(v string) *ListOfferingsInput { - s.Resolution = &v +// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. +func (s *M2tsSettings) SetTimedMetadataBehavior(v string) *M2tsSettings { + s.TimedMetadataBehavior = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *ListOfferingsInput) SetResourceType(v string) *ListOfferingsInput { - s.ResourceType = &v +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M2tsSettings) SetTimedMetadataPid(v string) *M2tsSettings { + s.TimedMetadataPid = &v return s } -// SetSpecialFeature sets the SpecialFeature field's value. -func (s *ListOfferingsInput) SetSpecialFeature(v string) *ListOfferingsInput { - s.SpecialFeature = &v +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings { + s.TransportStreamId = &v return s } -// SetVideoQuality sets the VideoQuality field's value. -func (s *ListOfferingsInput) SetVideoQuality(v string) *ListOfferingsInput { - s.VideoQuality = &v +// SetVideoPid sets the VideoPid field's value. +func (s *M2tsSettings) SetVideoPid(v string) *M2tsSettings { + s.VideoPid = &v return s } -type ListOfferingsOutput struct { +// Settings information for the .m3u8 container +type M3u8Settings struct { _ struct{} `type:"structure"` - NextToken *string `locationName:"nextToken" type:"string"` + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` - Offerings []*Offering `locationName:"offerings" type:"list"` -} + // 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. + AudioPids *string `locationName:"audioPids" type:"string"` -// String returns the string representation -func (s ListOfferingsOutput) String() string { - return awsutil.Prettify(s) -} + // This parameter is unused and deprecated. + EcmPid *string `locationName:"ecmPid" type:"string"` -// GoString returns the string representation -func (s ListOfferingsOutput) GoString() string { - return s.String() -} + // If set to passthrough, Nielsen inaudible tones for media tracking will be + // detected in the input audio and an equivalent ID3 tag will be inserted in + // the output. + NielsenId3Behavior *string `locationName:"nielsenId3Behavior" type:"string" enum:"M3u8NielsenId3Behavior"` -// SetNextToken sets the NextToken field's value. -func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput { - s.NextToken = &v - return s -} + // 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. + PatInterval *int64 `locationName:"patInterval" type:"integer"` -// SetOfferings sets the Offerings field's value. -func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput { - s.Offerings = v - return s -} + // 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. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"` -type ListReservationsInput struct { - _ struct{} `type:"structure"` + // Maximum time in milliseconds between Program Clock References (PCRs) inserted + // into the transport stream. + PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` - ChannelClass *string `location:"querystring" locationName:"channelClass" type:"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. + PcrPid *string `locationName:"pcrPid" type:"string"` - Codec *string `location:"querystring" locationName:"codec" type:"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. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // Packet Identifier (PID) for the Program Map Table (PMT) in the transport + // stream. Can be entered as a decimal or hexadecimal value. + PmtPid *string `locationName:"pmtPid" type:"string"` - MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` + // The value of the program number field in the Program Map Table. + ProgramNum *int64 `locationName:"programNum" type:"integer"` - MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` + // If set to passthrough, passes any SCTE-35 signals from the input source to + // this output. + Scte35Behavior *string `locationName:"scte35Behavior" type:"string" enum:"M3u8Scte35Behavior"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can + // be entered as a decimal or hexadecimal value. + Scte35Pid *string `locationName:"scte35Pid" type:"string"` - Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + // When set to passthrough, timed metadata is passed through from input to output. + TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M3u8TimedMetadataBehavior"` - ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + // 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). + TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` - SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + // The value of the transport stream ID field in the Program Map Table. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` - VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` + // Packet Identifier (PID) of the elementary video stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. + VideoPid *string `locationName:"videoPid" type:"string"` } // String returns the string representation -func (s ListReservationsInput) String() string { +func (s M3u8Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReservationsInput) GoString() string { +func (s M3u8Settings) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListReservationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings { + s.AudioFramesPerPes = &v + return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *ListReservationsInput) SetChannelClass(v string) *ListReservationsInput { - s.ChannelClass = &v +// SetAudioPids sets the AudioPids field's value. +func (s *M3u8Settings) SetAudioPids(v string) *M3u8Settings { + s.AudioPids = &v return s } -// SetCodec sets the Codec field's value. -func (s *ListReservationsInput) SetCodec(v string) *ListReservationsInput { - s.Codec = &v +// SetEcmPid sets the EcmPid field's value. +func (s *M3u8Settings) SetEcmPid(v string) *M3u8Settings { + s.EcmPid = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput { - s.MaxResults = &v +// SetNielsenId3Behavior sets the NielsenId3Behavior field's value. +func (s *M3u8Settings) SetNielsenId3Behavior(v string) *M3u8Settings { + s.NielsenId3Behavior = &v return s } -// SetMaximumBitrate sets the MaximumBitrate field's value. -func (s *ListReservationsInput) SetMaximumBitrate(v string) *ListReservationsInput { - s.MaximumBitrate = &v +// SetPatInterval sets the PatInterval field's value. +func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings { + s.PatInterval = &v return s } -// SetMaximumFramerate sets the MaximumFramerate field's value. -func (s *ListReservationsInput) SetMaximumFramerate(v string) *ListReservationsInput { - s.MaximumFramerate = &v +// SetPcrControl sets the PcrControl field's value. +func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings { + s.PcrControl = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput { - s.NextToken = &v +// SetPcrPeriod sets the PcrPeriod field's value. +func (s *M3u8Settings) SetPcrPeriod(v int64) *M3u8Settings { + s.PcrPeriod = &v return s } -// SetResolution sets the Resolution field's value. -func (s *ListReservationsInput) SetResolution(v string) *ListReservationsInput { - s.Resolution = &v +// SetPcrPid sets the PcrPid field's value. +func (s *M3u8Settings) SetPcrPid(v string) *M3u8Settings { + s.PcrPid = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *ListReservationsInput) SetResourceType(v string) *ListReservationsInput { - s.ResourceType = &v +// SetPmtInterval sets the PmtInterval field's value. +func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings { + s.PmtInterval = &v return s } -// SetSpecialFeature sets the SpecialFeature field's value. -func (s *ListReservationsInput) SetSpecialFeature(v string) *ListReservationsInput { - s.SpecialFeature = &v +// SetPmtPid sets the PmtPid field's value. +func (s *M3u8Settings) SetPmtPid(v string) *M3u8Settings { + s.PmtPid = &v return s } -// SetVideoQuality sets the VideoQuality field's value. -func (s *ListReservationsInput) SetVideoQuality(v string) *ListReservationsInput { - s.VideoQuality = &v +// SetProgramNum sets the ProgramNum field's value. +func (s *M3u8Settings) SetProgramNum(v int64) *M3u8Settings { + s.ProgramNum = &v return s } -type ListReservationsOutput struct { - _ struct{} `type:"structure"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetScte35Behavior sets the Scte35Behavior field's value. +func (s *M3u8Settings) SetScte35Behavior(v string) *M3u8Settings { + s.Scte35Behavior = &v + return s +} - Reservations []*Reservation `locationName:"reservations" type:"list"` +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M3u8Settings) SetScte35Pid(v string) *M3u8Settings { + s.Scte35Pid = &v + return s } -// String returns the string representation -func (s ListReservationsOutput) String() string { - return awsutil.Prettify(s) +// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. +func (s *M3u8Settings) SetTimedMetadataBehavior(v string) *M3u8Settings { + s.TimedMetadataBehavior = &v + return s } -// GoString returns the string representation -func (s ListReservationsOutput) GoString() string { - return s.String() +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M3u8Settings) SetTimedMetadataPid(v string) *M3u8Settings { + s.TimedMetadataPid = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput { - s.NextToken = &v +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings { + s.TransportStreamId = &v return s } -// SetReservations sets the Reservations field's value. -func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput { - s.Reservations = v +// SetVideoPid sets the VideoPid field's value. +func (s *M3u8Settings) SetVideoPid(v string) *M3u8Settings { + s.VideoPid = &v return s } -type ListTagsForResourceInput struct { +// The settings for a MediaConnect Flow. +type MediaConnectFlow struct { _ struct{} `type:"structure"` - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + // The unique ARN of the MediaConnect Flow being used as a source. + FlowArn *string `locationName:"flowArn" type:"string"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s MediaConnectFlow) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s MediaConnectFlow) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetFlowArn sets the FlowArn field's value. +func (s *MediaConnectFlow) SetFlowArn(v string) *MediaConnectFlow { + s.FlowArn = &v return s } -type ListTagsForResourceOutput struct { +// The settings for a MediaConnect Flow. +type MediaConnectFlowRequest struct { _ struct{} `type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` + // The ARN of the MediaConnect Flow that you want to use as a source. + FlowArn *string `locationName:"flowArn" type:"string"` } // String returns the string representation -func (s ListTagsForResourceOutput) String() string { +func (s MediaConnectFlowRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { +func (s MediaConnectFlowRequest) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { - s.Tags = v +// SetFlowArn sets the FlowArn field's value. +func (s *MediaConnectFlowRequest) SetFlowArn(v string) *MediaConnectFlowRequest { + s.FlowArn = &v return s } -// M2ts Settings -type M2tsSettings struct { +// Media Package Group Settings +type MediaPackageGroupSettings struct { _ struct{} `type:"structure"` - // 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. - AbsentInputAudioBehavior *string `locationName:"absentInputAudioBehavior" type:"string" enum:"M2tsAbsentInputAudioBehavior"` - - // When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. - Arib *string `locationName:"arib" type:"string" enum:"M2tsArib"` - - // 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). - AribCaptionsPid *string `locationName:"aribCaptionsPid" type:"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. - AribCaptionsPidControl *string `locationName:"aribCaptionsPidControl" type:"string" enum:"M2tsAribCaptionsPidControl"` + // MediaPackage channel destination. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +} - // When set to dvb, uses DVB buffer model for Dolby Digital audio. When set - // to atsc, the ATSC model is used. - AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"` +// String returns the string representation +func (s MediaPackageGroupSettings) String() string { + return awsutil.Prettify(s) +} - // The number of audio frames to insert for each PES packet. - AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` +// GoString returns the string representation +func (s MediaPackageGroupSettings) GoString() string { + return s.String() +} - // 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). - AudioPids *string `locationName:"audioPids" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MediaPackageGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MediaPackageGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } - // When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 - // for EAC3. When set to dvb, uses stream type = 0x06. - AudioStreamType *string `locationName:"audioStreamType" type:"string" enum:"M2tsAudioStreamType"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The output bitrate of the transport stream in bits per second. Setting to - // 0 lets the muxer automatically determine the appropriate bitrate. - Bitrate *int64 `locationName:"bitrate" type:"integer"` +// SetDestination sets the Destination field's value. +func (s *MediaPackageGroupSettings) SetDestination(v *OutputLocationRef) *MediaPackageGroupSettings { + s.Destination = v + return s +} - // 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. - BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"` +// MediaPackage Output Destination Settings +type MediaPackageOutputDestinationSettings struct { + _ struct{} `type:"structure"` - // When set to enabled, generates captionServiceDescriptor in PMT. - CcDescriptor *string `locationName:"ccDescriptor" type:"string" enum:"M2tsCcDescriptor"` + // ID of the channel in MediaPackage that is the destination for this output + // group. You do not need to specify the individual inputs in MediaPackage; + // MediaLive will handle the connection of the two MediaLive pipelines to the + // two MediaPackage inputs. The MediaPackage channel and MediaLive channel must + // be in the same region. + ChannelId *string `locationName:"channelId" min:"1" type:"string"` +} - // Inserts DVB Network Information Table (NIT) at the specified table repetition - // interval. - DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"` +// String returns the string representation +func (s MediaPackageOutputDestinationSettings) String() string { + return awsutil.Prettify(s) +} - // Inserts DVB Service Description Table (SDT) at the specified table repetition - // interval. - DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"` +// GoString returns the string representation +func (s MediaPackageOutputDestinationSettings) GoString() string { + return s.String() +} - // 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). - DvbSubPids *string `locationName:"dvbSubPids" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MediaPackageOutputDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MediaPackageOutputDestinationSettings"} + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } - // Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. - DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // 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). - DvbTeletextPid *string `locationName:"dvbTeletextPid" type:"string"` +// SetChannelId sets the ChannelId field's value. +func (s *MediaPackageOutputDestinationSettings) SetChannelId(v string) *MediaPackageOutputDestinationSettings { + s.ChannelId = &v + return s +} - // If set to passthrough, passes any EBIF data from the input source to this - // output. - Ebif *string `locationName:"ebif" type:"string" enum:"M2tsEbifControl"` +// Media Package Output Settings +type MediaPackageOutputSettings struct { + _ struct{} `type:"structure"` +} - // 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. - EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsAudioInterval"` +// String returns the string representation +func (s MediaPackageOutputSettings) String() string { + return awsutil.Prettify(s) +} - // 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. - EbpLookaheadMs *int64 `locationName:"ebpLookaheadMs" type:"integer"` +// GoString returns the string representation +func (s MediaPackageOutputSettings) GoString() string { + return s.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. - EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"` +// Mp2 Settings +type Mp2Settings struct { + _ struct{} `type:"structure"` - // This field is unused and deprecated. - EcmPid *string `locationName:"ecmPid" type:"string"` + // Average bitrate in bits/second. + Bitrate *float64 `locationName:"bitrate" type:"double"` - // Include or exclude the ES Rate field in the PES header. - EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"` + // The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or + // codingMode20 (for stereo). + CodingMode *string `locationName:"codingMode" type:"string" enum:"Mp2CodingMode"` - // 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). - EtvPlatformPid *string `locationName:"etvPlatformPid" type:"string"` + // Sample rate in Hz. + SampleRate *float64 `locationName:"sampleRate" type:"double"` +} - // 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). - EtvSignalPid *string `locationName:"etvSignalPid" type:"string"` +// String returns the string representation +func (s Mp2Settings) String() string { + return awsutil.Prettify(s) +} - // The length in seconds of each fragment. Only used with EBP markers. - FragmentTime *float64 `locationName:"fragmentTime" type:"double"` +// GoString returns the string representation +func (s Mp2Settings) GoString() string { + return s.String() +} - // If set to passthrough, passes any KLV data from the input source to this - // output. - Klv *string `locationName:"klv" type:"string" enum:"M2tsKlv"` +// SetBitrate sets the Bitrate field's value. +func (s *Mp2Settings) SetBitrate(v float64) *Mp2Settings { + s.Bitrate = &v + return s +} - // 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). - KlvDataPids *string `locationName:"klvDataPids" type:"string"` +// SetCodingMode sets the CodingMode field's value. +func (s *Mp2Settings) SetCodingMode(v string) *Mp2Settings { + s.CodingMode = &v + return s +} - // 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. - NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"` +// SetSampleRate sets the SampleRate field's value. +func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings { + s.SampleRate = &v + return s +} - // The number of milliseconds between instances of this table in the output - // transport stream. Valid values are 0, 10..1000. - PatInterval *int64 `locationName:"patInterval" type:"integer"` +// Ms Smooth Group Settings +type MsSmoothGroupSettings struct { + _ struct{} `type:"structure"` - // 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. - PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"` + // The value of the "Acquisition Point Identity" element used in each message + // placed in the sparse track. Only enabled if sparseTrackType is not "none". + AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"` - // Maximum time in milliseconds between Program Clock Reference (PCRs) inserted - // into the transport stream. - PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + // 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. + AudioOnlyTimecodeControl *string `locationName:"audioOnlyTimecodeControl" type:"string" enum:"SmoothGroupAudioOnlyTimecodeControl"` - // 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). - PcrPid *string `locationName:"pcrPid" type:"string"` + // 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. + CertificateMode *string `locationName:"certificateMode" type:"string" enum:"SmoothGroupCertificateMode"` - // The number of milliseconds between instances of this table in the output - // transport stream. Valid values are 0, 10..1000. - PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + // 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. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` - // 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). - PmtPid *string `locationName:"pmtPid" type:"string"` + // Smooth Streaming publish point on an IIS server. Elemental Live acts as a + // "Push" encoder to IIS. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` - // The value of the program number field in the Program Map Table. - ProgramNum *int64 `locationName:"programNum" type:"integer"` + // MS Smooth event ID to be sent to the IIS server.Should only be specified + // if eventIdMode is set to useConfigured. + EventId *string `locationName:"eventId" type:"string"` - // 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. - RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"` + // 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. + EventIdMode *string `locationName:"eventIdMode" type:"string" enum:"SmoothGroupEventIdMode"` - // 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). - Scte27Pids *string `locationName:"scte27Pids" type:"string"` + // When set to sendEos, send EOS signal to IIS server when stopping the event + EventStopBehavior *string `locationName:"eventStopBehavior" type:"string" enum:"SmoothGroupEventStopBehavior"` - // Optionally pass SCTE-35 signals from the input source to this output. - Scte35Control *string `locationName:"scte35Control" type:"string" enum:"M2tsScte35Control"` + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` - // 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). - Scte35Pid *string `locationName:"scte35Pid" type:"string"` + // Length of mp4 fragments to generate (in seconds). Fragment length must be + // compatible with GOP size and framerate. + FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` - // 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. - SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"` + // Parameter that control output group behavior on input loss. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"` - // 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. - SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"` + // Number of retry attempts. + NumRetries *int64 `locationName:"numRetries" type:"integer"` - // The length in seconds of each segment. Required unless markers is set to - // None_. - SegmentationTime *float64 `locationName:"segmentationTime" type:"double"` + // Number of seconds before initiating a restart due to output failure, due + // to exhausting the numRetries on one segment, or exceeding filecacheDuration. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` - // When set to passthrough, timed metadata will be passed through from input - // to output. - TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M2tsTimedMetadataBehavior"` + // useInputSegmentation has been deprecated. The configured segment size is + // always used. + SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"SmoothGroupSegmentationMode"` - // 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). - TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` + // Number of milliseconds to delay the output from the second pipeline. + SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"` - // The value of the transport stream ID field in the Program Map Table. - TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + // If set to scte35, use incoming SCTE-35 messages to generate a sparse track + // in this group of MS-Smooth outputs. + SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"` + + // When set to send, send stream manifest so publishing point doesn't start + // until all streams start. + StreamManifestBehavior *string `locationName:"streamManifestBehavior" type:"string" enum:"SmoothGroupStreamManifestBehavior"` - // 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). - VideoPid *string `locationName:"videoPid" type:"string"` + // Timestamp offset for the event. Only used if timestampOffsetMode is set to + // useConfiguredOffset. + TimestampOffset *string `locationName:"timestampOffset" type:"string"` + + // 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 + TimestampOffsetMode *string `locationName:"timestampOffsetMode" type:"string" enum:"SmoothGroupTimestampOffsetMode"` } // String returns the string representation -func (s M2tsSettings) String() string { +func (s MsSmoothGroupSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s M2tsSettings) GoString() string { +func (s MsSmoothGroupSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *M2tsSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"} - if s.DvbNitSettings != nil { - if err := s.DvbNitSettings.Validate(); err != nil { - invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams)) - } - } - if s.DvbSdtSettings != nil { - if err := s.DvbSdtSettings.Validate(); err != nil { - invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams)) - } +func (s *MsSmoothGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) } - if s.DvbTdtSettings != nil { - if err := s.DvbTdtSettings.Validate(); err != nil { - invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams)) - } + if s.FragmentLength != nil && *s.FragmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) } if invalidParams.Len() > 0 { @@ -12765,529 +15609,619 @@ func (s *M2tsSettings) Validate() error { return nil } -// SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value. -func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings { - s.AbsentInputAudioBehavior = &v +// SetAcquisitionPointId sets the AcquisitionPointId field's value. +func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings { + s.AcquisitionPointId = &v return s } -// SetArib sets the Arib field's value. -func (s *M2tsSettings) SetArib(v string) *M2tsSettings { - s.Arib = &v +// SetAudioOnlyTimecodeControl sets the AudioOnlyTimecodeControl field's value. +func (s *MsSmoothGroupSettings) SetAudioOnlyTimecodeControl(v string) *MsSmoothGroupSettings { + s.AudioOnlyTimecodeControl = &v return s } -// SetAribCaptionsPid sets the AribCaptionsPid field's value. -func (s *M2tsSettings) SetAribCaptionsPid(v string) *M2tsSettings { - s.AribCaptionsPid = &v +// SetCertificateMode sets the CertificateMode field's value. +func (s *MsSmoothGroupSettings) SetCertificateMode(v string) *MsSmoothGroupSettings { + s.CertificateMode = &v return s } -// SetAribCaptionsPidControl sets the AribCaptionsPidControl field's value. -func (s *M2tsSettings) SetAribCaptionsPidControl(v string) *M2tsSettings { - s.AribCaptionsPidControl = &v +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *MsSmoothGroupSettings) SetConnectionRetryInterval(v int64) *MsSmoothGroupSettings { + s.ConnectionRetryInterval = &v return s } -// SetAudioBufferModel sets the AudioBufferModel field's value. -func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings { - s.AudioBufferModel = &v +// SetDestination sets the Destination field's value. +func (s *MsSmoothGroupSettings) SetDestination(v *OutputLocationRef) *MsSmoothGroupSettings { + s.Destination = v return s } -// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. -func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings { - s.AudioFramesPerPes = &v +// SetEventId sets the EventId field's value. +func (s *MsSmoothGroupSettings) SetEventId(v string) *MsSmoothGroupSettings { + s.EventId = &v return s } -// SetAudioPids sets the AudioPids field's value. -func (s *M2tsSettings) SetAudioPids(v string) *M2tsSettings { - s.AudioPids = &v +// SetEventIdMode sets the EventIdMode field's value. +func (s *MsSmoothGroupSettings) SetEventIdMode(v string) *MsSmoothGroupSettings { + s.EventIdMode = &v return s } -// SetAudioStreamType sets the AudioStreamType field's value. -func (s *M2tsSettings) SetAudioStreamType(v string) *M2tsSettings { - s.AudioStreamType = &v +// SetEventStopBehavior sets the EventStopBehavior field's value. +func (s *MsSmoothGroupSettings) SetEventStopBehavior(v string) *MsSmoothGroupSettings { + s.EventStopBehavior = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings { - s.Bitrate = &v +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *MsSmoothGroupSettings) SetFilecacheDuration(v int64) *MsSmoothGroupSettings { + s.FilecacheDuration = &v return s } -// SetBufferModel sets the BufferModel field's value. -func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings { - s.BufferModel = &v +// SetFragmentLength sets the FragmentLength field's value. +func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings { + s.FragmentLength = &v return s } -// SetCcDescriptor sets the CcDescriptor field's value. -func (s *M2tsSettings) SetCcDescriptor(v string) *M2tsSettings { - s.CcDescriptor = &v +// SetInputLossAction sets the InputLossAction field's value. +func (s *MsSmoothGroupSettings) SetInputLossAction(v string) *MsSmoothGroupSettings { + s.InputLossAction = &v return s } -// SetDvbNitSettings sets the DvbNitSettings field's value. -func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings { - s.DvbNitSettings = v +// SetNumRetries sets the NumRetries field's value. +func (s *MsSmoothGroupSettings) SetNumRetries(v int64) *MsSmoothGroupSettings { + s.NumRetries = &v return s } -// SetDvbSdtSettings sets the DvbSdtSettings field's value. -func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings { - s.DvbSdtSettings = v +// SetRestartDelay sets the RestartDelay field's value. +func (s *MsSmoothGroupSettings) SetRestartDelay(v int64) *MsSmoothGroupSettings { + s.RestartDelay = &v return s } -// SetDvbSubPids sets the DvbSubPids field's value. -func (s *M2tsSettings) SetDvbSubPids(v string) *M2tsSettings { - s.DvbSubPids = &v +// SetSegmentationMode sets the SegmentationMode field's value. +func (s *MsSmoothGroupSettings) SetSegmentationMode(v string) *MsSmoothGroupSettings { + s.SegmentationMode = &v return s } -// SetDvbTdtSettings sets the DvbTdtSettings field's value. -func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings { - s.DvbTdtSettings = v +// SetSendDelayMs sets the SendDelayMs field's value. +func (s *MsSmoothGroupSettings) SetSendDelayMs(v int64) *MsSmoothGroupSettings { + s.SendDelayMs = &v return s } -// SetDvbTeletextPid sets the DvbTeletextPid field's value. -func (s *M2tsSettings) SetDvbTeletextPid(v string) *M2tsSettings { - s.DvbTeletextPid = &v +// SetSparseTrackType sets the SparseTrackType field's value. +func (s *MsSmoothGroupSettings) SetSparseTrackType(v string) *MsSmoothGroupSettings { + s.SparseTrackType = &v return s } -// SetEbif sets the Ebif field's value. -func (s *M2tsSettings) SetEbif(v string) *M2tsSettings { - s.Ebif = &v +// SetStreamManifestBehavior sets the StreamManifestBehavior field's value. +func (s *MsSmoothGroupSettings) SetStreamManifestBehavior(v string) *MsSmoothGroupSettings { + s.StreamManifestBehavior = &v return s } -// SetEbpAudioInterval sets the EbpAudioInterval field's value. -func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings { - s.EbpAudioInterval = &v +// SetTimestampOffset sets the TimestampOffset field's value. +func (s *MsSmoothGroupSettings) SetTimestampOffset(v string) *MsSmoothGroupSettings { + s.TimestampOffset = &v return s } -// SetEbpLookaheadMs sets the EbpLookaheadMs field's value. -func (s *M2tsSettings) SetEbpLookaheadMs(v int64) *M2tsSettings { - s.EbpLookaheadMs = &v +// SetTimestampOffsetMode sets the TimestampOffsetMode field's value. +func (s *MsSmoothGroupSettings) SetTimestampOffsetMode(v string) *MsSmoothGroupSettings { + s.TimestampOffsetMode = &v return s } -// SetEbpPlacement sets the EbpPlacement field's value. -func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings { - s.EbpPlacement = &v - return s -} +// Ms Smooth Output Settings +type MsSmoothOutputSettings struct { + _ struct{} `type:"structure"` -// SetEcmPid sets the EcmPid field's value. -func (s *M2tsSettings) SetEcmPid(v string) *M2tsSettings { - s.EcmPid = &v - return s -} + // Only applicable when this output is referencing an H.265 video description.Specifies + // whether MP4 segments should be packaged as HEV1 or HVC1. + H265PackagingType *string `locationName:"h265PackagingType" type:"string" enum:"MsSmoothH265PackagingType"` -// SetEsRateInPes sets the EsRateInPes field's value. -func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings { - s.EsRateInPes = &v - return s + // String concatenated to the end of the destination filename. Required for + // multiple outputs of the same type. + NameModifier *string `locationName:"nameModifier" type:"string"` } -// SetEtvPlatformPid sets the EtvPlatformPid field's value. -func (s *M2tsSettings) SetEtvPlatformPid(v string) *M2tsSettings { - s.EtvPlatformPid = &v - return s +// String returns the string representation +func (s MsSmoothOutputSettings) String() string { + return awsutil.Prettify(s) } -// SetEtvSignalPid sets the EtvSignalPid field's value. -func (s *M2tsSettings) SetEtvSignalPid(v string) *M2tsSettings { - s.EtvSignalPid = &v - return s +// GoString returns the string representation +func (s MsSmoothOutputSettings) GoString() string { + return s.String() } -// SetFragmentTime sets the FragmentTime field's value. -func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings { - s.FragmentTime = &v +// SetH265PackagingType sets the H265PackagingType field's value. +func (s *MsSmoothOutputSettings) SetH265PackagingType(v string) *MsSmoothOutputSettings { + s.H265PackagingType = &v return s } -// SetKlv sets the Klv field's value. -func (s *M2tsSettings) SetKlv(v string) *M2tsSettings { - s.Klv = &v +// SetNameModifier sets the NameModifier field's value. +func (s *MsSmoothOutputSettings) SetNameModifier(v string) *MsSmoothOutputSettings { + s.NameModifier = &v return s } -// SetKlvDataPids sets the KlvDataPids field's value. -func (s *M2tsSettings) SetKlvDataPids(v string) *M2tsSettings { - s.KlvDataPids = &v - return s -} +// The multiplex object. +type Multiplex struct { + _ struct{} `type:"structure"` -// SetNullPacketBitrate sets the NullPacketBitrate field's value. -func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings { - s.NullPacketBitrate = &v - return s + // The unique arn of the multiplex. + Arn *string `locationName:"arn" type:"string"` + + // A list of availability zones for the multiplex. + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + // A list of the multiplex output destinations. + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + // The unique id of the multiplex. + Id *string `locationName:"id" type:"string"` + + // Configuration for a multiplex event. + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + // The name of the multiplex. + Name *string `locationName:"name" type:"string"` + + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + // The number of programs in the multiplex. + ProgramCount *int64 `locationName:"programCount" type:"integer"` + + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } -// SetPatInterval sets the PatInterval field's value. -func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings { - s.PatInterval = &v - return s +// String returns the string representation +func (s Multiplex) String() string { + return awsutil.Prettify(s) } -// SetPcrControl sets the PcrControl field's value. -func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings { - s.PcrControl = &v - return s +// GoString returns the string representation +func (s Multiplex) GoString() string { + return s.String() } -// SetPcrPeriod sets the PcrPeriod field's value. -func (s *M2tsSettings) SetPcrPeriod(v int64) *M2tsSettings { - s.PcrPeriod = &v +// SetArn sets the Arn field's value. +func (s *Multiplex) SetArn(v string) *Multiplex { + s.Arn = &v return s } -// SetPcrPid sets the PcrPid field's value. -func (s *M2tsSettings) SetPcrPid(v string) *M2tsSettings { - s.PcrPid = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *Multiplex) SetAvailabilityZones(v []*string) *Multiplex { + s.AvailabilityZones = v return s } -// SetPmtInterval sets the PmtInterval field's value. -func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings { - s.PmtInterval = &v +// SetDestinations sets the Destinations field's value. +func (s *Multiplex) SetDestinations(v []*MultiplexOutputDestination) *Multiplex { + s.Destinations = v return s } -// SetPmtPid sets the PmtPid field's value. -func (s *M2tsSettings) SetPmtPid(v string) *M2tsSettings { - s.PmtPid = &v +// SetId sets the Id field's value. +func (s *Multiplex) SetId(v string) *Multiplex { + s.Id = &v return s } -// SetProgramNum sets the ProgramNum field's value. -func (s *M2tsSettings) SetProgramNum(v int64) *M2tsSettings { - s.ProgramNum = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *Multiplex) SetMultiplexSettings(v *MultiplexSettings) *Multiplex { + s.MultiplexSettings = v return s } -// SetRateMode sets the RateMode field's value. -func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings { - s.RateMode = &v +// SetName sets the Name field's value. +func (s *Multiplex) SetName(v string) *Multiplex { + s.Name = &v return s } -// SetScte27Pids sets the Scte27Pids field's value. -func (s *M2tsSettings) SetScte27Pids(v string) *M2tsSettings { - s.Scte27Pids = &v +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *Multiplex) SetPipelinesRunningCount(v int64) *Multiplex { + s.PipelinesRunningCount = &v return s } -// SetScte35Control sets the Scte35Control field's value. -func (s *M2tsSettings) SetScte35Control(v string) *M2tsSettings { - s.Scte35Control = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *Multiplex) SetProgramCount(v int64) *Multiplex { + s.ProgramCount = &v return s } -// SetScte35Pid sets the Scte35Pid field's value. -func (s *M2tsSettings) SetScte35Pid(v string) *M2tsSettings { - s.Scte35Pid = &v +// SetState sets the State field's value. +func (s *Multiplex) SetState(v string) *Multiplex { + s.State = &v return s } -// SetSegmentationMarkers sets the SegmentationMarkers field's value. -func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings { - s.SegmentationMarkers = &v +// SetTags sets the Tags field's value. +func (s *Multiplex) SetTags(v map[string]*string) *Multiplex { + s.Tags = v return s } -// SetSegmentationStyle sets the SegmentationStyle field's value. -func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings { - s.SegmentationStyle = &v - return s +// Multiplex Group Settings +type MultiplexGroupSettings struct { + _ struct{} `type:"structure"` } -// SetSegmentationTime sets the SegmentationTime field's value. -func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings { - s.SegmentationTime = &v - return s +// String returns the string representation +func (s MultiplexGroupSettings) String() string { + return awsutil.Prettify(s) } -// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. -func (s *M2tsSettings) SetTimedMetadataBehavior(v string) *M2tsSettings { - s.TimedMetadataBehavior = &v - return s +// GoString returns the string representation +func (s MultiplexGroupSettings) GoString() string { + return s.String() } -// SetTimedMetadataPid sets the TimedMetadataPid field's value. -func (s *M2tsSettings) SetTimedMetadataPid(v string) *M2tsSettings { - s.TimedMetadataPid = &v - return s +// Multiplex MediaConnect output destination settings. +type MultiplexMediaConnectOutputDestinationSettings struct { + _ struct{} `type:"structure"` + + // The MediaConnect entitlement ARN available as a Flow source. + EntitlementArn *string `locationName:"entitlementArn" min:"1" type:"string"` } -// SetTransportStreamId sets the TransportStreamId field's value. -func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings { - s.TransportStreamId = &v - return s +// String returns the string representation +func (s MultiplexMediaConnectOutputDestinationSettings) String() string { + return awsutil.Prettify(s) } -// SetVideoPid sets the VideoPid field's value. -func (s *M2tsSettings) SetVideoPid(v string) *M2tsSettings { - s.VideoPid = &v +// GoString returns the string representation +func (s MultiplexMediaConnectOutputDestinationSettings) GoString() string { + return s.String() +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *MultiplexMediaConnectOutputDestinationSettings) SetEntitlementArn(v string) *MultiplexMediaConnectOutputDestinationSettings { + s.EntitlementArn = &v return s } -// Settings information for the .m3u8 container -type M3u8Settings struct { +// Multiplex output destination settings +type MultiplexOutputDestination struct { _ struct{} `type:"structure"` - // The number of audio frames to insert for each PES packet. - AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` + // Multiplex MediaConnect output destination settings. + MediaConnectSettings *MultiplexMediaConnectOutputDestinationSettings `locationName:"mediaConnectSettings" type:"structure"` +} - // 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. - AudioPids *string `locationName:"audioPids" type:"string"` +// String returns the string representation +func (s MultiplexOutputDestination) String() string { + return awsutil.Prettify(s) +} - // This parameter is unused and deprecated. - EcmPid *string `locationName:"ecmPid" type:"string"` +// GoString returns the string representation +func (s MultiplexOutputDestination) GoString() string { + return s.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. - PatInterval *int64 `locationName:"patInterval" type:"integer"` +// SetMediaConnectSettings sets the MediaConnectSettings field's value. +func (s *MultiplexOutputDestination) SetMediaConnectSettings(v *MultiplexMediaConnectOutputDestinationSettings) *MultiplexOutputDestination { + s.MediaConnectSettings = v + return s +} - // 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. - PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"` +// Multiplex Output Settings +type MultiplexOutputSettings struct { + _ struct{} `type:"structure"` - // Maximum time in milliseconds between Program Clock References (PCRs) inserted - // into the transport stream. - PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + // Destination is a Multiplex. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +} - // 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. - PcrPid *string `locationName:"pcrPid" type:"string"` +// String returns the string representation +func (s MultiplexOutputSettings) String() string { + return awsutil.Prettify(s) +} - // 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. - PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` +// GoString returns the string representation +func (s MultiplexOutputSettings) GoString() string { + return s.String() +} - // Packet Identifier (PID) for the Program Map Table (PMT) in the transport - // stream. Can be entered as a decimal or hexadecimal value. - PmtPid *string `locationName:"pmtPid" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexOutputSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } - // The value of the program number field in the Program Map Table. - ProgramNum *int64 `locationName:"programNum" type:"integer"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // If set to passthrough, passes any SCTE-35 signals from the input source to - // this output. - Scte35Behavior *string `locationName:"scte35Behavior" type:"string" enum:"M3u8Scte35Behavior"` +// SetDestination sets the Destination field's value. +func (s *MultiplexOutputSettings) SetDestination(v *OutputLocationRef) *MultiplexOutputSettings { + s.Destination = v + return s +} - // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can - // be entered as a decimal or hexadecimal value. - Scte35Pid *string `locationName:"scte35Pid" type:"string"` +// The multiplex program object. +type MultiplexProgram struct { + _ struct{} `type:"structure"` - // When set to passthrough, timed metadata is passed through from input to output. - TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M3u8TimedMetadataBehavior"` + // The MediaLive channel associated with the program. + ChannelId *string `locationName:"channelId" type:"string"` - // 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). - TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` + // The settings for this multiplex program. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` - // The value of the transport stream ID field in the Program Map Table. - TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + // The packet identifier map for this multiplex program. + PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"` - // Packet Identifier (PID) of the elementary video stream in the transport stream. - // Can be entered as a decimal or hexadecimal value. - VideoPid *string `locationName:"videoPid" type:"string"` + // The name of the multiplex program. + ProgramName *string `locationName:"programName" type:"string"` } // String returns the string representation -func (s M3u8Settings) String() string { +func (s MultiplexProgram) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s M3u8Settings) GoString() string { +func (s MultiplexProgram) GoString() string { return s.String() } -// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. -func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings { - s.AudioFramesPerPes = &v +// SetChannelId sets the ChannelId field's value. +func (s *MultiplexProgram) SetChannelId(v string) *MultiplexProgram { + s.ChannelId = &v return s } -// SetAudioPids sets the AudioPids field's value. -func (s *M3u8Settings) SetAudioPids(v string) *M3u8Settings { - s.AudioPids = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *MultiplexProgram) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *MultiplexProgram { + s.MultiplexProgramSettings = v return s } -// SetEcmPid sets the EcmPid field's value. -func (s *M3u8Settings) SetEcmPid(v string) *M3u8Settings { - s.EcmPid = &v +// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value. +func (s *MultiplexProgram) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *MultiplexProgram { + s.PacketIdentifiersMap = v return s } -// SetPatInterval sets the PatInterval field's value. -func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings { - s.PatInterval = &v +// SetProgramName sets the ProgramName field's value. +func (s *MultiplexProgram) SetProgramName(v string) *MultiplexProgram { + s.ProgramName = &v return s } -// SetPcrControl sets the PcrControl field's value. -func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings { - s.PcrControl = &v - return s +// Multiplex Program Input Destination Settings for outputting a Channel to +// a Multiplex +type MultiplexProgramChannelDestinationSettings struct { + _ struct{} `type:"structure"` + + // The ID of the Multiplex that the encoder is providing output to. You do not + // need to specify the individual inputs to the Multiplex; MediaLive will handle + // the connection of the two MediaLive pipelines to the two Multiplex instances.The + // Multiplex must be in the same region as the Channel. + MultiplexId *string `locationName:"multiplexId" min:"1" type:"string"` + + // The program name of the Multiplex program that the encoder is providing output + // to. + ProgramName *string `locationName:"programName" min:"1" type:"string"` } -// SetPcrPeriod sets the PcrPeriod field's value. -func (s *M3u8Settings) SetPcrPeriod(v int64) *M3u8Settings { - s.PcrPeriod = &v - return s +// String returns the string representation +func (s MultiplexProgramChannelDestinationSettings) String() string { + return awsutil.Prettify(s) } -// SetPcrPid sets the PcrPid field's value. -func (s *M3u8Settings) SetPcrPid(v string) *M3u8Settings { - s.PcrPid = &v - return s +// GoString returns the string representation +func (s MultiplexProgramChannelDestinationSettings) GoString() string { + return s.String() } -// SetPmtInterval sets the PmtInterval field's value. -func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings { - s.PmtInterval = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexProgramChannelDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramChannelDestinationSettings"} + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPmtPid sets the PmtPid field's value. -func (s *M3u8Settings) SetPmtPid(v string) *M3u8Settings { - s.PmtPid = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *MultiplexProgramChannelDestinationSettings) SetMultiplexId(v string) *MultiplexProgramChannelDestinationSettings { + s.MultiplexId = &v return s } -// SetProgramNum sets the ProgramNum field's value. -func (s *M3u8Settings) SetProgramNum(v int64) *M3u8Settings { - s.ProgramNum = &v +// SetProgramName sets the ProgramName field's value. +func (s *MultiplexProgramChannelDestinationSettings) SetProgramName(v string) *MultiplexProgramChannelDestinationSettings { + s.ProgramName = &v return s } -// SetScte35Behavior sets the Scte35Behavior field's value. -func (s *M3u8Settings) SetScte35Behavior(v string) *M3u8Settings { - s.Scte35Behavior = &v - return s +// Packet identifiers map for a given Multiplex program. +type MultiplexProgramPacketIdentifiersMap struct { + _ struct{} `type:"structure"` + + AudioPids []*int64 `locationName:"audioPids" type:"list"` + + DvbSubPids []*int64 `locationName:"dvbSubPids" type:"list"` + + DvbTeletextPid *int64 `locationName:"dvbTeletextPid" type:"integer"` + + EtvPlatformPid *int64 `locationName:"etvPlatformPid" type:"integer"` + + EtvSignalPid *int64 `locationName:"etvSignalPid" type:"integer"` + + KlvDataPids []*int64 `locationName:"klvDataPids" type:"list"` + + PcrPid *int64 `locationName:"pcrPid" type:"integer"` + + PmtPid *int64 `locationName:"pmtPid" type:"integer"` + + PrivateMetadataPid *int64 `locationName:"privateMetadataPid" type:"integer"` + + Scte27Pids []*int64 `locationName:"scte27Pids" type:"list"` + + Scte35Pid *int64 `locationName:"scte35Pid" type:"integer"` + + TimedMetadataPid *int64 `locationName:"timedMetadataPid" type:"integer"` + + VideoPid *int64 `locationName:"videoPid" type:"integer"` } -// SetScte35Pid sets the Scte35Pid field's value. -func (s *M3u8Settings) SetScte35Pid(v string) *M3u8Settings { - s.Scte35Pid = &v - return s +// String returns the string representation +func (s MultiplexProgramPacketIdentifiersMap) String() string { + return awsutil.Prettify(s) } -// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. -func (s *M3u8Settings) SetTimedMetadataBehavior(v string) *M3u8Settings { - s.TimedMetadataBehavior = &v - return s +// GoString returns the string representation +func (s MultiplexProgramPacketIdentifiersMap) GoString() string { + return s.String() } -// SetTimedMetadataPid sets the TimedMetadataPid field's value. -func (s *M3u8Settings) SetTimedMetadataPid(v string) *M3u8Settings { - s.TimedMetadataPid = &v +// SetAudioPids sets the AudioPids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetAudioPids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.AudioPids = v return s } -// SetTransportStreamId sets the TransportStreamId field's value. -func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings { - s.TransportStreamId = &v +// SetDvbSubPids sets the DvbSubPids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetDvbSubPids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.DvbSubPids = v return s } -// SetVideoPid sets the VideoPid field's value. -func (s *M3u8Settings) SetVideoPid(v string) *M3u8Settings { - s.VideoPid = &v +// SetDvbTeletextPid sets the DvbTeletextPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetDvbTeletextPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.DvbTeletextPid = &v return s } -// The settings for a MediaConnect Flow. -type MediaConnectFlow struct { - _ struct{} `type:"structure"` +// SetEtvPlatformPid sets the EtvPlatformPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetEtvPlatformPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.EtvPlatformPid = &v + return s +} - // The unique ARN of the MediaConnect Flow being used as a source. - FlowArn *string `locationName:"flowArn" type:"string"` +// SetEtvSignalPid sets the EtvSignalPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetEtvSignalPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.EtvSignalPid = &v + return s } -// String returns the string representation -func (s MediaConnectFlow) String() string { - return awsutil.Prettify(s) +// SetKlvDataPids sets the KlvDataPids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetKlvDataPids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.KlvDataPids = v + return s } -// GoString returns the string representation -func (s MediaConnectFlow) GoString() string { - return s.String() +// SetPcrPid sets the PcrPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetPcrPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.PcrPid = &v + return s } -// SetFlowArn sets the FlowArn field's value. -func (s *MediaConnectFlow) SetFlowArn(v string) *MediaConnectFlow { - s.FlowArn = &v +// SetPmtPid sets the PmtPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetPmtPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.PmtPid = &v return s } -// The settings for a MediaConnect Flow. -type MediaConnectFlowRequest struct { - _ struct{} `type:"structure"` +// SetPrivateMetadataPid sets the PrivateMetadataPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetPrivateMetadataPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.PrivateMetadataPid = &v + return s +} - // The ARN of the MediaConnect Flow that you want to use as a source. - FlowArn *string `locationName:"flowArn" type:"string"` +// SetScte27Pids sets the Scte27Pids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetScte27Pids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.Scte27Pids = v + return s } -// String returns the string representation -func (s MediaConnectFlowRequest) String() string { - return awsutil.Prettify(s) +// SetScte35Pid sets the Scte35Pid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetScte35Pid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.Scte35Pid = &v + return s } -// GoString returns the string representation -func (s MediaConnectFlowRequest) GoString() string { - return s.String() +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetTimedMetadataPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.TimedMetadataPid = &v + return s } -// SetFlowArn sets the FlowArn field's value. -func (s *MediaConnectFlowRequest) SetFlowArn(v string) *MediaConnectFlowRequest { - s.FlowArn = &v +// SetVideoPid sets the VideoPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetVideoPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.VideoPid = &v return s } -// Media Package Group Settings -type MediaPackageGroupSettings struct { +// Transport stream service descriptor configuration for the Multiplex program. +type MultiplexProgramServiceDescriptor struct { _ struct{} `type:"structure"` - // MediaPackage channel destination. + // Name of the provider. // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + // ProviderName is a required field + ProviderName *string `locationName:"providerName" type:"string" required:"true"` + + // Name of the service. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" type:"string" required:"true"` } // String returns the string representation -func (s MediaPackageGroupSettings) String() string { +func (s MultiplexProgramServiceDescriptor) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MediaPackageGroupSettings) GoString() string { +func (s MultiplexProgramServiceDescriptor) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MediaPackageGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MediaPackageGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) +func (s *MultiplexProgramServiceDescriptor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramServiceDescriptor"} + if s.ProviderName == nil { + invalidParams.Add(request.NewErrParamRequired("ProviderName")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) } if invalidParams.Len() > 0 { @@ -13296,39 +16230,59 @@ func (s *MediaPackageGroupSettings) Validate() error { return nil } -// SetDestination sets the Destination field's value. -func (s *MediaPackageGroupSettings) SetDestination(v *OutputLocationRef) *MediaPackageGroupSettings { - s.Destination = v +// SetProviderName sets the ProviderName field's value. +func (s *MultiplexProgramServiceDescriptor) SetProviderName(v string) *MultiplexProgramServiceDescriptor { + s.ProviderName = &v return s } -// MediaPackage Output Destination Settings -type MediaPackageOutputDestinationSettings struct { +// SetServiceName sets the ServiceName field's value. +func (s *MultiplexProgramServiceDescriptor) SetServiceName(v string) *MultiplexProgramServiceDescriptor { + s.ServiceName = &v + return s +} + +// Multiplex Program settings configuration. +type MultiplexProgramSettings struct { _ struct{} `type:"structure"` - // ID of the channel in MediaPackage that is the destination for this output - // group. You do not need to specify the individual inputs in MediaPackage; - // MediaLive will handle the connection of the two MediaLive pipelines to the - // two MediaPackage inputs. The MediaPackage channel and MediaLive channel must - // be in the same region. - ChannelId *string `locationName:"channelId" min:"1" type:"string"` + // Unique program number. + // + // ProgramNumber is a required field + ProgramNumber *int64 `locationName:"programNumber" type:"integer" required:"true"` + + // Transport stream service descriptor configuration for the Multiplex program. + ServiceDescriptor *MultiplexProgramServiceDescriptor `locationName:"serviceDescriptor" type:"structure"` + + // Program video settings configuration. + VideoSettings *MultiplexVideoSettings `locationName:"videoSettings" type:"structure"` } // String returns the string representation -func (s MediaPackageOutputDestinationSettings) String() string { +func (s MultiplexProgramSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MediaPackageOutputDestinationSettings) GoString() string { +func (s MultiplexProgramSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MediaPackageOutputDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MediaPackageOutputDestinationSettings"} - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) +func (s *MultiplexProgramSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramSettings"} + if s.ProgramNumber == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramNumber")) + } + if s.ServiceDescriptor != nil { + if err := s.ServiceDescriptor.Validate(); err != nil { + invalidParams.AddNested("ServiceDescriptor", err.(request.ErrInvalidParams)) + } + } + if s.VideoSettings != nil { + if err := s.VideoSettings.Validate(); err != nil { + invalidParams.AddNested("VideoSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -13337,174 +16291,186 @@ func (s *MediaPackageOutputDestinationSettings) Validate() error { return nil } -// SetChannelId sets the ChannelId field's value. -func (s *MediaPackageOutputDestinationSettings) SetChannelId(v string) *MediaPackageOutputDestinationSettings { - s.ChannelId = &v +// SetProgramNumber sets the ProgramNumber field's value. +func (s *MultiplexProgramSettings) SetProgramNumber(v int64) *MultiplexProgramSettings { + s.ProgramNumber = &v return s } -// Media Package Output Settings -type MediaPackageOutputSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s MediaPackageOutputSettings) String() string { - return awsutil.Prettify(s) +// SetServiceDescriptor sets the ServiceDescriptor field's value. +func (s *MultiplexProgramSettings) SetServiceDescriptor(v *MultiplexProgramServiceDescriptor) *MultiplexProgramSettings { + s.ServiceDescriptor = v + return s } -// GoString returns the string representation -func (s MediaPackageOutputSettings) GoString() string { - return s.String() +// SetVideoSettings sets the VideoSettings field's value. +func (s *MultiplexProgramSettings) SetVideoSettings(v *MultiplexVideoSettings) *MultiplexProgramSettings { + s.VideoSettings = v + return s } -// Mp2 Settings -type Mp2Settings struct { +type MultiplexProgramSummary struct { _ struct{} `type:"structure"` - // Average bitrate in bits/second. - Bitrate *float64 `locationName:"bitrate" type:"double"` - - // The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or - // codingMode20 (for stereo). - CodingMode *string `locationName:"codingMode" type:"string" enum:"Mp2CodingMode"` + // The MediaLive Channel associated with the program. + ChannelId *string `locationName:"channelId" type:"string"` - // Sample rate in Hz. - SampleRate *float64 `locationName:"sampleRate" type:"double"` + // The name of the multiplex program. + ProgramName *string `locationName:"programName" type:"string"` } // String returns the string representation -func (s Mp2Settings) String() string { +func (s MultiplexProgramSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Mp2Settings) GoString() string { +func (s MultiplexProgramSummary) GoString() string { return s.String() } -// SetBitrate sets the Bitrate field's value. -func (s *Mp2Settings) SetBitrate(v float64) *Mp2Settings { - s.Bitrate = &v - return s -} - -// SetCodingMode sets the CodingMode field's value. -func (s *Mp2Settings) SetCodingMode(v string) *Mp2Settings { - s.CodingMode = &v +// SetChannelId sets the ChannelId field's value. +func (s *MultiplexProgramSummary) SetChannelId(v string) *MultiplexProgramSummary { + s.ChannelId = &v return s } -// SetSampleRate sets the SampleRate field's value. -func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings { - s.SampleRate = &v +// SetProgramName sets the ProgramName field's value. +func (s *MultiplexProgramSummary) SetProgramName(v string) *MultiplexProgramSummary { + s.ProgramName = &v return s } -// Ms Smooth Group Settings -type MsSmoothGroupSettings struct { +// Contains configuration for a Multiplex event +type MultiplexSettings struct { _ struct{} `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". - AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"` + // Maximum video buffer delay in milliseconds. + MaximumVideoBufferDelayMilliseconds *int64 `locationName:"maximumVideoBufferDelayMilliseconds" min:"1000" type:"integer"` - // 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. - AudioOnlyTimecodeControl *string `locationName:"audioOnlyTimecodeControl" type:"string" enum:"SmoothGroupAudioOnlyTimecodeControl"` + // Transport stream bit rate. + // + // TransportStreamBitrate is a required field + TransportStreamBitrate *int64 `locationName:"transportStreamBitrate" min:"1e+06" type:"integer" required:"true"` - // 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. - CertificateMode *string `locationName:"certificateMode" type:"string" enum:"SmoothGroupCertificateMode"` + // Transport stream ID. + // + // TransportStreamId is a required field + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer" required:"true"` - // 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. - ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + // Transport stream reserved bit rate. + TransportStreamReservedBitrate *int64 `locationName:"transportStreamReservedBitrate" type:"integer"` +} - // Smooth Streaming publish point on an IIS server. Elemental Live acts as a - // "Push" encoder to IIS. - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +// String returns the string representation +func (s MultiplexSettings) String() string { + return awsutil.Prettify(s) +} - // MS Smooth event ID to be sent to the IIS server.Should only be specified - // if eventIdMode is set to useConfigured. - EventId *string `locationName:"eventId" type:"string"` +// GoString returns the string representation +func (s MultiplexSettings) GoString() string { + return s.String() +} - // 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. - EventIdMode *string `locationName:"eventIdMode" type:"string" enum:"SmoothGroupEventIdMode"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexSettings"} + if s.MaximumVideoBufferDelayMilliseconds != nil && *s.MaximumVideoBufferDelayMilliseconds < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaximumVideoBufferDelayMilliseconds", 1000)) + } + if s.TransportStreamBitrate == nil { + invalidParams.Add(request.NewErrParamRequired("TransportStreamBitrate")) + } + if s.TransportStreamBitrate != nil && *s.TransportStreamBitrate < 1e+06 { + invalidParams.Add(request.NewErrParamMinValue("TransportStreamBitrate", 1e+06)) + } + if s.TransportStreamId == nil { + invalidParams.Add(request.NewErrParamRequired("TransportStreamId")) + } - // When set to sendEos, send EOS signal to IIS server when stopping the event - EventStopBehavior *string `locationName:"eventStopBehavior" type:"string" enum:"SmoothGroupEventStopBehavior"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Size in seconds of file cache for streaming outputs. - FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` +// SetMaximumVideoBufferDelayMilliseconds sets the MaximumVideoBufferDelayMilliseconds field's value. +func (s *MultiplexSettings) SetMaximumVideoBufferDelayMilliseconds(v int64) *MultiplexSettings { + s.MaximumVideoBufferDelayMilliseconds = &v + return s +} - // Length of mp4 fragments to generate (in seconds). Fragment length must be - // compatible with GOP size and framerate. - FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` +// SetTransportStreamBitrate sets the TransportStreamBitrate field's value. +func (s *MultiplexSettings) SetTransportStreamBitrate(v int64) *MultiplexSettings { + s.TransportStreamBitrate = &v + return s +} - // Parameter that control output group behavior on input loss. - InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"` +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *MultiplexSettings) SetTransportStreamId(v int64) *MultiplexSettings { + s.TransportStreamId = &v + return s +} - // Number of retry attempts. - NumRetries *int64 `locationName:"numRetries" type:"integer"` +// SetTransportStreamReservedBitrate sets the TransportStreamReservedBitrate field's value. +func (s *MultiplexSettings) SetTransportStreamReservedBitrate(v int64) *MultiplexSettings { + s.TransportStreamReservedBitrate = &v + return s +} - // Number of seconds before initiating a restart due to output failure, due - // to exhausting the numRetries on one segment, or exceeding filecacheDuration. - RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +// Contains summary configuration for a Multiplex event. +type MultiplexSettingsSummary struct { + _ struct{} `type:"structure"` - // useInputSegmentation has been deprecated. The configured segment size is - // always used. - SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"SmoothGroupSegmentationMode"` + // Transport stream bit rate. + TransportStreamBitrate *int64 `locationName:"transportStreamBitrate" min:"1e+06" type:"integer"` +} - // Number of milliseconds to delay the output from the second pipeline. - SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"` +// String returns the string representation +func (s MultiplexSettingsSummary) String() string { + return awsutil.Prettify(s) +} - // If set to scte35, use incoming SCTE-35 messages to generate a sparse track - // in this group of MS-Smooth outputs. - SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"` +// GoString returns the string representation +func (s MultiplexSettingsSummary) GoString() string { + return s.String() +} - // When set to send, send stream manifest so publishing point doesn't start - // until all streams start. - StreamManifestBehavior *string `locationName:"streamManifestBehavior" type:"string" enum:"SmoothGroupStreamManifestBehavior"` +// SetTransportStreamBitrate sets the TransportStreamBitrate field's value. +func (s *MultiplexSettingsSummary) SetTransportStreamBitrate(v int64) *MultiplexSettingsSummary { + s.TransportStreamBitrate = &v + return s +} - // Timestamp offset for the event. Only used if timestampOffsetMode is set to - // useConfiguredOffset. - TimestampOffset *string `locationName:"timestampOffset" type:"string"` +// Statmux rate control settings +type MultiplexStatmuxVideoSettings struct { + _ struct{} `type:"structure"` - // 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 - TimestampOffsetMode *string `locationName:"timestampOffsetMode" type:"string" enum:"SmoothGroupTimestampOffsetMode"` + // Maximum statmux bitrate. + MaximumBitrate *int64 `locationName:"maximumBitrate" min:"100000" type:"integer"` + + // Minimum statmux bitrate. + MinimumBitrate *int64 `locationName:"minimumBitrate" min:"100000" type:"integer"` } // String returns the string representation -func (s MsSmoothGroupSettings) String() string { +func (s MultiplexStatmuxVideoSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MsSmoothGroupSettings) GoString() string { +func (s MultiplexStatmuxVideoSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MsSmoothGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) +func (s *MultiplexStatmuxVideoSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexStatmuxVideoSettings"} + if s.MaximumBitrate != nil && *s.MaximumBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("MaximumBitrate", 100000)) } - if s.FragmentLength != nil && *s.FragmentLength < 1 { - invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) + if s.MinimumBitrate != nil && *s.MinimumBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("MinimumBitrate", 100000)) } if invalidParams.Len() > 0 { @@ -13513,152 +16479,195 @@ func (s *MsSmoothGroupSettings) Validate() error { return nil } -// SetAcquisitionPointId sets the AcquisitionPointId field's value. -func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings { - s.AcquisitionPointId = &v +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *MultiplexStatmuxVideoSettings) SetMaximumBitrate(v int64) *MultiplexStatmuxVideoSettings { + s.MaximumBitrate = &v + return s +} + +// SetMinimumBitrate sets the MinimumBitrate field's value. +func (s *MultiplexStatmuxVideoSettings) SetMinimumBitrate(v int64) *MultiplexStatmuxVideoSettings { + s.MinimumBitrate = &v return s } -// SetAudioOnlyTimecodeControl sets the AudioOnlyTimecodeControl field's value. -func (s *MsSmoothGroupSettings) SetAudioOnlyTimecodeControl(v string) *MsSmoothGroupSettings { - s.AudioOnlyTimecodeControl = &v - return s -} +type MultiplexSummary struct { + _ struct{} `type:"structure"` + + // The unique arn of the multiplex. + Arn *string `locationName:"arn" type:"string"` + + // A list of availability zones for the multiplex. + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + // The unique id of the multiplex. + Id *string `locationName:"id" type:"string"` + + // Configuration for a multiplex event. + MultiplexSettings *MultiplexSettingsSummary `locationName:"multiplexSettings" type:"structure"` + + // The name of the multiplex. + Name *string `locationName:"name" type:"string"` + + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + // The number of programs in the multiplex. + ProgramCount *int64 `locationName:"programCount" type:"integer"` -// SetCertificateMode sets the CertificateMode field's value. -func (s *MsSmoothGroupSettings) SetCertificateMode(v string) *MsSmoothGroupSettings { - s.CertificateMode = &v - return s + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *MsSmoothGroupSettings) SetConnectionRetryInterval(v int64) *MsSmoothGroupSettings { - s.ConnectionRetryInterval = &v - return s +// String returns the string representation +func (s MultiplexSummary) String() string { + return awsutil.Prettify(s) } -// SetDestination sets the Destination field's value. -func (s *MsSmoothGroupSettings) SetDestination(v *OutputLocationRef) *MsSmoothGroupSettings { - s.Destination = v - return s +// GoString returns the string representation +func (s MultiplexSummary) GoString() string { + return s.String() } -// SetEventId sets the EventId field's value. -func (s *MsSmoothGroupSettings) SetEventId(v string) *MsSmoothGroupSettings { - s.EventId = &v +// SetArn sets the Arn field's value. +func (s *MultiplexSummary) SetArn(v string) *MultiplexSummary { + s.Arn = &v return s } -// SetEventIdMode sets the EventIdMode field's value. -func (s *MsSmoothGroupSettings) SetEventIdMode(v string) *MsSmoothGroupSettings { - s.EventIdMode = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *MultiplexSummary) SetAvailabilityZones(v []*string) *MultiplexSummary { + s.AvailabilityZones = v return s } -// SetEventStopBehavior sets the EventStopBehavior field's value. -func (s *MsSmoothGroupSettings) SetEventStopBehavior(v string) *MsSmoothGroupSettings { - s.EventStopBehavior = &v +// SetId sets the Id field's value. +func (s *MultiplexSummary) SetId(v string) *MultiplexSummary { + s.Id = &v return s } -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *MsSmoothGroupSettings) SetFilecacheDuration(v int64) *MsSmoothGroupSettings { - s.FilecacheDuration = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *MultiplexSummary) SetMultiplexSettings(v *MultiplexSettingsSummary) *MultiplexSummary { + s.MultiplexSettings = v return s } -// SetFragmentLength sets the FragmentLength field's value. -func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings { - s.FragmentLength = &v +// SetName sets the Name field's value. +func (s *MultiplexSummary) SetName(v string) *MultiplexSummary { + s.Name = &v return s } -// SetInputLossAction sets the InputLossAction field's value. -func (s *MsSmoothGroupSettings) SetInputLossAction(v string) *MsSmoothGroupSettings { - s.InputLossAction = &v +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *MultiplexSummary) SetPipelinesRunningCount(v int64) *MultiplexSummary { + s.PipelinesRunningCount = &v return s } -// SetNumRetries sets the NumRetries field's value. -func (s *MsSmoothGroupSettings) SetNumRetries(v int64) *MsSmoothGroupSettings { - s.NumRetries = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *MultiplexSummary) SetProgramCount(v int64) *MultiplexSummary { + s.ProgramCount = &v return s } -// SetRestartDelay sets the RestartDelay field's value. -func (s *MsSmoothGroupSettings) SetRestartDelay(v int64) *MsSmoothGroupSettings { - s.RestartDelay = &v +// SetState sets the State field's value. +func (s *MultiplexSummary) SetState(v string) *MultiplexSummary { + s.State = &v return s } -// SetSegmentationMode sets the SegmentationMode field's value. -func (s *MsSmoothGroupSettings) SetSegmentationMode(v string) *MsSmoothGroupSettings { - s.SegmentationMode = &v +// SetTags sets the Tags field's value. +func (s *MultiplexSummary) SetTags(v map[string]*string) *MultiplexSummary { + s.Tags = v return s } -// SetSendDelayMs sets the SendDelayMs field's value. -func (s *MsSmoothGroupSettings) SetSendDelayMs(v int64) *MsSmoothGroupSettings { - s.SendDelayMs = &v - return s +type MultiplexValidationError struct { + _ struct{} `type:"structure"` + + // Path to the source of the error. + ElementPath *string `locationName:"elementPath" type:"string"` + + // The error message. + ErrorMessage *string `locationName:"errorMessage" type:"string"` } -// SetSparseTrackType sets the SparseTrackType field's value. -func (s *MsSmoothGroupSettings) SetSparseTrackType(v string) *MsSmoothGroupSettings { - s.SparseTrackType = &v - return s +// String returns the string representation +func (s MultiplexValidationError) String() string { + return awsutil.Prettify(s) } -// SetStreamManifestBehavior sets the StreamManifestBehavior field's value. -func (s *MsSmoothGroupSettings) SetStreamManifestBehavior(v string) *MsSmoothGroupSettings { - s.StreamManifestBehavior = &v - return s +// GoString returns the string representation +func (s MultiplexValidationError) GoString() string { + return s.String() } -// SetTimestampOffset sets the TimestampOffset field's value. -func (s *MsSmoothGroupSettings) SetTimestampOffset(v string) *MsSmoothGroupSettings { - s.TimestampOffset = &v +// SetElementPath sets the ElementPath field's value. +func (s *MultiplexValidationError) SetElementPath(v string) *MultiplexValidationError { + s.ElementPath = &v return s } -// SetTimestampOffsetMode sets the TimestampOffsetMode field's value. -func (s *MsSmoothGroupSettings) SetTimestampOffsetMode(v string) *MsSmoothGroupSettings { - s.TimestampOffsetMode = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *MultiplexValidationError) SetErrorMessage(v string) *MultiplexValidationError { + s.ErrorMessage = &v return s } -// Ms Smooth Output Settings -type MsSmoothOutputSettings struct { +// The video configuration for each program in a multiplex. +type MultiplexVideoSettings struct { _ struct{} `type:"structure"` - // Only applicable when this output is referencing an H.265 video description.Specifies - // whether MP4 segments should be packaged as HEV1 or HVC1. - H265PackagingType *string `locationName:"h265PackagingType" type:"string" enum:"MsSmoothH265PackagingType"` + // The constant bitrate configuration for the video encode.When this field is + // defined, StatmuxSettings must be undefined. + ConstantBitrate *int64 `locationName:"constantBitrate" min:"100000" type:"integer"` - // String concatenated to the end of the destination filename. Required for - // multiple outputs of the same type. - NameModifier *string `locationName:"nameModifier" type:"string"` + // Statmux rate control settings.When this field is defined, ConstantBitrate + // must be undefined. + StatmuxSettings *MultiplexStatmuxVideoSettings `locationName:"statmuxSettings" type:"structure"` } // String returns the string representation -func (s MsSmoothOutputSettings) String() string { +func (s MultiplexVideoSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MsSmoothOutputSettings) GoString() string { +func (s MultiplexVideoSettings) GoString() string { return s.String() } -// SetH265PackagingType sets the H265PackagingType field's value. -func (s *MsSmoothOutputSettings) SetH265PackagingType(v string) *MsSmoothOutputSettings { - s.H265PackagingType = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexVideoSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexVideoSettings"} + if s.ConstantBitrate != nil && *s.ConstantBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("ConstantBitrate", 100000)) + } + if s.StatmuxSettings != nil { + if err := s.StatmuxSettings.Validate(); err != nil { + invalidParams.AddNested("StatmuxSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConstantBitrate sets the ConstantBitrate field's value. +func (s *MultiplexVideoSettings) SetConstantBitrate(v int64) *MultiplexVideoSettings { + s.ConstantBitrate = &v return s } -// SetNameModifier sets the NameModifier field's value. -func (s *MsSmoothOutputSettings) SetNameModifier(v string) *MsSmoothOutputSettings { - s.NameModifier = &v +// SetStatmuxSettings sets the StatmuxSettings field's value. +func (s *MultiplexVideoSettings) SetStatmuxSettings(v *MultiplexStatmuxVideoSettings) *MultiplexVideoSettings { + s.StatmuxSettings = v return s } @@ -13701,6 +16710,39 @@ func (s *NetworkInputSettings) SetServerValidation(v string) *NetworkInputSettin return s } +// Nielsen Configuration +type NielsenConfiguration struct { + _ struct{} `type:"structure"` + + // Enter the Distributor ID assigned to your organization by Nielsen. + DistributorId *string `locationName:"distributorId" type:"string"` + + // Enables Nielsen PCM to ID3 tagging + NielsenPcmToId3Tagging *string `locationName:"nielsenPcmToId3Tagging" type:"string" enum:"NielsenPcmToId3TaggingState"` +} + +// String returns the string representation +func (s NielsenConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NielsenConfiguration) GoString() string { + return s.String() +} + +// SetDistributorId sets the DistributorId field's value. +func (s *NielsenConfiguration) SetDistributorId(v string) *NielsenConfiguration { + s.DistributorId = &v + return s +} + +// SetNielsenPcmToId3Tagging sets the NielsenPcmToId3Tagging field's value. +func (s *NielsenConfiguration) SetNielsenPcmToId3Tagging(v string) *NielsenConfiguration { + s.NielsenPcmToId3Tagging = &v + return s +} + // Reserved resources available for purchase type Offering struct { _ struct{} `type:"structure"` @@ -13909,6 +16951,9 @@ type OutputDestination struct { // encoders. MediaPackageSettings []*MediaPackageOutputDestinationSettings `locationName:"mediaPackageSettings" type:"list"` + // Destination settings for a Multiplex output; one destination for both encoders. + MultiplexSettings *MultiplexProgramChannelDestinationSettings `locationName:"multiplexSettings" type:"structure"` + // Destination settings for a standard output; one destination for each redundant // encoder. Settings []*OutputDestinationSettings `locationName:"settings" type:"list"` @@ -13937,6 +16982,11 @@ func (s *OutputDestination) Validate() error { } } } + if s.MultiplexSettings != nil { + if err := s.MultiplexSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13956,6 +17006,12 @@ func (s *OutputDestination) SetMediaPackageSettings(v []*MediaPackageOutputDesti return s } +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *OutputDestination) SetMultiplexSettings(v *MultiplexProgramChannelDestinationSettings) *OutputDestination { + s.MultiplexSettings = v + return s +} + // SetSettings sets the Settings field's value. func (s *OutputDestination) SetSettings(v []*OutputDestinationSettings) *OutputDestination { s.Settings = v @@ -14108,6 +17164,9 @@ type OutputGroupSettings struct { // Ms Smooth Group Settings MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"` + // Multiplex Group Settings + MultiplexGroupSettings *MultiplexGroupSettings `locationName:"multiplexGroupSettings" type:"structure"` + // Rtmp Group Settings RtmpGroupSettings *RtmpGroupSettings `locationName:"rtmpGroupSettings" type:"structure"` @@ -14195,6 +17254,12 @@ func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) return s } +// SetMultiplexGroupSettings sets the MultiplexGroupSettings field's value. +func (s *OutputGroupSettings) SetMultiplexGroupSettings(v *MultiplexGroupSettings) *OutputGroupSettings { + s.MultiplexGroupSettings = v + return s +} + // SetRtmpGroupSettings sets the RtmpGroupSettings field's value. func (s *OutputGroupSettings) SetRtmpGroupSettings(v *RtmpGroupSettings) *OutputGroupSettings { s.RtmpGroupSettings = v @@ -14249,6 +17314,9 @@ type OutputSettings struct { // Ms Smooth Output Settings MsSmoothOutputSettings *MsSmoothOutputSettings `locationName:"msSmoothOutputSettings" type:"structure"` + // Multiplex Output Settings + MultiplexOutputSettings *MultiplexOutputSettings `locationName:"multiplexOutputSettings" type:"structure"` + // Rtmp Output Settings RtmpOutputSettings *RtmpOutputSettings `locationName:"rtmpOutputSettings" type:"structure"` @@ -14279,6 +17347,11 @@ func (s *OutputSettings) Validate() error { invalidParams.AddNested("HlsOutputSettings", err.(request.ErrInvalidParams)) } } + if s.MultiplexOutputSettings != nil { + if err := s.MultiplexOutputSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexOutputSettings", err.(request.ErrInvalidParams)) + } + } if s.RtmpOutputSettings != nil { if err := s.RtmpOutputSettings.Validate(); err != nil { invalidParams.AddNested("RtmpOutputSettings", err.(request.ErrInvalidParams)) @@ -14326,6 +17399,12 @@ func (s *OutputSettings) SetMsSmoothOutputSettings(v *MsSmoothOutputSettings) *O return s } +// SetMultiplexOutputSettings sets the MultiplexOutputSettings field's value. +func (s *OutputSettings) SetMultiplexOutputSettings(v *MultiplexOutputSettings) *OutputSettings { + s.MultiplexOutputSettings = v + return s +} + // SetRtmpOutputSettings sets the RtmpOutputSettings field's value. func (s *OutputSettings) SetRtmpOutputSettings(v *RtmpOutputSettings) *OutputSettings { s.RtmpOutputSettings = v @@ -14889,7 +17968,7 @@ type ReservationResourceSpecification struct { // Resolution, e.g. 'HD' Resolution *string `locationName:"resolution" type:"string" enum:"ReservationResolution"` - // Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL' + // Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' ResourceType *string `locationName:"resourceType" type:"string" enum:"ReservationResourceType"` // Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) @@ -16350,20 +19429,155 @@ func (s *StartChannelOutput) SetPipelinesRunningCount(v int64) *StartChannelOutp return s } -// SetRoleArn sets the RoleArn field's value. -func (s *StartChannelOutput) SetRoleArn(v string) *StartChannelOutput { - s.RoleArn = &v +// SetRoleArn sets the RoleArn field's value. +func (s *StartChannelOutput) SetRoleArn(v string) *StartChannelOutput { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *StartChannelOutput) SetState(v string) *StartChannelOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartChannelOutput) SetTags(v map[string]*string) *StartChannelOutput { + s.Tags = v + return s +} + +type StartMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *StartMultiplexInput) SetMultiplexId(v string) *StartMultiplexInput { + s.MultiplexId = &v + return s +} + +type StartMultiplexOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + ProgramCount *int64 `locationName:"programCount" type:"integer"` + + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StartMultiplexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMultiplexOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StartMultiplexOutput) SetArn(v string) *StartMultiplexOutput { + s.Arn = &v + return s +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *StartMultiplexOutput) SetAvailabilityZones(v []*string) *StartMultiplexOutput { + s.AvailabilityZones = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *StartMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *StartMultiplexOutput { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *StartMultiplexOutput) SetId(v string) *StartMultiplexOutput { + s.Id = &v + return s +} + +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *StartMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *StartMultiplexOutput { + s.MultiplexSettings = v + return s +} + +// SetName sets the Name field's value. +func (s *StartMultiplexOutput) SetName(v string) *StartMultiplexOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *StartMultiplexOutput) SetPipelinesRunningCount(v int64) *StartMultiplexOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetProgramCount sets the ProgramCount field's value. +func (s *StartMultiplexOutput) SetProgramCount(v int64) *StartMultiplexOutput { + s.ProgramCount = &v return s } // SetState sets the State field's value. -func (s *StartChannelOutput) SetState(v string) *StartChannelOutput { +func (s *StartMultiplexOutput) SetState(v string) *StartMultiplexOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *StartChannelOutput) SetTags(v map[string]*string) *StartChannelOutput { +func (s *StartMultiplexOutput) SetTags(v map[string]*string) *StartMultiplexOutput { s.Tags = v return s } @@ -16812,6 +20026,141 @@ func (s *StopChannelOutput) SetTags(v map[string]*string) *StopChannelOutput { return s } +type StopMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *StopMultiplexInput) SetMultiplexId(v string) *StopMultiplexInput { + s.MultiplexId = &v + return s +} + +type StopMultiplexOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + ProgramCount *int64 `locationName:"programCount" type:"integer"` + + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StopMultiplexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMultiplexOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StopMultiplexOutput) SetArn(v string) *StopMultiplexOutput { + s.Arn = &v + return s +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *StopMultiplexOutput) SetAvailabilityZones(v []*string) *StopMultiplexOutput { + s.AvailabilityZones = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *StopMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *StopMultiplexOutput { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *StopMultiplexOutput) SetId(v string) *StopMultiplexOutput { + s.Id = &v + return s +} + +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *StopMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *StopMultiplexOutput { + s.MultiplexSettings = v + return s +} + +// SetName sets the Name field's value. +func (s *StopMultiplexOutput) SetName(v string) *StopMultiplexOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *StopMultiplexOutput) SetPipelinesRunningCount(v int64) *StopMultiplexOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetProgramCount sets the ProgramCount field's value. +func (s *StopMultiplexOutput) SetProgramCount(v int64) *StopMultiplexOutput { + s.ProgramCount = &v + return s +} + +// SetState sets the State field's value. +func (s *StopMultiplexOutput) SetState(v string) *StopMultiplexOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StopMultiplexOutput) SetTags(v map[string]*string) *StopMultiplexOutput { + s.Tags = v + return s +} + // Settings to identify the end of the clip. type StopTimecode struct { _ struct{} `type:"structure"` @@ -17572,6 +20921,181 @@ func (s *UpdateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) return s } +type UpdateMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s UpdateMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.MultiplexSettings != nil { + if err := s.MultiplexSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *UpdateMultiplexInput) SetMultiplexId(v string) *UpdateMultiplexInput { + s.MultiplexId = &v + return s +} + +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *UpdateMultiplexInput) SetMultiplexSettings(v *MultiplexSettings) *UpdateMultiplexInput { + s.MultiplexSettings = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMultiplexInput) SetName(v string) *UpdateMultiplexInput { + s.Name = &v + return s +} + +type UpdateMultiplexOutput struct { + _ struct{} `type:"structure"` + + // The multiplex object. + Multiplex *Multiplex `locationName:"multiplex" type:"structure"` +} + +// String returns the string representation +func (s UpdateMultiplexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexOutput) GoString() string { + return s.String() +} + +// SetMultiplex sets the Multiplex field's value. +func (s *UpdateMultiplexOutput) SetMultiplex(v *Multiplex) *UpdateMultiplexOutput { + s.Multiplex = v + return s +} + +type UpdateMultiplexProgramInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` + + // Multiplex Program settings configuration. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` + + // ProgramName is a required field + ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateMultiplexProgramInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexProgramInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) + } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) + } + if s.MultiplexProgramSettings != nil { + if err := s.MultiplexProgramSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexProgramSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *UpdateMultiplexProgramInput) SetMultiplexId(v string) *UpdateMultiplexProgramInput { + s.MultiplexId = &v + return s +} + +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *UpdateMultiplexProgramInput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *UpdateMultiplexProgramInput { + s.MultiplexProgramSettings = v + return s +} + +// SetProgramName sets the ProgramName field's value. +func (s *UpdateMultiplexProgramInput) SetProgramName(v string) *UpdateMultiplexProgramInput { + s.ProgramName = &v + return s +} + +type UpdateMultiplexProgramOutput struct { + _ struct{} `type:"structure"` + + // The multiplex program object. + MultiplexProgram *MultiplexProgram `locationName:"multiplexProgram" type:"structure"` +} + +// String returns the string representation +func (s UpdateMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexProgramOutput) GoString() string { + return s.String() +} + +// SetMultiplexProgram sets the MultiplexProgram field's value. +func (s *UpdateMultiplexProgramOutput) SetMultiplexProgram(v *MultiplexProgram) *UpdateMultiplexProgramOutput { + s.MultiplexProgram = v + return s +} + type UpdateReservationInput struct { _ struct{} `type:"structure"` @@ -17642,36 +21166,6 @@ func (s *UpdateReservationOutput) SetReservation(v *Reservation) *UpdateReservat return s } -type ValidationError struct { - _ struct{} `type:"structure"` - - ElementPath *string `locationName:"elementPath" type:"string"` - - ErrorMessage *string `locationName:"errorMessage" type:"string"` -} - -// String returns the string representation -func (s ValidationError) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ValidationError) GoString() string { - return s.String() -} - -// SetElementPath sets the ElementPath field's value. -func (s *ValidationError) SetElementPath(v string) *ValidationError { - s.ElementPath = &v - return s -} - -// SetErrorMessage sets the ErrorMessage field's value. -func (s *ValidationError) SetErrorMessage(v string) *ValidationError { - s.ErrorMessage = &v - return s -} - // Video Codec Settings type VideoCodecSettings struct { _ struct{} `type:"structure"` @@ -19169,6 +22663,9 @@ const ( // H265RateControlModeCbr is a H265RateControlMode enum value H265RateControlModeCbr = "CBR" + // H265RateControlModeMultiplex is a H265RateControlMode enum value + H265RateControlModeMultiplex = "MULTIPLEX" + // H265RateControlModeQvbr is a H265RateControlMode enum value H265RateControlModeQvbr = "QVBR" ) @@ -19764,6 +23261,15 @@ const ( M2tsKlvPassthrough = "PASSTHROUGH" ) +// M2ts Nielsen Id3 Behavior +const ( + // M2tsNielsenId3BehaviorNoPassthrough is a M2tsNielsenId3Behavior enum value + M2tsNielsenId3BehaviorNoPassthrough = "NO_PASSTHROUGH" + + // M2tsNielsenId3BehaviorPassthrough is a M2tsNielsenId3Behavior enum value + M2tsNielsenId3BehaviorPassthrough = "PASSTHROUGH" +) + // M2ts Pcr Control const ( // M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value @@ -19830,6 +23336,15 @@ const ( M2tsTimedMetadataBehaviorPassthrough = "PASSTHROUGH" ) +// M3u8 Nielsen Id3 Behavior +const ( + // M3u8NielsenId3BehaviorNoPassthrough is a M3u8NielsenId3Behavior enum value + M3u8NielsenId3BehaviorNoPassthrough = "NO_PASSTHROUGH" + + // M3u8NielsenId3BehaviorPassthrough is a M3u8NielsenId3Behavior enum value + M3u8NielsenId3BehaviorPassthrough = "PASSTHROUGH" +) + // M3u8 Pcr Control const ( // M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value @@ -19875,6 +23390,36 @@ const ( MsSmoothH265PackagingTypeHvc1 = "HVC1" ) +// The current state of the multiplex. +const ( + // MultiplexStateCreating is a MultiplexState enum value + MultiplexStateCreating = "CREATING" + + // MultiplexStateCreateFailed is a MultiplexState enum value + MultiplexStateCreateFailed = "CREATE_FAILED" + + // MultiplexStateIdle is a MultiplexState enum value + MultiplexStateIdle = "IDLE" + + // MultiplexStateStarting is a MultiplexState enum value + MultiplexStateStarting = "STARTING" + + // MultiplexStateRunning is a MultiplexState enum value + MultiplexStateRunning = "RUNNING" + + // MultiplexStateRecovering is a MultiplexState enum value + MultiplexStateRecovering = "RECOVERING" + + // MultiplexStateStopping is a MultiplexState enum value + MultiplexStateStopping = "STOPPING" + + // MultiplexStateDeleting is a MultiplexState enum value + MultiplexStateDeleting = "DELETING" + + // MultiplexStateDeleted is a MultiplexState enum value + MultiplexStateDeleted = "DELETED" +) + // Network Input Server Validation const ( // NetworkInputServerValidationCheckCryptographyAndValidateName is a NetworkInputServerValidation enum value @@ -19884,6 +23429,15 @@ const ( NetworkInputServerValidationCheckCryptographyOnly = "CHECK_CRYPTOGRAPHY_ONLY" ) +// State of Nielsen PCM to ID3 tagging +const ( + // NielsenPcmToId3TaggingStateDisabled is a NielsenPcmToId3TaggingState enum value + NielsenPcmToId3TaggingStateDisabled = "DISABLED" + + // NielsenPcmToId3TaggingStateEnabled is a NielsenPcmToId3TaggingState enum value + NielsenPcmToId3TaggingStateEnabled = "ENABLED" +) + // Units for duration, e.g. 'MONTHS' const ( // OfferingDurationUnitsMonths is a OfferingDurationUnits enum value @@ -19942,7 +23496,7 @@ const ( ) // 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 +// HD is 720 to 1080 lines, FHD is 1080 lines, UHD is greater than 1080 lines const ( // ReservationResolutionSd is a ReservationResolution enum value ReservationResolutionSd = "SD" @@ -19950,11 +23504,14 @@ const ( // ReservationResolutionHd is a ReservationResolution enum value ReservationResolutionHd = "HD" + // ReservationResolutionFhd is a ReservationResolution enum value + ReservationResolutionFhd = "FHD" + // ReservationResolutionUhd is a ReservationResolution enum value ReservationResolutionUhd = "UHD" ) -// Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL' +// Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' const ( // ReservationResourceTypeInput is a ReservationResourceType enum value ReservationResourceTypeInput = "INPUT" @@ -19962,6 +23519,9 @@ const ( // ReservationResourceTypeOutput is a ReservationResourceType enum value ReservationResourceTypeOutput = "OUTPUT" + // ReservationResourceTypeMultiplex is a ReservationResourceType enum value + ReservationResourceTypeMultiplex = "MULTIPLEX" + // ReservationResourceTypeChannel is a ReservationResourceType enum value ReservationResourceTypeChannel = "CHANNEL" ) diff --git a/service/medialive/medialiveiface/interface.go b/service/medialive/medialiveiface/interface.go index 465e4487c49..b217b66e360 100644 --- a/service/medialive/medialiveiface/interface.go +++ b/service/medialive/medialiveiface/interface.go @@ -76,6 +76,14 @@ type MediaLiveAPI interface { CreateInputSecurityGroupWithContext(aws.Context, *medialive.CreateInputSecurityGroupInput, ...request.Option) (*medialive.CreateInputSecurityGroupOutput, error) CreateInputSecurityGroupRequest(*medialive.CreateInputSecurityGroupInput) (*request.Request, *medialive.CreateInputSecurityGroupOutput) + CreateMultiplex(*medialive.CreateMultiplexInput) (*medialive.CreateMultiplexOutput, error) + CreateMultiplexWithContext(aws.Context, *medialive.CreateMultiplexInput, ...request.Option) (*medialive.CreateMultiplexOutput, error) + CreateMultiplexRequest(*medialive.CreateMultiplexInput) (*request.Request, *medialive.CreateMultiplexOutput) + + CreateMultiplexProgram(*medialive.CreateMultiplexProgramInput) (*medialive.CreateMultiplexProgramOutput, error) + CreateMultiplexProgramWithContext(aws.Context, *medialive.CreateMultiplexProgramInput, ...request.Option) (*medialive.CreateMultiplexProgramOutput, error) + CreateMultiplexProgramRequest(*medialive.CreateMultiplexProgramInput) (*request.Request, *medialive.CreateMultiplexProgramOutput) + CreateTags(*medialive.CreateTagsInput) (*medialive.CreateTagsOutput, error) CreateTagsWithContext(aws.Context, *medialive.CreateTagsInput, ...request.Option) (*medialive.CreateTagsOutput, error) CreateTagsRequest(*medialive.CreateTagsInput) (*request.Request, *medialive.CreateTagsOutput) @@ -92,6 +100,14 @@ type MediaLiveAPI interface { DeleteInputSecurityGroupWithContext(aws.Context, *medialive.DeleteInputSecurityGroupInput, ...request.Option) (*medialive.DeleteInputSecurityGroupOutput, error) DeleteInputSecurityGroupRequest(*medialive.DeleteInputSecurityGroupInput) (*request.Request, *medialive.DeleteInputSecurityGroupOutput) + DeleteMultiplex(*medialive.DeleteMultiplexInput) (*medialive.DeleteMultiplexOutput, error) + DeleteMultiplexWithContext(aws.Context, *medialive.DeleteMultiplexInput, ...request.Option) (*medialive.DeleteMultiplexOutput, error) + DeleteMultiplexRequest(*medialive.DeleteMultiplexInput) (*request.Request, *medialive.DeleteMultiplexOutput) + + DeleteMultiplexProgram(*medialive.DeleteMultiplexProgramInput) (*medialive.DeleteMultiplexProgramOutput, error) + DeleteMultiplexProgramWithContext(aws.Context, *medialive.DeleteMultiplexProgramInput, ...request.Option) (*medialive.DeleteMultiplexProgramOutput, error) + DeleteMultiplexProgramRequest(*medialive.DeleteMultiplexProgramInput) (*request.Request, *medialive.DeleteMultiplexProgramOutput) + DeleteReservation(*medialive.DeleteReservationInput) (*medialive.DeleteReservationOutput, error) DeleteReservationWithContext(aws.Context, *medialive.DeleteReservationInput, ...request.Option) (*medialive.DeleteReservationOutput, error) DeleteReservationRequest(*medialive.DeleteReservationInput) (*request.Request, *medialive.DeleteReservationOutput) @@ -116,6 +132,14 @@ type MediaLiveAPI interface { DescribeInputSecurityGroupWithContext(aws.Context, *medialive.DescribeInputSecurityGroupInput, ...request.Option) (*medialive.DescribeInputSecurityGroupOutput, error) DescribeInputSecurityGroupRequest(*medialive.DescribeInputSecurityGroupInput) (*request.Request, *medialive.DescribeInputSecurityGroupOutput) + DescribeMultiplex(*medialive.DescribeMultiplexInput) (*medialive.DescribeMultiplexOutput, error) + DescribeMultiplexWithContext(aws.Context, *medialive.DescribeMultiplexInput, ...request.Option) (*medialive.DescribeMultiplexOutput, error) + DescribeMultiplexRequest(*medialive.DescribeMultiplexInput) (*request.Request, *medialive.DescribeMultiplexOutput) + + DescribeMultiplexProgram(*medialive.DescribeMultiplexProgramInput) (*medialive.DescribeMultiplexProgramOutput, error) + DescribeMultiplexProgramWithContext(aws.Context, *medialive.DescribeMultiplexProgramInput, ...request.Option) (*medialive.DescribeMultiplexProgramOutput, error) + DescribeMultiplexProgramRequest(*medialive.DescribeMultiplexProgramInput) (*request.Request, *medialive.DescribeMultiplexProgramOutput) + DescribeOffering(*medialive.DescribeOfferingInput) (*medialive.DescribeOfferingOutput, error) DescribeOfferingWithContext(aws.Context, *medialive.DescribeOfferingInput, ...request.Option) (*medialive.DescribeOfferingOutput, error) DescribeOfferingRequest(*medialive.DescribeOfferingInput) (*request.Request, *medialive.DescribeOfferingOutput) @@ -152,6 +176,20 @@ type MediaLiveAPI interface { ListInputsPages(*medialive.ListInputsInput, func(*medialive.ListInputsOutput, bool) bool) error ListInputsPagesWithContext(aws.Context, *medialive.ListInputsInput, func(*medialive.ListInputsOutput, bool) bool, ...request.Option) error + ListMultiplexPrograms(*medialive.ListMultiplexProgramsInput) (*medialive.ListMultiplexProgramsOutput, error) + ListMultiplexProgramsWithContext(aws.Context, *medialive.ListMultiplexProgramsInput, ...request.Option) (*medialive.ListMultiplexProgramsOutput, error) + ListMultiplexProgramsRequest(*medialive.ListMultiplexProgramsInput) (*request.Request, *medialive.ListMultiplexProgramsOutput) + + ListMultiplexProgramsPages(*medialive.ListMultiplexProgramsInput, func(*medialive.ListMultiplexProgramsOutput, bool) bool) error + ListMultiplexProgramsPagesWithContext(aws.Context, *medialive.ListMultiplexProgramsInput, func(*medialive.ListMultiplexProgramsOutput, bool) bool, ...request.Option) error + + ListMultiplexes(*medialive.ListMultiplexesInput) (*medialive.ListMultiplexesOutput, error) + ListMultiplexesWithContext(aws.Context, *medialive.ListMultiplexesInput, ...request.Option) (*medialive.ListMultiplexesOutput, error) + ListMultiplexesRequest(*medialive.ListMultiplexesInput) (*request.Request, *medialive.ListMultiplexesOutput) + + ListMultiplexesPages(*medialive.ListMultiplexesInput, func(*medialive.ListMultiplexesOutput, bool) bool) error + ListMultiplexesPagesWithContext(aws.Context, *medialive.ListMultiplexesInput, func(*medialive.ListMultiplexesOutput, bool) bool, ...request.Option) error + ListOfferings(*medialive.ListOfferingsInput) (*medialive.ListOfferingsOutput, error) ListOfferingsWithContext(aws.Context, *medialive.ListOfferingsInput, ...request.Option) (*medialive.ListOfferingsOutput, error) ListOfferingsRequest(*medialive.ListOfferingsInput) (*request.Request, *medialive.ListOfferingsOutput) @@ -178,10 +216,18 @@ type MediaLiveAPI interface { StartChannelWithContext(aws.Context, *medialive.StartChannelInput, ...request.Option) (*medialive.StartChannelOutput, error) StartChannelRequest(*medialive.StartChannelInput) (*request.Request, *medialive.StartChannelOutput) + StartMultiplex(*medialive.StartMultiplexInput) (*medialive.StartMultiplexOutput, error) + StartMultiplexWithContext(aws.Context, *medialive.StartMultiplexInput, ...request.Option) (*medialive.StartMultiplexOutput, error) + StartMultiplexRequest(*medialive.StartMultiplexInput) (*request.Request, *medialive.StartMultiplexOutput) + StopChannel(*medialive.StopChannelInput) (*medialive.StopChannelOutput, error) StopChannelWithContext(aws.Context, *medialive.StopChannelInput, ...request.Option) (*medialive.StopChannelOutput, error) StopChannelRequest(*medialive.StopChannelInput) (*request.Request, *medialive.StopChannelOutput) + StopMultiplex(*medialive.StopMultiplexInput) (*medialive.StopMultiplexOutput, error) + StopMultiplexWithContext(aws.Context, *medialive.StopMultiplexInput, ...request.Option) (*medialive.StopMultiplexOutput, error) + StopMultiplexRequest(*medialive.StopMultiplexInput) (*request.Request, *medialive.StopMultiplexOutput) + UpdateChannel(*medialive.UpdateChannelInput) (*medialive.UpdateChannelOutput, error) UpdateChannelWithContext(aws.Context, *medialive.UpdateChannelInput, ...request.Option) (*medialive.UpdateChannelOutput, error) UpdateChannelRequest(*medialive.UpdateChannelInput) (*request.Request, *medialive.UpdateChannelOutput) @@ -198,6 +244,14 @@ type MediaLiveAPI interface { UpdateInputSecurityGroupWithContext(aws.Context, *medialive.UpdateInputSecurityGroupInput, ...request.Option) (*medialive.UpdateInputSecurityGroupOutput, error) UpdateInputSecurityGroupRequest(*medialive.UpdateInputSecurityGroupInput) (*request.Request, *medialive.UpdateInputSecurityGroupOutput) + UpdateMultiplex(*medialive.UpdateMultiplexInput) (*medialive.UpdateMultiplexOutput, error) + UpdateMultiplexWithContext(aws.Context, *medialive.UpdateMultiplexInput, ...request.Option) (*medialive.UpdateMultiplexOutput, error) + UpdateMultiplexRequest(*medialive.UpdateMultiplexInput) (*request.Request, *medialive.UpdateMultiplexOutput) + + UpdateMultiplexProgram(*medialive.UpdateMultiplexProgramInput) (*medialive.UpdateMultiplexProgramOutput, error) + UpdateMultiplexProgramWithContext(aws.Context, *medialive.UpdateMultiplexProgramInput, ...request.Option) (*medialive.UpdateMultiplexProgramOutput, error) + UpdateMultiplexProgramRequest(*medialive.UpdateMultiplexProgramInput) (*request.Request, *medialive.UpdateMultiplexProgramOutput) + UpdateReservation(*medialive.UpdateReservationInput) (*medialive.UpdateReservationOutput, error) UpdateReservationWithContext(aws.Context, *medialive.UpdateReservationInput, ...request.Option) (*medialive.UpdateReservationOutput, error) UpdateReservationRequest(*medialive.UpdateReservationInput) (*request.Request, *medialive.UpdateReservationOutput) @@ -213,6 +267,18 @@ type MediaLiveAPI interface { WaitUntilChannelStopped(*medialive.DescribeChannelInput) error WaitUntilChannelStoppedWithContext(aws.Context, *medialive.DescribeChannelInput, ...request.WaiterOption) error + + WaitUntilMultiplexCreated(*medialive.DescribeMultiplexInput) error + WaitUntilMultiplexCreatedWithContext(aws.Context, *medialive.DescribeMultiplexInput, ...request.WaiterOption) error + + WaitUntilMultiplexDeleted(*medialive.DescribeMultiplexInput) error + WaitUntilMultiplexDeletedWithContext(aws.Context, *medialive.DescribeMultiplexInput, ...request.WaiterOption) error + + WaitUntilMultiplexRunning(*medialive.DescribeMultiplexInput) error + WaitUntilMultiplexRunningWithContext(aws.Context, *medialive.DescribeMultiplexInput, ...request.WaiterOption) error + + WaitUntilMultiplexStopped(*medialive.DescribeMultiplexInput) error + WaitUntilMultiplexStoppedWithContext(aws.Context, *medialive.DescribeMultiplexInput, ...request.WaiterOption) error } var _ MediaLiveAPI = (*medialive.MediaLive)(nil) diff --git a/service/medialive/waiters.go b/service/medialive/waiters.go index 63f7e0e6621..36fb19d08c9 100644 --- a/service/medialive/waiters.go +++ b/service/medialive/waiters.go @@ -237,3 +237,232 @@ func (c *MediaLive) WaitUntilChannelStoppedWithContext(ctx aws.Context, input *D return w.WaitWithContext(ctx) } + +// WaitUntilMultiplexCreated uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexCreated(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexCreatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexCreatedWithContext is an extended version of WaitUntilMultiplexCreated. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) WaitUntilMultiplexCreatedWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexCreated", + MaxAttempts: 5, + Delay: request.ConstantWaiterDelay(3 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "IDLE", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "CREATING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "CREATE_FAILED", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilMultiplexDeleted uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexDeleted(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexDeletedWithContext is an extended version of WaitUntilMultiplexDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) WaitUntilMultiplexDeletedWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexDeleted", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DELETED", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DELETING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilMultiplexRunning uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexRunning(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexRunningWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexRunningWithContext is an extended version of WaitUntilMultiplexRunning. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) WaitUntilMultiplexRunningWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexRunning", + MaxAttempts: 120, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "RUNNING", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "STARTING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilMultiplexStopped uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexStopped(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexStoppedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexStoppedWithContext is an extended version of WaitUntilMultiplexStopped. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) WaitUntilMultiplexStoppedWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexStopped", + MaxAttempts: 28, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "IDLE", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "STOPPING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/service/mediapackagevod/api.go b/service/mediapackagevod/api.go index dedc3c91512..dc5aa5d0c9f 100644 --- a/service/mediapackagevod/api.go +++ b/service/mediapackagevod/api.go @@ -1806,6 +1806,8 @@ type CreatePackagingGroupOutput struct { Arn *string `locationName:"arn" type:"string"` + DomainName *string `locationName:"domainName" type:"string"` + Id *string `locationName:"id" type:"string"` } @@ -1825,6 +1827,12 @@ func (s *CreatePackagingGroupOutput) SetArn(v string) *CreatePackagingGroupOutpu return s } +// SetDomainName sets the DomainName field's value. +func (s *CreatePackagingGroupOutput) SetDomainName(v string) *CreatePackagingGroupOutput { + s.DomainName = &v + return s +} + // SetId sets the Id field's value. func (s *CreatePackagingGroupOutput) SetId(v string) *CreatePackagingGroupOutput { s.Id = &v @@ -2425,6 +2433,8 @@ type DescribePackagingGroupOutput struct { Arn *string `locationName:"arn" type:"string"` + DomainName *string `locationName:"domainName" type:"string"` + Id *string `locationName:"id" type:"string"` } @@ -2444,6 +2454,12 @@ func (s *DescribePackagingGroupOutput) SetArn(v string) *DescribePackagingGroupO return s } +// SetDomainName sets the DomainName field's value. +func (s *DescribePackagingGroupOutput) SetDomainName(v string) *DescribePackagingGroupOutput { + s.DomainName = &v + return s +} + // SetId sets the Id field's value. func (s *DescribePackagingGroupOutput) SetId(v string) *DescribePackagingGroupOutput { s.Id = &v @@ -3159,6 +3175,9 @@ type PackagingGroup struct { // The ARN of the PackagingGroup. Arn *string `locationName:"arn" type:"string"` + // The fully qualified domain name for Assets in the PackagingGroup. + DomainName *string `locationName:"domainName" type:"string"` + // The ID of the PackagingGroup. Id *string `locationName:"id" type:"string"` } @@ -3179,6 +3198,12 @@ func (s *PackagingGroup) SetArn(v string) *PackagingGroup { return s } +// SetDomainName sets the DomainName field's value. +func (s *PackagingGroup) SetDomainName(v string) *PackagingGroup { + s.DomainName = &v + return s +} + // SetId sets the Id field's value. func (s *PackagingGroup) SetId(v string) *PackagingGroup { s.Id = &v diff --git a/service/ram/api.go b/service/ram/api.go index 459ec84ca34..b7f93f0f49f 100644 --- a/service/ram/api.go +++ b/service/ram/api.go @@ -235,6 +235,103 @@ func (c *RAM) AssociateResourceShareWithContext(ctx aws.Context, input *Associat return out, req.Send() } +const opAssociateResourceSharePermission = "AssociateResourceSharePermission" + +// AssociateResourceSharePermissionRequest generates a "aws/request.Request" representing the +// client's request for the AssociateResourceSharePermission operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateResourceSharePermission for more information on using the AssociateResourceSharePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AssociateResourceSharePermissionRequest method. +// req, resp := client.AssociateResourceSharePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceSharePermission +func (c *RAM) AssociateResourceSharePermissionRequest(input *AssociateResourceSharePermissionInput) (req *request.Request, output *AssociateResourceSharePermissionOutput) { + op := &request.Operation{ + Name: opAssociateResourceSharePermission, + HTTPMethod: "POST", + HTTPPath: "/associateresourcesharepermission", + } + + if input == nil { + input = &AssociateResourceSharePermissionInput{} + } + + output = &AssociateResourceSharePermissionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateResourceSharePermission API operation for AWS Resource Access Manager. +// +// Associates a permission with a resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Access Manager's +// API operation AssociateResourceSharePermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceSharePermission +func (c *RAM) AssociateResourceSharePermission(input *AssociateResourceSharePermissionInput) (*AssociateResourceSharePermissionOutput, error) { + req, out := c.AssociateResourceSharePermissionRequest(input) + return out, req.Send() +} + +// AssociateResourceSharePermissionWithContext is the same as AssociateResourceSharePermission with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateResourceSharePermission for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) AssociateResourceSharePermissionWithContext(ctx aws.Context, input *AssociateResourceSharePermissionInput, opts ...request.Option) (*AssociateResourceSharePermissionOutput, error) { + req, out := c.AssociateResourceSharePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateResourceShare = "CreateResourceShare" // CreateResourceShareRequest generates a "aws/request.Request" representing the @@ -560,6 +657,103 @@ func (c *RAM) DisassociateResourceShareWithContext(ctx aws.Context, input *Disas return out, req.Send() } +const opDisassociateResourceSharePermission = "DisassociateResourceSharePermission" + +// DisassociateResourceSharePermissionRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResourceSharePermission operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateResourceSharePermission for more information on using the DisassociateResourceSharePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisassociateResourceSharePermissionRequest method. +// req, resp := client.DisassociateResourceSharePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceSharePermission +func (c *RAM) DisassociateResourceSharePermissionRequest(input *DisassociateResourceSharePermissionInput) (req *request.Request, output *DisassociateResourceSharePermissionOutput) { + op := &request.Operation{ + Name: opDisassociateResourceSharePermission, + HTTPMethod: "POST", + HTTPPath: "/disassociateresourcesharepermission", + } + + if input == nil { + input = &DisassociateResourceSharePermissionInput{} + } + + output = &DisassociateResourceSharePermissionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateResourceSharePermission API operation for AWS Resource Access Manager. +// +// Disassociates an AWS RAM permission from a resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Access Manager's +// API operation DisassociateResourceSharePermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceSharePermission +func (c *RAM) DisassociateResourceSharePermission(input *DisassociateResourceSharePermissionInput) (*DisassociateResourceSharePermissionOutput, error) { + req, out := c.DisassociateResourceSharePermissionRequest(input) + return out, req.Send() +} + +// DisassociateResourceSharePermissionWithContext is the same as DisassociateResourceSharePermission with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateResourceSharePermission for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) DisassociateResourceSharePermissionWithContext(ctx aws.Context, input *DisassociateResourceSharePermissionInput, opts ...request.Option) (*DisassociateResourceSharePermissionOutput, error) { + req, out := c.DisassociateResourceSharePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableSharingWithAwsOrganization = "EnableSharingWithAwsOrganization" // EnableSharingWithAwsOrganizationRequest generates a "aws/request.Request" representing the @@ -647,6 +841,100 @@ func (c *RAM) EnableSharingWithAwsOrganizationWithContext(ctx aws.Context, input return out, req.Send() } +const opGetPermission = "GetPermission" + +// GetPermissionRequest generates a "aws/request.Request" representing the +// client's request for the GetPermission operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPermission for more information on using the GetPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPermissionRequest method. +// req, resp := client.GetPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetPermission +func (c *RAM) GetPermissionRequest(input *GetPermissionInput) (req *request.Request, output *GetPermissionOutput) { + op := &request.Operation{ + Name: opGetPermission, + HTTPMethod: "POST", + HTTPPath: "/getpermission", + } + + if input == nil { + input = &GetPermissionInput{} + } + + output = &GetPermissionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPermission API operation for AWS Resource Access Manager. +// +// Gets the contents of an AWS RAM permission in JSON format. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Access Manager's +// API operation GetPermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetPermission +func (c *RAM) GetPermission(input *GetPermissionInput) (*GetPermissionOutput, error) { + req, out := c.GetPermissionRequest(input) + return out, req.Send() +} + +// GetPermissionWithContext is the same as GetPermission with the addition of +// the ability to pass a context and additional request options. +// +// See GetPermission for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) GetPermissionWithContext(ctx aws.Context, input *GetPermissionInput, opts ...request.Option) (*GetPermissionOutput, error) { + req, out := c.GetPermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetResourcePolicies = "GetResourcePolicies" // GetResourcePoliciesRequest generates a "aws/request.Request" representing the @@ -1421,89 +1709,180 @@ func (c *RAM) ListPendingInvitationResourcesPagesWithContext(ctx aws.Context, in return p.Err() } -const opListPrincipals = "ListPrincipals" +const opListPermissions = "ListPermissions" -// ListPrincipalsRequest generates a "aws/request.Request" representing the -// client's request for the ListPrincipals operation. The "output" return +// ListPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the ListPermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPrincipals for more information on using the ListPrincipals +// See ListPermissions for more information on using the ListPermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListPrincipalsRequest method. -// req, resp := client.ListPrincipalsRequest(params) +// // Example sending a request using the ListPermissionsRequest method. +// req, resp := client.ListPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals -func (c *RAM) ListPrincipalsRequest(input *ListPrincipalsInput) (req *request.Request, output *ListPrincipalsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPermissions +func (c *RAM) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) { op := &request.Operation{ - Name: opListPrincipals, + Name: opListPermissions, HTTPMethod: "POST", - HTTPPath: "/listprincipals", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/listpermissions", } if input == nil { - input = &ListPrincipalsInput{} + input = &ListPermissionsInput{} } - output = &ListPrincipalsOutput{} + output = &ListPermissionsOutput{} req = c.newRequest(op, input, output) return } -// ListPrincipals API operation for AWS Resource Access Manager. +// ListPermissions API operation for AWS Resource Access Manager. // -// Lists the principals that you have shared resources with or the principals -// that have shared resources with you. +// Lists the AWS RAM permissions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Resource Access Manager's -// API operation ListPrincipals for usage and error information. +// API operation ListPermissions for usage and error information. // // Returned Error Codes: -// * ErrCodeMalformedArnException "MalformedArnException" -// The format of an Amazon Resource Name (ARN) is not valid. -// -// * ErrCodeUnknownResourceException "UnknownResourceException" -// A specified resource was not found. +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. // // * ErrCodeInvalidNextTokenException "InvalidNextTokenException" // The specified value for NextToken is not valid. // -// * ErrCodeInvalidParameterException "InvalidParameterException" -// A parameter is not valid. -// // * ErrCodeServerInternalException "ServerInternalException" // The service could not respond to the request due to an internal problem. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The service is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals -func (c *RAM) ListPrincipals(input *ListPrincipalsInput) (*ListPrincipalsOutput, error) { - req, out := c.ListPrincipalsRequest(input) - return out, req.Send() +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPermissions +func (c *RAM) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) { + req, out := c.ListPermissionsRequest(input) + return out, req.Send() +} + +// ListPermissionsWithContext is the same as ListPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See ListPermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) { + req, out := c.ListPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPrincipals = "ListPrincipals" + +// ListPrincipalsRequest generates a "aws/request.Request" representing the +// client's request for the ListPrincipals operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListPrincipals for more information on using the ListPrincipals +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListPrincipalsRequest method. +// req, resp := client.ListPrincipalsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals +func (c *RAM) ListPrincipalsRequest(input *ListPrincipalsInput) (req *request.Request, output *ListPrincipalsOutput) { + op := &request.Operation{ + Name: opListPrincipals, + HTTPMethod: "POST", + HTTPPath: "/listprincipals", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPrincipalsInput{} + } + + output = &ListPrincipalsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPrincipals API operation for AWS Resource Access Manager. +// +// Lists the principals that you have shared resources with or that have shared +// resources with you. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Access Manager's +// API operation ListPrincipals for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals +func (c *RAM) ListPrincipals(input *ListPrincipalsInput) (*ListPrincipalsOutput, error) { + req, out := c.ListPrincipalsRequest(input) + return out, req.Send() } // ListPrincipalsWithContext is the same as ListPrincipals with the addition of @@ -1574,6 +1953,103 @@ func (c *RAM) ListPrincipalsPagesWithContext(ctx aws.Context, input *ListPrincip return p.Err() } +const opListResourceSharePermissions = "ListResourceSharePermissions" + +// ListResourceSharePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceSharePermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListResourceSharePermissions for more information on using the ListResourceSharePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListResourceSharePermissionsRequest method. +// req, resp := client.ListResourceSharePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceSharePermissions +func (c *RAM) ListResourceSharePermissionsRequest(input *ListResourceSharePermissionsInput) (req *request.Request, output *ListResourceSharePermissionsOutput) { + op := &request.Operation{ + Name: opListResourceSharePermissions, + HTTPMethod: "POST", + HTTPPath: "/listresourcesharepermissions", + } + + if input == nil { + input = &ListResourceSharePermissionsInput{} + } + + output = &ListResourceSharePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResourceSharePermissions API operation for AWS Resource Access Manager. +// +// Lists the AWS RAM permissions that are associated with a resource share. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Access Manager's +// API operation ListResourceSharePermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceSharePermissions +func (c *RAM) ListResourceSharePermissions(input *ListResourceSharePermissionsInput) (*ListResourceSharePermissionsOutput, error) { + req, out := c.ListResourceSharePermissionsRequest(input) + return out, req.Send() +} + +// ListResourceSharePermissionsWithContext is the same as ListResourceSharePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See ListResourceSharePermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) ListResourceSharePermissionsWithContext(ctx aws.Context, input *ListResourceSharePermissionsInput, opts ...request.Option) (*ListResourceSharePermissionsOutput, error) { + req, out := c.ListResourceSharePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListResources = "ListResources" // ListResourcesRequest generates a "aws/request.Request" representing the @@ -1730,6 +2206,109 @@ func (c *RAM) ListResourcesPagesWithContext(ctx aws.Context, input *ListResource return p.Err() } +const opPromoteResourceShareCreatedFromPolicy = "PromoteResourceShareCreatedFromPolicy" + +// PromoteResourceShareCreatedFromPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PromoteResourceShareCreatedFromPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PromoteResourceShareCreatedFromPolicy for more information on using the PromoteResourceShareCreatedFromPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PromoteResourceShareCreatedFromPolicyRequest method. +// req, resp := client.PromoteResourceShareCreatedFromPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/PromoteResourceShareCreatedFromPolicy +func (c *RAM) PromoteResourceShareCreatedFromPolicyRequest(input *PromoteResourceShareCreatedFromPolicyInput) (req *request.Request, output *PromoteResourceShareCreatedFromPolicyOutput) { + op := &request.Operation{ + Name: opPromoteResourceShareCreatedFromPolicy, + HTTPMethod: "POST", + HTTPPath: "/promoteresourcesharecreatedfrompolicy", + } + + if input == nil { + input = &PromoteResourceShareCreatedFromPolicyInput{} + } + + output = &PromoteResourceShareCreatedFromPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PromoteResourceShareCreatedFromPolicy API operation for AWS Resource Access Manager. +// +// Resource shares that were created by attaching a policy to a resource are +// visible only to the resource share owner, and the resource share cannot be +// modified in AWS RAM. +// +// Use this API action to promote the resource share. When you promote the resource +// share, it becomes: +// +// * Visible to all principals that it is shared with. +// +// * Modifiable in AWS RAM. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Access Manager's +// API operation PromoteResourceShareCreatedFromPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException" +// A required input parameter is missing. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/PromoteResourceShareCreatedFromPolicy +func (c *RAM) PromoteResourceShareCreatedFromPolicy(input *PromoteResourceShareCreatedFromPolicyInput) (*PromoteResourceShareCreatedFromPolicyOutput, error) { + req, out := c.PromoteResourceShareCreatedFromPolicyRequest(input) + return out, req.Send() +} + +// PromoteResourceShareCreatedFromPolicyWithContext is the same as PromoteResourceShareCreatedFromPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PromoteResourceShareCreatedFromPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RAM) PromoteResourceShareCreatedFromPolicyWithContext(ctx aws.Context, input *PromoteResourceShareCreatedFromPolicyInput, opts ...request.Option) (*PromoteResourceShareCreatedFromPolicyOutput, error) { + req, out := c.PromoteResourceShareCreatedFromPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRejectResourceShareInvitation = "RejectResourceShareInvitation" // RejectResourceShareInvitationRequest generates a "aws/request.Request" representing the @@ -2307,22 +2886,133 @@ func (s *AssociateResourceShareOutput) SetResourceShareAssociations(v []*Resourc return s } -type CreateResourceShareInput struct { +type AssociateResourceSharePermissionInput struct { _ struct{} `type:"structure"` - // Indicates whether principals outside your AWS organization can be associated - // with a resource share. - AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"` - // A unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. ClientToken *string `locationName:"clientToken" type:"string"` - // The name of the resource share. + // The ARN of the AWS RAM permission to associate with the resource share. // - // Name is a required field + // PermissionArn is a required field + PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"` + + // Indicates whether the permission should replace the permissions that are + // currently associated with the resource share. Use true to replace the current + // permissions. Use false to add the permission to the current permission. + Replace *bool `locationName:"replace" type:"boolean"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResourceSharePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResourceSharePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResourceSharePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResourceSharePermissionInput"} + if s.PermissionArn == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionArn")) + } + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateResourceSharePermissionInput) SetClientToken(v string) *AssociateResourceSharePermissionInput { + s.ClientToken = &v + return s +} + +// SetPermissionArn sets the PermissionArn field's value. +func (s *AssociateResourceSharePermissionInput) SetPermissionArn(v string) *AssociateResourceSharePermissionInput { + s.PermissionArn = &v + return s +} + +// SetReplace sets the Replace field's value. +func (s *AssociateResourceSharePermissionInput) SetReplace(v bool) *AssociateResourceSharePermissionInput { + s.Replace = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *AssociateResourceSharePermissionInput) SetResourceShareArn(v string) *AssociateResourceSharePermissionInput { + s.ResourceShareArn = &v + return s +} + +type AssociateResourceSharePermissionOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s AssociateResourceSharePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResourceSharePermissionOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateResourceSharePermissionOutput) SetClientToken(v string) *AssociateResourceSharePermissionOutput { + s.ClientToken = &v + return s +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *AssociateResourceSharePermissionOutput) SetReturnValue(v bool) *AssociateResourceSharePermissionOutput { + s.ReturnValue = &v + return s +} + +type CreateResourceShareInput struct { + _ struct{} `type:"structure"` + + // Indicates whether principals outside your AWS organization can be associated + // with a resource share. + AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The name of the resource share. + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` + // The ARNs of the permissions to associate with the resource share. If you + // do not specify an ARN for the permission, AWS RAM automatically attaches + // the default version of the permission for each resource type. + PermissionArns []*string `locationName:"permissionArns" type:"list"` + // The principals to associate with the resource share. The possible values // are IDs of AWS accounts, the ARN of an OU or organization from AWS Organizations. Principals []*string `locationName:"principals" type:"list"` @@ -2376,6 +3066,12 @@ func (s *CreateResourceShareInput) SetName(v string) *CreateResourceShareInput { return s } +// SetPermissionArns sets the PermissionArns field's value. +func (s *CreateResourceShareInput) SetPermissionArns(v []*string) *CreateResourceShareInput { + s.PermissionArns = v + return s +} + // SetPrincipals sets the Principals field's value. func (s *CreateResourceShareInput) SetPrincipals(v []*string) *CreateResourceShareInput { s.Principals = v @@ -2518,7 +3214,7 @@ type DisassociateResourceShareInput struct { // The principals. Principals []*string `locationName:"principals" type:"list"` - // The Amazon Resource Names (ARN) of the resources. + // The Amazon Resource Names (ARNs) of the resources. ResourceArns []*string `locationName:"resourceArns" type:"list"` // The Amazon Resource Name (ARN) of the resource share. @@ -2607,6 +3303,101 @@ func (s *DisassociateResourceShareOutput) SetResourceShareAssociations(v []*Reso return s } +type DisassociateResourceSharePermissionInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The ARN of the permission to disassociate from the resource share. + // + // PermissionArn is a required field + PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResourceSharePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResourceSharePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResourceSharePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResourceSharePermissionInput"} + if s.PermissionArn == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionArn")) + } + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DisassociateResourceSharePermissionInput) SetClientToken(v string) *DisassociateResourceSharePermissionInput { + s.ClientToken = &v + return s +} + +// SetPermissionArn sets the PermissionArn field's value. +func (s *DisassociateResourceSharePermissionInput) SetPermissionArn(v string) *DisassociateResourceSharePermissionInput { + s.PermissionArn = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *DisassociateResourceSharePermissionInput) SetResourceShareArn(v string) *DisassociateResourceSharePermissionInput { + s.ResourceShareArn = &v + return s +} + +type DisassociateResourceSharePermissionOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s DisassociateResourceSharePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResourceSharePermissionOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *DisassociateResourceSharePermissionOutput) SetClientToken(v string) *DisassociateResourceSharePermissionOutput { + s.ClientToken = &v + return s +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *DisassociateResourceSharePermissionOutput) SetReturnValue(v bool) *DisassociateResourceSharePermissionOutput { + s.ReturnValue = &v + return s +} + type EnableSharingWithAwsOrganizationInput struct { _ struct{} `type:"structure"` } @@ -2644,6 +3435,76 @@ func (s *EnableSharingWithAwsOrganizationOutput) SetReturnValue(v bool) *EnableS return s } +type GetPermissionInput struct { + _ struct{} `type:"structure"` + + // The ARN of the permission. + // + // PermissionArn is a required field + PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"` + + // The identifier for the version of the permission. + PermissionVersion *int64 `locationName:"permissionVersion" type:"integer"` +} + +// String returns the string representation +func (s GetPermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPermissionInput"} + if s.PermissionArn == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPermissionArn sets the PermissionArn field's value. +func (s *GetPermissionInput) SetPermissionArn(v string) *GetPermissionInput { + s.PermissionArn = &v + return s +} + +// SetPermissionVersion sets the PermissionVersion field's value. +func (s *GetPermissionInput) SetPermissionVersion(v int64) *GetPermissionInput { + s.PermissionVersion = &v + return s +} + +type GetPermissionOutput struct { + _ struct{} `type:"structure"` + + // Information about the permission. + Permission *ResourceSharePermissionDetail `locationName:"permission" type:"structure"` +} + +// String returns the string representation +func (s GetPermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPermissionOutput) GoString() string { + return s.String() +} + +// SetPermission sets the Permission field's value. +func (s *GetPermissionOutput) SetPermission(v *ResourceSharePermissionDetail) *GetPermissionOutput { + s.Permission = v + return s +} + type GetResourcePoliciesInput struct { _ struct{} `type:"structure"` @@ -2752,7 +3613,9 @@ type GetResourceShareAssociationsInput struct { // The association status. AssociationStatus *string `locationName:"associationStatus" type:"string" enum:"ResourceShareAssociationStatus"` - // The association type. + // The association type. Specify PRINCIPAL to list the principals that are associated + // with the specified resource share. Specify RESOURCE to list the resources + // that are associated with the specified resource share. // // AssociationType is a required field AssociationType *string `locationName:"associationType" type:"string" required:"true" enum:"ResourceShareAssociationType"` @@ -3196,7 +4059,229 @@ func (s *ListPendingInvitationResourcesOutput) SetResources(v []*Resource) *List return s } -type ListPrincipalsInput struct { +type ListPermissionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Specifies the resource type for which to list permissions. For example, to + // list only permissions that apply to EC2 subnets, specify ec2:Subnet. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation +func (s ListPermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput { + s.NextToken = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListPermissionsInput) SetResourceType(v string) *ListPermissionsInput { + s.ResourceType = &v + return s +} + +type ListPermissionsOutput struct { + _ struct{} `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. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the permissions. + Permissions []*ResourceSharePermissionSummary `locationName:"permissions" type:"list"` +} + +// String returns the string representation +func (s ListPermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPermissionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput { + s.NextToken = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *ListPermissionsOutput) SetPermissions(v []*ResourceSharePermissionSummary) *ListPermissionsOutput { + s.Permissions = v + return s +} + +type ListPrincipalsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principals. + Principals []*string `locationName:"principals" type:"list"` + + // The Amazon Resource Name (ARN) of the resource. + ResourceArn *string `locationName:"resourceArn" type:"string"` + + // The type of owner. + // + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` + + // The Amazon Resource Names (ARN) of the resource shares. + ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` + + // The resource type. + // + // Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget + // | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster + // | route53resolver:ResolverRule I resource-groups:Group + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation +func (s ListPrincipalsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPrincipalsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPrincipalsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceOwner == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceOwner")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPrincipalsInput) SetMaxResults(v int64) *ListPrincipalsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrincipalsInput) SetNextToken(v string) *ListPrincipalsInput { + s.NextToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *ListPrincipalsInput) SetPrincipals(v []*string) *ListPrincipalsInput { + s.Principals = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListPrincipalsInput) SetResourceArn(v string) *ListPrincipalsInput { + s.ResourceArn = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *ListPrincipalsInput) SetResourceOwner(v string) *ListPrincipalsInput { + s.ResourceOwner = &v + return s +} + +// SetResourceShareArns sets the ResourceShareArns field's value. +func (s *ListPrincipalsInput) SetResourceShareArns(v []*string) *ListPrincipalsInput { + s.ResourceShareArns = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListPrincipalsInput) SetResourceType(v string) *ListPrincipalsInput { + s.ResourceType = &v + return s +} + +type ListPrincipalsOutput struct { + _ struct{} `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. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principals. + Principals []*Principal `locationName:"principals" type:"list"` +} + +// String returns the string representation +func (s ListPrincipalsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPrincipalsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrincipalsOutput) SetNextToken(v string) *ListPrincipalsOutput { + s.NextToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *ListPrincipalsOutput) SetPrincipals(v []*Principal) *ListPrincipalsOutput { + s.Principals = v + return s +} + +type ListResourceSharePermissionsInput struct { _ struct{} `type:"structure"` // The maximum number of results to return with a single call. To retrieve the @@ -3206,45 +4291,30 @@ type ListPrincipalsInput struct { // The token for the next page of results. NextToken *string `locationName:"nextToken" type:"string"` - // The principals. - Principals []*string `locationName:"principals" type:"list"` - - // The Amazon Resource Name (ARN) of the resource. - ResourceArn *string `locationName:"resourceArn" type:"string"` - - // The type of owner. - // - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` - - // The Amazon Resource Names (ARN) of the resource shares. - ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` - - // The resource type. + // The Amazon Resource Name (ARN) of the resource share. // - // Valid values: route53resolver:ResolverRule | ec2:TransitGateway | ec2:Subnet - // | license-manager:LicenseConfiguration - ResourceType *string `locationName:"resourceType" type:"string"` + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` } // String returns the string representation -func (s ListPrincipalsInput) String() string { +func (s ListResourceSharePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListPrincipalsInput) GoString() string { +func (s ListResourceSharePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPrincipalsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsInput"} +func (s *ListResourceSharePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceSharePermissionsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ResourceOwner == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceOwner")) + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) } if invalidParams.Len() > 0 { @@ -3254,77 +4324,53 @@ func (s *ListPrincipalsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListPrincipalsInput) SetMaxResults(v int64) *ListPrincipalsInput { +func (s *ListResourceSharePermissionsInput) SetMaxResults(v int64) *ListResourceSharePermissionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListPrincipalsInput) SetNextToken(v string) *ListPrincipalsInput { +func (s *ListResourceSharePermissionsInput) SetNextToken(v string) *ListResourceSharePermissionsInput { s.NextToken = &v return s } -// SetPrincipals sets the Principals field's value. -func (s *ListPrincipalsInput) SetPrincipals(v []*string) *ListPrincipalsInput { - s.Principals = v - return s -} - -// SetResourceArn sets the ResourceArn field's value. -func (s *ListPrincipalsInput) SetResourceArn(v string) *ListPrincipalsInput { - s.ResourceArn = &v - return s -} - -// SetResourceOwner sets the ResourceOwner field's value. -func (s *ListPrincipalsInput) SetResourceOwner(v string) *ListPrincipalsInput { - s.ResourceOwner = &v - return s -} - -// SetResourceShareArns sets the ResourceShareArns field's value. -func (s *ListPrincipalsInput) SetResourceShareArns(v []*string) *ListPrincipalsInput { - s.ResourceShareArns = v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *ListPrincipalsInput) SetResourceType(v string) *ListPrincipalsInput { - s.ResourceType = &v +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *ListResourceSharePermissionsInput) SetResourceShareArn(v string) *ListResourceSharePermissionsInput { + s.ResourceShareArn = &v return s } -type ListPrincipalsOutput struct { +type ListResourceSharePermissionsOutput struct { _ struct{} `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. NextToken *string `locationName:"nextToken" type:"string"` - // The principals. - Principals []*Principal `locationName:"principals" type:"list"` + // The permissions associated with the resource share. + Permissions []*ResourceSharePermissionSummary `locationName:"permissions" type:"list"` } // String returns the string representation -func (s ListPrincipalsOutput) String() string { +func (s ListResourceSharePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListPrincipalsOutput) GoString() string { +func (s ListResourceSharePermissionsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListPrincipalsOutput) SetNextToken(v string) *ListPrincipalsOutput { +func (s *ListResourceSharePermissionsOutput) SetNextToken(v string) *ListResourceSharePermissionsOutput { s.NextToken = &v return s } -// SetPrincipals sets the Principals field's value. -func (s *ListPrincipalsOutput) SetPrincipals(v []*Principal) *ListPrincipalsOutput { - s.Principals = v +// SetPermissions sets the Permissions field's value. +func (s *ListResourceSharePermissionsOutput) SetPermissions(v []*ResourceSharePermissionSummary) *ListResourceSharePermissionsOutput { + s.Permissions = v return s } @@ -3354,8 +4400,9 @@ type ListResourcesInput struct { // The resource type. // - // Valid values: route53resolver:ResolverRule | ec2:TransitGateway | ec2:Subnet - // | license-manager:LicenseConfiguration + // Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget + // | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster + // | route53resolver:ResolverRule | resource-groups:Group ResourceType *string `locationName:"resourceType" type:"string"` } @@ -3521,6 +4568,67 @@ func (s *Principal) SetResourceShareArn(v string) *Principal { return s } +type PromoteResourceShareCreatedFromPolicyInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource share to promote. + // + // ResourceShareArn is a required field + ResourceShareArn *string `location:"querystring" locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s PromoteResourceShareCreatedFromPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PromoteResourceShareCreatedFromPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PromoteResourceShareCreatedFromPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PromoteResourceShareCreatedFromPolicyInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *PromoteResourceShareCreatedFromPolicyInput) SetResourceShareArn(v string) *PromoteResourceShareCreatedFromPolicyInput { + s.ResourceShareArn = &v + return s +} + +type PromoteResourceShareCreatedFromPolicyOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s PromoteResourceShareCreatedFromPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PromoteResourceShareCreatedFromPolicyOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *PromoteResourceShareCreatedFromPolicyOutput) SetReturnValue(v bool) *PromoteResourceShareCreatedFromPolicyOutput { + s.ReturnValue = &v + return s +} + type RejectResourceShareInvitationInput struct { _ struct{} `type:"structure"` @@ -3615,6 +4723,10 @@ type Resource struct { // The time when the association was last updated. LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + // The ARN of the resource group. This value is returned only if the resource + // is a resource group. + ResourceGroupArn *string `locationName:"resourceGroupArn" type:"string"` + // The Amazon Resource Name (ARN) of the resource share. ResourceShareArn *string `locationName:"resourceShareArn" type:"string"` @@ -3656,6 +4768,12 @@ func (s *Resource) SetLastUpdatedTime(v time.Time) *Resource { return s } +// SetResourceGroupArn sets the ResourceGroupArn field's value. +func (s *Resource) SetResourceGroupArn(v string) *Resource { + s.ResourceGroupArn = &v + return s +} + // SetResourceShareArn sets the ResourceShareArn field's value. func (s *Resource) SetResourceShareArn(v string) *Resource { s.ResourceShareArn = &v @@ -3691,6 +4809,21 @@ type ResourceShare struct { // The time when the resource share was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + // Indicates how the resource share was created. Possible values include: + // + // * CREATED_FROM_POLICY - Indicates that the resource share was created + // from an AWS Identity and Access Management (AWS IAM) policy attached to + // a resource. These resource shares are visible only to the AWS account + // that created it. They cannot be modified in AWS RAM. + // + // * PROMOTING_TO_STANDARD - The resource share is in the process of being + // promoted. For more information, see PromoteResourceShareCreatedFromPolicy. + // + // * STANDARD - Indicates that the resource share was created in AWS RAM + // using the console or APIs. These resource shares are visible to all principals. + // They can be modified in AWS RAM. + FeatureSet *string `locationName:"featureSet" type:"string" enum:"ResourceShareFeatureSet"` + // The time when the resource share was last updated. LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` @@ -3735,6 +4868,12 @@ func (s *ResourceShare) SetCreationTime(v time.Time) *ResourceShare { return s } +// SetFeatureSet sets the FeatureSet field's value. +func (s *ResourceShare) SetFeatureSet(v string) *ResourceShare { + s.FeatureSet = &v + return s +} + // SetLastUpdatedTime sets the LastUpdatedTime field's value. func (s *ResourceShare) SetLastUpdatedTime(v time.Time) *ResourceShare { s.LastUpdatedTime = &v @@ -3966,6 +5105,184 @@ func (s *ResourceShareInvitation) SetStatus(v string) *ResourceShareInvitation { return s } +// Information about an AWS RAM permission. +type ResourceSharePermissionDetail struct { + _ struct{} `type:"structure"` + + // The ARN of the permission. + Arn *string `locationName:"arn" type:"string"` + + // The date and time when the permission was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The identifier for the version of the permission that is set as the default + // version. + DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"` + + // The date and time when the permission was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The name of the permission. + Name *string `locationName:"name" type:"string"` + + // The permission's effect and actions in JSON format. The effect indicates + // whether the actions are allowed or denied. The actions list the API actions + // to which the principal is granted or denied access. + Permission *string `locationName:"permission" type:"string"` + + // The resource type to which the permission applies. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The identifier for the version of the permission. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ResourceSharePermissionDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceSharePermissionDetail) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResourceSharePermissionDetail) SetArn(v string) *ResourceSharePermissionDetail { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResourceSharePermissionDetail) SetCreationTime(v time.Time) *ResourceSharePermissionDetail { + s.CreationTime = &v + return s +} + +// SetDefaultVersion sets the DefaultVersion field's value. +func (s *ResourceSharePermissionDetail) SetDefaultVersion(v bool) *ResourceSharePermissionDetail { + s.DefaultVersion = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ResourceSharePermissionDetail) SetLastUpdatedTime(v time.Time) *ResourceSharePermissionDetail { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResourceSharePermissionDetail) SetName(v string) *ResourceSharePermissionDetail { + s.Name = &v + return s +} + +// SetPermission sets the Permission field's value. +func (s *ResourceSharePermissionDetail) SetPermission(v string) *ResourceSharePermissionDetail { + s.Permission = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceSharePermissionDetail) SetResourceType(v string) *ResourceSharePermissionDetail { + s.ResourceType = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ResourceSharePermissionDetail) SetVersion(v string) *ResourceSharePermissionDetail { + s.Version = &v + return s +} + +// Information about a permission that is associated with a resource share. +type ResourceSharePermissionSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the permission. + Arn *string `locationName:"arn" type:"string"` + + // The date and time when the permission was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The identifier for the version of the permission that is set as the default + // version. + DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"` + + // The date and time when the permission was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The name of the permission. + Name *string `locationName:"name" type:"string"` + + // The type of resource to which the permission applies. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The current status of the permission. + Status *string `locationName:"status" type:"string"` + + // The identifier for the version of the permission. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ResourceSharePermissionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceSharePermissionSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResourceSharePermissionSummary) SetArn(v string) *ResourceSharePermissionSummary { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResourceSharePermissionSummary) SetCreationTime(v time.Time) *ResourceSharePermissionSummary { + s.CreationTime = &v + return s +} + +// SetDefaultVersion sets the DefaultVersion field's value. +func (s *ResourceSharePermissionSummary) SetDefaultVersion(v bool) *ResourceSharePermissionSummary { + s.DefaultVersion = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ResourceSharePermissionSummary) SetLastUpdatedTime(v time.Time) *ResourceSharePermissionSummary { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResourceSharePermissionSummary) SetName(v string) *ResourceSharePermissionSummary { + s.Name = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceSharePermissionSummary) SetResourceType(v string) *ResourceSharePermissionSummary { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceSharePermissionSummary) SetStatus(v string) *ResourceSharePermissionSummary { + s.Status = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ResourceSharePermissionSummary) SetVersion(v string) *ResourceSharePermissionSummary { + s.Version = &v + return s +} + // Information about a tag. type Tag struct { _ struct{} `type:"structure"` @@ -4297,6 +5614,17 @@ const ( ResourceShareAssociationTypeResource = "RESOURCE" ) +const ( + // ResourceShareFeatureSetCreatedFromPolicy is a ResourceShareFeatureSet enum value + ResourceShareFeatureSetCreatedFromPolicy = "CREATED_FROM_POLICY" + + // ResourceShareFeatureSetPromotingToStandard is a ResourceShareFeatureSet enum value + ResourceShareFeatureSetPromotingToStandard = "PROMOTING_TO_STANDARD" + + // ResourceShareFeatureSetStandard is a ResourceShareFeatureSet enum value + ResourceShareFeatureSetStandard = "STANDARD" +) + const ( // ResourceShareInvitationStatusPending is a ResourceShareInvitationStatus enum value ResourceShareInvitationStatusPending = "PENDING" diff --git a/service/ram/ramiface/interface.go b/service/ram/ramiface/interface.go index 3c528106b19..0569e8aaf39 100644 --- a/service/ram/ramiface/interface.go +++ b/service/ram/ramiface/interface.go @@ -68,6 +68,10 @@ type RAMAPI interface { AssociateResourceShareWithContext(aws.Context, *ram.AssociateResourceShareInput, ...request.Option) (*ram.AssociateResourceShareOutput, error) AssociateResourceShareRequest(*ram.AssociateResourceShareInput) (*request.Request, *ram.AssociateResourceShareOutput) + AssociateResourceSharePermission(*ram.AssociateResourceSharePermissionInput) (*ram.AssociateResourceSharePermissionOutput, error) + AssociateResourceSharePermissionWithContext(aws.Context, *ram.AssociateResourceSharePermissionInput, ...request.Option) (*ram.AssociateResourceSharePermissionOutput, error) + AssociateResourceSharePermissionRequest(*ram.AssociateResourceSharePermissionInput) (*request.Request, *ram.AssociateResourceSharePermissionOutput) + CreateResourceShare(*ram.CreateResourceShareInput) (*ram.CreateResourceShareOutput, error) CreateResourceShareWithContext(aws.Context, *ram.CreateResourceShareInput, ...request.Option) (*ram.CreateResourceShareOutput, error) CreateResourceShareRequest(*ram.CreateResourceShareInput) (*request.Request, *ram.CreateResourceShareOutput) @@ -80,10 +84,18 @@ type RAMAPI interface { DisassociateResourceShareWithContext(aws.Context, *ram.DisassociateResourceShareInput, ...request.Option) (*ram.DisassociateResourceShareOutput, error) DisassociateResourceShareRequest(*ram.DisassociateResourceShareInput) (*request.Request, *ram.DisassociateResourceShareOutput) + DisassociateResourceSharePermission(*ram.DisassociateResourceSharePermissionInput) (*ram.DisassociateResourceSharePermissionOutput, error) + DisassociateResourceSharePermissionWithContext(aws.Context, *ram.DisassociateResourceSharePermissionInput, ...request.Option) (*ram.DisassociateResourceSharePermissionOutput, error) + DisassociateResourceSharePermissionRequest(*ram.DisassociateResourceSharePermissionInput) (*request.Request, *ram.DisassociateResourceSharePermissionOutput) + EnableSharingWithAwsOrganization(*ram.EnableSharingWithAwsOrganizationInput) (*ram.EnableSharingWithAwsOrganizationOutput, error) EnableSharingWithAwsOrganizationWithContext(aws.Context, *ram.EnableSharingWithAwsOrganizationInput, ...request.Option) (*ram.EnableSharingWithAwsOrganizationOutput, error) EnableSharingWithAwsOrganizationRequest(*ram.EnableSharingWithAwsOrganizationInput) (*request.Request, *ram.EnableSharingWithAwsOrganizationOutput) + GetPermission(*ram.GetPermissionInput) (*ram.GetPermissionOutput, error) + GetPermissionWithContext(aws.Context, *ram.GetPermissionInput, ...request.Option) (*ram.GetPermissionOutput, error) + GetPermissionRequest(*ram.GetPermissionInput) (*request.Request, *ram.GetPermissionOutput) + GetResourcePolicies(*ram.GetResourcePoliciesInput) (*ram.GetResourcePoliciesOutput, error) GetResourcePoliciesWithContext(aws.Context, *ram.GetResourcePoliciesInput, ...request.Option) (*ram.GetResourcePoliciesOutput, error) GetResourcePoliciesRequest(*ram.GetResourcePoliciesInput) (*request.Request, *ram.GetResourcePoliciesOutput) @@ -119,6 +131,10 @@ type RAMAPI interface { ListPendingInvitationResourcesPages(*ram.ListPendingInvitationResourcesInput, func(*ram.ListPendingInvitationResourcesOutput, bool) bool) error ListPendingInvitationResourcesPagesWithContext(aws.Context, *ram.ListPendingInvitationResourcesInput, func(*ram.ListPendingInvitationResourcesOutput, bool) bool, ...request.Option) error + ListPermissions(*ram.ListPermissionsInput) (*ram.ListPermissionsOutput, error) + ListPermissionsWithContext(aws.Context, *ram.ListPermissionsInput, ...request.Option) (*ram.ListPermissionsOutput, error) + ListPermissionsRequest(*ram.ListPermissionsInput) (*request.Request, *ram.ListPermissionsOutput) + ListPrincipals(*ram.ListPrincipalsInput) (*ram.ListPrincipalsOutput, error) ListPrincipalsWithContext(aws.Context, *ram.ListPrincipalsInput, ...request.Option) (*ram.ListPrincipalsOutput, error) ListPrincipalsRequest(*ram.ListPrincipalsInput) (*request.Request, *ram.ListPrincipalsOutput) @@ -126,6 +142,10 @@ type RAMAPI interface { ListPrincipalsPages(*ram.ListPrincipalsInput, func(*ram.ListPrincipalsOutput, bool) bool) error ListPrincipalsPagesWithContext(aws.Context, *ram.ListPrincipalsInput, func(*ram.ListPrincipalsOutput, bool) bool, ...request.Option) error + ListResourceSharePermissions(*ram.ListResourceSharePermissionsInput) (*ram.ListResourceSharePermissionsOutput, error) + ListResourceSharePermissionsWithContext(aws.Context, *ram.ListResourceSharePermissionsInput, ...request.Option) (*ram.ListResourceSharePermissionsOutput, error) + ListResourceSharePermissionsRequest(*ram.ListResourceSharePermissionsInput) (*request.Request, *ram.ListResourceSharePermissionsOutput) + ListResources(*ram.ListResourcesInput) (*ram.ListResourcesOutput, error) ListResourcesWithContext(aws.Context, *ram.ListResourcesInput, ...request.Option) (*ram.ListResourcesOutput, error) ListResourcesRequest(*ram.ListResourcesInput) (*request.Request, *ram.ListResourcesOutput) @@ -133,6 +153,10 @@ type RAMAPI interface { ListResourcesPages(*ram.ListResourcesInput, func(*ram.ListResourcesOutput, bool) bool) error ListResourcesPagesWithContext(aws.Context, *ram.ListResourcesInput, func(*ram.ListResourcesOutput, bool) bool, ...request.Option) error + PromoteResourceShareCreatedFromPolicy(*ram.PromoteResourceShareCreatedFromPolicyInput) (*ram.PromoteResourceShareCreatedFromPolicyOutput, error) + PromoteResourceShareCreatedFromPolicyWithContext(aws.Context, *ram.PromoteResourceShareCreatedFromPolicyInput, ...request.Option) (*ram.PromoteResourceShareCreatedFromPolicyOutput, error) + PromoteResourceShareCreatedFromPolicyRequest(*ram.PromoteResourceShareCreatedFromPolicyInput) (*request.Request, *ram.PromoteResourceShareCreatedFromPolicyOutput) + RejectResourceShareInvitation(*ram.RejectResourceShareInvitationInput) (*ram.RejectResourceShareInvitationOutput, error) RejectResourceShareInvitationWithContext(aws.Context, *ram.RejectResourceShareInvitationInput, ...request.Option) (*ram.RejectResourceShareInvitationOutput, error) RejectResourceShareInvitationRequest(*ram.RejectResourceShareInvitationInput) (*request.Request, *ram.RejectResourceShareInvitationOutput) diff --git a/service/rds/api.go b/service/rds/api.go index 56c6fdb8e9c..5488aa1db05 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -8861,6 +8861,12 @@ func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParamet // or the DescribeDBClusterParameters action to verify that your DB cluster // parameter group has been created or modified. // +// If the modified DB cluster parameter group is used by an Aurora Serverless +// cluster, Aurora applies the update immediately. The cluster restart might +// interrupt your workload. In that case, your application must reopen any connections +// and retry any transactions that were active when the parameter changes took +// effect. +// // This action only applies to Aurora DB clusters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12818,7 +12824,7 @@ type ApplyPendingMaintenanceActionInput struct { // The pending maintenance action to apply to this resource. // - // Valid values: system-update, db-upgrade, hardware-maintenance + // Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation // // ApplyAction is a required field ApplyAction *string `type:"string" required:"true"` @@ -14382,6 +14388,9 @@ type CreateDBClusterEndpointInput struct { // List of DB instance identifiers that are part of the custom endpoint group. StaticMembers []*string `type:"list"` + + // The tags to be assigned to the Amazon RDS resource. + Tags []*Tag `locationNameList:"Tag" type:"list"` } // String returns the string representation @@ -14443,6 +14452,12 @@ func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBCl return s } +// SetTags sets the Tags field's value. +func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput { + s.Tags = v + return s +} + // This data type represents the information you need to connect to an Amazon // Aurora DB cluster. This data type is used as a response element in the following // actions: @@ -15739,8 +15754,10 @@ type CreateDBInstanceInput struct { // values, see Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) // in the Amazon RDS User Guide. // - // Constraints: Must be a multiple between 1 and 50 of the storage amount for - // the DB instance. + // Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must + // be a multiple between .5 and 50 of the storage amount for the DB instance. + // For SQL Server DB instances, must be a multiple between 1 and 50 of the storage + // amount for the DB instance. Iops *int64 `type:"integer"` // The AWS KMS key identifier for an encrypted DB instance. @@ -31495,7 +31512,7 @@ type PendingMaintenanceAction struct { _ struct{} `type:"structure"` // The type of pending maintenance action that is available for the resource. - // Valid actions are system-update, db-upgrade, and hardware-maintenance. + // Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation. Action *string `type:"string"` // The date of the maintenance window when the action is applied. The maintenance diff --git a/service/redshift/api.go b/service/redshift/api.go index ebb79a96e02..f5738439429 100644 --- a/service/redshift/api.go +++ b/service/redshift/api.go @@ -1600,6 +1600,102 @@ func (c *Redshift) CreateHsmConfigurationWithContext(ctx aws.Context, input *Cre return out, req.Send() } +const opCreateScheduledAction = "CreateScheduledAction" + +// CreateScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the CreateScheduledAction operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateScheduledAction for more information on using the CreateScheduledAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateScheduledActionRequest method. +// req, resp := client.CreateScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateScheduledAction +func (c *Redshift) CreateScheduledActionRequest(input *CreateScheduledActionInput) (req *request.Request, output *CreateScheduledActionOutput) { + op := &request.Operation{ + Name: opCreateScheduledAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateScheduledActionInput{} + } + + output = &CreateScheduledActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateScheduledAction API operation for Amazon Redshift. +// +// Creates a scheduled action. A scheduled action contains a schedule and an +// Amazon Redshift API action. For example, you can create a schedule of when +// to run the ResizeCluster API operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateScheduledAction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionAlreadyExistsFault "ScheduledActionAlreadyExists" +// The scheduled action already exists. +// +// * ErrCodeScheduledActionQuotaExceededFault "ScheduledActionQuotaExceeded" +// The quota for scheduled actions exceeded. +// +// * ErrCodeScheduledActionTypeUnsupportedFault "ScheduledActionTypeUnsupported" +// The action type specified for a scheduled action is not supported. +// +// * ErrCodeInvalidScheduleFault "InvalidSchedule" +// The schedule you submitted isn't valid. +// +// * ErrCodeInvalidScheduledActionFault "InvalidScheduledAction" +// The scheduled action is not valid. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateScheduledAction +func (c *Redshift) CreateScheduledAction(input *CreateScheduledActionInput) (*CreateScheduledActionOutput, error) { + req, out := c.CreateScheduledActionRequest(input) + return out, req.Send() +} + +// CreateScheduledActionWithContext is the same as CreateScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See CreateScheduledAction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) CreateScheduledActionWithContext(ctx aws.Context, input *CreateScheduledActionInput, opts ...request.Option) (*CreateScheduledActionOutput, error) { + req, out := c.CreateScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSnapshotCopyGrant = "CreateSnapshotCopyGrant" // CreateSnapshotCopyGrantRequest generates a "aws/request.Request" representing the @@ -2605,6 +2701,89 @@ func (c *Redshift) DeleteHsmConfigurationWithContext(ctx aws.Context, input *Del return out, req.Send() } +const opDeleteScheduledAction = "DeleteScheduledAction" + +// DeleteScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteScheduledAction operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteScheduledAction for more information on using the DeleteScheduledAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteScheduledActionRequest method. +// req, resp := client.DeleteScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteScheduledAction +func (c *Redshift) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) { + op := &request.Operation{ + Name: opDeleteScheduledAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteScheduledActionInput{} + } + + output = &DeleteScheduledActionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteScheduledAction API operation for Amazon Redshift. +// +// Deletes a scheduled action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DeleteScheduledAction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" +// The scheduled action cannot be found. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteScheduledAction +func (c *Redshift) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) { + req, out := c.DeleteScheduledActionRequest(input) + return out, req.Send() +} + +// DeleteScheduledActionWithContext is the same as DeleteScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteScheduledAction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) DeleteScheduledActionWithContext(ctx aws.Context, input *DeleteScheduledActionInput, opts ...request.Option) (*DeleteScheduledActionOutput, error) { + req, out := c.DeleteScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteSnapshotCopyGrant = "DeleteSnapshotCopyGrant" // DeleteSnapshotCopyGrantRequest generates a "aws/request.Request" representing the @@ -5109,6 +5288,13 @@ func (c *Redshift) DescribeNodeConfigurationOptionsRequest(input *DescribeNodeCo // The specified cluster snapshot is not in the available state, or other accounts // are authorized to access the snapshot. // +// * ErrCodeClusterNotFoundFault "ClusterNotFound" +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * ErrCodeAccessToSnapshotDeniedFault "AccessToSnapshotDenied" +// The owner of the specified snapshot has not authorized your account to access +// the snapshot. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeNodeConfigurationOptions func (c *Redshift) DescribeNodeConfigurationOptions(input *DescribeNodeConfigurationOptionsInput) (*DescribeNodeConfigurationOptionsOutput, error) { req, out := c.DescribeNodeConfigurationOptionsRequest(input) @@ -5705,6 +5891,146 @@ func (c *Redshift) DescribeResizeWithContext(ctx aws.Context, input *DescribeRes return out, req.Send() } +const opDescribeScheduledActions = "DescribeScheduledActions" + +// DescribeScheduledActionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScheduledActions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeScheduledActions for more information on using the DescribeScheduledActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeScheduledActionsRequest method. +// req, resp := client.DescribeScheduledActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeScheduledActions +func (c *Redshift) DescribeScheduledActionsRequest(input *DescribeScheduledActionsInput) (req *request.Request, output *DescribeScheduledActionsOutput) { + op := &request.Operation{ + Name: opDescribeScheduledActions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScheduledActionsInput{} + } + + output = &DescribeScheduledActionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeScheduledActions API operation for Amazon Redshift. +// +// Describes properties of scheduled actions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeScheduledActions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" +// The scheduled action cannot be found. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeScheduledActions +func (c *Redshift) DescribeScheduledActions(input *DescribeScheduledActionsInput) (*DescribeScheduledActionsOutput, error) { + req, out := c.DescribeScheduledActionsRequest(input) + return out, req.Send() +} + +// DescribeScheduledActionsWithContext is the same as DescribeScheduledActions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeScheduledActions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) DescribeScheduledActionsWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, opts ...request.Option) (*DescribeScheduledActionsOutput, error) { + req, out := c.DescribeScheduledActionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeScheduledActionsPages iterates over the pages of a DescribeScheduledActions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScheduledActions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeScheduledActions operation. +// pageNum := 0 +// err := client.DescribeScheduledActionsPages(params, +// func(page *redshift.DescribeScheduledActionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Redshift) DescribeScheduledActionsPages(input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool) error { + return c.DescribeScheduledActionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeScheduledActionsPagesWithContext same as DescribeScheduledActionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) DescribeScheduledActionsPagesWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeScheduledActionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeScheduledActionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeScheduledActionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeSnapshotCopyGrants = "DescribeSnapshotCopyGrants" // DescribeSnapshotCopyGrantsRequest generates a "aws/request.Request" representing the @@ -7592,57 +7918,148 @@ func (c *Redshift) ModifyEventSubscriptionWithContext(ctx aws.Context, input *Mo return out, req.Send() } -const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod" +const opModifyScheduledAction = "ModifyScheduledAction" -// ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the -// client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return +// ModifyScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyScheduledAction operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ModifySnapshotCopyRetentionPeriod for more information on using the ModifySnapshotCopyRetentionPeriod +// See ModifyScheduledAction for more information on using the ModifyScheduledAction // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ModifySnapshotCopyRetentionPeriodRequest method. -// req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params) +// // Example sending a request using the ModifyScheduledActionRequest method. +// req, resp := client.ModifyScheduledActionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod -func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyScheduledAction +func (c *Redshift) ModifyScheduledActionRequest(input *ModifyScheduledActionInput) (req *request.Request, output *ModifyScheduledActionOutput) { op := &request.Operation{ - Name: opModifySnapshotCopyRetentionPeriod, + Name: opModifyScheduledAction, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ModifySnapshotCopyRetentionPeriodInput{} + input = &ModifyScheduledActionInput{} } - output = &ModifySnapshotCopyRetentionPeriodOutput{} + output = &ModifyScheduledActionOutput{} req = c.newRequest(op, input, output) return } -// ModifySnapshotCopyRetentionPeriod API operation for Amazon Redshift. +// ModifyScheduledAction API operation for Amazon Redshift. // -// Modifies the number of days to retain snapshots in the destination AWS Region -// after they are copied from the source AWS Region. By default, this operation -// only changes the retention period of copied automated snapshots. The retention -// periods for both new and existing copied automated snapshots are updated -// with the new retention period. You can set the manual option to change only -// the retention periods of copied manual snapshots. If you set this option, -// only newly copied manual snapshots have the new retention period. +// Modify a scheduled action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation ModifyScheduledAction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" +// The scheduled action cannot be found. +// +// * ErrCodeScheduledActionTypeUnsupportedFault "ScheduledActionTypeUnsupported" +// The action type specified for a scheduled action is not supported. +// +// * ErrCodeInvalidScheduleFault "InvalidSchedule" +// The schedule you submitted isn't valid. +// +// * ErrCodeInvalidScheduledActionFault "InvalidScheduledAction" +// The scheduled action is not valid. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyScheduledAction +func (c *Redshift) ModifyScheduledAction(input *ModifyScheduledActionInput) (*ModifyScheduledActionOutput, error) { + req, out := c.ModifyScheduledActionRequest(input) + return out, req.Send() +} + +// ModifyScheduledActionWithContext is the same as ModifyScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyScheduledAction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) ModifyScheduledActionWithContext(ctx aws.Context, input *ModifyScheduledActionInput, opts ...request.Option) (*ModifyScheduledActionOutput, error) { + req, out := c.ModifyScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod" + +// ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the +// client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifySnapshotCopyRetentionPeriod for more information on using the ModifySnapshotCopyRetentionPeriod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifySnapshotCopyRetentionPeriodRequest method. +// req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod +func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) { + op := &request.Operation{ + Name: opModifySnapshotCopyRetentionPeriod, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifySnapshotCopyRetentionPeriodInput{} + } + + output = &ModifySnapshotCopyRetentionPeriodOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifySnapshotCopyRetentionPeriod API operation for Amazon Redshift. +// +// Modifies the number of days to retain snapshots in the destination AWS Region +// after they are copied from the source AWS Region. By default, this operation +// only changes the retention period of copied automated snapshots. The retention +// periods for both new and existing copied automated snapshots are updated +// with the new retention period. You can set the manual option to change only +// the retention periods of copied manual snapshots. If you set this option, +// only newly copied manual snapshots have the new retention period. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -12128,6 +12545,250 @@ func (s *CreateHsmConfigurationOutput) SetHsmConfiguration(v *HsmConfiguration) return s } +type CreateScheduledActionInput struct { + _ struct{} `type:"structure"` + + // If true, the schedule is enabled. If false, the scheduled action does not + // trigger. For more information about state of the scheduled action, see ScheduledAction. + Enable *bool `type:"boolean"` + + // The end time in UTC of the scheduled action. After this time, the scheduled + // action does not trigger. For more information about this parameter, see ScheduledAction. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the target action. For more information about + // this parameter, see ScheduledAction. + // + // IamRole is a required field + IamRole *string `type:"string" required:"true"` + + // The schedule in at( ) or cron( ) format. For more information about this + // parameter, see ScheduledAction. + // + // Schedule is a required field + Schedule *string `type:"string" required:"true"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. The name must be unique within an account. + // For more information about this parameter, see ScheduledAction. + // + // ScheduledActionName is a required field + ScheduledActionName *string `type:"string" required:"true"` + + // The start time in UTC of the scheduled action. Before this time, the scheduled + // action does not trigger. For more information about this parameter, see ScheduledAction. + StartTime *time.Time `type:"timestamp"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // For more information about this parameter, see ScheduledAction. + // + // TargetAction is a required field + TargetAction *ScheduledActionType `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateScheduledActionInput"} + if s.IamRole == nil { + invalidParams.Add(request.NewErrParamRequired("IamRole")) + } + if s.Schedule == nil { + invalidParams.Add(request.NewErrParamRequired("Schedule")) + } + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.TargetAction == nil { + invalidParams.Add(request.NewErrParamRequired("TargetAction")) + } + if s.TargetAction != nil { + if err := s.TargetAction.Validate(); err != nil { + invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *CreateScheduledActionInput) SetEnable(v bool) *CreateScheduledActionInput { + s.Enable = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateScheduledActionInput) SetEndTime(v time.Time) *CreateScheduledActionInput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *CreateScheduledActionInput) SetIamRole(v string) *CreateScheduledActionInput { + s.IamRole = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateScheduledActionInput) SetSchedule(v string) *CreateScheduledActionInput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *CreateScheduledActionInput) SetScheduledActionDescription(v string) *CreateScheduledActionInput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *CreateScheduledActionInput) SetScheduledActionName(v string) *CreateScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateScheduledActionInput) SetStartTime(v time.Time) *CreateScheduledActionInput { + s.StartTime = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *CreateScheduledActionInput) SetTargetAction(v *ScheduledActionType) *CreateScheduledActionInput { + s.TargetAction = v + return s +} + +// Describes a scheduled action. You can use a scheduled action to trigger some +// Amazon Redshift API operations on a schedule. For information about which +// API operations can be scheduled, see ScheduledActionType. +type CreateScheduledActionOutput struct { + _ struct{} `type:"structure"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the scheduled action. This IAM role must have + // permission to run the Amazon Redshift API operation in the scheduled action. + // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) + // to assume permissions on your behalf. For more information about the IAM + // role to use with the Amazon Redshift scheduler, see Using Identity-Based + // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide. + IamRole *string `type:"string"` + + // List of times when the scheduled action will run. + NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` + + // The schedule for a one-time (at format) or recurring (cron format) scheduled + // action. Schedule invocations must be separated by at least one hour. + // + // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // + // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week + // Year)". For example, "cron(0, 10, *, *, MON, *)". For more information, see + // Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *string `type:"string"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. + ScheduledActionName *string `type:"string"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `type:"timestamp"` + + // The state of the scheduled action. For example, DISABLED. + State *string `type:"string" enum:"ScheduledActionState"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // + // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s CreateScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateScheduledActionOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateScheduledActionOutput) SetEndTime(v time.Time) *CreateScheduledActionOutput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *CreateScheduledActionOutput) SetIamRole(v string) *CreateScheduledActionOutput { + s.IamRole = &v + return s +} + +// SetNextInvocations sets the NextInvocations field's value. +func (s *CreateScheduledActionOutput) SetNextInvocations(v []*time.Time) *CreateScheduledActionOutput { + s.NextInvocations = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateScheduledActionOutput) SetSchedule(v string) *CreateScheduledActionOutput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *CreateScheduledActionOutput) SetScheduledActionDescription(v string) *CreateScheduledActionOutput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *CreateScheduledActionOutput) SetScheduledActionName(v string) *CreateScheduledActionOutput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateScheduledActionOutput) SetStartTime(v time.Time) *CreateScheduledActionOutput { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateScheduledActionOutput) SetState(v string) *CreateScheduledActionOutput { + s.State = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *CreateScheduledActionOutput) SetTargetAction(v *ScheduledActionType) *CreateScheduledActionOutput { + s.TargetAction = v + return s +} + // The result of the CreateSnapshotCopyGrant action. type CreateSnapshotCopyGrantInput struct { _ struct{} `type:"structure"` @@ -13176,6 +13837,58 @@ func (s DeleteHsmConfigurationOutput) GoString() string { return s.String() } +type DeleteScheduledActionInput struct { + _ struct{} `type:"structure"` + + // The name of the scheduled action to delete. + // + // ScheduledActionName is a required field + ScheduledActionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteScheduledActionInput"} + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *DeleteScheduledActionInput) SetScheduledActionName(v string) *DeleteScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +type DeleteScheduledActionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScheduledActionOutput) GoString() string { + return s.String() +} + // The result of the DeleteSnapshotCopyGrant action. type DeleteSnapshotCopyGrantInput struct { _ struct{} `type:"structure"` @@ -15217,12 +15930,17 @@ func (s *DescribeLoggingStatusInput) SetClusterIdentifier(v string) *DescribeLog type DescribeNodeConfigurationOptionsInput struct { _ struct{} `type:"structure"` - // The action type to evaluate for possible node configurations. Currently, - // it must be "restore-cluster". + // The action type to evaluate for possible node configurations. Specify "restore-cluster" + // to get configuration combinations based on an existing snapshot. Specify + // "recommend-node-config" to get configuration recommendations based on an + // existing cluster or snapshot. // // ActionType is a required field ActionType *string `type:"string" required:"true" enum:"ActionType"` + // The identifier of the cluster to evaluate for possible node configurations. + ClusterIdentifier *string `type:"string"` + // A set of name, operator, and value items to filter the results. Filters []*NodeConfigurationOptionsFilter `locationName:"Filter" locationNameList:"NodeConfigurationOptionsFilter" type:"list"` @@ -15281,6 +15999,12 @@ func (s *DescribeNodeConfigurationOptionsInput) SetActionType(v string) *Describ return s } +// SetClusterIdentifier sets the ClusterIdentifier field's value. +func (s *DescribeNodeConfigurationOptionsInput) SetClusterIdentifier(v string) *DescribeNodeConfigurationOptionsInput { + s.ClusterIdentifier = &v + return s +} + // SetFilters sets the Filters field's value. func (s *DescribeNodeConfigurationOptionsInput) SetFilters(v []*NodeConfigurationOptionsFilter) *DescribeNodeConfigurationOptionsInput { s.Filters = v @@ -15858,8 +16582,166 @@ func (s *DescribeResizeOutput) SetTotalResizeDataInMegaBytes(v int64) *DescribeR return s } -// The result of the DescribeSnapshotCopyGrants action. -type DescribeSnapshotCopyGrantsInput struct { +type DescribeScheduledActionsInput struct { + _ struct{} `type:"structure"` + + // If true, retrieve only active scheduled actions. If false, retrieve only + // disabled scheduled actions. + Active *bool `type:"boolean"` + + // The end time in UTC of the scheduled action to retrieve. Only active scheduled + // actions that have invocations before this time are retrieved. + EndTime *time.Time `type:"timestamp"` + + // List of scheduled action filters. + Filters []*ScheduledActionFilter `locationNameList:"ScheduledActionFilter" type:"list"` + + // An optional parameter that specifies the starting point to return a set of + // response records. When the results of a DescribeScheduledActions request + // exceed the value specified in MaxRecords, AWS returns a value in the Marker + // field of the response. You can retrieve the next set of response records + // by providing the returned marker value in the Marker parameter and retrying + // the request. + Marker *string `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. + MaxRecords *int64 `type:"integer"` + + // The name of the scheduled action to retrieve. + ScheduledActionName *string `type:"string"` + + // The start time in UTC of the scheduled actions to retrieve. Only active scheduled + // actions that have invocations after this time are retrieved. + StartTime *time.Time `type:"timestamp"` + + // The type of the scheduled actions to retrieve. + TargetActionType *string `type:"string" enum:"ScheduledActionTypeValues"` +} + +// String returns the string representation +func (s DescribeScheduledActionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScheduledActionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScheduledActionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledActionsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActive sets the Active field's value. +func (s *DescribeScheduledActionsInput) SetActive(v bool) *DescribeScheduledActionsInput { + s.Active = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeScheduledActionsInput) SetEndTime(v time.Time) *DescribeScheduledActionsInput { + s.EndTime = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeScheduledActionsInput) SetFilters(v []*ScheduledActionFilter) *DescribeScheduledActionsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeScheduledActionsInput) SetMarker(v string) *DescribeScheduledActionsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeScheduledActionsInput) SetMaxRecords(v int64) *DescribeScheduledActionsInput { + s.MaxRecords = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *DescribeScheduledActionsInput) SetScheduledActionName(v string) *DescribeScheduledActionsInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeScheduledActionsInput) SetStartTime(v time.Time) *DescribeScheduledActionsInput { + s.StartTime = &v + return s +} + +// SetTargetActionType sets the TargetActionType field's value. +func (s *DescribeScheduledActionsInput) SetTargetActionType(v string) *DescribeScheduledActionsInput { + s.TargetActionType = &v + return s +} + +type DescribeScheduledActionsOutput struct { + _ struct{} `type:"structure"` + + // An optional parameter that specifies the starting point to return a set of + // response records. When the results of a DescribeScheduledActions request + // exceed the value specified in MaxRecords, AWS returns a value in the Marker + // field of the response. You can retrieve the next set of response records + // by providing the returned marker value in the Marker parameter and retrying + // the request. + Marker *string `type:"string"` + + // List of retrieved scheduled actions. + ScheduledActions []*ScheduledAction `locationNameList:"ScheduledAction" type:"list"` +} + +// String returns the string representation +func (s DescribeScheduledActionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScheduledActionsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeScheduledActionsOutput) SetMarker(v string) *DescribeScheduledActionsOutput { + s.Marker = &v + return s +} + +// SetScheduledActions sets the ScheduledActions field's value. +func (s *DescribeScheduledActionsOutput) SetScheduledActions(v []*ScheduledAction) *DescribeScheduledActionsOutput { + s.ScheduledActions = v + return s +} + +// The result of the DescribeSnapshotCopyGrants action. +type DescribeSnapshotCopyGrantsInput struct { _ struct{} `type:"structure"` // An optional parameter that specifies the starting point to return a set of @@ -18824,6 +19706,234 @@ func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscriptio return s } +type ModifyScheduledActionInput struct { + _ struct{} `type:"structure"` + + // A modified enable flag of the scheduled action. If true, the scheduled action + // is active. If false, the scheduled action is disabled. + Enable *bool `type:"boolean"` + + // A modified end time of the scheduled action. For more information about this + // parameter, see ScheduledAction. + EndTime *time.Time `type:"timestamp"` + + // A different IAM role to assume to run the target action. For more information + // about this parameter, see ScheduledAction. + IamRole *string `type:"string"` + + // A modified schedule in either at( ) or cron( ) format. For more information + // about this parameter, see ScheduledAction. + Schedule *string `type:"string"` + + // A modified description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action to modify. + // + // ScheduledActionName is a required field + ScheduledActionName *string `type:"string" required:"true"` + + // A modified start time of the scheduled action. For more information about + // this parameter, see ScheduledAction. + StartTime *time.Time `type:"timestamp"` + + // A modified JSON format of the scheduled action. For more information about + // this parameter, see ScheduledAction. + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s ModifyScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyScheduledActionInput"} + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.TargetAction != nil { + if err := s.TargetAction.Validate(); err != nil { + invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *ModifyScheduledActionInput) SetEnable(v bool) *ModifyScheduledActionInput { + s.Enable = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *ModifyScheduledActionInput) SetEndTime(v time.Time) *ModifyScheduledActionInput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *ModifyScheduledActionInput) SetIamRole(v string) *ModifyScheduledActionInput { + s.IamRole = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ModifyScheduledActionInput) SetSchedule(v string) *ModifyScheduledActionInput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *ModifyScheduledActionInput) SetScheduledActionDescription(v string) *ModifyScheduledActionInput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *ModifyScheduledActionInput) SetScheduledActionName(v string) *ModifyScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ModifyScheduledActionInput) SetStartTime(v time.Time) *ModifyScheduledActionInput { + s.StartTime = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *ModifyScheduledActionInput) SetTargetAction(v *ScheduledActionType) *ModifyScheduledActionInput { + s.TargetAction = v + return s +} + +// Describes a scheduled action. You can use a scheduled action to trigger some +// Amazon Redshift API operations on a schedule. For information about which +// API operations can be scheduled, see ScheduledActionType. +type ModifyScheduledActionOutput struct { + _ struct{} `type:"structure"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the scheduled action. This IAM role must have + // permission to run the Amazon Redshift API operation in the scheduled action. + // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) + // to assume permissions on your behalf. For more information about the IAM + // role to use with the Amazon Redshift scheduler, see Using Identity-Based + // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide. + IamRole *string `type:"string"` + + // List of times when the scheduled action will run. + NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` + + // The schedule for a one-time (at format) or recurring (cron format) scheduled + // action. Schedule invocations must be separated by at least one hour. + // + // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // + // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week + // Year)". For example, "cron(0, 10, *, *, MON, *)". For more information, see + // Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *string `type:"string"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. + ScheduledActionName *string `type:"string"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `type:"timestamp"` + + // The state of the scheduled action. For example, DISABLED. + State *string `type:"string" enum:"ScheduledActionState"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // + // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s ModifyScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyScheduledActionOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *ModifyScheduledActionOutput) SetEndTime(v time.Time) *ModifyScheduledActionOutput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *ModifyScheduledActionOutput) SetIamRole(v string) *ModifyScheduledActionOutput { + s.IamRole = &v + return s +} + +// SetNextInvocations sets the NextInvocations field's value. +func (s *ModifyScheduledActionOutput) SetNextInvocations(v []*time.Time) *ModifyScheduledActionOutput { + s.NextInvocations = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ModifyScheduledActionOutput) SetSchedule(v string) *ModifyScheduledActionOutput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *ModifyScheduledActionOutput) SetScheduledActionDescription(v string) *ModifyScheduledActionOutput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *ModifyScheduledActionOutput) SetScheduledActionName(v string) *ModifyScheduledActionOutput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ModifyScheduledActionOutput) SetStartTime(v time.Time) *ModifyScheduledActionOutput { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *ModifyScheduledActionOutput) SetState(v string) *ModifyScheduledActionOutput { + s.State = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *ModifyScheduledActionOutput) SetTargetAction(v *ScheduledActionType) *ModifyScheduledActionOutput { + s.TargetAction = v + return s +} + type ModifySnapshotCopyRetentionPeriodInput struct { _ struct{} `type:"structure"` @@ -19072,6 +20182,9 @@ type NodeConfigurationOption struct { // The estimated disk utilizaton percentage. EstimatedDiskUtilizationPercent *float64 `type:"double"` + // The category of the node configuration recommendation. + Mode *string `type:"string" enum:"Mode"` + // The node type, such as, "ds2.8xlarge". NodeType *string `type:"string"` @@ -19095,6 +20208,12 @@ func (s *NodeConfigurationOption) SetEstimatedDiskUtilizationPercent(v float64) return s } +// SetMode sets the Mode field's value. +func (s *NodeConfigurationOption) SetMode(v string) *NodeConfigurationOption { + s.Mode = &v + return s +} + // SetNodeType sets the NodeType field's value. func (s *NodeConfigurationOption) SetNodeType(v string) *NodeConfigurationOption { s.NodeType = &v @@ -19995,6 +21114,88 @@ func (s *ResizeClusterInput) SetNumberOfNodes(v int64) *ResizeClusterInput { return s } +type ResizeClusterMessage struct { + _ struct{} `type:"structure"` + + // A boolean value indicating whether the resize operation is using the classic + // resize process. If you don't provide this parameter or set the value to false, + // the resize type is elastic. + Classic *bool `type:"boolean"` + + // The unique identifier for the cluster to resize. + // + // ClusterIdentifier is a required field + ClusterIdentifier *string `type:"string" required:"true"` + + // The new cluster type for the specified cluster. + ClusterType *string `type:"string"` + + // The new node type for the nodes you are adding. If not specified, the cluster's + // current node type is used. + NodeType *string `type:"string"` + + // The new number of nodes for the cluster. + // + // NumberOfNodes is a required field + NumberOfNodes *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s ResizeClusterMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResizeClusterMessage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResizeClusterMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResizeClusterMessage"} + if s.ClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) + } + if s.NumberOfNodes == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNodes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassic sets the Classic field's value. +func (s *ResizeClusterMessage) SetClassic(v bool) *ResizeClusterMessage { + s.Classic = &v + return s +} + +// SetClusterIdentifier sets the ClusterIdentifier field's value. +func (s *ResizeClusterMessage) SetClusterIdentifier(v string) *ResizeClusterMessage { + s.ClusterIdentifier = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *ResizeClusterMessage) SetClusterType(v string) *ResizeClusterMessage { + s.ClusterType = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *ResizeClusterMessage) SetNodeType(v string) *ResizeClusterMessage { + s.NodeType = &v + return s +} + +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *ResizeClusterMessage) SetNumberOfNodes(v int64) *ResizeClusterMessage { + s.NumberOfNodes = &v + return s +} + type ResizeClusterOutput struct { _ struct{} `type:"structure"` @@ -20458,21 +21659,26 @@ type RestoreStatus struct { _ struct{} `type:"structure"` // The number of megabytes per second being transferred from the backup storage. - // Returns the average rate for a completed backup. + // Returns the average rate for a completed backup. This field is only updated + // when you restore to DC2 and DS2 node types. CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"` // The amount of time an in-progress restore has been running, or the amount - // of time it took a completed restore to finish. + // of time it took a completed restore to finish. This field is only updated + // when you restore to DC2 and DS2 node types. ElapsedTimeInSeconds *int64 `type:"long"` // The estimate of the time remaining before the restore will complete. Returns - // 0 for a completed restore. + // 0 for a completed restore. This field is only updated when you restore to + // DC2 and DS2 node types. EstimatedTimeToCompletionInSeconds *int64 `type:"long"` // The number of megabytes that have been transferred from snapshot storage. + // This field is only updated when you restore to DC2 and DS2 node types. ProgressInMegaBytes *int64 `type:"long"` - // The size of the set of snapshot data used to restore the cluster. + // The size of the set of snapshot data used to restore the cluster. This field + // is only updated when you restore to DC2 and DS2 node types. SnapshotSizeInMegaBytes *int64 `type:"long"` // The status of the restore action. Returns starting, restoring, completed, @@ -20965,6 +22171,216 @@ func (s *RotateEncryptionKeyOutput) SetCluster(v *Cluster) *RotateEncryptionKeyO return s } +// Describes a scheduled action. You can use a scheduled action to trigger some +// Amazon Redshift API operations on a schedule. For information about which +// API operations can be scheduled, see ScheduledActionType. +type ScheduledAction struct { + _ struct{} `type:"structure"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the scheduled action. This IAM role must have + // permission to run the Amazon Redshift API operation in the scheduled action. + // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) + // to assume permissions on your behalf. For more information about the IAM + // role to use with the Amazon Redshift scheduler, see Using Identity-Based + // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide. + IamRole *string `type:"string"` + + // List of times when the scheduled action will run. + NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` + + // The schedule for a one-time (at format) or recurring (cron format) scheduled + // action. Schedule invocations must be separated by at least one hour. + // + // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // + // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week + // Year)". For example, "cron(0, 10, *, *, MON, *)". For more information, see + // Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *string `type:"string"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. + ScheduledActionName *string `type:"string"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `type:"timestamp"` + + // The state of the scheduled action. For example, DISABLED. + State *string `type:"string" enum:"ScheduledActionState"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // + // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s ScheduledAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduledAction) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *ScheduledAction) SetEndTime(v time.Time) *ScheduledAction { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *ScheduledAction) SetIamRole(v string) *ScheduledAction { + s.IamRole = &v + return s +} + +// SetNextInvocations sets the NextInvocations field's value. +func (s *ScheduledAction) SetNextInvocations(v []*time.Time) *ScheduledAction { + s.NextInvocations = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ScheduledAction) SetSchedule(v string) *ScheduledAction { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *ScheduledAction) SetScheduledActionDescription(v string) *ScheduledAction { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *ScheduledAction) SetScheduledActionName(v string) *ScheduledAction { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ScheduledAction) SetStartTime(v time.Time) *ScheduledAction { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *ScheduledAction) SetState(v string) *ScheduledAction { + s.State = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *ScheduledAction) SetTargetAction(v *ScheduledActionType) *ScheduledAction { + s.TargetAction = v + return s +} + +// A set of elements to filter the returned scheduled actions. +type ScheduledActionFilter struct { + _ struct{} `type:"structure"` + + // The type of element to filter. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"ScheduledActionFilterName"` + + // List of values. Compare if the value (of type defined by Name) equals an + // item in the list of scheduled actions. + // + // Values is a required field + Values []*string `locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation +func (s ScheduledActionFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduledActionFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduledActionFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduledActionFilter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ScheduledActionFilter) SetName(v string) *ScheduledActionFilter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ScheduledActionFilter) SetValues(v []*string) *ScheduledActionFilter { + s.Values = v + return s +} + +// The action type that specifies an Amazon Redshift API operation that is supported +// by the Amazon Redshift scheduler. +type ScheduledActionType struct { + _ struct{} `type:"structure"` + + // An action that runs a ResizeCluster API operation. + ResizeCluster *ResizeClusterMessage `type:"structure"` +} + +// String returns the string representation +func (s ScheduledActionType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduledActionType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduledActionType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduledActionType"} + if s.ResizeCluster != nil { + if err := s.ResizeCluster.Validate(); err != nil { + invalidParams.AddNested("ResizeCluster", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResizeCluster sets the ResizeCluster field's value. +func (s *ScheduledActionType) SetResizeCluster(v *ResizeClusterMessage) *ScheduledActionType { + s.ResizeCluster = v + return s +} + // Describes a snapshot. type Snapshot struct { _ struct{} `type:"structure"` @@ -21948,6 +23364,17 @@ func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurit const ( // ActionTypeRestoreCluster is a ActionType enum value ActionTypeRestoreCluster = "restore-cluster" + + // ActionTypeRecommendNodeConfig is a ActionType enum value + ActionTypeRecommendNodeConfig = "recommend-node-config" +) + +const ( + // ModeStandard is a Mode enum value + ModeStandard = "standard" + + // ModeHighPerformance is a Mode enum value + ModeHighPerformance = "high-performance" ) const ( @@ -21959,6 +23386,9 @@ const ( // NodeConfigurationOptionsFilterNameEstimatedDiskUtilizationPercent is a NodeConfigurationOptionsFilterName enum value NodeConfigurationOptionsFilterNameEstimatedDiskUtilizationPercent = "EstimatedDiskUtilizationPercent" + + // NodeConfigurationOptionsFilterNameMode is a NodeConfigurationOptionsFilterName enum value + NodeConfigurationOptionsFilterNameMode = "Mode" ) const ( @@ -22011,6 +23441,27 @@ const ( ScheduleStateFailed = "FAILED" ) +const ( + // ScheduledActionFilterNameClusterIdentifier is a ScheduledActionFilterName enum value + ScheduledActionFilterNameClusterIdentifier = "cluster-identifier" + + // ScheduledActionFilterNameIamRole is a ScheduledActionFilterName enum value + ScheduledActionFilterNameIamRole = "iam-role" +) + +const ( + // ScheduledActionStateActive is a ScheduledActionState enum value + ScheduledActionStateActive = "ACTIVE" + + // ScheduledActionStateDisabled is a ScheduledActionState enum value + ScheduledActionStateDisabled = "DISABLED" +) + +const ( + // ScheduledActionTypeValuesResizeCluster is a ScheduledActionTypeValues enum value + ScheduledActionTypeValuesResizeCluster = "ResizeCluster" +) + const ( // SnapshotAttributeToSortBySourceType is a SnapshotAttributeToSortBy enum value SnapshotAttributeToSortBySourceType = "SOURCE_TYPE" @@ -22042,6 +23493,9 @@ const ( // SourceTypeClusterSnapshot is a SourceType enum value SourceTypeClusterSnapshot = "cluster-snapshot" + + // SourceTypeScheduledAction is a SourceType enum value + SourceTypeScheduledAction = "scheduled-action" ) const ( diff --git a/service/redshift/errors.go b/service/redshift/errors.go index 406be5a3b2b..f710284ae43 100644 --- a/service/redshift/errors.go +++ b/service/redshift/errors.go @@ -381,6 +381,12 @@ const ( // The schedule you submitted isn't valid. ErrCodeInvalidScheduleFault = "InvalidSchedule" + // ErrCodeInvalidScheduledActionFault for service response error code + // "InvalidScheduledAction". + // + // The scheduled action is not valid. + ErrCodeInvalidScheduledActionFault = "InvalidScheduledAction" + // ErrCodeInvalidSnapshotCopyGrantStateFault for service response error code // "InvalidSnapshotCopyGrantStateFault". // @@ -512,6 +518,30 @@ const ( // The definition you submitted is not supported. ErrCodeScheduleDefinitionTypeUnsupportedFault = "ScheduleDefinitionTypeUnsupported" + // ErrCodeScheduledActionAlreadyExistsFault for service response error code + // "ScheduledActionAlreadyExists". + // + // The scheduled action already exists. + ErrCodeScheduledActionAlreadyExistsFault = "ScheduledActionAlreadyExists" + + // ErrCodeScheduledActionNotFoundFault for service response error code + // "ScheduledActionNotFound". + // + // The scheduled action cannot be found. + ErrCodeScheduledActionNotFoundFault = "ScheduledActionNotFound" + + // ErrCodeScheduledActionQuotaExceededFault for service response error code + // "ScheduledActionQuotaExceeded". + // + // The quota for scheduled actions exceeded. + ErrCodeScheduledActionQuotaExceededFault = "ScheduledActionQuotaExceeded" + + // ErrCodeScheduledActionTypeUnsupportedFault for service response error code + // "ScheduledActionTypeUnsupported". + // + // The action type specified for a scheduled action is not supported. + ErrCodeScheduledActionTypeUnsupportedFault = "ScheduledActionTypeUnsupported" + // ErrCodeSnapshotCopyAlreadyDisabledFault for service response error code // "SnapshotCopyAlreadyDisabledFault". // diff --git a/service/redshift/redshiftiface/interface.go b/service/redshift/redshiftiface/interface.go index e92203704bf..458f41751da 100644 --- a/service/redshift/redshiftiface/interface.go +++ b/service/redshift/redshiftiface/interface.go @@ -120,6 +120,10 @@ type RedshiftAPI interface { CreateHsmConfigurationWithContext(aws.Context, *redshift.CreateHsmConfigurationInput, ...request.Option) (*redshift.CreateHsmConfigurationOutput, error) CreateHsmConfigurationRequest(*redshift.CreateHsmConfigurationInput) (*request.Request, *redshift.CreateHsmConfigurationOutput) + CreateScheduledAction(*redshift.CreateScheduledActionInput) (*redshift.CreateScheduledActionOutput, error) + CreateScheduledActionWithContext(aws.Context, *redshift.CreateScheduledActionInput, ...request.Option) (*redshift.CreateScheduledActionOutput, error) + CreateScheduledActionRequest(*redshift.CreateScheduledActionInput) (*request.Request, *redshift.CreateScheduledActionOutput) + CreateSnapshotCopyGrant(*redshift.CreateSnapshotCopyGrantInput) (*redshift.CreateSnapshotCopyGrantOutput, error) CreateSnapshotCopyGrantWithContext(aws.Context, *redshift.CreateSnapshotCopyGrantInput, ...request.Option) (*redshift.CreateSnapshotCopyGrantOutput, error) CreateSnapshotCopyGrantRequest(*redshift.CreateSnapshotCopyGrantInput) (*request.Request, *redshift.CreateSnapshotCopyGrantOutput) @@ -164,6 +168,10 @@ type RedshiftAPI interface { DeleteHsmConfigurationWithContext(aws.Context, *redshift.DeleteHsmConfigurationInput, ...request.Option) (*redshift.DeleteHsmConfigurationOutput, error) DeleteHsmConfigurationRequest(*redshift.DeleteHsmConfigurationInput) (*request.Request, *redshift.DeleteHsmConfigurationOutput) + DeleteScheduledAction(*redshift.DeleteScheduledActionInput) (*redshift.DeleteScheduledActionOutput, error) + DeleteScheduledActionWithContext(aws.Context, *redshift.DeleteScheduledActionInput, ...request.Option) (*redshift.DeleteScheduledActionOutput, error) + DeleteScheduledActionRequest(*redshift.DeleteScheduledActionInput) (*request.Request, *redshift.DeleteScheduledActionOutput) + DeleteSnapshotCopyGrant(*redshift.DeleteSnapshotCopyGrantInput) (*redshift.DeleteSnapshotCopyGrantOutput, error) DeleteSnapshotCopyGrantWithContext(aws.Context, *redshift.DeleteSnapshotCopyGrantInput, ...request.Option) (*redshift.DeleteSnapshotCopyGrantOutput, error) DeleteSnapshotCopyGrantRequest(*redshift.DeleteSnapshotCopyGrantInput) (*request.Request, *redshift.DeleteSnapshotCopyGrantOutput) @@ -312,6 +320,13 @@ type RedshiftAPI interface { DescribeResizeWithContext(aws.Context, *redshift.DescribeResizeInput, ...request.Option) (*redshift.DescribeResizeOutput, error) DescribeResizeRequest(*redshift.DescribeResizeInput) (*request.Request, *redshift.DescribeResizeOutput) + DescribeScheduledActions(*redshift.DescribeScheduledActionsInput) (*redshift.DescribeScheduledActionsOutput, error) + DescribeScheduledActionsWithContext(aws.Context, *redshift.DescribeScheduledActionsInput, ...request.Option) (*redshift.DescribeScheduledActionsOutput, error) + DescribeScheduledActionsRequest(*redshift.DescribeScheduledActionsInput) (*request.Request, *redshift.DescribeScheduledActionsOutput) + + DescribeScheduledActionsPages(*redshift.DescribeScheduledActionsInput, func(*redshift.DescribeScheduledActionsOutput, bool) bool) error + DescribeScheduledActionsPagesWithContext(aws.Context, *redshift.DescribeScheduledActionsInput, func(*redshift.DescribeScheduledActionsOutput, bool) bool, ...request.Option) error + DescribeSnapshotCopyGrants(*redshift.DescribeSnapshotCopyGrantsInput) (*redshift.DescribeSnapshotCopyGrantsOutput, error) DescribeSnapshotCopyGrantsWithContext(aws.Context, *redshift.DescribeSnapshotCopyGrantsInput, ...request.Option) (*redshift.DescribeSnapshotCopyGrantsOutput, error) DescribeSnapshotCopyGrantsRequest(*redshift.DescribeSnapshotCopyGrantsInput) (*request.Request, *redshift.DescribeSnapshotCopyGrantsOutput) @@ -392,6 +407,10 @@ type RedshiftAPI interface { ModifyEventSubscriptionWithContext(aws.Context, *redshift.ModifyEventSubscriptionInput, ...request.Option) (*redshift.ModifyEventSubscriptionOutput, error) ModifyEventSubscriptionRequest(*redshift.ModifyEventSubscriptionInput) (*request.Request, *redshift.ModifyEventSubscriptionOutput) + ModifyScheduledAction(*redshift.ModifyScheduledActionInput) (*redshift.ModifyScheduledActionOutput, error) + ModifyScheduledActionWithContext(aws.Context, *redshift.ModifyScheduledActionInput, ...request.Option) (*redshift.ModifyScheduledActionOutput, error) + ModifyScheduledActionRequest(*redshift.ModifyScheduledActionInput) (*request.Request, *redshift.ModifyScheduledActionOutput) + ModifySnapshotCopyRetentionPeriod(*redshift.ModifySnapshotCopyRetentionPeriodInput) (*redshift.ModifySnapshotCopyRetentionPeriodOutput, error) ModifySnapshotCopyRetentionPeriodWithContext(aws.Context, *redshift.ModifySnapshotCopyRetentionPeriodInput, ...request.Option) (*redshift.ModifySnapshotCopyRetentionPeriodOutput, error) ModifySnapshotCopyRetentionPeriodRequest(*redshift.ModifySnapshotCopyRetentionPeriodInput) (*request.Request, *redshift.ModifySnapshotCopyRetentionPeriodOutput) diff --git a/service/sesv2/api.go b/service/sesv2/api.go index 8e62dc326be..4814e9c8871 100644 --- a/service/sesv2/api.go +++ b/service/sesv2/api.go @@ -887,6 +887,92 @@ func (c *SESV2) DeleteEmailIdentityWithContext(ctx aws.Context, input *DeleteEma return out, req.Send() } +const opDeleteSuppressedDestination = "DeleteSuppressedDestination" + +// DeleteSuppressedDestinationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSuppressedDestination operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteSuppressedDestination for more information on using the DeleteSuppressedDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteSuppressedDestinationRequest method. +// req, resp := client.DeleteSuppressedDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteSuppressedDestination +func (c *SESV2) DeleteSuppressedDestinationRequest(input *DeleteSuppressedDestinationInput) (req *request.Request, output *DeleteSuppressedDestinationOutput) { + op := &request.Operation{ + Name: opDeleteSuppressedDestination, + HTTPMethod: "DELETE", + HTTPPath: "/v2/email/suppression/addresses/{EmailAddress}", + } + + if input == nil { + input = &DeleteSuppressedDestinationInput{} + } + + output = &DeleteSuppressedDestinationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSuppressedDestination API operation for Amazon Simple Email Service. +// +// Used to delete a suppressed email destination from your suppression list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation DeleteSuppressedDestination for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource you attempted to access doesn't exist. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input you provided is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been made to the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteSuppressedDestination +func (c *SESV2) DeleteSuppressedDestination(input *DeleteSuppressedDestinationInput) (*DeleteSuppressedDestinationOutput, error) { + req, out := c.DeleteSuppressedDestinationRequest(input) + return out, req.Send() +} + +// DeleteSuppressedDestinationWithContext is the same as DeleteSuppressedDestination with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSuppressedDestination for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) DeleteSuppressedDestinationWithContext(ctx aws.Context, input *DeleteSuppressedDestinationInput, opts ...request.Option) (*DeleteSuppressedDestinationOutput, error) { + req, out := c.DeleteSuppressedDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetAccount = "GetAccount" // GetAccountRequest generates a "aws/request.Request" representing the @@ -1910,6 +1996,92 @@ func (c *SESV2) GetEmailIdentityWithContext(ctx aws.Context, input *GetEmailIden return out, req.Send() } +const opGetSuppressedDestination = "GetSuppressedDestination" + +// GetSuppressedDestinationRequest generates a "aws/request.Request" representing the +// client's request for the GetSuppressedDestination operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetSuppressedDestination for more information on using the GetSuppressedDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetSuppressedDestinationRequest method. +// req, resp := client.GetSuppressedDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetSuppressedDestination +func (c *SESV2) GetSuppressedDestinationRequest(input *GetSuppressedDestinationInput) (req *request.Request, output *GetSuppressedDestinationOutput) { + op := &request.Operation{ + Name: opGetSuppressedDestination, + HTTPMethod: "GET", + HTTPPath: "/v2/email/suppression/addresses/{EmailAddress}", + } + + if input == nil { + input = &GetSuppressedDestinationInput{} + } + + output = &GetSuppressedDestinationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSuppressedDestination API operation for Amazon Simple Email Service. +// +// Used to fetch a single suppressed email destination from your suppression +// list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation GetSuppressedDestination for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input you provided is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been made to the operation. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource you attempted to access doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetSuppressedDestination +func (c *SESV2) GetSuppressedDestination(input *GetSuppressedDestinationInput) (*GetSuppressedDestinationOutput, error) { + req, out := c.GetSuppressedDestinationRequest(input) + return out, req.Send() +} + +// GetSuppressedDestinationWithContext is the same as GetSuppressedDestination with the addition of +// the ability to pass a context and additional request options. +// +// See GetSuppressedDestination for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) GetSuppressedDestinationWithContext(ctx aws.Context, input *GetSuppressedDestinationInput, opts ...request.Option) (*GetSuppressedDestinationOutput, error) { + req, out := c.GetSuppressedDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListConfigurationSets = "ListConfigurationSets" // ListConfigurationSetsRequest generates a "aws/request.Request" representing the @@ -2633,6 +2805,151 @@ func (c *SESV2) ListEmailIdentitiesPagesWithContext(ctx aws.Context, input *List return p.Err() } +const opListSuppressedDestinations = "ListSuppressedDestinations" + +// ListSuppressedDestinationsRequest generates a "aws/request.Request" representing the +// client's request for the ListSuppressedDestinations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSuppressedDestinations for more information on using the ListSuppressedDestinations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListSuppressedDestinationsRequest method. +// req, resp := client.ListSuppressedDestinationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListSuppressedDestinations +func (c *SESV2) ListSuppressedDestinationsRequest(input *ListSuppressedDestinationsInput) (req *request.Request, output *ListSuppressedDestinationsOutput) { + op := &request.Operation{ + Name: opListSuppressedDestinations, + HTTPMethod: "GET", + HTTPPath: "/v2/email/suppression/addresses", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSuppressedDestinationsInput{} + } + + output = &ListSuppressedDestinationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSuppressedDestinations API operation for Amazon Simple Email Service. +// +// Used to fetch a list suppressed email destinations from your suppression +// list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation ListSuppressedDestinations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input you provided is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been made to the operation. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified request includes an invalid or expired token. Please attempt +// to get a new token. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListSuppressedDestinations +func (c *SESV2) ListSuppressedDestinations(input *ListSuppressedDestinationsInput) (*ListSuppressedDestinationsOutput, error) { + req, out := c.ListSuppressedDestinationsRequest(input) + return out, req.Send() +} + +// ListSuppressedDestinationsWithContext is the same as ListSuppressedDestinations with the addition of +// the ability to pass a context and additional request options. +// +// See ListSuppressedDestinations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) ListSuppressedDestinationsWithContext(ctx aws.Context, input *ListSuppressedDestinationsInput, opts ...request.Option) (*ListSuppressedDestinationsOutput, error) { + req, out := c.ListSuppressedDestinationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSuppressedDestinationsPages iterates over the pages of a ListSuppressedDestinations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSuppressedDestinations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSuppressedDestinations operation. +// pageNum := 0 +// err := client.ListSuppressedDestinationsPages(params, +// func(page *sesv2.ListSuppressedDestinationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SESV2) ListSuppressedDestinationsPages(input *ListSuppressedDestinationsInput, fn func(*ListSuppressedDestinationsOutput, bool) bool) error { + return c.ListSuppressedDestinationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSuppressedDestinationsPagesWithContext same as ListSuppressedDestinationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) ListSuppressedDestinationsPagesWithContext(ctx aws.Context, input *ListSuppressedDestinationsInput, fn func(*ListSuppressedDestinationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSuppressedDestinationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSuppressedDestinationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSuppressedDestinationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -2889,6 +3206,89 @@ func (c *SESV2) PutAccountSendingAttributesWithContext(ctx aws.Context, input *P return out, req.Send() } +const opPutAccountSuppressionAttributes = "PutAccountSuppressionAttributes" + +// PutAccountSuppressionAttributesRequest generates a "aws/request.Request" representing the +// client's request for the PutAccountSuppressionAttributes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutAccountSuppressionAttributes for more information on using the PutAccountSuppressionAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutAccountSuppressionAttributesRequest method. +// req, resp := client.PutAccountSuppressionAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSuppressionAttributes +func (c *SESV2) PutAccountSuppressionAttributesRequest(input *PutAccountSuppressionAttributesInput) (req *request.Request, output *PutAccountSuppressionAttributesOutput) { + op := &request.Operation{ + Name: opPutAccountSuppressionAttributes, + HTTPMethod: "PUT", + HTTPPath: "/v2/email/account/suppression", + } + + if input == nil { + input = &PutAccountSuppressionAttributesInput{} + } + + output = &PutAccountSuppressionAttributesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutAccountSuppressionAttributes API operation for Amazon Simple Email Service. +// +// Change your account's suppression preferences for your account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation PutAccountSuppressionAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been made to the operation. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSuppressionAttributes +func (c *SESV2) PutAccountSuppressionAttributes(input *PutAccountSuppressionAttributesInput) (*PutAccountSuppressionAttributesOutput, error) { + req, out := c.PutAccountSuppressionAttributesRequest(input) + return out, req.Send() +} + +// PutAccountSuppressionAttributesWithContext is the same as PutAccountSuppressionAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See PutAccountSuppressionAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) PutAccountSuppressionAttributesWithContext(ctx aws.Context, input *PutAccountSuppressionAttributesInput, opts ...request.Option) (*PutAccountSuppressionAttributesOutput, error) { + req, out := c.PutAccountSuppressionAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutConfigurationSetDeliveryOptions = "PutConfigurationSetDeliveryOptions" // PutConfigurationSetDeliveryOptionsRequest generates a "aws/request.Request" representing the @@ -3048,76 +3448,162 @@ func (c *SESV2) PutConfigurationSetReputationOptions(input *PutConfigurationSetR return out, req.Send() } -// PutConfigurationSetReputationOptionsWithContext is the same as PutConfigurationSetReputationOptions with the addition of +// PutConfigurationSetReputationOptionsWithContext is the same as PutConfigurationSetReputationOptions with the addition of +// the ability to pass a context and additional request options. +// +// See PutConfigurationSetReputationOptions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) PutConfigurationSetReputationOptionsWithContext(ctx aws.Context, input *PutConfigurationSetReputationOptionsInput, opts ...request.Option) (*PutConfigurationSetReputationOptionsOutput, error) { + req, out := c.PutConfigurationSetReputationOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutConfigurationSetSendingOptions = "PutConfigurationSetSendingOptions" + +// PutConfigurationSetSendingOptionsRequest generates a "aws/request.Request" representing the +// client's request for the PutConfigurationSetSendingOptions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutConfigurationSetSendingOptions for more information on using the PutConfigurationSetSendingOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutConfigurationSetSendingOptionsRequest method. +// req, resp := client.PutConfigurationSetSendingOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSendingOptions +func (c *SESV2) PutConfigurationSetSendingOptionsRequest(input *PutConfigurationSetSendingOptionsInput) (req *request.Request, output *PutConfigurationSetSendingOptionsOutput) { + op := &request.Operation{ + Name: opPutConfigurationSetSendingOptions, + HTTPMethod: "PUT", + HTTPPath: "/v2/email/configuration-sets/{ConfigurationSetName}/sending", + } + + if input == nil { + input = &PutConfigurationSetSendingOptionsInput{} + } + + output = &PutConfigurationSetSendingOptionsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutConfigurationSetSendingOptions API operation for Amazon Simple Email Service. +// +// Enable or disable email sending for messages that use a particular configuration +// set in a specific AWS Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation PutConfigurationSetSendingOptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource you attempted to access doesn't exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been made to the operation. +// +// * ErrCodeBadRequestException "BadRequestException" +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSendingOptions +func (c *SESV2) PutConfigurationSetSendingOptions(input *PutConfigurationSetSendingOptionsInput) (*PutConfigurationSetSendingOptionsOutput, error) { + req, out := c.PutConfigurationSetSendingOptionsRequest(input) + return out, req.Send() +} + +// PutConfigurationSetSendingOptionsWithContext is the same as PutConfigurationSetSendingOptions with the addition of // the ability to pass a context and additional request options. // -// See PutConfigurationSetReputationOptions for details on how to use this API operation. +// See PutConfigurationSetSendingOptions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SESV2) PutConfigurationSetReputationOptionsWithContext(ctx aws.Context, input *PutConfigurationSetReputationOptionsInput, opts ...request.Option) (*PutConfigurationSetReputationOptionsOutput, error) { - req, out := c.PutConfigurationSetReputationOptionsRequest(input) +func (c *SESV2) PutConfigurationSetSendingOptionsWithContext(ctx aws.Context, input *PutConfigurationSetSendingOptionsInput, opts ...request.Option) (*PutConfigurationSetSendingOptionsOutput, error) { + req, out := c.PutConfigurationSetSendingOptionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutConfigurationSetSendingOptions = "PutConfigurationSetSendingOptions" +const opPutConfigurationSetSuppressionOptions = "PutConfigurationSetSuppressionOptions" -// PutConfigurationSetSendingOptionsRequest generates a "aws/request.Request" representing the -// client's request for the PutConfigurationSetSendingOptions operation. The "output" return +// PutConfigurationSetSuppressionOptionsRequest generates a "aws/request.Request" representing the +// client's request for the PutConfigurationSetSuppressionOptions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutConfigurationSetSendingOptions for more information on using the PutConfigurationSetSendingOptions +// See PutConfigurationSetSuppressionOptions for more information on using the PutConfigurationSetSuppressionOptions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PutConfigurationSetSendingOptionsRequest method. -// req, resp := client.PutConfigurationSetSendingOptionsRequest(params) +// // Example sending a request using the PutConfigurationSetSuppressionOptionsRequest method. +// req, resp := client.PutConfigurationSetSuppressionOptionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSendingOptions -func (c *SESV2) PutConfigurationSetSendingOptionsRequest(input *PutConfigurationSetSendingOptionsInput) (req *request.Request, output *PutConfigurationSetSendingOptionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSuppressionOptions +func (c *SESV2) PutConfigurationSetSuppressionOptionsRequest(input *PutConfigurationSetSuppressionOptionsInput) (req *request.Request, output *PutConfigurationSetSuppressionOptionsOutput) { op := &request.Operation{ - Name: opPutConfigurationSetSendingOptions, + Name: opPutConfigurationSetSuppressionOptions, HTTPMethod: "PUT", - HTTPPath: "/v2/email/configuration-sets/{ConfigurationSetName}/sending", + HTTPPath: "/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options", } if input == nil { - input = &PutConfigurationSetSendingOptionsInput{} + input = &PutConfigurationSetSuppressionOptionsInput{} } - output = &PutConfigurationSetSendingOptionsOutput{} + output = &PutConfigurationSetSuppressionOptionsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutConfigurationSetSendingOptions API operation for Amazon Simple Email Service. +// PutConfigurationSetSuppressionOptions API operation for Amazon Simple Email Service. // -// Enable or disable email sending for messages that use a particular configuration -// set in a specific AWS Region. +// Specify your account's suppression preferences for a configuration set. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Simple Email Service's -// API operation PutConfigurationSetSendingOptions for usage and error information. +// API operation PutConfigurationSetSuppressionOptions for usage and error information. // // Returned Error Codes: // * ErrCodeNotFoundException "NotFoundException" @@ -3129,23 +3615,23 @@ func (c *SESV2) PutConfigurationSetSendingOptionsRequest(input *PutConfiguration // * ErrCodeBadRequestException "BadRequestException" // The input you provided is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSendingOptions -func (c *SESV2) PutConfigurationSetSendingOptions(input *PutConfigurationSetSendingOptionsInput) (*PutConfigurationSetSendingOptionsOutput, error) { - req, out := c.PutConfigurationSetSendingOptionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutConfigurationSetSuppressionOptions +func (c *SESV2) PutConfigurationSetSuppressionOptions(input *PutConfigurationSetSuppressionOptionsInput) (*PutConfigurationSetSuppressionOptionsOutput, error) { + req, out := c.PutConfigurationSetSuppressionOptionsRequest(input) return out, req.Send() } -// PutConfigurationSetSendingOptionsWithContext is the same as PutConfigurationSetSendingOptions with the addition of +// PutConfigurationSetSuppressionOptionsWithContext is the same as PutConfigurationSetSuppressionOptions with the addition of // the ability to pass a context and additional request options. // -// See PutConfigurationSetSendingOptions for details on how to use this API operation. +// See PutConfigurationSetSuppressionOptions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SESV2) PutConfigurationSetSendingOptionsWithContext(ctx aws.Context, input *PutConfigurationSetSendingOptionsInput, opts ...request.Option) (*PutConfigurationSetSendingOptionsOutput, error) { - req, out := c.PutConfigurationSetSendingOptionsRequest(input) +func (c *SESV2) PutConfigurationSetSuppressionOptionsWithContext(ctx aws.Context, input *PutConfigurationSetSuppressionOptionsInput, opts ...request.Option) (*PutConfigurationSetSuppressionOptionsOutput, error) { + req, out := c.PutConfigurationSetSuppressionOptionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -3784,6 +4270,89 @@ func (c *SESV2) PutEmailIdentityMailFromAttributesWithContext(ctx aws.Context, i return out, req.Send() } +const opPutSuppressedDestination = "PutSuppressedDestination" + +// PutSuppressedDestinationRequest generates a "aws/request.Request" representing the +// client's request for the PutSuppressedDestination operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutSuppressedDestination for more information on using the PutSuppressedDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutSuppressedDestinationRequest method. +// req, resp := client.PutSuppressedDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutSuppressedDestination +func (c *SESV2) PutSuppressedDestinationRequest(input *PutSuppressedDestinationInput) (req *request.Request, output *PutSuppressedDestinationOutput) { + op := &request.Operation{ + Name: opPutSuppressedDestination, + HTTPMethod: "PUT", + HTTPPath: "/v2/email/suppression/addresses", + } + + if input == nil { + input = &PutSuppressedDestinationInput{} + } + + output = &PutSuppressedDestinationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutSuppressedDestination API operation for Amazon Simple Email Service. +// +// Puts (overwrites) an email destination in your suppression list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation PutSuppressedDestination for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The input you provided is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been made to the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutSuppressedDestination +func (c *SESV2) PutSuppressedDestination(input *PutSuppressedDestinationInput) (*PutSuppressedDestinationOutput, error) { + req, out := c.PutSuppressedDestinationRequest(input) + return out, req.Send() +} + +// PutSuppressedDestinationWithContext is the same as PutSuppressedDestination with the addition of +// the ability to pass a context and additional request options. +// +// See PutSuppressedDestination for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) PutSuppressedDestinationWithContext(ctx aws.Context, input *PutSuppressedDestinationInput, opts ...request.Option) (*PutSuppressedDestinationOutput, error) { + req, out := c.PutSuppressedDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSendEmail = "SendEmail" // SendEmailRequest generates a "aws/request.Request" representing the @@ -4578,6 +5147,9 @@ type CreateConfigurationSetInput struct { // send using the configuration set. SendingOptions *SendingOptions `type:"structure"` + // An object that contains information about your account's suppression preferences. + SuppressionOptions *SuppressionOptions `type:"structure"` + // An array of objects that define the tags (keys and values) that you want // to associate with the configuration set. Tags []*Tag `type:"list"` @@ -4649,6 +5221,12 @@ func (s *CreateConfigurationSetInput) SetSendingOptions(v *SendingOptions) *Crea return s } +// SetSuppressionOptions sets the SuppressionOptions field's value. +func (s *CreateConfigurationSetInput) SetSuppressionOptions(v *SuppressionOptions) *CreateConfigurationSetInput { + s.SuppressionOptions = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateConfigurationSetInput) SetTags(v []*Tag) *CreateConfigurationSetInput { s.Tags = v @@ -5370,6 +5948,64 @@ func (s DeleteEmailIdentityOutput) GoString() string { return s.String() } +// A request to delete a suppressed email destination. +type DeleteSuppressedDestinationInput struct { + _ struct{} `type:"structure"` + + // The suppressed email destination to delete. + // + // EmailAddress is a required field + EmailAddress *string `location:"uri" locationName:"EmailAddress" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSuppressedDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSuppressedDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSuppressedDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSuppressedDestinationInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *DeleteSuppressedDestinationInput) SetEmailAddress(v string) *DeleteSuppressedDestinationInput { + s.EmailAddress = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type DeleteSuppressedDestinationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSuppressedDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSuppressedDestinationOutput) GoString() string { + return s.String() +} + // An object that contains metadata related to a predictive inbox placement // test. type DeliverabilityTestReport struct { @@ -6227,6 +6863,9 @@ type GetAccountOutput struct { // Indicates whether or not email sending is enabled for your Amazon SES account // in the current AWS Region. SendingEnabled *bool `type:"boolean"` + + // An object that contains information about your account's suppression preferences. + SuppressionAttributes *SuppressionAttributes `type:"structure"` } // String returns the string representation @@ -6269,6 +6908,12 @@ func (s *GetAccountOutput) SetSendingEnabled(v bool) *GetAccountOutput { return s } +// SetSuppressionAttributes sets the SuppressionAttributes field's value. +func (s *GetAccountOutput) SetSuppressionAttributes(v *SuppressionAttributes) *GetAccountOutput { + s.SuppressionAttributes = v + return s +} + // A request to retrieve a list of the blacklists that your dedicated IP addresses // appear on. type GetBlacklistReportsInput struct { @@ -6468,6 +7113,9 @@ type GetConfigurationSetOutput struct { // send using the configuration set. SendingOptions *SendingOptions `type:"structure"` + // An object that contains information about your account's suppression preferences. + SuppressionOptions *SuppressionOptions `type:"structure"` + // An array of objects that define the tags (keys and values) that are associated // with the configuration set. Tags []*Tag `type:"list"` @@ -6511,6 +7159,12 @@ func (s *GetConfigurationSetOutput) SetSendingOptions(v *SendingOptions) *GetCon return s } +// SetSuppressionOptions sets the SuppressionOptions field's value. +func (s *GetConfigurationSetOutput) SetSuppressionOptions(v *SuppressionOptions) *GetConfigurationSetOutput { + s.SuppressionOptions = v + return s +} + // SetTags sets the Tags field's value. func (s *GetConfigurationSetOutput) SetTags(v []*Tag) *GetConfigurationSetOutput { s.Tags = v @@ -7196,6 +7850,74 @@ func (s *GetEmailIdentityOutput) SetVerifiedForSendingStatus(v bool) *GetEmailId return s } +// A request to get a suppressed email destination. +type GetSuppressedDestinationInput struct { + _ struct{} `type:"structure"` + + // Email destination to fetch from the suppression list. + // + // EmailAddress is a required field + EmailAddress *string `location:"uri" locationName:"EmailAddress" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSuppressedDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuppressedDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSuppressedDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSuppressedDestinationInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *GetSuppressedDestinationInput) SetEmailAddress(v string) *GetSuppressedDestinationInput { + s.EmailAddress = &v + return s +} + +// Information about the suppressed email destination. +type GetSuppressedDestinationOutput struct { + _ struct{} `type:"structure"` + + // An object containing information about the suppressed email destination. + // + // SuppressedDestination is a required field + SuppressedDestination *SuppressedDestination `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetSuppressedDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSuppressedDestinationOutput) GoString() string { + return s.String() +} + +// SetSuppressedDestination sets the SuppressedDestination field's value. +func (s *GetSuppressedDestinationOutput) SetSuppressedDestination(v *SuppressedDestination) *GetSuppressedDestinationOutput { + s.SuppressedDestination = v + return s +} + // Information about an email identity. type IdentityInfo struct { _ struct{} `type:"structure"` @@ -7809,15 +8531,114 @@ func (s ListEmailIdentitiesOutput) GoString() string { return s.String() } -// SetEmailIdentities sets the EmailIdentities field's value. -func (s *ListEmailIdentitiesOutput) SetEmailIdentities(v []*IdentityInfo) *ListEmailIdentitiesOutput { - s.EmailIdentities = v +// SetEmailIdentities sets the EmailIdentities field's value. +func (s *ListEmailIdentitiesOutput) SetEmailIdentities(v []*IdentityInfo) *ListEmailIdentitiesOutput { + s.EmailIdentities = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEmailIdentitiesOutput) SetNextToken(v string) *ListEmailIdentitiesOutput { + s.NextToken = &v + return s +} + +// A request to obtain a list of suppressed email destinations. +type ListSuppressedDestinationsInput struct { + _ struct{} `type:"structure"` + + // Filters email destinations suppressed after the given time. + EndDate *time.Time `location:"querystring" locationName:"EndDate" type:"timestamp"` + + // A token returned from a previous call to ListSuppressedDestinations to indicate + // the position in the list of suppressed email destinations. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The number of results to show in a single call to ListSuppressedDestinations. + // If the number of results is larger than the number you specified in this + // parameter, then the response includes a NextToken element, which you can + // use to obtain additional results. + PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"` + + // Filters email destinations suppressed by the given reasons. + Reasons []*string `location:"querystring" locationName:"Reason" type:"list"` + + // Filters email destinations suppressed before the given time. + StartDate *time.Time `location:"querystring" locationName:"StartDate" type:"timestamp"` +} + +// String returns the string representation +func (s ListSuppressedDestinationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSuppressedDestinationsInput) GoString() string { + return s.String() +} + +// SetEndDate sets the EndDate field's value. +func (s *ListSuppressedDestinationsInput) SetEndDate(v time.Time) *ListSuppressedDestinationsInput { + s.EndDate = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSuppressedDestinationsInput) SetNextToken(v string) *ListSuppressedDestinationsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListSuppressedDestinationsInput) SetPageSize(v int64) *ListSuppressedDestinationsInput { + s.PageSize = &v + return s +} + +// SetReasons sets the Reasons field's value. +func (s *ListSuppressedDestinationsInput) SetReasons(v []*string) *ListSuppressedDestinationsInput { + s.Reasons = v + return s +} + +// SetStartDate sets the StartDate field's value. +func (s *ListSuppressedDestinationsInput) SetStartDate(v time.Time) *ListSuppressedDestinationsInput { + s.StartDate = &v + return s +} + +// A list of suppressed email destinations. +type ListSuppressedDestinationsOutput struct { + _ struct{} `type:"structure"` + + // A token that indicates that there are additional suppressed destinations + // to list. To view additional suppressed destinations, issue another request + // to ListSuppressedDestinations, and pass this token in the NextToken parameter. + NextToken *string `type:"string"` + + // A list of summaries, each containing a summary for a suppressed email destination. + SuppressedDestinationSummaries []*SuppressedDestinationSummary `type:"list"` +} + +// String returns the string representation +func (s ListSuppressedDestinationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSuppressedDestinationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSuppressedDestinationsOutput) SetNextToken(v string) *ListSuppressedDestinationsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListEmailIdentitiesOutput) SetNextToken(v string) *ListEmailIdentitiesOutput { - s.NextToken = &v +// SetSuppressedDestinationSummaries sets the SuppressedDestinationSummaries field's value. +func (s *ListSuppressedDestinationsOutput) SetSuppressedDestinationSummaries(v []*SuppressedDestinationSummary) *ListSuppressedDestinationsOutput { + s.SuppressedDestinationSummaries = v return s } @@ -8312,6 +9133,51 @@ func (s PutAccountSendingAttributesOutput) GoString() string { return s.String() } +// A request to change your account's suppression preferences. +type PutAccountSuppressionAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of reasons to suppress email addresses. The only valid reasons are: + // + // * COMPLAINT – Amazon SES will suppress an email address that receives + // a complaint. + // + // * BOUNCE – Amazon SES will suppress an email address that hard bounces. + SuppressedReasons []*string `type:"list"` +} + +// String returns the string representation +func (s PutAccountSuppressionAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAccountSuppressionAttributesInput) GoString() string { + return s.String() +} + +// SetSuppressedReasons sets the SuppressedReasons field's value. +func (s *PutAccountSuppressionAttributesInput) SetSuppressedReasons(v []*string) *PutAccountSuppressionAttributesInput { + s.SuppressedReasons = v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type PutAccountSuppressionAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutAccountSuppressionAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAccountSuppressionAttributesOutput) GoString() string { + return s.String() +} + // A request to associate a configuration set with a dedicated IP pool. type PutConfigurationSetDeliveryOptionsInput struct { _ struct{} `type:"structure"` @@ -8534,6 +9400,80 @@ func (s PutConfigurationSetSendingOptionsOutput) GoString() string { return s.String() } +// A request to change your account's suppression preferences for an specific +// configuration set. +type PutConfigurationSetSuppressionOptionsInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration set that you want to enable or disable email + // sending for. + // + // ConfigurationSetName is a required field + ConfigurationSetName *string `location:"uri" locationName:"ConfigurationSetName" type:"string" required:"true"` + + // A list of reasons to suppress email addresses. The only valid reasons are: + // + // * COMPLAINT – Amazon SES will suppress an email address that receives + // a complaint. + // + // * BOUNCE – Amazon SES will suppress an email address that hard bounces. + SuppressedReasons []*string `type:"list"` +} + +// String returns the string representation +func (s PutConfigurationSetSuppressionOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutConfigurationSetSuppressionOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutConfigurationSetSuppressionOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutConfigurationSetSuppressionOptionsInput"} + if s.ConfigurationSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName")) + } + if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *PutConfigurationSetSuppressionOptionsInput) SetConfigurationSetName(v string) *PutConfigurationSetSuppressionOptionsInput { + s.ConfigurationSetName = &v + return s +} + +// SetSuppressedReasons sets the SuppressedReasons field's value. +func (s *PutConfigurationSetSuppressionOptionsInput) SetSuppressedReasons(v []*string) *PutConfigurationSetSuppressionOptionsInput { + s.SuppressedReasons = v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type PutConfigurationSetSuppressionOptionsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutConfigurationSetSuppressionOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutConfigurationSetSuppressionOptionsOutput) GoString() string { + return s.String() +} + // A request to add a custom domain for tracking open and click events to a // configuration set. type PutConfigurationSetTrackingOptionsInput struct { @@ -9067,6 +10007,75 @@ func (s PutEmailIdentityMailFromAttributesOutput) GoString() string { return s.String() } +// A request to suppress an email destination. +type PutSuppressedDestinationInput struct { + _ struct{} `type:"structure"` + + // Email destination to be suppressed. + // + // EmailAddress is a required field + EmailAddress *string `type:"string" required:"true"` + + // Reason for which the email destination is suppressed. + // + // Reason is a required field + Reason *string `type:"string" required:"true" enum:"SuppressionListReason"` +} + +// String returns the string representation +func (s PutSuppressedDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutSuppressedDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutSuppressedDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutSuppressedDestinationInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + if s.Reason == nil { + invalidParams.Add(request.NewErrParamRequired("Reason")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *PutSuppressedDestinationInput) SetEmailAddress(v string) *PutSuppressedDestinationInput { + s.EmailAddress = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *PutSuppressedDestinationInput) SetReason(v string) *PutSuppressedDestinationInput { + s.Reason = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type PutSuppressedDestinationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutSuppressedDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutSuppressedDestinationOutput) GoString() string { + return s.String() +} + // The raw email message. type RawMessage struct { _ struct{} `type:"structure"` @@ -9427,6 +10436,203 @@ func (s *SnsDestination) SetTopicArn(v string) *SnsDestination { return s } +// An object containing information about the suppressed email destination. +type SuppressedDestination struct { + _ struct{} `type:"structure"` + + // Optional value with information about the sources of the suppression. + Attributes *SuppressedDestinationAttributes `type:"structure"` + + // The suppressed email destination. + // + // EmailAddress is a required field + EmailAddress *string `type:"string" required:"true"` + + // The last time the suppressed destination was updated. + // + // LastUpdateTime is a required field + LastUpdateTime *time.Time `type:"timestamp" required:"true"` + + // The reason for which the email destination is suppressed. + // + // Reason is a required field + Reason *string `type:"string" required:"true" enum:"SuppressionListReason"` +} + +// String returns the string representation +func (s SuppressedDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuppressedDestination) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *SuppressedDestination) SetAttributes(v *SuppressedDestinationAttributes) *SuppressedDestination { + s.Attributes = v + return s +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *SuppressedDestination) SetEmailAddress(v string) *SuppressedDestination { + s.EmailAddress = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *SuppressedDestination) SetLastUpdateTime(v time.Time) *SuppressedDestination { + s.LastUpdateTime = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *SuppressedDestination) SetReason(v string) *SuppressedDestination { + s.Reason = &v + return s +} + +// An object containing additional attributes related to a suppressed destination. +type SuppressedDestinationAttributes struct { + _ struct{} `type:"structure"` + + // A unique identifier of the suppression cause. + FeedbackId *string `type:"string"` + + // A unique identifier of the message that caused the suppression of the email + // destination. + MessageId *string `type:"string"` +} + +// String returns the string representation +func (s SuppressedDestinationAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuppressedDestinationAttributes) GoString() string { + return s.String() +} + +// SetFeedbackId sets the FeedbackId field's value. +func (s *SuppressedDestinationAttributes) SetFeedbackId(v string) *SuppressedDestinationAttributes { + s.FeedbackId = &v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *SuppressedDestinationAttributes) SetMessageId(v string) *SuppressedDestinationAttributes { + s.MessageId = &v + return s +} + +// A summary for the suppressed email destination. +type SuppressedDestinationSummary struct { + _ struct{} `type:"structure"` + + // The suppressed email destination. + // + // EmailAddress is a required field + EmailAddress *string `type:"string" required:"true"` + + // The last time the suppressed destination was updated. + // + // LastUpdateTime is a required field + LastUpdateTime *time.Time `type:"timestamp" required:"true"` + + // The reason for which the email destination is suppressed. + // + // Reason is a required field + Reason *string `type:"string" required:"true" enum:"SuppressionListReason"` +} + +// String returns the string representation +func (s SuppressedDestinationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuppressedDestinationSummary) GoString() string { + return s.String() +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *SuppressedDestinationSummary) SetEmailAddress(v string) *SuppressedDestinationSummary { + s.EmailAddress = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *SuppressedDestinationSummary) SetLastUpdateTime(v time.Time) *SuppressedDestinationSummary { + s.LastUpdateTime = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *SuppressedDestinationSummary) SetReason(v string) *SuppressedDestinationSummary { + s.Reason = &v + return s +} + +// An object that contains information about your account's suppression preferences. +type SuppressionAttributes struct { + _ struct{} `type:"structure"` + + // A list of reasons to suppress email addresses. The only valid reasons are: + // + // * COMPLAINT – Amazon SES will suppress an email address that receives + // a complaint. + // + // * BOUNCE – Amazon SES will suppress an email address that hard bounces. + SuppressedReasons []*string `type:"list"` +} + +// String returns the string representation +func (s SuppressionAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuppressionAttributes) GoString() string { + return s.String() +} + +// SetSuppressedReasons sets the SuppressedReasons field's value. +func (s *SuppressionAttributes) SetSuppressedReasons(v []*string) *SuppressionAttributes { + s.SuppressedReasons = v + return s +} + +// An object that contains information about your account's suppression preferences. +type SuppressionOptions struct { + _ struct{} `type:"structure"` + + // A list of reasons to suppress email addresses. The only valid reasons are: + // + // * COMPLAINT – Amazon SES will suppress an email address that receives + // a complaint. + // + // * BOUNCE – Amazon SES will suppress an email address that hard bounces. + SuppressedReasons []*string `type:"list"` +} + +// String returns the string representation +func (s SuppressionOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuppressionOptions) GoString() string { + return s.String() +} + +// SetSuppressedReasons sets the SuppressedReasons field's value. +func (s *SuppressionOptions) SetSuppressedReasons(v []*string) *SuppressionOptions { + s.SuppressedReasons = v + return s +} + // An object that defines the tags that are associated with a resource. A tag // is a label that you optionally define and associate with a resource. Tags // can help you categorize and manage resources in different ways, such as by @@ -10065,6 +11271,21 @@ const ( MailFromDomainStatusTemporaryFailure = "TEMPORARY_FAILURE" ) +// A string representing the cause for suppression for an email destination. +// It can be one of the following: +// +// * COMPLAINT – Amazon SES will suppress an email address that receive +// a complaint. +// +// * BOUNCE – Amazon SES will suppress an email address that hard bounces. +const ( + // SuppressionListReasonBounce is a SuppressionListReason enum value + SuppressionListReasonBounce = "BOUNCE" + + // SuppressionListReasonComplaint is a SuppressionListReason enum value + SuppressionListReasonComplaint = "COMPLAINT" +) + // Specifies whether messages that use the configuration set are required to // use Transport Layer Security (TLS). If the value is Require, messages are // only delivered if a TLS connection can be established. If the value is Optional, diff --git a/service/sesv2/errors.go b/service/sesv2/errors.go index e66677410aa..1c1c60c44ca 100644 --- a/service/sesv2/errors.go +++ b/service/sesv2/errors.go @@ -29,6 +29,13 @@ const ( // The resource is being modified by another operation or thread. ErrCodeConcurrentModificationException = "ConcurrentModificationException" + // ErrCodeInvalidNextTokenException for service response error code + // "InvalidNextTokenException". + // + // The specified request includes an invalid or expired token. Please attempt + // to get a new token. + ErrCodeInvalidNextTokenException = "InvalidNextTokenException" + // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // diff --git a/service/sesv2/sesv2iface/interface.go b/service/sesv2/sesv2iface/interface.go index 4cc3700b998..9f6887f2822 100644 --- a/service/sesv2/sesv2iface/interface.go +++ b/service/sesv2/sesv2iface/interface.go @@ -96,6 +96,10 @@ type SESV2API interface { DeleteEmailIdentityWithContext(aws.Context, *sesv2.DeleteEmailIdentityInput, ...request.Option) (*sesv2.DeleteEmailIdentityOutput, error) DeleteEmailIdentityRequest(*sesv2.DeleteEmailIdentityInput) (*request.Request, *sesv2.DeleteEmailIdentityOutput) + DeleteSuppressedDestination(*sesv2.DeleteSuppressedDestinationInput) (*sesv2.DeleteSuppressedDestinationOutput, error) + DeleteSuppressedDestinationWithContext(aws.Context, *sesv2.DeleteSuppressedDestinationInput, ...request.Option) (*sesv2.DeleteSuppressedDestinationOutput, error) + DeleteSuppressedDestinationRequest(*sesv2.DeleteSuppressedDestinationInput) (*request.Request, *sesv2.DeleteSuppressedDestinationOutput) + GetAccount(*sesv2.GetAccountInput) (*sesv2.GetAccountOutput, error) GetAccountWithContext(aws.Context, *sesv2.GetAccountInput, ...request.Option) (*sesv2.GetAccountOutput, error) GetAccountRequest(*sesv2.GetAccountInput) (*request.Request, *sesv2.GetAccountOutput) @@ -143,6 +147,10 @@ type SESV2API interface { GetEmailIdentityWithContext(aws.Context, *sesv2.GetEmailIdentityInput, ...request.Option) (*sesv2.GetEmailIdentityOutput, error) GetEmailIdentityRequest(*sesv2.GetEmailIdentityInput) (*request.Request, *sesv2.GetEmailIdentityOutput) + GetSuppressedDestination(*sesv2.GetSuppressedDestinationInput) (*sesv2.GetSuppressedDestinationOutput, error) + GetSuppressedDestinationWithContext(aws.Context, *sesv2.GetSuppressedDestinationInput, ...request.Option) (*sesv2.GetSuppressedDestinationOutput, error) + GetSuppressedDestinationRequest(*sesv2.GetSuppressedDestinationInput) (*request.Request, *sesv2.GetSuppressedDestinationOutput) + ListConfigurationSets(*sesv2.ListConfigurationSetsInput) (*sesv2.ListConfigurationSetsOutput, error) ListConfigurationSetsWithContext(aws.Context, *sesv2.ListConfigurationSetsInput, ...request.Option) (*sesv2.ListConfigurationSetsOutput, error) ListConfigurationSetsRequest(*sesv2.ListConfigurationSetsInput) (*request.Request, *sesv2.ListConfigurationSetsOutput) @@ -178,6 +186,13 @@ type SESV2API interface { ListEmailIdentitiesPages(*sesv2.ListEmailIdentitiesInput, func(*sesv2.ListEmailIdentitiesOutput, bool) bool) error ListEmailIdentitiesPagesWithContext(aws.Context, *sesv2.ListEmailIdentitiesInput, func(*sesv2.ListEmailIdentitiesOutput, bool) bool, ...request.Option) error + ListSuppressedDestinations(*sesv2.ListSuppressedDestinationsInput) (*sesv2.ListSuppressedDestinationsOutput, error) + ListSuppressedDestinationsWithContext(aws.Context, *sesv2.ListSuppressedDestinationsInput, ...request.Option) (*sesv2.ListSuppressedDestinationsOutput, error) + ListSuppressedDestinationsRequest(*sesv2.ListSuppressedDestinationsInput) (*request.Request, *sesv2.ListSuppressedDestinationsOutput) + + ListSuppressedDestinationsPages(*sesv2.ListSuppressedDestinationsInput, func(*sesv2.ListSuppressedDestinationsOutput, bool) bool) error + ListSuppressedDestinationsPagesWithContext(aws.Context, *sesv2.ListSuppressedDestinationsInput, func(*sesv2.ListSuppressedDestinationsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*sesv2.ListTagsForResourceInput) (*sesv2.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *sesv2.ListTagsForResourceInput, ...request.Option) (*sesv2.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*sesv2.ListTagsForResourceInput) (*request.Request, *sesv2.ListTagsForResourceOutput) @@ -190,6 +205,10 @@ type SESV2API interface { PutAccountSendingAttributesWithContext(aws.Context, *sesv2.PutAccountSendingAttributesInput, ...request.Option) (*sesv2.PutAccountSendingAttributesOutput, error) PutAccountSendingAttributesRequest(*sesv2.PutAccountSendingAttributesInput) (*request.Request, *sesv2.PutAccountSendingAttributesOutput) + PutAccountSuppressionAttributes(*sesv2.PutAccountSuppressionAttributesInput) (*sesv2.PutAccountSuppressionAttributesOutput, error) + PutAccountSuppressionAttributesWithContext(aws.Context, *sesv2.PutAccountSuppressionAttributesInput, ...request.Option) (*sesv2.PutAccountSuppressionAttributesOutput, error) + PutAccountSuppressionAttributesRequest(*sesv2.PutAccountSuppressionAttributesInput) (*request.Request, *sesv2.PutAccountSuppressionAttributesOutput) + PutConfigurationSetDeliveryOptions(*sesv2.PutConfigurationSetDeliveryOptionsInput) (*sesv2.PutConfigurationSetDeliveryOptionsOutput, error) PutConfigurationSetDeliveryOptionsWithContext(aws.Context, *sesv2.PutConfigurationSetDeliveryOptionsInput, ...request.Option) (*sesv2.PutConfigurationSetDeliveryOptionsOutput, error) PutConfigurationSetDeliveryOptionsRequest(*sesv2.PutConfigurationSetDeliveryOptionsInput) (*request.Request, *sesv2.PutConfigurationSetDeliveryOptionsOutput) @@ -202,6 +221,10 @@ type SESV2API interface { PutConfigurationSetSendingOptionsWithContext(aws.Context, *sesv2.PutConfigurationSetSendingOptionsInput, ...request.Option) (*sesv2.PutConfigurationSetSendingOptionsOutput, error) PutConfigurationSetSendingOptionsRequest(*sesv2.PutConfigurationSetSendingOptionsInput) (*request.Request, *sesv2.PutConfigurationSetSendingOptionsOutput) + PutConfigurationSetSuppressionOptions(*sesv2.PutConfigurationSetSuppressionOptionsInput) (*sesv2.PutConfigurationSetSuppressionOptionsOutput, error) + PutConfigurationSetSuppressionOptionsWithContext(aws.Context, *sesv2.PutConfigurationSetSuppressionOptionsInput, ...request.Option) (*sesv2.PutConfigurationSetSuppressionOptionsOutput, error) + PutConfigurationSetSuppressionOptionsRequest(*sesv2.PutConfigurationSetSuppressionOptionsInput) (*request.Request, *sesv2.PutConfigurationSetSuppressionOptionsOutput) + PutConfigurationSetTrackingOptions(*sesv2.PutConfigurationSetTrackingOptionsInput) (*sesv2.PutConfigurationSetTrackingOptionsOutput, error) PutConfigurationSetTrackingOptionsWithContext(aws.Context, *sesv2.PutConfigurationSetTrackingOptionsInput, ...request.Option) (*sesv2.PutConfigurationSetTrackingOptionsOutput, error) PutConfigurationSetTrackingOptionsRequest(*sesv2.PutConfigurationSetTrackingOptionsInput) (*request.Request, *sesv2.PutConfigurationSetTrackingOptionsOutput) @@ -230,6 +253,10 @@ type SESV2API interface { PutEmailIdentityMailFromAttributesWithContext(aws.Context, *sesv2.PutEmailIdentityMailFromAttributesInput, ...request.Option) (*sesv2.PutEmailIdentityMailFromAttributesOutput, error) PutEmailIdentityMailFromAttributesRequest(*sesv2.PutEmailIdentityMailFromAttributesInput) (*request.Request, *sesv2.PutEmailIdentityMailFromAttributesOutput) + PutSuppressedDestination(*sesv2.PutSuppressedDestinationInput) (*sesv2.PutSuppressedDestinationOutput, error) + PutSuppressedDestinationWithContext(aws.Context, *sesv2.PutSuppressedDestinationInput, ...request.Option) (*sesv2.PutSuppressedDestinationOutput, error) + PutSuppressedDestinationRequest(*sesv2.PutSuppressedDestinationInput) (*request.Request, *sesv2.PutSuppressedDestinationOutput) + SendEmail(*sesv2.SendEmailInput) (*sesv2.SendEmailOutput, error) SendEmailWithContext(aws.Context, *sesv2.SendEmailInput, ...request.Option) (*sesv2.SendEmailOutput, error) SendEmailRequest(*sesv2.SendEmailInput) (*request.Request, *sesv2.SendEmailOutput) diff --git a/service/ssm/api.go b/service/ssm/api.go index 0a25e04e34a..78f44330367 100644 --- a/service/ssm/api.go +++ b/service/ssm/api.go @@ -11931,6 +11931,40 @@ func (c *SSM) UpdateServiceSettingWithContext(ctx aws.Context, input *UpdateServ return out, req.Send() } +// Information includes the AWS account ID where the current document is shared +// and the version shared with that account. +type AccountSharingInfo struct { + _ struct{} `type:"structure"` + + // The AWS account ID where the current document is shared. + AccountId *string `type:"string"` + + // The version of the current document shared with the account. + SharedDocumentVersion *string `type:"string"` +} + +// String returns the string representation +func (s AccountSharingInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountSharingInfo) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *AccountSharingInfo) SetAccountId(v string) *AccountSharingInfo { + s.AccountId = &v + return s +} + +// SetSharedDocumentVersion sets the SharedDocumentVersion field's value. +func (s *AccountSharingInfo) SetSharedDocumentVersion(v string) *AccountSharingInfo { + s.SharedDocumentVersion = &v + return s +} + // An activation registers one or more on-premises servers or virtual machines // (VMs) with AWS so that you can configure those servers or VMs using Run Command. // A server or VM that has been registered with AWS is called a managed instance. @@ -15841,6 +15875,10 @@ type CreateDocumentInput struct { // Name is a required field Name *string `type:"string" required:"true"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // Optional metadata that you assign to a resource. Tags enable you to categorize // a resource in different ways, such as by purpose, owner, or environment. // For example, you might want to tag an SSM document to identify the types @@ -15891,6 +15929,9 @@ func (s *CreateDocumentInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + if s.Requires != nil && len(s.Requires) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Requires", 1)) + } if s.Attachments != nil { for i, v := range s.Attachments { if v == nil { @@ -15901,6 +15942,16 @@ func (s *CreateDocumentInput) Validate() error { } } } + if s.Requires != nil { + for i, v := range s.Requires { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Requires", i), err.(request.ErrInvalidParams)) + } + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -15948,6 +15999,12 @@ func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput { return s } +// SetRequires sets the Requires field's value. +func (s *CreateDocumentInput) SetRequires(v []*DocumentRequires) *CreateDocumentInput { + s.Requires = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateDocumentInput) SetTags(v []*Tag) *CreateDocumentInput { s.Tags = v @@ -16894,6 +16951,12 @@ type DeleteDocumentInput struct { // versions of the document are deleted. DocumentVersion *string `type:"string"` + // Some SSM document types require that you specify a Force flag before you + // can delete the document. For example, you must specify a Force flag to delete + // a document of type ApplicationConfigurationSchema. You can restrict access + // to the Force flag in an AWS Identity and Access Management (IAM) policy. + Force *bool `type:"boolean"` + // The name of the document. // // Name is a required field @@ -16933,6 +16996,12 @@ func (s *DeleteDocumentInput) SetDocumentVersion(v string) *DeleteDocumentInput return s } +// SetForce sets the Force field's value. +func (s *DeleteDocumentInput) SetForce(v bool) *DeleteDocumentInput { + s.Force = &v + return s +} + // SetName sets the Name field's value. func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput { s.Name = &v @@ -18680,6 +18749,10 @@ type DescribeDocumentPermissionOutput struct { // The account IDs that have permission to use this document. The ID can be // either an AWS account or All. AccountIds []*string `type:"list"` + + // A list of of AWS accounts where the current document is shared and the version + // shared with each account. + AccountSharingInfoList []*AccountSharingInfo `type:"list"` } // String returns the string representation @@ -18698,6 +18771,12 @@ func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeD return s } +// SetAccountSharingInfoList sets the AccountSharingInfoList field's value. +func (s *DescribeDocumentPermissionOutput) SetAccountSharingInfoList(v []*AccountSharingInfo) *DescribeDocumentPermissionOutput { + s.AccountSharingInfoList = v + return s +} + type DescribeEffectiveInstanceAssociationsInput struct { _ struct{} `type:"structure"` @@ -21452,6 +21531,10 @@ type DocumentDescription struct { // The list of OS platforms compatible with this Systems Manager document. PlatformTypes []*string `type:"list"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // The schema version. SchemaVersion *string `type:"string"` @@ -21574,6 +21657,12 @@ func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription return s } +// SetRequires sets the Requires field's value. +func (s *DocumentDescription) SetRequires(v []*DocumentRequires) *DocumentDescription { + s.Requires = v + return s +} + // SetSchemaVersion sets the SchemaVersion field's value. func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription { s.SchemaVersion = &v @@ -21694,6 +21783,10 @@ type DocumentIdentifier struct { // The operating system platform. PlatformTypes []*string `type:"list"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // The schema version. SchemaVersion *string `type:"string"` @@ -21758,6 +21851,12 @@ func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier { return s } +// SetRequires sets the Requires field's value. +func (s *DocumentIdentifier) SetRequires(v []*DocumentRequires) *DocumentIdentifier { + s.Requires = v + return s +} + // SetSchemaVersion sets the SchemaVersion field's value. func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier { s.SchemaVersion = &v @@ -21906,6 +22005,55 @@ func (s *DocumentParameter) SetType(v string) *DocumentParameter { return s } +// An SSM document required by the current document. +type DocumentRequires struct { + _ struct{} `type:"structure"` + + // The name of the required SSM document. The name can be an Amazon Resource + // Name (ARN). + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The document version required by the current document. + Version *string `type:"string"` +} + +// String returns the string representation +func (s DocumentRequires) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentRequires) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentRequires) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentRequires"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DocumentRequires) SetName(v string) *DocumentRequires { + s.Name = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *DocumentRequires) SetVersion(v string) *DocumentRequires { + s.Version = &v + return s +} + // Version information about the document. type DocumentVersionInfo struct { _ struct{} `type:"structure"` @@ -22825,6 +22973,10 @@ type GetDocumentOutput struct { // The name of the Systems Manager document. Name *string `type:"string"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // The status of the Systems Manager document, such as Creating, Active, Updating, // Failed, and Deleting. Status *string `type:"string" enum:"DocumentStatus"` @@ -22887,6 +23039,12 @@ func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput { return s } +// SetRequires sets the Requires field's value. +func (s *GetDocumentOutput) SetRequires(v []*DocumentRequires) *GetDocumentOutput { + s.Requires = v + return s +} + // SetStatus sets the Status field's value. func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput { s.Status = &v @@ -27461,7 +27619,7 @@ type ListDocumentVersionsInput struct { // results. MaxResults *int64 `min:"1" type:"integer"` - // The name of the document about which you want version information. + // The name of the document. You can specify an Amazon Resource Name (ARN). // // Name is a required field Name *string `type:"string" required:"true"` @@ -29371,6 +29529,10 @@ type ModifyDocumentPermissionInput struct { // // PermissionType is a required field PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"` + + // (Optional) The version of the document to share. If it's not specified, the + // system choose the Default version to share. + SharedDocumentVersion *string `type:"string"` } // String returns the string representation @@ -29423,6 +29585,12 @@ func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocum return s } +// SetSharedDocumentVersion sets the SharedDocumentVersion field's value. +func (s *ModifyDocumentPermissionInput) SetSharedDocumentVersion(v string) *ModifyDocumentPermissionInput { + s.SharedDocumentVersion = &v + return s +} + type ModifyDocumentPermissionOutput struct { _ struct{} `type:"structure"` } @@ -38219,6 +38387,15 @@ const ( // DocumentTypePackage is a DocumentType enum value DocumentTypePackage = "Package" + + // DocumentTypeApplicationConfiguration is a DocumentType enum value + DocumentTypeApplicationConfiguration = "ApplicationConfiguration" + + // DocumentTypeApplicationConfigurationSchema is a DocumentType enum value + DocumentTypeApplicationConfigurationSchema = "ApplicationConfigurationSchema" + + // DocumentTypeDeploymentStrategy is a DocumentType enum value + DocumentTypeDeploymentStrategy = "DeploymentStrategy" ) const (