From 8756523ecc6877fb5ad3731879e779b26f51095e Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 15 Feb 2021 11:24:42 -0800 Subject: [PATCH] Release v1.37.11 (2021-02-15) (#3781) Release v1.37.11 (2021-02-15) === ### Service Client Updates * `service/config`: Updates service API and documentation * `service/kinesis-video-archived-media`: Updates service API and documentation * `service/lightsail`: Updates service documentation * Documentation updates for Lightsail * `service/medialive`: Updates service API and documentation * AWS MediaLive now supports Automatic-Input-Failover for CDI Inputs. * `service/mediatailor`: Updates service API, documentation, and paginators * `service/pinpoint`: Updates service API and documentation * Lets customers use origination number when specifying SMS message configuration for Campaigns and Journeys. * `service/redshift-data`: Updates service API and documentation * `service/workmailmessageflow`: Updates service API and documentation --- CHANGELOG.md | 16 + aws/version.go | 2 +- models/apis/config/2014-11-12/api-2.json | 8 + models/apis/config/2014-11-12/docs-2.json | 68 +- .../2017-09-30/api-2.json | 10 +- .../2017-09-30/docs-2.json | 12 +- models/apis/lightsail/2016-11-28/docs-2.json | 22 +- models/apis/medialive/2017-10-14/api-2.json | 96 +++ models/apis/medialive/2017-10-14/docs-2.json | 15 + models/apis/mediatailor/2018-04-23/api-2.json | 496 ++++++++------- .../apis/mediatailor/2018-04-23/docs-2.json | 197 +++--- .../mediatailor/2018-04-23/paginators-1.json | 9 +- models/apis/pinpoint/2016-12-01/api-2.json | 6 + models/apis/pinpoint/2016-12-01/docs-2.json | 2 + .../apis/redshift-data/2019-12-20/api-2.json | 31 +- .../apis/redshift-data/2019-12-20/docs-2.json | 12 +- .../workmailmessageflow/2019-05-01/api-2.json | 93 +++ .../2019-05-01/docs-2.json | 64 +- service/configservice/api.go | 584 ++++++++++++++++-- service/configservice/errors.go | 34 +- service/kinesisvideoarchivedmedia/api.go | 46 +- service/lightsail/api.go | 32 +- service/medialive/api.go | 182 ++++++ service/medialive/medialiveiface/interface.go | 4 + service/mediatailor/api.go | 94 +++ .../mediatailor/mediatailoriface/interface.go | 3 + service/pinpoint/api.go | 24 + service/redshiftdataapiservice/api.go | 115 +++- service/redshiftdataapiservice/doc.go | 4 + service/redshiftdataapiservice/errors.go | 15 +- service/workmailmessageflow/api.go | 506 +++++++++++++++ service/workmailmessageflow/errors.go | 32 + .../workmailmessageflowiface/interface.go | 4 + 33 files changed, 2344 insertions(+), 494 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d98416aacf..53951a51cc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +Release v1.37.11 (2021-02-15) +=== + +### Service Client Updates +* `service/config`: Updates service API and documentation +* `service/kinesis-video-archived-media`: Updates service API and documentation +* `service/lightsail`: Updates service documentation + * Documentation updates for Lightsail +* `service/medialive`: Updates service API and documentation + * AWS MediaLive now supports Automatic-Input-Failover for CDI Inputs. +* `service/mediatailor`: Updates service API, documentation, and paginators +* `service/pinpoint`: Updates service API and documentation + * Lets customers use origination number when specifying SMS message configuration for Campaigns and Journeys. +* `service/redshift-data`: Updates service API and documentation +* `service/workmailmessageflow`: Updates service API and documentation + Release v1.37.10 (2021-02-12) === diff --git a/aws/version.go b/aws/version.go index 0149af3c26b..9933b43c776 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.37.10" +const SDKVersion = "1.37.11" diff --git a/models/apis/config/2014-11-12/api-2.json b/models/apis/config/2014-11-12/api-2.json index c5b452631cd..8937157b297 100644 --- a/models/apis/config/2014-11-12/api-2.json +++ b/models/apis/config/2014-11-12/api-2.json @@ -919,6 +919,7 @@ {"shape":"InvalidDeliveryChannelNameException"}, {"shape":"NoSuchBucketException"}, {"shape":"InvalidS3KeyPrefixException"}, + {"shape":"InvalidS3KmsKeyArnException"}, {"shape":"InvalidSNSTopicARNException"}, {"shape":"InsufficientDeliveryPolicyException"} ] @@ -2066,6 +2067,7 @@ "name":{"shape":"ChannelName"}, "s3BucketName":{"shape":"String"}, "s3KeyPrefix":{"shape":"String"}, + "s3KmsKeyArn":{"shape":"String"}, "snsTopicARN":{"shape":"String"}, "configSnapshotDeliveryProperties":{"shape":"ConfigSnapshotDeliveryProperties"} } @@ -2979,6 +2981,12 @@ }, "exception":true }, + "InvalidS3KmsKeyArnException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidSNSTopicARNException":{ "type":"structure", "members":{ diff --git a/models/apis/config/2014-11-12/docs-2.json b/models/apis/config/2014-11-12/docs-2.json index 11ef25f3b4a..936e715f9b1 100644 --- a/models/apis/config/2014-11-12/docs-2.json +++ b/models/apis/config/2014-11-12/docs-2.json @@ -18,7 +18,7 @@ "DeleteRemediationExceptions": "

Deletes one or more remediation exceptions mentioned in the resource keys.

AWS Config generates a remediation exception when a problem occurs executing a remediation action to a specific resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

", "DeleteResourceConfig": "

Records the configuration state for a custom resource that has been deleted. This API records a new ConfigurationItem with a ResourceDeleted status. You can retrieve the ConfigurationItems recorded for this resource in your AWS Config History.

", "DeleteRetentionConfiguration": "

Deletes the retention configuration.

", - "DeleteStoredQuery": "

Deletes the stored query for an AWS account in an AWS Region.

", + "DeleteStoredQuery": "

Deletes the stored query for a single AWS account and a single AWS Region.

", "DeliverConfigSnapshot": "

Schedules delivery of a configuration snapshot to the Amazon S3 bucket in the specified delivery channel. After the delivery has started, AWS Config sends the following notifications using an Amazon SNS topic that you have specified.

", "DescribeAggregateComplianceByConfigRules": "

Returns a list of compliant and noncompliant rules with the number of resources for compliant and noncompliant rules.

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

", "DescribeAggregationAuthorizations": "

Returns a list of authorizations granted to various aggregator accounts and regions.

", @@ -61,23 +61,23 @@ "GetStoredQuery": "

Returns the details of a specific stored query.

", "ListAggregateDiscoveredResources": "

Accepts a resource type and returns a list of resource identifiers that are aggregated for a specific resource type across accounts and regions. A resource identifier includes the resource type, ID, (if available) the custom resource name, source account, and source region. You can narrow the results to include only resources that have specific resource IDs, or a resource name, or source account ID, or source region.

For example, if the input consists of accountID 12345678910 and the region is us-east-1 for resource type AWS::EC2::Instance then the API returns all the EC2 instance identifiers of accountID 12345678910 and region us-east-1.

", "ListDiscoveredResources": "

Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name.

You can specify either resource IDs or a resource name, but not both, in the same request.

The response is paginated. By default, AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

", - "ListStoredQueries": "

List the stored queries for an AWS account in an AWS Region. The default is 100.

", + "ListStoredQueries": "

Lists the stored queries for a single AWS account and a single AWS Region. The default is 100.

", "ListTagsForResource": "

List the tags for AWS Config resource.

", "PutAggregationAuthorization": "

Authorizes the aggregator account and region to collect data from the source account and region.

", "PutConfigRule": "

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom AWS Config rules and AWS managed Config rules. A custom AWS Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom AWS Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 150.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

", - "PutConfigurationAggregator": "

Creates and updates the configuration aggregator with the selected source accounts and regions. The source account can be individual account(s) or an organization.

AWS Config should be enabled in source accounts and regions you want to aggregate.

If your source type is an organization, you must be signed in to the master account and all features must be enabled in your organization. AWS Config calls EnableAwsServiceAccess API to enable integration between AWS Config and AWS Organizations.

", + "PutConfigurationAggregator": "

Creates and updates the configuration aggregator with the selected source accounts and regions. The source account can be individual account(s) or an organization.

accountIds that are passed will be replaced with existing accounts. If you want to add additional accounts into the aggregator, call DescribeAggregator to get the previous accounts and then append new ones.

AWS Config should be enabled in source accounts and regions you want to aggregate.

If your source type is an organization, you must be signed in to the management account or a registered delegated administrator and all the features must be enabled in your organization. If the caller is a management account, AWS Config calls EnableAwsServiceAccess API to enable integration between AWS Config and AWS Organizations. If the caller is a registered delegated administrator, AWS Config calls ListDelegatedAdministrators API to verify whether the caller is a valid delegated administrator.

To register a delegated administrator, see Register a Delegated Administrator in the AWS Config developer guide.

", "PutConfigurationRecorder": "

Creates a new configuration recorder to record the selected resource configurations.

You can use this action to change the role roleARN or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role.

Currently, you can specify only one configuration recorder per region in your account.

If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types.

", "PutConformancePack": "

Creates or updates a conformance pack. A conformance pack is a collection of AWS Config rules that can be easily deployed in an account and a region and across AWS Organization.

This API creates a service linked role AWSServiceRoleForConfigConforms in your account. The service linked role is created only when the role does not exist in your account.

You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. If you provide both AWS Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter.

", "PutDeliveryChannel": "

Creates a delivery channel object to deliver configuration information to an Amazon S3 bucket and Amazon SNS topic.

Before you can create a delivery channel, you must create a configuration recorder.

You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed.

You can have only one delivery channel per region in your account.

", "PutEvaluations": "

Used by an AWS Lambda function to deliver evaluation results to AWS Config. This action is required in every AWS Lambda function that is invoked by an AWS Config rule.

", - "PutExternalEvaluation": null, + "PutExternalEvaluation": "

Add or updates the evaluations for process checks. This API checks if the rule is a process check when the name of the AWS Config rule is provided.

", "PutOrganizationConfigRule": "

Adds or updates organization config rule for your entire organization evaluating whether your AWS resources comply with your desired configurations.

Only a master account and a delegated administrator can create or update an organization config rule. When calling this API with a delegated administrator, you must ensure AWS Organizations ListDelegatedAdministrator permissions are added.

This API enables organization service access through the EnableAWSServiceAccess action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup in the master or delegated administrator account of your organization. The service linked role is created only when the role does not exist in the caller account. AWS Config verifies the existence of role with GetRole action.

To use this API with delegated administrator, register a delegated administrator by calling AWS Organization register-delegated-administrator for config-multiaccountsetup.amazonaws.com.

You can use this action to create both custom AWS Config rules and AWS managed Config rules. If you are adding a new custom AWS Config rule, you must first create AWS Lambda function in the master account or a delegated administrator that the rule invokes to evaluate your resources. When you use the PutOrganizationConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. If you are adding an AWS managed Config rule, specify the rule's identifier for the RuleIdentifier key.

The maximum number of organization config rules that AWS Config supports is 150 and 3 delegated administrator per organization.

Prerequisite: Ensure you call EnableAllFeatures API to enable all features in an organization.

Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata.

", "PutOrganizationConformancePack": "

Deploys conformance packs across member accounts in an AWS Organization.

Only a master account and a delegated administrator can call this API. When calling this API with a delegated administrator, you must ensure AWS Organizations ListDelegatedAdministrator permissions are added.

This API enables organization service access for config-multiaccountsetup.amazonaws.com through the EnableAWSServiceAccess action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup in the master or delegated administrator account of your organization. The service linked role is created only when the role does not exist in the caller account. To use this API with delegated administrator, register a delegated administrator by calling AWS Organization register-delegate-admin for config-multiaccountsetup.amazonaws.com.

Prerequisite: Ensure you call EnableAllFeatures API to enable all features in an organization.

You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. If you provide both AWS Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter.

AWS Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS until the conformance pack is created or updated. You cannot update a conformance pack while it is in this state.

You can create 6 conformance packs with 25 AWS Config rules in each pack and 3 delegated administrator per organization.

", "PutRemediationConfigurations": "

Adds or updates the remediation configuration with a specific AWS Config rule with the selected target or action. The API creates the RemediationConfiguration object for the AWS Config rule. The AWS Config rule must already exist for you to add a remediation configuration. The target (SSM document) must exist and have permissions to use the target.

If you make backward incompatible changes to the SSM document, you must call this again to ensure the remediations can run.

This API does not support adding remediation configurations for service-linked AWS Config Rules such as Organization Config rules, the rules deployed by conformance packs, and rules deployed by AWS Security Hub.

", - "PutRemediationExceptions": "

A remediation exception is when a specific resource is no longer considered for auto-remediation. This API adds a new exception or updates an exisiting exception for a specific resource with a specific AWS Config rule.

AWS Config generates a remediation exception when a problem occurs executing a remediation action to a specific resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

", + "PutRemediationExceptions": "

A remediation exception is when a specific resource is no longer considered for auto-remediation. This API adds a new exception or updates an existing exception for a specific resource with a specific AWS Config rule.

AWS Config generates a remediation exception when a problem occurs executing a remediation action to a specific resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

", "PutResourceConfig": "

Records the configuration state for the resource provided in the request. The configuration state of a resource is represented in AWS Config as Configuration Items. Once this API records the configuration item, you can retrieve the list of configuration items for the custom resource type using existing AWS Config APIs.

The custom resource type must be registered with AWS CloudFormation. This API accepts the configuration item registered with AWS CloudFormation.

When you call this API, AWS Config only stores configuration state of the resource provided in the request. This API does not change or remediate the configuration of the resource.

Write-only schema properites are not recorded as part of the published configuration item.

", "PutRetentionConfiguration": "

Creates and updates the retention configuration with details about retention period (number of days) that AWS Config stores your historical information. The API creates the RetentionConfiguration object and names the object as default. When you have a RetentionConfiguration object named default, calling the API modifies the default object.

Currently, AWS Config supports only one retention configuration per region in your account.

", - "PutStoredQuery": "

Saves a new query or updates an existing saved query. The QueryName must be unique for an AWS account in an AWS Region. You can create upto 300 queries in an AWS account in an AWS Region.

", + "PutStoredQuery": "

Saves a new query or updates an existing saved query. The QueryName must be unique for a single AWS account and a single AWS Region. You can create upto 300 queries in a single AWS account and a single AWS Region.

", "SelectAggregateResourceConfig": "

Accepts a structured query language (SQL) SELECT command and an aggregator to query configuration state of AWS resources across multiple accounts and regions, performs the corresponding search, and returns resource configurations matching the properties.

For more information about query components, see the Query Components section in the AWS Config Developer Guide.

", "SelectResourceConfig": "

Accepts a structured query language (SQL) SELECT command, performs the corresponding search, and returns resource configurations matching the properties.

For more information about query components, see the Query Components section in the AWS Config Developer Guide.

", "StartConfigRulesEvaluation": "

Runs an on-demand evaluation for the specified AWS Config rules against the last known configuration state of the resources. Use StartConfigRulesEvaluation when you want to test that a rule you updated is working as expected. StartConfigRulesEvaluation does not re-record the latest configuration state for your resources. It re-runs an evaluation against the last known state of your resources.

You can specify up to 25 AWS Config rules per request.

An existing StartConfigRulesEvaluation call for the specified rules must complete before you can call the API again. If you chose to have AWS Config stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification when the evaluation starts.

You don't need to call the StartConfigRulesEvaluation API to run an evaluation for a new rule. When you create a rule, AWS Config evaluates your resources against the rule automatically.

The StartConfigRulesEvaluation API is useful if you want to run on-demand evaluations, such as the following example:

  1. You have a custom rule that evaluates your IAM resources every 24 hours.

  2. You update your Lambda function to add additional conditions to your rule.

  3. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API.

  4. AWS Config invokes your Lambda function and evaluates your IAM resources.

  5. Your custom rule will still run periodic evaluations every 24 hours.

", @@ -92,7 +92,7 @@ "base": null, "refs": { "BaseConfigurationItem$arn": "

The Amazon Resource Name (ARN) of the resource.

", - "ConfigurationItem$arn": "

accoun

" + "ConfigurationItem$arn": "

Amazon Resource Name (ARN) associated with the resource.

" } }, "AccountAggregationSource": { @@ -316,7 +316,7 @@ "DescribeComplianceByResourceRequest$ResourceId": "

The ID of the AWS resource for which you want compliance information. You can specify only one resource ID. If you specify a resource ID, you must also specify a type for ResourceType.

", "Evaluation$ComplianceResourceId": "

The ID of the AWS resource that was evaluated.

", "EvaluationResultQualifier$ResourceId": "

The ID of the evaluated AWS resource.

", - "ExternalEvaluation$ComplianceResourceId": null, + "ExternalEvaluation$ComplianceResourceId": "

The evaluated compliance resource ID. AWS Config accepts only AWS account ID.

", "GetComplianceDetailsByResourceRequest$ResourceId": "

The ID of the AWS resource for which you want compliance information.

", "Scope$ComplianceResourceId": "

The ID of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes.

" } @@ -444,7 +444,7 @@ "ConfigRuleComplianceFilters$ComplianceType": "

The rule compliance status.

For the ConfigRuleComplianceFilters data type, AWS Config supports only COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and the INSUFFICIENT_DATA values.

", "Evaluation$ComplianceType": "

Indicates whether the AWS resource complies with the AWS Config rule that it was evaluated against.

For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for this data type.

Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for ComplianceType from a PutEvaluations request. For example, an AWS Lambda function for a custom AWS Config rule cannot pass an INSUFFICIENT_DATA value to AWS Config.

", "EvaluationResult$ComplianceType": "

Indicates whether the AWS resource complies with the AWS Config rule that evaluated it.

For the EvaluationResult data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for the EvaluationResult data type.

", - "ExternalEvaluation$ComplianceType": null, + "ExternalEvaluation$ComplianceType": "

The compliance of the AWS resource. The valid values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

", "GetAggregateComplianceDetailsByConfigRuleRequest$ComplianceType": "

The resource compliance status.

For the GetAggregateComplianceDetailsByConfigRuleRequest data type, AWS Config supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA values.

" } }, @@ -517,7 +517,7 @@ "DescribeRemediationExecutionStatusRequest$ConfigRuleName": "

A list of AWS Config rule names.

", "EvaluationResultQualifier$ConfigRuleName": "

The name of the AWS Config rule that was used in the evaluation.

", "GetAggregateComplianceDetailsByConfigRuleRequest$ConfigRuleName": "

The name of the AWS Config rule for which you want compliance information.

", - "PutExternalEvaluationRequest$ConfigRuleName": null, + "PutExternalEvaluationRequest$ConfigRuleName": "

The name of the AWS Config rule.

", "PutRemediationExceptionsRequest$ConfigRuleName": "

The name of the AWS Config rule for which you want to create remediation exception.

", "ReevaluateConfigRuleNames$member": null, "RemediationConfiguration$ConfigRuleName": "

The name of the AWS Config rule.

", @@ -1048,19 +1048,19 @@ "DeliveryS3Bucket": { "base": null, "refs": { - "ConformancePackDetail$DeliveryS3Bucket": "

Conformance pack template that is used to create a pack. The delivery bucket name should start with awsconfigconforms. For example: \"Resource\": \"arn:aws:s3:::your_bucket_name/*\".

", - "OrganizationConformancePack$DeliveryS3Bucket": "

Location of an Amazon S3 bucket where AWS Config can deliver evaluation results and conformance pack template that is used to create a pack.

", - "PutConformancePackRequest$DeliveryS3Bucket": "

AWS Config stores intermediate files while processing conformance pack template.

", - "PutOrganizationConformancePackRequest$DeliveryS3Bucket": "

Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. AWS Config stores intermediate files while processing conformance pack template.

The delivery bucket name should start with awsconfigconforms. For example: \"Resource\": \"arn:aws:s3:::your_bucket_name/*\". For more information, see Permissions for cross account bucket access.

" + "ConformancePackDetail$DeliveryS3Bucket": "

Amazon S3 bucket where AWS Config stores conformance pack templates.

This field is optional.

", + "OrganizationConformancePack$DeliveryS3Bucket": "

Amazon S3 bucket where AWS Config stores conformance pack templates.

This field is optional.

", + "PutConformancePackRequest$DeliveryS3Bucket": "

Amazon S3 bucket where AWS Config stores conformance pack templates.

This field is optional.

", + "PutOrganizationConformancePackRequest$DeliveryS3Bucket": "

Amazon S3 bucket where AWS Config stores conformance pack templates.

This field is optional.

" } }, "DeliveryS3KeyPrefix": { "base": null, "refs": { - "ConformancePackDetail$DeliveryS3KeyPrefix": "

The prefix for the Amazon S3 bucket.

", - "OrganizationConformancePack$DeliveryS3KeyPrefix": "

Any folder structure you want to add to an Amazon S3 bucket.

", - "PutConformancePackRequest$DeliveryS3KeyPrefix": "

The prefix for the Amazon S3 bucket.

", - "PutOrganizationConformancePackRequest$DeliveryS3KeyPrefix": "

The prefix for the Amazon S3 bucket.

" + "ConformancePackDetail$DeliveryS3KeyPrefix": "

The prefix for the Amazon S3 bucket.

This field is optional.

", + "OrganizationConformancePack$DeliveryS3KeyPrefix": "

Any folder structure you want to add to an Amazon S3 bucket.

This field is optional.

", + "PutConformancePackRequest$DeliveryS3KeyPrefix": "

The prefix for the Amazon S3 bucket.

This field is optional.

", + "PutOrganizationConformancePackRequest$DeliveryS3KeyPrefix": "

The prefix for the Amazon S3 bucket.

This field is optional.

" } }, "DeliveryStatus": { @@ -1415,9 +1415,9 @@ } }, "ExternalEvaluation": { - "base": null, + "base": "

Identifies an AWS resource and indicates whether it complies with the AWS Config rule that it was evaluated against.

", "refs": { - "PutExternalEvaluationRequest$ExternalEvaluation": null + "PutExternalEvaluationRequest$ExternalEvaluation": "

An ExternalEvaluation object that provides details about compliance.

" } }, "FailedDeleteRemediationExceptionsBatch": { @@ -1717,6 +1717,11 @@ "refs": { } }, + "InvalidS3KmsKeyArnException": { + "base": "

The specified Amazon KMS Key ARN is not valid.

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

The specified Amazon SNS topic does not exist.

", "refs": { @@ -1751,7 +1756,7 @@ "GetComplianceDetailsByConfigRuleRequest$Limit": "

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

", "GetDiscoveredResourceCountsRequest$limit": "

The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

", "GetResourceConfigHistoryRequest$limit": "

The maximum number of configuration items returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

", - "ListAggregateDiscoveredResourcesRequest$Limit": "

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

", + "ListAggregateDiscoveredResourcesRequest$Limit": "

The maximum number of resource identifiers returned on each page. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

", "ListDiscoveredResourcesRequest$limit": "

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

", "ListStoredQueriesRequest$MaxResults": "

The maximum number of results to be returned with a single call.

", "ListTagsForResourceRequest$Limit": "

The maximum number of tags returned on each page. The limit maximum is 50. You cannot specify a number greater than 50. If you specify 0, AWS Config uses the default.

", @@ -2016,11 +2021,11 @@ "base": null, "refs": { "Evaluation$OrderingTimestamp": "

The time of the event in AWS Config that triggered the evaluation. For event-based evaluations, the time indicates when AWS Config created the configuration item that triggered the evaluation. For periodic evaluations, the time indicates when AWS Config triggered the evaluation at the frequency that you specified (for example, every 24 hours).

", - "ExternalEvaluation$OrderingTimestamp": null + "ExternalEvaluation$OrderingTimestamp": "

The time when the compliance was recorded.

" } }, "OrganizationAccessDeniedException": { - "base": "

For PutConfigAggregator API, no permission to call EnableAWSServiceAccess API.

For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS Config throws an exception if APIs are called from member accounts. All APIs must be called from organization master account.

", + "base": "

For PutConfigurationAggregator API, you can see this exception for the following reasons:

For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS Config throws an exception if APIs are called from member accounts. All APIs must be called from organization master account.

", "refs": { } }, @@ -2376,9 +2381,9 @@ "QueryArn": { "base": null, "refs": { - "PutStoredQueryResponse$QueryArn": "

Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id.

", - "StoredQuery$QueryArn": "

Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id.

", - "StoredQueryMetadata$QueryArn": "

Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id.

" + "PutStoredQueryResponse$QueryArn": "

Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.

", + "StoredQuery$QueryArn": "

Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.

", + "StoredQueryMetadata$QueryArn": "

Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.

" } }, "QueryDescription": { @@ -2729,7 +2734,7 @@ "ResourceTypeList": { "base": null, "refs": { - "RecordingGroup$resourceTypes": "

A comma-separated list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, AWS::EC2::Instance or AWS::CloudTrail::Trail).

Before you can set this option to true, you must set the allSupported option to false.

If you set this option to true, when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

For a list of valid resourceTypes values, see the resourceType Value column in Supported AWS Resource Types.

" + "RecordingGroup$resourceTypes": "

A comma-separated list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, AWS::EC2::Instance or AWS::CloudTrail::Trail).

To record all configuration changes, you must set the allSupported option to false.

If you set this option to true, when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

For a list of valid resourceTypes values, see the resourceType Value column in Supported AWS Resource Types.

" } }, "ResourceTypeString": { @@ -2926,7 +2931,7 @@ "base": "

Provides the details of a stored query.

", "refs": { "GetStoredQueryResponse$StoredQuery": "

Returns a StoredQuery object.

", - "PutStoredQueryRequest$StoredQuery": "

A list of StoredQuery objects. The mandatory fields are QueryName and Expression.

" + "PutStoredQueryRequest$StoredQuery": "

A list of StoredQuery objects. The mandatory fields are QueryName and Expression.

When you are creating a query, you must provide a query name and an expression. When you are updating a query, you must provide a query name but updating the description is optional.

" } }, "StoredQueryMetadata": { @@ -2965,6 +2970,7 @@ "DeliverConfigSnapshotResponse$configSnapshotId": "

The ID of the snapshot that is being created.

", "DeliveryChannel$s3BucketName": "

The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

If you specify a bucket that belongs to another AWS account, that bucket must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide.

", "DeliveryChannel$s3KeyPrefix": "

The prefix for the specified Amazon S3 bucket.

", + "DeliveryChannel$s3KmsKeyArn": "

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) customer managed key (CMK) used to encrypt objects delivered by AWS Config. Must belong to the same Region as the destination S3 bucket.

", "DeliveryChannel$snsTopicARN": "

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide.

", "DeliveryChannelStatus$name": "

The name of the delivery channel.

", "DescribeAggregationAuthorizationsRequest$NextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", @@ -3069,8 +3075,8 @@ "Evaluation$Annotation": "

Supplementary information about how the evaluation determined the compliance.

", "EvaluationResult$Annotation": "

Supplementary information about how the evaluation determined the compliance.

", "EvaluationResultQualifier$ResourceType": "

The type of AWS resource that was evaluated.

", - "ExternalEvaluation$ComplianceResourceType": null, - "ExternalEvaluation$Annotation": null, + "ExternalEvaluation$ComplianceResourceType": "

The evaluated compliance resource type. AWS Config accepts AWS::::Account resource type.

", + "ExternalEvaluation$Annotation": "

Supplementary information about the reason of compliance. For example, this task was completed on a specific date.

", "GetAggregateConfigRuleComplianceSummaryResponse$GroupByKey": "

Groups the result based on ACCOUNT_ID or AWS_REGION.

", "GetAggregateDiscoveredResourceCountsResponse$GroupByKey": "

The key passed into the request object. If GroupByKey is not provided, the result will be empty.

", "GetComplianceDetailsByResourceRequest$ResourceType": "

The type of the AWS resource for which you want compliance information.

", @@ -3225,7 +3231,7 @@ } }, "ValidationException": { - "base": "

The requested action is not valid.

", + "base": "

The requested action is not valid.

For PutStoredQuery, you will see this exception if there are missing required fields or if the input value fails the validation, or if you are trying to create more than 300 queries.

For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are missing required fields or if the input value fails the validation.

", "refs": { } }, diff --git a/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json b/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json index d9248de6456..d573595e389 100644 --- a/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json +++ b/models/apis/kinesis-video-archived-media/2017-09-30/api-2.json @@ -307,12 +307,10 @@ }, "GetMediaForFragmentListInput":{ "type":"structure", - "required":[ - "StreamName", - "Fragments" - ], + "required":["Fragments"], "members":{ "StreamName":{"shape":"StreamName"}, + "StreamARN":{"shape":"ResourceARN"}, "Fragments":{"shape":"FragmentNumberList"} } }, @@ -399,9 +397,9 @@ }, "ListFragmentsInput":{ "type":"structure", - "required":["StreamName"], "members":{ "StreamName":{"shape":"StreamName"}, + "StreamARN":{"shape":"ResourceARN"}, "MaxResults":{"shape":"PageLimit"}, "NextToken":{"shape":"NextToken"}, "FragmentSelector":{"shape":"FragmentSelector"} @@ -458,7 +456,7 @@ "type":"string", "max":1024, "min":1, - "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" + "pattern":"arn:[a-z\\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" }, "ResourceNotFoundException":{ "type":"structure", diff --git a/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json b/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json index e35ff3667c0..b9bc5ac6342 100644 --- a/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json +++ b/models/apis/kinesis-video-archived-media/2017-09-30/docs-2.json @@ -2,7 +2,7 @@ "version": "2.0", "service": "

", "operations": { - "GetClip": "

Downloads an MP4 file (clip) containing the archived, on-demand media from the specified video stream over the specified time range.

Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation.

As a prerequsite to using GetCLip API, you must obtain an endpoint using GetDataEndpoint, specifying GET_CLIP for the APIName parameter.

An Amazon Kinesis video stream has the following requirements for providing data through MP4:

You can monitor the amount of outgoing data by monitoring the GetClip.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for outgoing AWS data apply.

", + "GetClip": "

Downloads an MP4 file (clip) containing the archived, on-demand media from the specified video stream over the specified time range.

Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation.

As a prerequisite to using GetCLip API, you must obtain an endpoint using GetDataEndpoint, specifying GET_CLIP for the APIName parameter.

An Amazon Kinesis video stream has the following requirements for providing data through MP4:

You can monitor the amount of outgoing data by monitoring the GetClip.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for outgoing AWS data apply.

", "GetDASHStreamingSessionURL": "

Retrieves an MPEG Dynamic Adaptive Streaming over HTTP (DASH) URL for the stream. You can then open the URL in a media player to view the stream contents.

Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation.

An Amazon Kinesis video stream has the following requirements for providing data through MPEG-DASH:

The following procedure shows how to use MPEG-DASH with Kinesis Video Streams:

  1. Get an endpoint using GetDataEndpoint, specifying GET_DASH_STREAMING_SESSION_URL for the APIName parameter.

  2. Retrieve the MPEG-DASH URL using GetDASHStreamingSessionURL. Kinesis Video Streams creates an MPEG-DASH streaming session to be used for accessing content in a stream using the MPEG-DASH protocol. GetDASHStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's MPEG-DASH manifest (the root resource needed for streaming with MPEG-DASH).

    Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials.

    The media that is made available through the manifest consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bitrates) is made available.

  3. Provide the URL (containing the encrypted session token) for the MPEG-DASH manifest to a media player that supports the MPEG-DASH protocol. Kinesis Video Streams makes the initialization fragment and media fragments available through the manifest URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video or audio decoder and renderer. The media fragments contain encoded video frames or encoded audio samples.

  4. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions:

    • GetDASHManifest: Retrieves an MPEG DASH manifest, which contains the metadata for the media that you want to playback.

    • GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the \"fytp\" and \"moov\" MP4 atoms, and the child atoms that are needed to initialize the media player decoder.

      The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream and respective track, which the media player needs to decode the media frames.

    • GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the \"moof\" and \"mdat\" MP4 atoms and their child atoms, containing the encoded fragment's media frames and their timestamps.

      After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data cause an error to be returned when those different media fragments are loaded. Therefore, the codec private data should not change between fragments in a session. This also means that the session fails if the fragments in a stream change from having only video to having both audio and video.

      Data retrieved with this action is billable. See Pricing for details.

The following restrictions apply to MPEG-DASH sessions:

  • A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits.

  • A Kinesis video stream can have a maximum of ten active MPEG-DASH streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active MPEG-DASH sessions does not count against the active GetMedia connection limit.

    The maximum limits for active HLS and MPEG-DASH streaming sessions are independent of each other.

You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply.

For more information about HLS, see HTTP Live Streaming on the Apple Developer site.

If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

", "GetHLSStreamingSessionURL": "

Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then open the URL in a browser or media player to view the stream contents.

Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation.

An Amazon Kinesis video stream has the following requirements for providing data through HLS:

Kinesis Video Streams HLS sessions contain fragments in the fragmented MPEG-4 form (also called fMP4 or CMAF) or the MPEG-2 form (also called TS chunks, which the HLS specification also supports). For more information about HLS fragment types, see the HLS specification.

The following procedure shows how to use HLS with Kinesis Video Streams:

  1. Get an endpoint using GetDataEndpoint, specifying GET_HLS_STREAMING_SESSION_URL for the APIName parameter.

  2. Retrieve the HLS URL using GetHLSStreamingSessionURL. Kinesis Video Streams creates an HLS streaming session to be used for accessing content in a stream using the HLS protocol. GetHLSStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's HLS master playlist (the root resource needed for streaming with HLS).

    Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials.

    The media that is made available through the playlist consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bitrates) is made available.

  3. Provide the URL (containing the encrypted session token) for the HLS master playlist to a media player that supports the HLS protocol. Kinesis Video Streams makes the HLS media playlist, initialization fragment, and media fragments available through the master playlist URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video or audio decoder and renderer. The media fragments contain H.264-encoded video frames or AAC-encoded audio samples.

  4. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions:

    • GetHLSMasterPlaylist: Retrieves an HLS master playlist, which contains a URL for the GetHLSMediaPlaylist action for each track, and additional metadata for the media player, including estimated bitrate and resolution.

    • GetHLSMediaPlaylist: Retrieves an HLS media playlist, which contains a URL to access the MP4 initialization fragment with the GetMP4InitFragment action, and URLs to access the MP4 media fragments with the GetMP4MediaFragment actions. The HLS media playlist also contains metadata about the stream that the player needs to play it, such as whether the PlaybackMode is LIVE or ON_DEMAND. The HLS media playlist is typically static for sessions with a PlaybackType of ON_DEMAND. The HLS media playlist is continually updated with new fragments for sessions with a PlaybackType of LIVE. There is a distinct HLS media playlist for the video track and the audio track (if applicable) that contains MP4 media URLs for the specific track.

    • GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the \"fytp\" and \"moov\" MP4 atoms, and the child atoms that are needed to initialize the media player decoder.

      The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream and respective track, which the media player needs to decode the media frames.

    • GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the \"moof\" and \"mdat\" MP4 atoms and their child atoms, containing the encoded fragment's media frames and their timestamps.

      After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data cause an error to be returned when those different media fragments are loaded. Therefore, the codec private data should not change between fragments in a session. This also means that the session fails if the fragments in a stream change from having only video to having both audio and video.

      Data retrieved with this action is billable. See Pricing for details.

    • GetTSFragment: Retrieves MPEG TS fragments containing both initialization and media data for all tracks in the stream.

      If the ContainerFormat is MPEG_TS, this API is used instead of GetMP4InitFragment and GetMP4MediaFragment to retrieve stream media.

      Data retrieved with this action is billable. For more information, see Kinesis Video Streams pricing.

The following restrictions apply to HLS sessions:

  • A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits.

  • A Kinesis video stream can have a maximum of ten active HLS streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active HLS sessions does not count against the active GetMedia connection limit.

    The maximum limits for active HLS and MPEG-DASH streaming sessions are independent of each other.

You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply.

For more information about HLS, see HTTP Live Streaming on the Apple Developer site.

If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

", "GetMediaForFragmentList": "

Gets media for a list of fragments (specified by fragment number) from the archived data in an Amazon Kinesis video stream.

You must first call the GetDataEndpoint API to get an endpoint. Then send the GetMediaForFragmentList requests to this endpoint using the --endpoint-url parameter.

The following limits apply when using the GetMediaForFragmentList API:

If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

", @@ -292,7 +292,7 @@ "Payload": { "base": null, "refs": { - "GetClipOutput$Payload": "

Traditional MP4 file that contains the media clip from the specified video stream. The output will contain the first 100 MB or the first 200 fragments from the specified start timestamp. For more information, see Kinesis Video Streams Limits.

", + "GetClipOutput$Payload": "

Traditional MP4 file that contains the media clip from the specified video stream. The output will contain the first 100 MB or the first 200 fragments from the specified start timestamp. For more information, see Kinesis Video Streams Limits.

", "GetMediaForFragmentListOutput$Payload": "

The payload that Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see PutMedia. The chunks that Kinesis Video Streams returns in the GetMediaForFragmentList call also include the following additional Matroska (MKV) tags:

The following tags will be included if an exception occurs:

" } }, @@ -301,7 +301,9 @@ "refs": { "GetClipInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream for which to retrieve the media clip.

You must specify either the StreamName or the StreamARN.

", "GetDASHStreamingSessionURLInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream for which to retrieve the MPEG-DASH manifest URL.

You must specify either the StreamName or the StreamARN.

", - "GetHLSStreamingSessionURLInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

" + "GetHLSStreamingSessionURLInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

", + "GetMediaForFragmentListInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream from which to retrieve fragment media. Specify either this parameter or the StreamName parameter.

", + "ListFragmentsInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream from which to retrieve a fragment list. Specify either this parameter or the StreamName parameter.

" } }, "ResourceNotFoundException": { @@ -315,8 +317,8 @@ "GetClipInput$StreamName": "

The name of the stream for which to retrieve the media clip.

You must specify either the StreamName or the StreamARN.

", "GetDASHStreamingSessionURLInput$StreamName": "

The name of the stream for which to retrieve the MPEG-DASH manifest URL.

You must specify either the StreamName or the StreamARN.

", "GetHLSStreamingSessionURLInput$StreamName": "

The name of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

", - "GetMediaForFragmentListInput$StreamName": "

The name of the stream from which to retrieve fragment media.

", - "ListFragmentsInput$StreamName": "

The name of the stream from which to retrieve a fragment list.

" + "GetMediaForFragmentListInput$StreamName": "

The name of the stream from which to retrieve fragment media. Specify either this parameter or the StreamARN parameter.

", + "ListFragmentsInput$StreamName": "

The name of the stream from which to retrieve a fragment list. Specify either this parameter or the StreamARN parameter.

" } }, "Timestamp": { diff --git a/models/apis/lightsail/2016-11-28/docs-2.json b/models/apis/lightsail/2016-11-28/docs-2.json index f7604bdad39..12b0c8d0de3 100644 --- a/models/apis/lightsail/2016-11-28/docs-2.json +++ b/models/apis/lightsail/2016-11-28/docs-2.json @@ -10,7 +10,7 @@ "AttachStaticIp": "

Attaches a static IP address to a specific Amazon Lightsail instance.

", "CloseInstancePublicPorts": "

Closes ports for a specific Amazon Lightsail instance.

The CloseInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

", "CopySnapshot": "

Copies a manual snapshot of an instance or disk as another manual snapshot, or copies an automatic snapshot of an instance or disk as a manual snapshot. This operation can also be used to copy a manual or automatic snapshot of an instance or a disk from one AWS Region to another in Amazon Lightsail.

When copying a manual snapshot, be sure to define the source region, source snapshot name, and target snapshot name parameters.

When copying an automatic snapshot, be sure to define the source region, source resource name, target snapshot name, and either the restore date or the use latest restorable auto snapshot parameters.

", - "CreateCertificate": "

Creates an SSL/TLS certificate for a Amazon Lightsail content delivery network (CDN) distribution.

After the certificate is created, use the AttachCertificateToDistribution action to attach the certificate to your distribution.

Only certificates created in the us-east-1 AWS Region can be attached to Lightsail distributions. Lightsail distributions are global resources that can reference an origin in any AWS Region, and distribute its content globally. However, all distributions are located in the us-east-1 Region.

", + "CreateCertificate": "

Creates an SSL/TLS certificate for an Amazon Lightsail content delivery network (CDN) distribution and a container service.

After the certificate is valid, use the AttachCertificateToDistribution action to use the certificate and its domains with your distribution. Or use the UpdateContainerService action to use the certificate and its domains with your container service.

Only certificates created in the us-east-1 AWS Region can be attached to Lightsail distributions. Lightsail distributions are global resources that can reference an origin in any AWS Region, and distribute its content globally. However, all distributions are located in the us-east-1 Region.

", "CreateCloudFormationStack": "

Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation stack record that can be used to track the AWS CloudFormation stack created. Use the get cloud formation stack records operation to get a list of the CloudFormation stacks created.

Wait until after your new Amazon EC2 instance is created before running the create cloud formation stack operation again with the same export snapshot record.

", "CreateContactMethod": "

Creates an email or SMS text message contact method.

A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

", "CreateContainerService": "

Creates an Amazon Lightsail container service.

A Lightsail container service is a compute resource to which you can deploy containers. For more information, see Container services in Amazon Lightsail in the Lightsail Dev Guide.

", @@ -27,7 +27,7 @@ "CreateInstancesFromSnapshot": "

Creates one or more new instances from a manual or automatic snapshot of an instance.

The create instances from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by instance snapshot name. For more information, see the Lightsail Dev Guide.

", "CreateKeyPair": "

Creates an SSH key pair.

The create key pair operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

", "CreateLoadBalancer": "

Creates a Lightsail load balancer. To learn more about deciding whether to load balance your application, see Configure your Lightsail instances for load balancing. You can create up to 5 load balancers per AWS Region in your account.

When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the UpdateLoadBalancerAttribute operation.

The create load balancer operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

", - "CreateLoadBalancerTlsCertificate": "

Creates a Lightsail load balancer TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

The CreateLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

", + "CreateLoadBalancerTlsCertificate": "

Creates an SSL/TLS certificate for an Amazon Lightsail load balancer.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

The CreateLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

", "CreateRelationalDatabase": "

Creates a new database in Amazon Lightsail.

The create relational database operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

", "CreateRelationalDatabaseFromSnapshot": "

Creates a new database from an existing database snapshot in Amazon Lightsail.

You can create a new database from a snapshot in if something goes wrong with your original database, or to change it to a different plan, such as a high availability or standard plan.

The create relational database from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by relationalDatabaseSnapshotName. For more information, see the Lightsail Dev Guide.

", "CreateRelationalDatabaseSnapshot": "

Creates a snapshot of your database in Amazon Lightsail. You can use snapshots for backups, to make copies of a database, and to save data before deleting a database.

The create relational database snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

", @@ -124,11 +124,11 @@ "PutInstancePublicPorts": "

Opens ports for a specific Amazon Lightsail instance, and specifies the IP addresses allowed to connect to the instance through the ports, and the protocol. This action also closes all currently open ports that are not included in the request. Include all of the ports and the protocols you want to open in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts action to open ports without closing currently open ports.

The PutInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

", "RebootInstance": "

Restarts a specific instance.

The reboot instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

", "RebootRelationalDatabase": "

Restarts a specific database in Amazon Lightsail.

The reboot relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

", - "RegisterContainerImage": "

Registers a container image to your Amazon Lightsail container service.

This action is not required if you install and use the Lightsail Control (lightsailctl) plugin to push container images to your Lightsail container service. For more information, see Pushing and managing container images on your Amazon Lightsail container services in the Lightsail Dev Guide.

", + "RegisterContainerImage": "

Registers a container image to your Amazon Lightsail container service.

This action is not required if you install and use the Lightsail Control (lightsailctl) plugin to push container images to your Lightsail container service. For more information, see Pushing and managing container images on your Amazon Lightsail container services in the Lightsail Dev Guide.

", "ReleaseStaticIp": "

Deletes a specific static IP from your account.

", "ResetDistributionCache": "

Deletes currently cached content from your Amazon Lightsail content delivery network (CDN) distribution.

After resetting the cache, the next time a content request is made, your distribution pulls, serves, and caches it from the origin.

", "SendContactMethodVerification": "

Sends a verification request to an email contact method to ensure it's owned by the requester. SMS contact methods don't need to be verified.

A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

A verification request is sent to the contact method when you initially create it. Use this action to send another verification request if a previous verification request was deleted, or has expired.

Notifications are not sent to an email contact method until after it is verified, and confirmed as valid.

", - "SetIpAddressType": "

Sets the IP address type for a Amazon Lightsail resource.

Use this action to enable dual-stack for a resource, which enables IPv4 and IPv6 for the specified resource. Alternately, you can use this action to disable dual-stack, and enable IPv4 only.

", + "SetIpAddressType": "

Sets the IP address type for an Amazon Lightsail resource.

Use this action to enable dual-stack for a resource, which enables IPv4 and IPv6 for the specified resource. Alternately, you can use this action to disable dual-stack, and enable IPv4 only.

", "StartInstance": "

Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation.

When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide.

The start instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

", "StartRelationalDatabase": "

Starts a specific database from a stopped state in Amazon Lightsail. To restart a database, use the reboot relational database operation.

The start relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

", "StopInstance": "

Stops a specific Amazon Lightsail instance that is currently running.

When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide.

The stop instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

", @@ -2501,7 +2501,7 @@ "LoadBalancerTlsCertificateFailureReason": { "base": null, "refs": { - "LoadBalancerTlsCertificate$failureReason": "

The validation failure reason, if any, of the certificate.

The following failure reasons are possible:

" + "LoadBalancerTlsCertificate$failureReason": "

The validation failure reason, if any, of the certificate.

The following failure reasons are possible:

" } }, "LoadBalancerTlsCertificateList": { @@ -3268,7 +3268,7 @@ "CreateRelationalDatabaseFromSnapshotRequest$relationalDatabaseName": "

The name to use for your new database.

Constraints:

", "CreateRelationalDatabaseFromSnapshotRequest$relationalDatabaseSnapshotName": "

The name of the database snapshot from which to create your new database.

", "CreateRelationalDatabaseFromSnapshotRequest$sourceRelationalDatabaseName": "

The name of the source database.

", - "CreateRelationalDatabaseRequest$relationalDatabaseName": "

The name to use for your new database.

Constraints:

", + "CreateRelationalDatabaseRequest$relationalDatabaseName": "

The name to use for your new Lightsail database resource.

Constraints:

", "CreateRelationalDatabaseSnapshotRequest$relationalDatabaseName": "

The name of the database on which to base your new snapshot.

", "CreateRelationalDatabaseSnapshotRequest$relationalDatabaseSnapshotName": "

The name for your new database snapshot.

Constraints:

", "DeleteAlarmRequest$alarmName": "

The name of the alarm to delete.

", @@ -3844,10 +3844,10 @@ "Bundle$transferPerMonthInGb": "

The data transfer rate per month in GB (e.g., 2000).

", "ContainerServiceDeployment$version": "

The version number of the deployment.

", "ContainerServiceEndpoint$containerPort": "

The port of the specified container to which traffic is forwarded to.

", - "ContainerServiceHealthCheckConfig$healthyThreshold": "

The number of consecutive health checks successes required before moving the container to the Healthy state.

", - "ContainerServiceHealthCheckConfig$unhealthyThreshold": "

The number of consecutive health check failures required before moving the container to the Unhealthy state.

", - "ContainerServiceHealthCheckConfig$timeoutSeconds": "

The amount of time, in seconds, during which no response means a failed health check. You may specify between 2 and 60 seconds.

", - "ContainerServiceHealthCheckConfig$intervalSeconds": "

The approximate interval, in seconds, between health checks of an individual container. You may specify between 5 and 300 seconds.

", + "ContainerServiceHealthCheckConfig$healthyThreshold": "

The number of consecutive health checks successes required before moving the container to the Healthy state. The default value is 2.

", + "ContainerServiceHealthCheckConfig$unhealthyThreshold": "

The number of consecutive health check failures required before moving the container to the Unhealthy state. The default value is 2.

", + "ContainerServiceHealthCheckConfig$timeoutSeconds": "

The amount of time, in seconds, during which no response means a failed health check. You can specify between 2 and 60 seconds. The default value is 2.

", + "ContainerServiceHealthCheckConfig$intervalSeconds": "

The approximate interval, in seconds, between health checks of an individual container. You can specify between 5 and 300 seconds. The default value is 5.

", "CreateDiskFromSnapshotRequest$sizeInGb": "

The size of the disk in GB (e.g., 32).

", "CreateDiskRequest$sizeInGb": "

The size of the disk in GB (e.g., 32).

", "Disk$sizeInGb": "

The size of the disk in GB.

", @@ -3917,7 +3917,7 @@ "ContainerService$privateDomainName": "

The private domain name of the container service.

The private domain name is accessible only by other resources within the default virtual private cloud (VPC) of your Lightsail account.

", "ContainerService$url": "

The publicly accessible URL of the container service.

If no public endpoint is specified in the currentDeployment, this URL returns a 404 response.

", "ContainerServiceEndpoint$containerName": "

The name of the container entry of the deployment that the endpoint configuration applies to.

", - "ContainerServiceHealthCheckConfig$path": "

The path on the container on which to perform the health check.

", + "ContainerServiceHealthCheckConfig$path": "

The path on the container on which to perform the health check. The default value is /.

", "ContainerServiceHealthCheckConfig$successCodes": "

The HTTP codes to use when checking for a successful response from a container. You can specify values between 200 and 499.

", "ContainerServiceLogEvent$message": "

The message of the container service log event.

", "ContainerServiceMetadataEntry$key": null, diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index 2ea343218c9..2da2ae44b79 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -446,6 +446,40 @@ } ] }, + "CreatePartnerInput": { + "name": "CreatePartnerInput", + "http": { + "method": "POST", + "requestUri": "/prod/inputs/{inputId}/partners", + "responseCode": 201 + }, + "input": { + "shape": "CreatePartnerInputRequest" + }, + "output": { + "shape": "CreatePartnerInputResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "CreateTags": { "name": "CreateTags", "http": { @@ -4054,6 +4088,60 @@ } } }, + "CreatePartnerInput": { + "type": "structure", + "members": { + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "CreatePartnerInputRequest": { + "type": "structure", + "members": { + "InputId": { + "shape": "__string", + "location": "uri", + "locationName": "inputId" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "idempotencyToken": true + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "InputId" + ] + }, + "CreatePartnerInputResponse": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + } + }, + "CreatePartnerInputResultModel": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + } + }, "CreateTagsRequest": { "type": "structure", "members": { @@ -4663,6 +4751,10 @@ "shape": "__listOfInputDeviceSettings", "locationName": "inputDevices" }, + "InputPartnerIds": { + "shape": "__listOf__string", + "locationName": "inputPartnerIds" + }, "InputSourceType": { "shape": "InputSourceType", "locationName": "inputSourceType" @@ -7108,6 +7200,10 @@ "shape": "__listOfInputDeviceSettings", "locationName": "inputDevices" }, + "InputPartnerIds": { + "shape": "__listOf__string", + "locationName": "inputPartnerIds" + }, "InputSourceType": { "shape": "InputSourceType", "locationName": "inputSourceType" diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index 4a4ed354151..5e8914e1010 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -13,6 +13,7 @@ "CreateInputSecurityGroup": "Creates a Input Security Group", "CreateMultiplex": "Create a new multiplex.", "CreateMultiplexProgram": "Create a new program in the multiplex.", + "CreatePartnerInput": "Create a partner input", "CreateTags": "Create tags for a resource", "DeleteChannel": "Starts deletion of channel. The associated outputs are also deleted.", "DeleteInput": "Deletes the input end point", @@ -637,6 +638,16 @@ "refs": { } }, + "CreatePartnerInput": { + "base": null, + "refs": { + } + }, + "CreatePartnerInputResultModel": { + "base": null, + "refs": { + } + }, "DeviceSettingsSyncState": { "base": "The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration.", "refs": { @@ -1502,6 +1513,7 @@ "base": null, "refs": { "CreateInputResultModel$Input": null, + "CreatePartnerInputResultModel$Input": null, "UpdateInputResultModel$Input": null, "__listOfInput$member": null } @@ -2897,6 +2909,7 @@ "CreateChannel$Tags": "A collection of key-value pairs.", "CreateInput$Tags": "A collection of key-value pairs.", "CreateMultiplex$Tags": "A collection of key-value pairs.", + "CreatePartnerInput$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.", @@ -4017,6 +4030,7 @@ "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$InputPartnerIds": "A list of IDs for all Inputs which are partners of this one.", "Input$SecurityGroups": "A list of IDs for all the Input Security Groups attached to the input.", "InputDeviceNetworkSettings$DnsAddresses": "The DNS addresses of the input device.", "InputPrepareScheduleActionSettings$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.", @@ -4102,6 +4116,7 @@ "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", + "CreatePartnerInput$RequestId": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", "DvbSubDestinationSettings$FontSize": "When set to auto fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match.", "EbuTtDDestinationSettings$FontFamily": "Specifies the font family to include in the font data attached to the EBU-TT captions. Valid only if styleControl is set to include. If you leave this field empty, the font family is set to \"monospaced\". (If styleControl is set to exclude, the font family is always set to \"monospaced\".)\n\nYou specify only the font family. All other style information (color, bold, position and so on) is copied from the input captions. The size is always set to 100% to allow the downstream player to choose the size.\n\n- Enter a list of font families, as a comma-separated list of font names, in order of preference. The name can be a font family (such as \u201cArial\u201d), or a generic font family (such as \u201cserif\u201d), or \u201cdefault\u201d (to let the downstream player choose the font).\n- Leave blank to set the family to \u201cmonospace\u201d.", "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\".", diff --git a/models/apis/mediatailor/2018-04-23/api-2.json b/models/apis/mediatailor/2018-04-23/api-2.json index d6c821af635..0110df53f47 100644 --- a/models/apis/mediatailor/2018-04-23/api-2.json +++ b/models/apis/mediatailor/2018-04-23/api-2.json @@ -1,161 +1,161 @@ { "metadata": { - "apiVersion": "2018-04-23", - "endpointPrefix": "api.mediatailor", - "jsonVersion": "1.1", - "protocol": "rest-json", - "serviceAbbreviation": "MediaTailor", - "serviceFullName": "AWS MediaTailor", - "serviceId": "MediaTailor", - "signatureVersion": "v4", - "signingName": "mediatailor", + "apiVersion": "2018-04-23", + "endpointPrefix": "api.mediatailor", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "MediaTailor", + "serviceFullName": "AWS MediaTailor", + "serviceId": "MediaTailor", + "signatureVersion": "v4", + "signingName": "mediatailor", "uid": "mediatailor-2018-04-23" - }, + }, "operations": { "DeletePlaybackConfiguration": { - "errors": [], + "errors": [], "http": { - "method": "DELETE", - "requestUri": "/playbackConfiguration/{Name}", + "method": "DELETE", + "requestUri": "/playbackConfiguration/{Name}", "responseCode": 204 - }, + }, "input": { "shape": "DeletePlaybackConfigurationRequest" - }, - "name": "DeletePlaybackConfiguration", + }, + "name": "DeletePlaybackConfiguration", "output": { "shape": "DeletePlaybackConfigurationResponse" } - }, + }, "GetPlaybackConfiguration": { - "errors": [], + "errors": [], "http": { - "method": "GET", - "requestUri": "/playbackConfiguration/{Name}", + "method": "GET", + "requestUri": "/playbackConfiguration/{Name}", "responseCode": 200 - }, + }, "input": { "shape": "GetPlaybackConfigurationRequest" - }, - "name": "GetPlaybackConfiguration", + }, + "name": "GetPlaybackConfiguration", "output": { "shape": "GetPlaybackConfigurationResponse" } - }, + }, "ListPlaybackConfigurations": { - "errors": [], + "errors": [], "http": { - "method": "GET", - "requestUri": "/playbackConfigurations", + "method": "GET", + "requestUri": "/playbackConfigurations", "responseCode": 200 - }, + }, "input": { "shape": "ListPlaybackConfigurationsRequest" - }, - "name": "ListPlaybackConfigurations", + }, + "name": "ListPlaybackConfigurations", "output": { "shape": "ListPlaybackConfigurationsResponse" } - }, + }, "ListTagsForResource": { "errors": [ { "shape": "BadRequestException" } - ], + ], "http": { - "method": "GET", - "requestUri": "/tags/{ResourceArn}", + "method": "GET", + "requestUri": "/tags/{ResourceArn}", "responseCode": 200 - }, + }, "input": { "shape": "ListTagsForResourceRequest" - }, - "name": "ListTagsForResource", + }, + "name": "ListTagsForResource", "output": { "shape": "ListTagsForResourceResponse" } - }, + }, "PutPlaybackConfiguration": { - "errors": [], + "errors": [], "http": { - "method": "PUT", - "requestUri": "/playbackConfiguration", + "method": "PUT", + "requestUri": "/playbackConfiguration", "responseCode": 200 - }, + }, "input": { "shape": "PutPlaybackConfigurationRequest" - }, - "name": "PutPlaybackConfiguration", + }, + "name": "PutPlaybackConfiguration", "output": { "shape": "PutPlaybackConfigurationResponse" } - }, + }, "TagResource": { "errors": [ { "shape": "BadRequestException" } - ], + ], "http": { - "method": "POST", - "requestUri": "/tags/{ResourceArn}", + "method": "POST", + "requestUri": "/tags/{ResourceArn}", "responseCode": 204 - }, + }, "input": { "shape": "TagResourceRequest" - }, + }, "name": "TagResource" - }, + }, "UntagResource": { "errors": [ { "shape": "BadRequestException" } - ], + ], "http": { - "method": "DELETE", - "requestUri": "/tags/{ResourceArn}", + "method": "DELETE", + "requestUri": "/tags/{ResourceArn}", "responseCode": 204 - }, + }, "input": { "shape": "UntagResourceRequest" - }, + }, "name": "UntagResource" } - }, + }, "shapes": { - "AdMarkerPassthrough" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean" + "AdMarkerPassthrough": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean" + } } - } }, "AvailSuppression": { - "type": "structure", - "members": { - "Mode": { - "shape": "Mode" - }, - "Value": { - "shape": "__string" + "type": "structure", + "members": { + "Mode": { + "shape": "Mode" + }, + "Value": { + "shape": "__string" + } } - } }, "BadRequestException": { "error": { "httpStatusCode": 400 - }, - "exception": true, + }, + "exception": true, "members": { "Message": { "shape": "__string" } - }, + }, "type": "structure" - }, + }, "Bumper": { "type": "structure", "members": { @@ -171,75 +171,93 @@ "members": { "AdSegmentUrlPrefix": { "shape": "__string" - }, + }, "ContentSegmentUrlPrefix": { "shape": "__string" } - }, + }, "type": "structure" - }, + }, + "ConfigurationAliasesRequest": { + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__mapOf__string" + } + }, + "ConfigurationAliasesResponse": { + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__mapOf__string" + } + }, "DashConfiguration": { "members": { "ManifestEndpointPrefix": { "shape": "__string" - }, + }, "MpdLocation": { "shape": "__string" - }, + }, "OriginManifestType": { "shape": "OriginManifestType" } - }, + }, "type": "structure" - }, + }, "DashConfigurationForPut": { "members": { "MpdLocation": { "shape": "__string" - }, + }, "OriginManifestType": { "shape": "OriginManifestType" } - }, + }, "type": "structure" - }, + }, "DeletePlaybackConfigurationRequest": { "members": { "Name": { - "location": "uri", - "locationName": "Name", + "location": "uri", + "locationName": "Name", "shape": "__string" } - }, + }, "required": [ "Name" - ], + ], "type": "structure" - }, + }, "DeletePlaybackConfigurationResponse": { - "members": {}, + "members": {}, "type": "structure" - }, + }, "GetPlaybackConfigurationRequest": { "members": { "Name": { - "location": "uri", - "locationName": "Name", + "location": "uri", + "locationName": "Name", "shape": "__string" } - }, + }, "required": [ "Name" - ], + ], "type": "structure" - }, + }, "GetPlaybackConfigurationResponse": { "members": { "AdDecisionServerUrl": { "shape": "__string" }, "AvailSuppression": { - "shape": "AvailSuppression" + "shape": "AvailSuppression" }, "Bumper": { "shape": "Bumper" @@ -247,126 +265,129 @@ "CdnConfiguration": { "shape": "CdnConfiguration" }, - "PersonalizationThresholdSeconds" : { - "shape" : "__integerMin1" + "PersonalizationThresholdSeconds": { + "shape": "__integerMin1" + }, + "ConfigurationAliases": { + "shape": "ConfigurationAliasesResponse" }, "DashConfiguration": { "shape": "DashConfiguration" - }, + }, "HlsConfiguration": { "shape": "HlsConfiguration" }, - "LivePreRollConfiguration" : { - "shape" : "LivePreRollConfiguration" + "LivePreRollConfiguration": { + "shape": "LivePreRollConfiguration" }, - "ManifestProcessingRules":{ - "shape" : "ManifestProcessingRules" + "ManifestProcessingRules": { + "shape": "ManifestProcessingRules" }, "Name": { "shape": "__string" - }, + }, "PlaybackConfigurationArn": { "shape": "__string" - }, + }, "PlaybackEndpointPrefix": { "shape": "__string" - }, + }, "SessionInitializationEndpointPrefix": { "shape": "__string" - }, + }, "SlateAdUrl": { "shape": "__string" }, "Tags": { - "locationName": "tags", + "locationName": "tags", "shape": "__mapOf__string" - }, + }, "TranscodeProfileName": { "shape": "__string" - }, + }, "VideoContentSourceUrl": { "shape": "__string" } - }, + }, "type": "structure" - }, + }, "HlsConfiguration": { "members": { "ManifestEndpointPrefix": { "shape": "__string" } - }, + }, "type": "structure" - }, + }, "ListPlaybackConfigurationsRequest": { "members": { "MaxResults": { - "location": "querystring", - "locationName": "MaxResults", + "location": "querystring", + "locationName": "MaxResults", "shape": "__integerMin1Max100" - }, + }, "NextToken": { - "location": "querystring", - "locationName": "NextToken", + "location": "querystring", + "locationName": "NextToken", "shape": "__string" } - }, + }, "type": "structure" - }, + }, "ListPlaybackConfigurationsResponse": { "members": { "Items": { "shape": "__listOfPlaybackConfigurations" - }, + }, "NextToken": { "shape": "__string" } - }, + }, "type": "structure" - }, + }, "ListTagsForResourceRequest": { "members": { "ResourceArn": { - "location": "uri", - "locationName": "ResourceArn", + "location": "uri", + "locationName": "ResourceArn", "shape": "__string" } - }, + }, "required": [ "ResourceArn" - ], + ], "type": "structure" - }, + }, "ListTagsForResourceResponse": { "members": { "Tags": { - "locationName": "tags", + "locationName": "tags", "shape": "__mapOf__string" } - }, + }, "type": "structure" - }, + }, "OriginManifestType": { "enum": [ - "SINGLE_PERIOD", + "SINGLE_PERIOD", "MULTI_PERIOD" - ], + ], "type": "string" - }, - "ManifestProcessingRules" : { - "type" : "structure", - "members" : { - "AdMarkerPassthrough" : { - "shape" : "AdMarkerPassthrough" + }, + "ManifestProcessingRules": { + "type": "structure", + "members": { + "AdMarkerPassthrough": { + "shape": "AdMarkerPassthrough" + } } - } }, "Mode": { - "enum": [ - "OFF", - "BEHIND_LIVE_EDGE" - ], - "type": "string" + "enum": [ + "OFF", + "BEHIND_LIVE_EDGE" + ], + "type": "string" }, "PlaybackConfiguration": { "members": { @@ -376,51 +397,54 @@ "CdnConfiguration": { "shape": "CdnConfiguration" }, - "PersonalizationThresholdSeconds" : { - "shape" : "__integerMin1" + "PersonalizationThresholdSeconds": { + "shape": "__integerMin1" + }, + "ConfigurationAliases": { + "shape": "ConfigurationAliasesResponse" }, "DashConfiguration": { "shape": "DashConfiguration" - }, + }, "HlsConfiguration": { "shape": "HlsConfiguration" - }, + }, "Name": { "shape": "__string" - }, + }, "PlaybackConfigurationArn": { "shape": "__string" - }, + }, "PlaybackEndpointPrefix": { "shape": "__string" - }, + }, "SessionInitializationEndpointPrefix": { "shape": "__string" - }, + }, "SlateAdUrl": { "shape": "__string" - }, + }, "Tags": { - "locationName": "tags", + "locationName": "tags", "shape": "__mapOf__string" - }, + }, "TranscodeProfileName": { "shape": "__string" - }, + }, "VideoContentSourceUrl": { "shape": "__string" } - }, + }, "type": "structure" }, - "LivePreRollConfiguration" : { - "type" : "structure", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string" + "LivePreRollConfiguration": { + "type": "structure", + "members": { + "AdDecisionServerUrl": { + "shape": "__string" }, - "MaxDurationSeconds" : { - "shape" : "__integer" + "MaxDurationSeconds": { + "shape": "__integer" } } }, @@ -430,7 +454,7 @@ "shape": "__string" }, "AvailSuppression": { - "shape": "AvailSuppression" + "shape": "AvailSuppression" }, "Bumper": { "shape": "Bumper" @@ -438,192 +462,198 @@ "CdnConfiguration": { "shape": "CdnConfiguration" }, - "PersonalizationThresholdSeconds" : { - "shape" : "__integerMin1" + "PersonalizationThresholdSeconds": { + "shape": "__integerMin1" + }, + "ConfigurationAliases": { + "shape": "ConfigurationAliasesRequest" }, "DashConfiguration": { "shape": "DashConfigurationForPut" }, - "LivePreRollConfiguration" : { - "shape" : "LivePreRollConfiguration" + "LivePreRollConfiguration": { + "shape": "LivePreRollConfiguration" }, "ManifestProcessingRules": { "shape": "ManifestProcessingRules" }, "Name": { "shape": "__string" - }, + }, "SlateAdUrl": { "shape": "__string" }, "Tags": { - "locationName": "tags", + "locationName": "tags", "shape": "__mapOf__string" - }, + }, "TranscodeProfileName": { "shape": "__string" - }, + }, "VideoContentSourceUrl": { "shape": "__string" } - }, + }, "type": "structure" - }, + }, "PutPlaybackConfigurationResponse": { "members": { "AdDecisionServerUrl": { "shape": "__string" }, "AvailSuppression": { - "shape": "AvailSuppression" + "shape": "AvailSuppression" }, "Bumper": { "shape": "Bumper" }, "CdnConfiguration": { "shape": "CdnConfiguration" - }, + }, + "ConfigurationAliases": { + "shape": "ConfigurationAliasesResponse" + }, "DashConfiguration": { "shape": "DashConfiguration" }, "HlsConfiguration": { "shape": "HlsConfiguration" }, - "LivePreRollConfiguration" : { - "shape" : "LivePreRollConfiguration" + "LivePreRollConfiguration": { + "shape": "LivePreRollConfiguration" }, "Name": { "shape": "__string" - }, + }, "ManifestProcessingRules": { "shape": "ManifestProcessingRules" }, "PlaybackConfigurationArn": { "shape": "__string" - }, + }, "PlaybackEndpointPrefix": { "shape": "__string" - }, + }, "SessionInitializationEndpointPrefix": { "shape": "__string" - }, + }, "SlateAdUrl": { "shape": "__string" - }, + }, "Tags": { - "locationName": "tags", + "locationName": "tags", "shape": "__mapOf__string" - }, + }, "TranscodeProfileName": { "shape": "__string" - }, + }, "VideoContentSourceUrl": { "shape": "__string" } - }, + }, "type": "structure" - }, + }, "TagResourceRequest": { "members": { "ResourceArn": { - "location": "uri", - "locationName": "ResourceArn", + "location": "uri", + "locationName": "ResourceArn", "shape": "__string" - }, + }, "Tags": { - "locationName": "tags", + "locationName": "tags", "shape": "__mapOf__string" } - }, + }, "required": [ - "ResourceArn", + "ResourceArn", "Tags" - ], + ], "type": "structure" - }, + }, "TagsModel": { "members": { "Tags": { - "locationName": "tags", + "locationName": "tags", "shape": "__mapOf__string" } - }, + }, "required": [ "Tags" - ], + ], "type": "structure" - }, + }, "UntagResourceRequest": { "members": { "ResourceArn": { - "location": "uri", - "locationName": "ResourceArn", + "location": "uri", + "locationName": "ResourceArn", "shape": "__string" - }, + }, "TagKeys": { - "location": "querystring", - "locationName": "tagKeys", + "location": "querystring", + "locationName": "tagKeys", "shape": "__listOf__string" } - }, + }, "required": [ - "ResourceArn", + "ResourceArn", "TagKeys" - ], + ], "type": "structure" - }, + }, "__boolean": { "type": "boolean" - }, + }, "__double": { "type": "double" - }, + }, "__integer": { "type": "integer" }, "__integerMin1": { "type": "integer", "min": 1 - }, + }, "__integerMin1Max100": { - "max": 100, - "min": 1, + "max": 100, + "min": 1, "type": "integer" - }, + }, "__listOfPlaybackConfigurations": { "member": { "shape": "PlaybackConfiguration" - }, + }, "type": "list" - }, + }, "__listOf__string": { "member": { "shape": "__string" - }, + }, "type": "list" - }, + }, "__long": { "type": "long" - }, + }, "__mapOf__string": { "key": { "shape": "__string" - }, - "type": "map", + }, + "type": "map", "value": { "shape": "__string" } - }, + }, "__string": { "type": "string" - }, + }, "__timestampIso8601": { - "timestampFormat": "iso8601", + "timestampFormat": "iso8601", "type": "timestamp" - }, + }, "__timestampUnix": { - "timestampFormat": "unixTimestamp", + "timestampFormat": "unixTimestamp", "type": "timestamp" } } -} +} \ No newline at end of file diff --git a/models/apis/mediatailor/2018-04-23/docs-2.json b/models/apis/mediatailor/2018-04-23/docs-2.json index 9a0ea398e09..5904cc97a3d 100644 --- a/models/apis/mediatailor/2018-04-23/docs-2.json +++ b/models/apis/mediatailor/2018-04-23/docs-2.json @@ -1,32 +1,32 @@ { "operations": { - "DeletePlaybackConfiguration": "

Deletes the playback configuration for the specified name.

", - "GetPlaybackConfiguration": "

Returns the playback configuration for the specified name.

", - "ListPlaybackConfigurations": "

Returns a list of the playback configurations defined in AWS Elemental MediaTailor. You can specify a maximum number of configurations to return at a time. The default maximum is 50. Results are returned in pagefuls. If MediaTailor has more configurations than the specified maximum, it provides parameters in the response that you can use to retrieve the next pageful.

", - "ListTagsForResource": "

Returns a list of the tags assigned to the specified playback configuration resource.

", - "PutPlaybackConfiguration": "

Adds a new playback configuration to AWS Elemental MediaTailor.

", - "TagResource": "

Adds tags to the specified playback configuration resource. You can specify one or more tags to add.

", + "DeletePlaybackConfiguration": "

Deletes the playback configuration for the specified name.

", + "GetPlaybackConfiguration": "

Returns the playback configuration for the specified name.

", + "ListPlaybackConfigurations": "

Returns a list of the playback configurations defined in AWS Elemental MediaTailor. You can specify a maximum number of configurations to return at a time. The default maximum is 50. Results are returned in pagefuls. If MediaTailor has more configurations than the specified maximum, it provides parameters in the response that you can use to retrieve the next pageful.

", + "ListTagsForResource": "

Returns a list of the tags assigned to the specified playback configuration resource.

", + "PutPlaybackConfiguration": "

Adds a new playback configuration to AWS Elemental MediaTailor.

", + "TagResource": "

Adds tags to the specified playback configuration resource. You can specify one or more tags to add.

", "UntagResource": "

Removes tags from the specified playback configuration resource. You can specify one or more tags to remove.

" - }, - "service": "

Use the AWS Elemental MediaTailor SDK to configure scalable ad insertion for your live and VOD content. With AWS Elemental MediaTailor, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.

Through the SDK, you manage AWS Elemental MediaTailor configurations the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

", + }, + "service": "

Use the AWS Elemental MediaTailor SDK to configure scalable ad insertion for your live and VOD content. With AWS Elemental MediaTailor, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.

Through the SDK, you manage AWS Elemental MediaTailor configurations the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

", "shapes": { - "AdMarkerPassthrough" : { - "base" : null, - "refs" : { - "ManifestProcessingRules$AdMarkerPassthrough" : "

For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.

No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.

" - } + "AdMarkerPassthrough": { + "base": null, + "refs": { + "ManifestProcessingRules$AdMarkerPassthrough": "

For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.

No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.

" + } }, "AvailSuppression": { - "base": null, - "refs": { - "GetPlaybackConfigurationResponse$AvailSuppression": "

The configuration for Avail Suppression.

", - "PutPlaybackConfigurationRequest$AvailSuppression": "

The configuration for Avail Suppression.

" - } + "base": null, + "refs": { + "GetPlaybackConfigurationResponse$AvailSuppression": "

The configuration for Avail Suppression.

", + "PutPlaybackConfigurationRequest$AvailSuppression": "

The configuration for Avail Suppression.

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

One of the parameters in the request is invalid.

", + "base": "

One of the parameters in the request is invalid.

", "refs": {} - }, + }, "Bumper": { "base": "

The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break.

", "refs": { @@ -35,129 +35,144 @@ } }, "CdnConfiguration": { - "base": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "base": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", "refs": { - "GetPlaybackConfigurationResponse$CdnConfiguration": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "GetPlaybackConfigurationResponse$CdnConfiguration": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", "PutPlaybackConfigurationRequest$CdnConfiguration": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" } - }, + }, + "ConfigurationAliasesRequest": { + "base": "

Predefined aliases for dynamic variables.

", + "refs": { + "PutPlaybackConfigurationRequest$ConfigurationAliases": "

Predefined aliases for dynamic variables.

" + } + }, + "ConfigurationAliasesResponse": { + "base": "

Predefined aliases for dynamic variables.

", + "refs": { + "GetPlaybackConfigurationResponse$ConfigurationAliases": "

Predefined aliases for dynamic variables.

", + "PlaybackConfiguration$ConfigurationAliases": "

Predefined aliases for dynamic variables.

" + } + }, "DashConfiguration": { - "base": "

The configuration for DASH content.

", + "base": "

The configuration for DASH content.

", "refs": { "GetPlaybackConfigurationResponse$DashConfiguration": "

The configuration for DASH content.

" } - }, + }, "DashConfigurationForPut": { - "base": "

The configuration for DASH PUT operations.

", + "base": "

The configuration for DASH PUT operations.

", "refs": { "PutPlaybackConfigurationRequest$DashConfiguration": "

The configuration for DASH content.

" } - }, + }, "DeletePlaybackConfigurationResponse": { - "base": null, + "base": null, "refs": {} - }, + }, "GetPlaybackConfigurationResponse": { - "base": null, + "base": null, "refs": {} - }, + }, "HlsConfiguration": { - "base": "

The configuration for HLS content.

", + "base": "

The configuration for HLS content.

", "refs": { "GetPlaybackConfigurationResponse$HlsConfiguration": "

The configuration for HLS content.

" } - }, + }, "ListPlaybackConfigurationsResponse": { - "base": null, + "base": null, "refs": {} }, - "LivePreRollConfiguration" : { - "base" : "

The configuration for pre-roll ad insertion.

", - "refs" : { - "GetPlaybackConfigurationResponse$LivePreRollConfiguration" : "

The configuration for pre-roll ad insertion.

", - "PutPlaybackConfigurationRequest$LivePreRollConfiguration" : "

The configuration for pre-roll ad insertion.

" + "LivePreRollConfiguration": { + "base": "

The configuration for pre-roll ad insertion.

", + "refs": { + "GetPlaybackConfigurationResponse$LivePreRollConfiguration": "

The configuration for pre-roll ad insertion.

", + "PutPlaybackConfigurationRequest$LivePreRollConfiguration": "

The configuration for pre-roll ad insertion.

" } }, - "ManifestProcessingRules" : { - "base" : "The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.", - "refs" : { - "GetPlaybackConfigurationResponse$ManifestProcessingRules" : "The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.", - "PutPlaybackConfigurationRequest$ManifestProcessingRules" : "The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor." - } + "ManifestProcessingRules": { + "base": "The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.", + "refs": { + "GetPlaybackConfigurationResponse$ManifestProcessingRules": "The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.", + "PutPlaybackConfigurationRequest$ManifestProcessingRules": "The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor." + } }, "OriginManifestType": { - "base": null, + "base": null, "refs": { - "DashConfiguration$OriginManifestType": "

The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

", + "DashConfiguration$OriginManifestType": "

The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

", "DashConfigurationForPut$OriginManifestType": "

The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

" } - }, + }, "PlaybackConfiguration": { "refs": { "__listOfPlaybackConfigurations$member": "

The AWSMediaTailor configuration.

" } - }, + }, "PutPlaybackConfigurationRequest": { - "base": null, + "base": null, "refs": {} - }, + }, "TagsModel": { - "base": "

A set of tags assigned to a resource.

", + "base": "

A set of tags assigned to a resource.

", "refs": {} }, - "__integer" : { - "base" : null, - "refs" : { - "LivePreRollConfiguration$MaxDurationSeconds" : "The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.", - "GetPlaybackConfigurationResponse$PersonalizationThresholdSeconds" : "The maximum duration of underfilled ad time (in seconds) allowed in an ad break.", - "PutPlaybackConfigurationRequest$PersonalizationThresholdSeconds" : "The maximum duration of underfilled ad time (in seconds) allowed in an ad break." + "__integer": { + "base": null, + "refs": { + "LivePreRollConfiguration$MaxDurationSeconds": "The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.", + "GetPlaybackConfigurationResponse$PersonalizationThresholdSeconds": "The maximum duration of underfilled ad time (in seconds) allowed in an ad break.", + "PutPlaybackConfigurationRequest$PersonalizationThresholdSeconds": "The maximum duration of underfilled ad time (in seconds) allowed in an ad break." } }, "__listOfPlaybackConfigurations": { - "base": null, + "base": null, "refs": { "ListPlaybackConfigurationsResponse$Items": "

Array of playback configurations. This might be all the available configurations or a subset, depending on the settings that you provide and the total number of configurations stored.

" } - }, + }, "__mapOf__string": { - "base": null, + "base": null, "refs": { - "GetPlaybackConfigurationResponse$Tags": "

The tags assigned to the playback configuration.

", - "PutPlaybackConfigurationRequest$Tags": "

The tags to assign to the playback configuration.

", + "ConfigurationAliasesRequest$member": "

Map of aliases to the value to be used at request time.

", + "ConfigurationAliasesResponse$member": "

Map of aliases to the value to be used at request time.

", + "GetPlaybackConfigurationResponse$Tags": "

The tags assigned to the playback configuration.

", + "PutPlaybackConfigurationRequest$Tags": "

The tags to assign to the playback configuration.

", "TagsModel$Tags": "

A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n

" } - }, + }, "__string": { - "base": null, - "refs": { - "AvailSuppression$Value" : "Sets the mode for avail suppression, also known as ad suppression. By default, ad suppression is off and all ad breaks are filled by MediaTailor with ads or slate.", - "BadRequestException$Message": "

One of the parameters in the request is invalid.

", - "CdnConfiguration$AdSegmentUrlPrefix": "

A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

", - "CdnConfiguration$ContentSegmentUrlPrefix": "

A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

", - "DashConfiguration$ManifestEndpointPrefix": "

The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.

", - "DashConfiguration$MpdLocation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", - "DashConfigurationForPut$MpdLocation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", - "GetPlaybackConfigurationResponse$AdDecisionServerUrl": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", - "GetPlaybackConfigurationResponse$Name": "

The identifier for the playback configuration.

", - "GetPlaybackConfigurationResponse$PlaybackConfigurationArn": "

The Amazon Resource Name (ARN) for the playback configuration.

", - "GetPlaybackConfigurationResponse$PlaybackEndpointPrefix": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", - "GetPlaybackConfigurationResponse$SessionInitializationEndpointPrefix": "

The URL that the player uses to initialize a session that uses client-side reporting.

", - "GetPlaybackConfigurationResponse$SlateAdUrl": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", - "GetPlaybackConfigurationResponse$TranscodeProfileName": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", - "GetPlaybackConfigurationResponse$PersonalizationThresholdSeconds": "

The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

", - "GetPlaybackConfigurationResponse$VideoContentSourceUrl": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", - "HlsConfiguration$ManifestEndpointPrefix": "

The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

", + "base": null, + "refs": { + "AvailSuppression$Value": "Sets the mode for avail suppression, also known as ad suppression. By default, ad suppression is off and all ad breaks are filled by MediaTailor with ads or slate.", + "BadRequestException$Message": "

One of the parameters in the request is invalid.

", + "CdnConfiguration$AdSegmentUrlPrefix": "

A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

", + "CdnConfiguration$ContentSegmentUrlPrefix": "

A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

", + "DashConfiguration$ManifestEndpointPrefix": "

The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.

", + "DashConfiguration$MpdLocation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", + "DashConfigurationForPut$MpdLocation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", + "GetPlaybackConfigurationResponse$AdDecisionServerUrl": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "GetPlaybackConfigurationResponse$Name": "

The identifier for the playback configuration.

", + "GetPlaybackConfigurationResponse$PlaybackConfigurationArn": "

The Amazon Resource Name (ARN) for the playback configuration.

", + "GetPlaybackConfigurationResponse$PlaybackEndpointPrefix": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "GetPlaybackConfigurationResponse$SessionInitializationEndpointPrefix": "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "GetPlaybackConfigurationResponse$SlateAdUrl": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "GetPlaybackConfigurationResponse$TranscodeProfileName": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "GetPlaybackConfigurationResponse$PersonalizationThresholdSeconds": "

The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

", + "GetPlaybackConfigurationResponse$VideoContentSourceUrl": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "HlsConfiguration$ManifestEndpointPrefix": "

The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

", "ListPlaybackConfigurationsResponse$NextToken": "

Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.

", - "LivePreRollConfiguration$AdDecisionServerUrl" : "

The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", - "PutPlaybackConfigurationRequest$AdDecisionServerUrl": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.

", - "PutPlaybackConfigurationRequest$Name": "

The identifier for the playback configuration.

", - "PutPlaybackConfigurationRequest$SlateAdUrl": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", - "PutPlaybackConfigurationRequest$TranscodeProfileName": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "LivePreRollConfiguration$AdDecisionServerUrl": "

The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "PutPlaybackConfigurationRequest$AdDecisionServerUrl": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "PutPlaybackConfigurationRequest$Name": "

The identifier for the playback configuration.

", + "PutPlaybackConfigurationRequest$SlateAdUrl": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "PutPlaybackConfigurationRequest$TranscodeProfileName": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", "PutPlaybackConfigurationRequest$PersonalizationThresholdSeconds": "

The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

", - "PutPlaybackConfigurationRequest$VideoContentSourceUrl": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "PutPlaybackConfigurationRequest$VideoContentSourceUrl": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", "__mapOf__string$member": null } } - }, + }, "version": "2.0" -} +} \ No newline at end of file diff --git a/models/apis/mediatailor/2018-04-23/paginators-1.json b/models/apis/mediatailor/2018-04-23/paginators-1.json index f3b7195d8e1..bd92a8a6852 100644 --- a/models/apis/mediatailor/2018-04-23/paginators-1.json +++ b/models/apis/mediatailor/2018-04-23/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination" : { } + "pagination": { + "ListPlaybackConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Items" + } + } } \ No newline at end of file diff --git a/models/apis/pinpoint/2016-12-01/api-2.json b/models/apis/pinpoint/2016-12-01/api-2.json index 91453a11578..7ae412be012 100644 --- a/models/apis/pinpoint/2016-12-01/api-2.json +++ b/models/apis/pinpoint/2016-12-01/api-2.json @@ -5170,6 +5170,9 @@ "MessageType": { "shape": "MessageType" }, + "OriginationNumber": { + "shape": "__string" + }, "SenderId": { "shape": "__string" } @@ -9193,6 +9196,9 @@ "MessageType": { "shape": "MessageType" }, + "OriginationNumber": { + "shape": "__string" + }, "SenderId": { "shape": "__string" } diff --git a/models/apis/pinpoint/2016-12-01/docs-2.json b/models/apis/pinpoint/2016-12-01/docs-2.json index 152f3d794d0..7c0928fa92e 100644 --- a/models/apis/pinpoint/2016-12-01/docs-2.json +++ b/models/apis/pinpoint/2016-12-01/docs-2.json @@ -1940,6 +1940,7 @@ "CampaignResponse$TreatmentDescription" : "

The custom description of the default treatment for the campaign.

", "CampaignResponse$TreatmentName" : "

The custom name of the default treatment for the campaign, if the campaign has multiple treatments. A treatment is a variation of a campaign that's used for A/B testing.

", "CampaignSmsMessage$Body" : "

The body of the SMS message.

", + "CampaignSmsMessage$OriginationNumber" : "

The long code to send the SMS message from. This value should be one of the dedicated long codes that's assigned to your AWS account. Although it isn't required, we recommend that you specify the long code using an E.164 format to ensure prompt and accurate delivery of the message. For example, +12065550100.

", "CampaignSmsMessage$SenderId" : "

The sender ID to display on recipients' devices when they receive the SMS message.

", "CampaignsResponse$NextToken" : "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

", "ChannelResponse$ApplicationId" : "

The unique identifier for the application.

", @@ -2140,6 +2141,7 @@ "JourneyResponse$Name" : "

The name of the journey.

", "JourneyResponse$RefreshFrequency" : "

The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

", "JourneyResponse$StartActivity" : "

The unique identifier for the first activity in the journey.

", + "JourneySMSMessage$OriginationNumber" : "

The long code to send the SMS message from. This value should be one of the dedicated long codes that's assigned to your AWS account. Although it isn't required, we recommend that you specify the long code using an E.164 format to ensure prompt and accurate delivery of the message. For example, +12065550100.

", "JourneySMSMessage$SenderId" : "

The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region. For more information, see Supported Countries and Regions in the Amazon Pinpoint User Guide.

", "JourneySchedule$EndTime" : "

The scheduled time, in ISO 8601 format, when the journey ended or will end.

", "JourneySchedule$StartTime" : "

The scheduled time, in ISO 8601 format, when the journey began or will begin.

", diff --git a/models/apis/redshift-data/2019-12-20/api-2.json b/models/apis/redshift-data/2019-12-20/api-2.json index 09f987dbfe4..1f2447584f8 100644 --- a/models/apis/redshift-data/2019-12-20/api-2.json +++ b/models/apis/redshift-data/2019-12-20/api-2.json @@ -63,7 +63,8 @@ "output":{"shape":"ExecuteStatementOutput"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"ExecuteStatementException"} + {"shape":"ExecuteStatementException"}, + {"shape":"ActiveStatementsExceededException"} ] }, "GetStatementResult":{ @@ -134,6 +135,13 @@ } }, "shapes":{ + "ActiveStatementsExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "Blob":{"type":"blob"}, "Boolean":{ "type":"boolean", @@ -211,6 +219,7 @@ "DbUser":{"shape":"String"}, "Duration":{"shape":"Long"}, "Error":{"shape":"String"}, + "HasResultSet":{"shape":"Boolean"}, "Id":{"shape":"UUID"}, "QueryString":{"shape":"StatementString"}, "RedshiftPid":{"shape":"Long"}, @@ -293,7 +302,8 @@ "isNull":{"shape":"BoxedBoolean"}, "longValue":{"shape":"BoxedLong"}, "stringValue":{"shape":"String"} - } + }, + "union":true }, "FieldList":{ "type":"list", @@ -379,6 +389,7 @@ "members":{ "MaxResults":{"shape":"ListStatementsLimit"}, "NextToken":{"shape":"String"}, + "RoleLevel":{"shape":"Boolean"}, "StatementName":{"shape":"StatementNameString"}, "Status":{"shape":"StatusString"} } @@ -417,7 +428,11 @@ }, "Location":{"type":"string"}, "Long":{"type":"long"}, - "PageSize":{"type":"integer"}, + "PageSize":{ + "type":"integer", + "max":1000, + "min":0 + }, "ResourceNotFoundException":{ "type":"structure", "required":[ @@ -465,13 +480,13 @@ "StatusString":{ "type":"string", "enum":[ - "ABORTED", - "ALL", - "FAILED", - "FINISHED", + "SUBMITTED", "PICKED", "STARTED", - "SUBMITTED" + "FINISHED", + "ABORTED", + "FAILED", + "ALL" ] }, "String":{"type":"string"}, diff --git a/models/apis/redshift-data/2019-12-20/docs-2.json b/models/apis/redshift-data/2019-12-20/docs-2.json index ddb7e64b3c2..c12a50c1bee 100644 --- a/models/apis/redshift-data/2019-12-20/docs-2.json +++ b/models/apis/redshift-data/2019-12-20/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You can run individual SQL statements, which are committed if the statement succeeds.

", + "service": "

You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You can run individual SQL statements, which are committed if the statement succeeds.

For more information about the Amazon Redshift Data API, see Using the Amazon Redshift Data API in the Amazon Redshift Cluster Management Guide.

", "operations": { "CancelStatement": "

Cancels a running query. To be canceled, a query must be running.

", "DescribeStatement": "

Describes the details about a specific instance when a query was run by the Amazon Redshift Data API. The information includes when the query started, when it finished, the query status, the number of rows returned, and the SQL statement.

", @@ -13,6 +13,11 @@ "ListTables": "

List the tables in a database. If neither SchemaPattern nor TablePattern are specified, then all tables in the database are returned. A token is returned to page through the table list. Depending on the authorization method, use one of the following combinations of request parameters:

" }, "shapes": { + "ActiveStatementsExceededException": { + "base": "

The number of active statements exceeds the limit.

", + "refs": { + } + }, "Blob": { "base": null, "refs": { @@ -23,7 +28,9 @@ "base": null, "refs": { "CancelStatementResponse$Status": "

A value that indicates whether the cancel statement succeeded (true).

", - "ExecuteStatementInput$WithEvent": "

A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statement runs.

" + "DescribeStatementResponse$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty.

", + "ExecuteStatementInput$WithEvent": "

A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statement runs.

", + "ListStatementsRequest$RoleLevel": "

A value that filters which statements to return in the response. If true, all statements run by the caller's IAM role are returned. If false, only statements run by the caller's IAM role in the current IAM session are returned. The default is true.

" } }, "BoxedBoolean": { @@ -297,6 +304,7 @@ "String": { "base": null, "refs": { + "ActiveStatementsExceededException$Message": null, "ColumnMetadata$columnDefault": "

The default value of the column.

", "ColumnMetadata$label": "

The label for the column.

", "ColumnMetadata$name": "

The name of the column.

", diff --git a/models/apis/workmailmessageflow/2019-05-01/api-2.json b/models/apis/workmailmessageflow/2019-05-01/api-2.json index 522352d0d0a..c089f318b2e 100644 --- a/models/apis/workmailmessageflow/2019-05-01/api-2.json +++ b/models/apis/workmailmessageflow/2019-05-01/api-2.json @@ -22,6 +22,21 @@ "errors":[ {"shape":"ResourceNotFoundException"} ] + }, + "PutRawMessageContent":{ + "name":"PutRawMessageContent", + "http":{ + "method":"POST", + "requestUri":"/messages/{messageId}" + }, + "input":{"shape":"PutRawMessageContentRequest"}, + "output":{"shape":"PutRawMessageContentResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidContentLocation"}, + {"shape":"MessageRejected"}, + {"shape":"MessageFrozen"} + ] } }, "shapes":{ @@ -44,6 +59,54 @@ }, "payload":"messageContent" }, + "InvalidContentLocation":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, + "MessageFrozen":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, + "MessageRejected":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "exception":true + }, + "PutRawMessageContentRequest":{ + "type":"structure", + "required":[ + "messageId", + "content" + ], + "members":{ + "messageId":{ + "shape":"messageIdType", + "location":"uri", + "locationName":"messageId" + }, + "content":{"shape":"RawMessageContent"} + } + }, + "PutRawMessageContentResponse":{ + "type":"structure", + "members":{ + } + }, + "RawMessageContent":{ + "type":"structure", + "required":["s3Reference"], + "members":{ + "s3Reference":{"shape":"S3Reference"} + } + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -52,6 +115,18 @@ "error":{"httpStatusCode":404}, "exception":true }, + "S3Reference":{ + "type":"structure", + "required":[ + "bucket", + "key" + ], + "members":{ + "bucket":{"shape":"s3BucketIdType"}, + "key":{"shape":"s3KeyIdType"}, + "objectVersion":{"shape":"s3VersionType"} + } + }, "errorMessage":{"type":"string"}, "messageContentBlob":{ "type":"blob", @@ -62,6 +137,24 @@ "max":120, "min":1, "pattern":"[a-z0-9\\-]*" + }, + "s3BucketIdType":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^[a-z0-9][a-z0-9\\-]*" + }, + "s3KeyIdType":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[a-zA-Z0-9\\-/]*" + }, + "s3VersionType":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".+" } } } diff --git a/models/apis/workmailmessageflow/2019-05-01/docs-2.json b/models/apis/workmailmessageflow/2019-05-01/docs-2.json index 455394ca8f0..c4c08751718 100644 --- a/models/apis/workmailmessageflow/2019-05-01/docs-2.json +++ b/models/apis/workmailmessageflow/2019-05-01/docs-2.json @@ -2,7 +2,8 @@ "version": "2.0", "service": "

The WorkMail Message Flow API provides access to email messages as they are being sent and received by a WorkMail organization.

", "operations": { - "GetRawMessageContent": "

Retrieves the raw content of an in-transit email message, in MIME format.

" + "GetRawMessageContent": "

Retrieves the raw content of an in-transit email message, in MIME format.

", + "PutRawMessageContent": "

Updates the raw content of an in-transit email message, in MIME format.

This example describes how to update in-transit email message. For more information and examples for using this API, see Updating message content with AWS Lambda.

Updates to an in-transit message only appear when you call PutRawMessageContent from an AWS Lambda function configured with a synchronous Run Lambda rule. If you call PutRawMessageContent on a delivered or sent message, the message remains unchanged, even though GetRawMessageContent returns an updated message.

" }, "shapes": { "GetRawMessageContentRequest": { @@ -15,14 +16,54 @@ "refs": { } }, + "InvalidContentLocation": { + "base": "

WorkMail could not access the updated email content. Possible reasons:

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

The requested email is not eligible for update. This is usually the case for a redirected email.

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

The requested email could not be updated due to an error in the MIME content. Check the error message for more information about what caused the error.

", + "refs": { + } + }, + "PutRawMessageContentRequest": { + "base": null, + "refs": { + } + }, + "PutRawMessageContentResponse": { + "base": null, + "refs": { + } + }, + "RawMessageContent": { + "base": "

Provides the MIME content of the updated email message as an S3 object. All MIME content must meet the following criteria:

", + "refs": { + "PutRawMessageContentRequest$content": "

Describes the raw message content of the updated email message.

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

The requested email message is not found.

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

Amazon S3 object representing the updated message content, in MIME format.

The region for the S3 bucket containing the S3 object must match the region used for WorkMail operations. Also, for WorkMail to process an S3 object, it must have permission to access that object. For more information, see Updating message content with AWS Lambda.

", + "refs": { + "RawMessageContent$s3Reference": "

The S3 reference of an email message.

" + } + }, "errorMessage": { "base": null, "refs": { + "InvalidContentLocation$message": null, + "MessageFrozen$message": null, + "MessageRejected$message": null, "ResourceNotFoundException$message": null } }, @@ -35,7 +76,26 @@ "messageIdType": { "base": null, "refs": { - "GetRawMessageContentRequest$messageId": "

The identifier of the email message to retrieve.

" + "GetRawMessageContentRequest$messageId": "

The identifier of the email message to retrieve.

", + "PutRawMessageContentRequest$messageId": "

The identifier of the email message being updated.

" + } + }, + "s3BucketIdType": { + "base": null, + "refs": { + "S3Reference$bucket": "

The S3 bucket name.

" + } + }, + "s3KeyIdType": { + "base": null, + "refs": { + "S3Reference$key": "

The S3 key object name.

" + } + }, + "s3VersionType": { + "base": null, + "refs": { + "S3Reference$objectVersion": "

If you enable versioning for the bucket, you can specify the object version.

" } } } diff --git a/service/configservice/api.go b/service/configservice/api.go index 5469e7a8e3e..ed48bcdf941 100644 --- a/service/configservice/api.go +++ b/service/configservice/api.go @@ -78,6 +78,14 @@ func (c *ConfigService) BatchGetAggregateResourceConfigRequest(input *BatchGetAg // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * NoSuchConfigurationAggregatorException // You have specified a configuration aggregator that does not exist. // @@ -168,6 +176,14 @@ func (c *ConfigService) BatchGetResourceConfigRequest(input *BatchGetResourceCon // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * NoAvailableConfigurationRecorderException // There are no configuration recorders available to provide the role needed // to describe your resources. Create a configuration recorder. @@ -964,8 +980,23 @@ func (c *ConfigService) DeleteOrganizationConfigRuleRequest(input *DeleteOrganiz // deletion is in progress. Try your request again later. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -1093,8 +1124,23 @@ func (c *ConfigService) DeleteOrganizationConformancePackRequest(input *DeleteOr // deletion is in progress. Try your request again later. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -1449,6 +1495,14 @@ func (c *ConfigService) DeleteResourceConfigRequest(input *DeleteResourceConfigI // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * NoRunningConfigurationRecorderException // There is no configuration recorder running. // @@ -1603,7 +1657,7 @@ func (c *ConfigService) DeleteStoredQueryRequest(input *DeleteStoredQueryInput) // DeleteStoredQuery API operation for AWS Config. // -// Deletes the stored query for an AWS account in an AWS Region. +// Deletes the stored query for a single AWS account and a single 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 @@ -1616,6 +1670,14 @@ func (c *ConfigService) DeleteStoredQueryRequest(input *DeleteStoredQueryInput) // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * ResourceNotFoundException // You have specified a resource that does not exist. // @@ -1798,6 +1860,14 @@ func (c *ConfigService) DescribeAggregateComplianceByConfigRulesRequest(input *D // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -3178,8 +3248,23 @@ func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *Des // returned in the previous response to get the next page of results. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -3277,8 +3362,23 @@ func (c *ConfigService) DescribeOrganizationConfigRulesRequest(input *DescribeOr // The specified limit is outside the allowable range. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -3384,8 +3484,23 @@ func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input // returned in the previous response to get the next page of results. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -3488,8 +3603,23 @@ func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *Descr // The specified limit is outside the allowable range. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -4131,6 +4261,14 @@ func (c *ConfigService) GetAggregateComplianceDetailsByConfigRuleRequest(input * // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -4224,6 +4362,14 @@ func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryRequest(input *Ge // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -4321,6 +4467,14 @@ func (c *ConfigService) GetAggregateDiscoveredResourceCountsRequest(input *GetAg // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -4411,6 +4565,14 @@ func (c *ConfigService) GetAggregateResourceConfigRequest(input *GetAggregateRes // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * NoSuchConfigurationAggregatorException // You have specified a configuration aggregator that does not exist. // @@ -5042,6 +5204,14 @@ func (c *ConfigService) GetDiscoveredResourceCountsRequest(input *GetDiscoveredR // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -5137,8 +5307,23 @@ func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusRequest(input *Ge // returned in the previous response to get the next page of results. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -5236,8 +5421,23 @@ func (c *ConfigService) GetOrganizationConformancePackDetailedStatusRequest(inpu // returned in the previous response to get the next page of results. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -5341,6 +5541,14 @@ func (c *ConfigService) GetResourceConfigHistoryRequest(input *GetResourceConfig // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidTimeRangeException // The specified time range is not valid. The earlier time is not chronologically // before the later time. @@ -5490,6 +5698,14 @@ func (c *ConfigService) GetStoredQueryRequest(input *GetStoredQueryInput) (req * // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * ResourceNotFoundException // You have specified a resource that does not exist. // @@ -5581,6 +5797,14 @@ func (c *ConfigService) ListAggregateDiscoveredResourcesRequest(input *ListAggre // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -5683,6 +5907,14 @@ func (c *ConfigService) ListDiscoveredResourcesRequest(input *ListDiscoveredReso // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -5766,8 +5998,8 @@ func (c *ConfigService) ListStoredQueriesRequest(input *ListStoredQueriesInput) // ListStoredQueries API operation for AWS Config. // -// List the stored queries for an AWS account in an AWS Region. The default -// is 100. +// Lists the stored queries for a single AWS account and a single AWS Region. +// The default is 100. // // 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 @@ -5780,6 +6012,14 @@ func (c *ConfigService) ListStoredQueriesRequest(input *ListStoredQueriesInput) // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidNextTokenException // The specified next token is invalid. Specify the nextToken string that was // returned in the previous response to get the next page of results. @@ -5918,6 +6158,14 @@ func (c *ConfigService) ListTagsForResourceRequest(input *ListTagsForResourceInp // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InvalidLimitException // The specified limit is outside the allowable range. // @@ -6245,12 +6493,23 @@ func (c *ConfigService) PutConfigurationAggregatorRequest(input *PutConfiguratio // accounts and regions. The source account can be individual account(s) or // an organization. // +// accountIds that are passed will be replaced with existing accounts. If you +// want to add additional accounts into the aggregator, call DescribeAggregator +// to get the previous accounts and then append new ones. +// // AWS Config should be enabled in source accounts and regions you want to aggregate. // -// If your source type is an organization, you must be signed in to the master -// account and all features must be enabled in your organization. AWS Config -// calls EnableAwsServiceAccess API to enable integration between AWS Config -// and AWS Organizations. +// If your source type is an organization, you must be signed in to the management +// account or a registered delegated administrator and all the features must +// be enabled in your organization. If the caller is a management account, AWS +// Config calls EnableAwsServiceAccess API to enable integration between AWS +// Config and AWS Organizations. If the caller is a registered delegated administrator, +// AWS Config calls ListDelegatedAdministrators API to verify whether the caller +// is a valid delegated administrator. +// +// To register a delegated administrator, see Register a Delegated Administrator +// (https://docs.aws.amazon.com/config/latest/developerguide/set-up-aggregator-cli.html#register-a-delegated-administrator-cli) +// in the AWS Config 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 @@ -6276,8 +6535,23 @@ func (c *ConfigService) PutConfigurationAggregatorRequest(input *PutConfiguratio // You have provided a null or empty role ARN. // // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -6637,6 +6911,9 @@ func (c *ConfigService) PutDeliveryChannelRequest(input *PutDeliveryChannelInput // * InvalidS3KeyPrefixException // The specified Amazon S3 key prefix is not valid. // +// * InvalidS3KmsKeyArnException +// The specified Amazon KMS Key ARN is not valid. +// // * InvalidSNSTopicARNException // The specified Amazon SNS topic does not exist. // @@ -6799,6 +7076,9 @@ func (c *ConfigService) PutExternalEvaluationRequest(input *PutExternalEvaluatio // PutExternalEvaluation API operation for AWS Config. // +// Add or updates the evaluations for process checks. This API checks if the +// rule is a process check when the name of the AWS Config rule is provided. +// // 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. @@ -6961,9 +7241,32 @@ func (c *ConfigService) PutOrganizationConfigRuleRequest(input *PutOrganizationC // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -7130,9 +7433,32 @@ func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganiza // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * OrganizationAccessDeniedException -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -7340,7 +7666,7 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // PutRemediationExceptions API operation for AWS Config. // // A remediation exception is when a specific resource is no longer considered -// for auto-remediation. This API adds a new exception or updates an exisiting +// for auto-remediation. This API adds a new exception or updates an existing // exception for a specific resource with a specific AWS Config rule. // // AWS Config generates a remediation exception when a problem occurs executing @@ -7470,6 +7796,14 @@ func (c *ConfigService) PutResourceConfigRequest(input *PutResourceConfigInput) // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * InsufficientPermissionsException // Indicates one of the following errors: // @@ -7652,8 +7986,8 @@ func (c *ConfigService) PutStoredQueryRequest(input *PutStoredQueryInput) (req * // PutStoredQuery API operation for AWS Config. // // Saves a new query or updates an existing saved query. The QueryName must -// be unique for an AWS account in an AWS Region. You can create upto 300 queries -// in an AWS account in an AWS Region. +// be unique for a single AWS account and a single AWS Region. You can create +// upto 300 queries in a single AWS account and a single 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 @@ -7666,6 +8000,14 @@ func (c *ConfigService) PutStoredQueryRequest(input *PutStoredQueryInput) (req * // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * TooManyTagsException // You have reached the limit of the number of tags you can use. You have more // than 50 tags. @@ -8423,6 +8765,14 @@ func (c *ConfigService) TagResourceRequest(input *TagResourceInput) (req *reques // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * ResourceNotFoundException // You have specified a resource that does not exist. // @@ -8510,6 +8860,14 @@ func (c *ConfigService) UntagResourceRequest(input *UntagResourceInput) (req *re // * ValidationException // The requested action is not valid. // +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. +// // * ResourceNotFoundException // You have specified a resource that does not exist. // @@ -10324,7 +10682,7 @@ type ConfigurationItem struct { // The 12-digit AWS account ID associated with the resource. AccountId *string `locationName:"accountId" type:"string"` - // accoun + // Amazon Resource Name (ARN) associated with the resource. Arn *string `locationName:"arn" type:"string"` // The Availability Zone associated with the resource. @@ -10771,11 +11129,14 @@ type ConformancePackDetail struct { // AWS service that created the conformance pack. CreatedBy *string `min:"1" type:"string"` - // Conformance pack template that is used to create a pack. The delivery bucket - // name should start with awsconfigconforms. For example: "Resource": "arn:aws:s3:::your_bucket_name/*". + // Amazon S3 bucket where AWS Config stores conformance pack templates. + // + // This field is optional. DeliveryS3Bucket *string `type:"string"` // The prefix for the Amazon S3 bucket. + // + // This field is optional. DeliveryS3KeyPrefix *string `type:"string"` // Last time when conformation pack update was requested. @@ -12262,6 +12623,11 @@ type DeliveryChannel struct { // The prefix for the specified Amazon S3 bucket. S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"` + // The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) customer + // managed key (CMK) used to encrypt objects delivered by AWS Config. Must belong + // to the same Region as the destination S3 bucket. + S3KmsKeyArn *string `locationName:"s3KmsKeyArn" type:"string"` + // The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config // sends notifications about configuration changes. // @@ -12319,6 +12685,12 @@ func (s *DeliveryChannel) SetS3KeyPrefix(v string) *DeliveryChannel { return s } +// SetS3KmsKeyArn sets the S3KmsKeyArn field's value. +func (s *DeliveryChannel) SetS3KmsKeyArn(v string) *DeliveryChannel { + s.S3KmsKeyArn = &v + return s +} + // SetSnsTopicARN sets the SnsTopicARN field's value. func (s *DeliveryChannel) SetSnsTopicARN(v string) *DeliveryChannel { s.SnsTopicARN = &v @@ -14611,20 +14983,35 @@ func (s *ExecutionControls) SetSsmControls(v *SsmControls) *ExecutionControls { return s } +// Identifies an AWS resource and indicates whether it complies with the AWS +// Config rule that it was evaluated against. type ExternalEvaluation struct { _ struct{} `type:"structure"` + // Supplementary information about the reason of compliance. For example, this + // task was completed on a specific date. Annotation *string `min:"1" type:"string"` + // The evaluated compliance resource ID. AWS Config accepts only AWS account + // ID. + // // ComplianceResourceId is a required field ComplianceResourceId *string `min:"1" type:"string" required:"true"` + // The evaluated compliance resource type. AWS Config accepts AWS::::Account + // resource type. + // // ComplianceResourceType is a required field ComplianceResourceType *string `min:"1" type:"string" required:"true"` + // The compliance of the AWS resource. The valid values are COMPLIANT, NON_COMPLIANT, + // and NOT_APPLICABLE. + // // ComplianceType is a required field ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"` + // The time when the compliance was recorded. + // // OrderingTimestamp is a required field OrderingTimestamp *time.Time `type:"timestamp" required:"true"` } @@ -17103,6 +17490,62 @@ func (s *InvalidS3KeyPrefixException) RequestID() string { return s.RespMetadata.RequestID } +// The specified Amazon KMS Key ARN is not valid. +type InvalidS3KmsKeyArnException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidS3KmsKeyArnException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidS3KmsKeyArnException) GoString() string { + return s.String() +} + +func newErrorInvalidS3KmsKeyArnException(v protocol.ResponseMetadata) error { + return &InvalidS3KmsKeyArnException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidS3KmsKeyArnException) Code() string { + return "InvalidS3KmsKeyArnException" +} + +// Message returns the exception's message. +func (s *InvalidS3KmsKeyArnException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidS3KmsKeyArnException) OrigErr() error { + return nil +} + +func (s *InvalidS3KmsKeyArnException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidS3KmsKeyArnException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidS3KmsKeyArnException) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified Amazon SNS topic does not exist. type InvalidSNSTopicARNException struct { _ struct{} `type:"structure"` @@ -17345,9 +17788,9 @@ type ListAggregateDiscoveredResourcesInput struct { // Filters the results based on the ResourceFilters object. Filters *ResourceFilters `type:"structure"` - // The maximum number of resource identifiers returned on each page. The default - // is 100. You cannot specify a number greater than 100. If you specify 0, AWS - // Config uses the default. + // The maximum number of resource identifiers returned on each page. You cannot + // specify a number greater than 100. If you specify 0, AWS Config uses the + // default. Limit *int64 `type:"integer"` // The nextToken string returned on a previous page that you use to get the @@ -19210,8 +19653,23 @@ func (s *NoSuchRetentionConfigurationException) RequestID() string { return s.RespMetadata.RequestID } -// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess -// API. +// For PutConfigurationAggregator API, you can see this exception for the following +// reasons: +// +// * No permission to call EnableAWSServiceAccess API +// +// * The configuration aggregator cannot be updated because your AWS Organization +// management account or the delegated administrator role changed. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * The configuration aggregator is associated with a previous AWS Organization +// and AWS Config cannot aggregate data with current AWS Organization. Delete +// this aggregator and create a new one with the current AWS Organization. +// +// * You are not a registered delegated administrator for AWS Config with +// permissions to call ListDelegatedAdministrators API. Ensure that the management +// account registers delagated administrator for AWS Config service principle +// name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -19571,11 +20029,14 @@ type OrganizationConformancePack struct { // A list of ConformancePackInputParameter objects. ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"` - // Location of an Amazon S3 bucket where AWS Config can deliver evaluation results - // and conformance pack template that is used to create a pack. + // Amazon S3 bucket where AWS Config stores conformance pack templates. + // + // This field is optional. DeliveryS3Bucket *string `type:"string"` // Any folder structure you want to add to an Amazon S3 bucket. + // + // This field is optional. DeliveryS3KeyPrefix *string `type:"string"` // A comma-separated list of accounts excluded from organization conformance @@ -20726,10 +21187,14 @@ type PutConformancePackInput struct { // ConformancePackName is a required field ConformancePackName *string `min:"1" type:"string" required:"true"` - // AWS Config stores intermediate files while processing conformance pack template. + // Amazon S3 bucket where AWS Config stores conformance pack templates. + // + // This field is optional. DeliveryS3Bucket *string `type:"string"` // The prefix for the Amazon S3 bucket. + // + // This field is optional. DeliveryS3KeyPrefix *string `type:"string"` // A string containing full conformance pack template body. Structure containing @@ -21009,9 +21474,13 @@ func (s *PutEvaluationsOutput) SetFailedEvaluations(v []*Evaluation) *PutEvaluat type PutExternalEvaluationInput struct { _ struct{} `type:"structure"` + // The name of the AWS Config rule. + // // ConfigRuleName is a required field ConfigRuleName *string `min:"1" type:"string" required:"true"` + // An ExternalEvaluation object that provides details about compliance. + // // ExternalEvaluation is a required field ExternalEvaluation *ExternalEvaluation `type:"structure" required:"true"` } @@ -21184,15 +21653,14 @@ type PutOrganizationConformancePackInput struct { // A list of ConformancePackInputParameter objects. ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"` - // Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. - // AWS Config stores intermediate files while processing conformance pack template. + // Amazon S3 bucket where AWS Config stores conformance pack templates. // - // The delivery bucket name should start with awsconfigconforms. For example: - // "Resource": "arn:aws:s3:::your_bucket_name/*". For more information, see - // Permissions for cross account bucket access (https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html). + // This field is optional. DeliveryS3Bucket *string `type:"string"` // The prefix for the Amazon S3 bucket. + // + // This field is optional. DeliveryS3KeyPrefix *string `type:"string"` // A list of AWS accounts to be excluded from an organization conformance pack @@ -21710,6 +22178,10 @@ type PutStoredQueryInput struct { // A list of StoredQuery objects. The mandatory fields are QueryName and Expression. // + // When you are creating a query, you must provide a query name and an expression. + // When you are updating a query, you must provide a query name but updating + // the description is optional. + // // StoredQuery is a required field StoredQuery *StoredQuery `type:"structure" required:"true"` @@ -21770,7 +22242,7 @@ func (s *PutStoredQueryInput) SetTags(v []*Tag) *PutStoredQueryInput { type PutStoredQueryOutput struct { _ struct{} `type:"structure"` - // Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id. + // Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id. QueryArn *string `min:"1" type:"string"` } @@ -21874,7 +22346,7 @@ type RecordingGroup struct { // AWS Config records configuration changes (for example, AWS::EC2::Instance // or AWS::CloudTrail::Trail). // - // Before you can set this option to true, you must set the allSupported option + // To record all configuration changes, you must set the allSupported option // to false. // // If you set this option to true, when AWS Config adds support for a new type @@ -24003,7 +24475,7 @@ type StoredQuery struct { // = 'Off'. Expression *string `min:"1" type:"string"` - // Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id. + // Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id. QueryArn *string `min:"1" type:"string"` // The ID of the query. @@ -24087,7 +24559,7 @@ type StoredQueryMetadata struct { // A unique description for the query. Description *string `type:"string"` - // Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id. + // Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id. // // QueryArn is a required field QueryArn *string `min:"1" type:"string" required:"true"` @@ -24404,6 +24876,14 @@ func (s UntagResourceOutput) GoString() string { } // The requested action is not valid. +// +// For PutStoredQuery, you will see this exception if there are missing required +// fields or if the input value fails the validation, or if you are trying to +// create more than 300 queries. +// +// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this +// exception if there are missing required fields or if the input value fails +// the validation. type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` diff --git a/service/configservice/errors.go b/service/configservice/errors.go index fe38206b0d5..5dd8b5be514 100644 --- a/service/configservice/errors.go +++ b/service/configservice/errors.go @@ -103,6 +103,12 @@ const ( // The specified Amazon S3 key prefix is not valid. ErrCodeInvalidS3KeyPrefixException = "InvalidS3KeyPrefixException" + // ErrCodeInvalidS3KmsKeyArnException for service response error code + // "InvalidS3KmsKeyArnException". + // + // The specified Amazon KMS Key ARN is not valid. + ErrCodeInvalidS3KmsKeyArnException = "InvalidS3KmsKeyArnException" + // ErrCodeInvalidSNSTopicARNException for service response error code // "InvalidSNSTopicARNException". // @@ -295,8 +301,23 @@ const ( // ErrCodeOrganizationAccessDeniedException for service response error code // "OrganizationAccessDeniedException". // - // For PutConfigAggregator API, no permission to call EnableAWSServiceAccess - // API. + // For PutConfigurationAggregator API, you can see this exception for the following + // reasons: + // + // * No permission to call EnableAWSServiceAccess API + // + // * The configuration aggregator cannot be updated because your AWS Organization + // management account or the delegated administrator role changed. Delete + // this aggregator and create a new one with the current AWS Organization. + // + // * The configuration aggregator is associated with a previous AWS Organization + // and AWS Config cannot aggregate data with current AWS Organization. Delete + // this aggregator and create a new one with the current AWS Organization. + // + // * You are not a registered delegated administrator for AWS Config with + // permissions to call ListDelegatedAdministrators API. Ensure that the management + // account registers delagated administrator for AWS Config service principle + // name before the delegated administrator creates an aggregator. // // For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS // Config throws an exception if APIs are called from member accounts. All APIs @@ -389,6 +410,14 @@ const ( // "ValidationException". // // The requested action is not valid. + // + // For PutStoredQuery, you will see this exception if there are missing required + // fields or if the input value fails the validation, or if you are trying to + // create more than 300 queries. + // + // For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this + // exception if there are missing required fields or if the input value fails + // the validation. ErrCodeValidationException = "ValidationException" ) @@ -406,6 +435,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidResultTokenException": newErrorInvalidResultTokenException, "InvalidRoleException": newErrorInvalidRoleException, "InvalidS3KeyPrefixException": newErrorInvalidS3KeyPrefixException, + "InvalidS3KmsKeyArnException": newErrorInvalidS3KmsKeyArnException, "InvalidSNSTopicARNException": newErrorInvalidSNSTopicARNException, "InvalidTimeRangeException": newErrorInvalidTimeRangeException, "LastDeliveryChannelDeleteFailedException": newErrorLastDeliveryChannelDeleteFailedException, diff --git a/service/kinesisvideoarchivedmedia/api.go b/service/kinesisvideoarchivedmedia/api.go index be277821878..aab8aabbfee 100644 --- a/service/kinesisvideoarchivedmedia/api.go +++ b/service/kinesisvideoarchivedmedia/api.go @@ -63,7 +63,7 @@ func (c *KinesisVideoArchivedMedia) GetClipRequest(input *GetClipInput) (req *re // Both the StreamName and the StreamARN parameters are optional, but you must // specify either the StreamName or the StreamARN when invoking this API operation. // -// As a prerequsite to using GetCLip API, you must obtain an endpoint using +// As a prerequisite to using GetCLip API, you must obtain an endpoint using // GetDataEndpoint, specifying GET_CLIP for the APIName parameter. // // An Amazon Kinesis video stream has the following requirements for providing @@ -1507,7 +1507,7 @@ type GetClipOutput struct { // Traditional MP4 file that contains the media clip from the specified video // stream. The output will contain the first 100 MB or the first 200 fragments // from the specified start timestamp. For more information, see Kinesis Video - // Streams Limits (Kinesis Video Streams Limits). + // Streams Limits (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html). Payload io.ReadCloser `type:"blob"` } @@ -2043,10 +2043,13 @@ type GetMediaForFragmentListInput struct { // Fragments is a required field Fragments []*string `min:"1" type:"list" required:"true"` - // The name of the stream from which to retrieve fragment media. - // - // StreamName is a required field - StreamName *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the stream from which to retrieve fragment + // media. Specify either this parameter or the StreamName parameter. + StreamARN *string `min:"1" type:"string"` + + // The name of the stream from which to retrieve fragment media. Specify either + // this parameter or the StreamARN parameter. + StreamName *string `min:"1" type:"string"` } // String returns the string representation @@ -2068,8 +2071,8 @@ func (s *GetMediaForFragmentListInput) Validate() error { if s.Fragments != nil && len(s.Fragments) < 1 { invalidParams.Add(request.NewErrParamMinLen("Fragments", 1)) } - if s.StreamName == nil { - invalidParams.Add(request.NewErrParamRequired("StreamName")) + if s.StreamARN != nil && len(*s.StreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) } if s.StreamName != nil && len(*s.StreamName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) @@ -2087,6 +2090,12 @@ func (s *GetMediaForFragmentListInput) SetFragments(v []*string) *GetMediaForFra return s } +// SetStreamARN sets the StreamARN field's value. +func (s *GetMediaForFragmentListInput) SetStreamARN(v string) *GetMediaForFragmentListInput { + s.StreamARN = &v + return s +} + // SetStreamName sets the StreamName field's value. func (s *GetMediaForFragmentListInput) SetStreamName(v string) *GetMediaForFragmentListInput { s.StreamName = &v @@ -2452,10 +2461,13 @@ type ListFragmentsInput struct { // from a previously truncated response. NextToken *string `min:"1" type:"string"` - // The name of the stream from which to retrieve a fragment list. - // - // StreamName is a required field - StreamName *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the stream from which to retrieve a fragment + // list. Specify either this parameter or the StreamName parameter. + StreamARN *string `min:"1" type:"string"` + + // The name of the stream from which to retrieve a fragment list. Specify either + // this parameter or the StreamARN parameter. + StreamName *string `min:"1" type:"string"` } // String returns the string representation @@ -2477,8 +2489,8 @@ func (s *ListFragmentsInput) Validate() error { if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.StreamName == nil { - invalidParams.Add(request.NewErrParamRequired("StreamName")) + if s.StreamARN != nil && len(*s.StreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) } if s.StreamName != nil && len(*s.StreamName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) @@ -2513,6 +2525,12 @@ func (s *ListFragmentsInput) SetNextToken(v string) *ListFragmentsInput { return s } +// SetStreamARN sets the StreamARN field's value. +func (s *ListFragmentsInput) SetStreamARN(v string) *ListFragmentsInput { + s.StreamARN = &v + return s +} + // SetStreamName sets the StreamName field's value. func (s *ListFragmentsInput) SetStreamName(v string) *ListFragmentsInput { s.StreamName = &v diff --git a/service/lightsail/api.go b/service/lightsail/api.go index 2b7d933ff52..168ad959192 100644 --- a/service/lightsail/api.go +++ b/service/lightsail/api.go @@ -934,11 +934,13 @@ func (c *Lightsail) CreateCertificateRequest(input *CreateCertificateInput) (req // CreateCertificate API operation for Amazon Lightsail. // -// Creates an SSL/TLS certificate for a Amazon Lightsail content delivery network -// (CDN) distribution. +// Creates an SSL/TLS certificate for an Amazon Lightsail content delivery network +// (CDN) distribution and a container service. // -// After the certificate is created, use the AttachCertificateToDistribution -// action to attach the certificate to your distribution. +// After the certificate is valid, use the AttachCertificateToDistribution action +// to use the certificate and its domains with your distribution. Or use the +// UpdateContainerService action to use the certificate and its domains with +// your container service. // // Only certificates created in the us-east-1 AWS Region can be attached to // Lightsail distributions. Lightsail distributions are global resources that @@ -2802,7 +2804,7 @@ func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBal // CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail. // -// Creates a Lightsail load balancer TLS certificate. +// Creates an SSL/TLS certificate for an Amazon Lightsail load balancer. // // TLS is just an updated, more secure version of Secure Socket Layer (SSL). // @@ -13066,7 +13068,7 @@ func (c *Lightsail) RegisterContainerImageRequest(input *RegisterContainerImageI // This action is not required if you install and use the Lightsail Control // (lightsailctl) plugin to push container images to your Lightsail container // service. For more information, see Pushing and managing container images -// on your Amazon Lightsail container services (amazon-lightsail-pushing-container-images) +// on your Amazon Lightsail container services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-pushing-container-images) // in the Lightsail Dev Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13486,7 +13488,7 @@ func (c *Lightsail) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req * // SetIpAddressType API operation for Amazon Lightsail. // -// Sets the IP address type for a Amazon Lightsail resource. +// Sets the IP address type for an Amazon Lightsail resource. // // Use this action to enable dual-stack for a resource, which enables IPv4 and // IPv6 for the specified resource. Alternately, you can use this action to @@ -17983,14 +17985,16 @@ type ContainerServiceHealthCheckConfig struct { _ struct{} `type:"structure"` // The number of consecutive health checks successes required before moving - // the container to the Healthy state. + // the container to the Healthy state. The default value is 2. HealthyThreshold *int64 `locationName:"healthyThreshold" type:"integer"` // The approximate interval, in seconds, between health checks of an individual - // container. You may specify between 5 and 300 seconds. + // container. You can specify between 5 and 300 seconds. The default value is + // 5. IntervalSeconds *int64 `locationName:"intervalSeconds" type:"integer"` - // The path on the container on which to perform the health check. + // The path on the container on which to perform the health check. The default + // value is /. Path *string `locationName:"path" type:"string"` // The HTTP codes to use when checking for a successful response from a container. @@ -17998,11 +18002,11 @@ type ContainerServiceHealthCheckConfig struct { SuccessCodes *string `locationName:"successCodes" type:"string"` // The amount of time, in seconds, during which no response means a failed health - // check. You may specify between 2 and 60 seconds. + // check. You can specify between 2 and 60 seconds. The default value is 2. TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"` // The number of consecutive health check failures required before moving the - // container to the Unhealthy state. + // container to the Unhealthy state. The default value is 2. UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" type:"integer"` } @@ -20958,7 +20962,7 @@ type CreateRelationalDatabaseInput struct { // RelationalDatabaseBundleId is a required field RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"` - // The name to use for your new database. + // The name to use for your new Lightsail database resource. // // Constraints: // @@ -30984,7 +30988,7 @@ type LoadBalancerTlsCertificate struct { // request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url). // To correct the problem, search for your domain name on the VirusTotal // (https://www.virustotal.com/gui/home/url) website. If your domain is reported - // as suspicious, see Google Help for Hacked Websites (https://www.google.com/webmasters/hacked/?hl=en) + // as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked) // to learn what you can do. If you believe that the result is a false positive, // notify the organization that is reporting the domain. VirusTotal is an // aggregate of several antivirus and URL scanners and cannot remove your diff --git a/service/medialive/api.go b/service/medialive/api.go index c0dd9c03217..93f53ec9c81 100644 --- a/service/medialive/api.go +++ b/service/medialive/api.go @@ -1025,6 +1025,94 @@ func (c *MediaLive) CreateMultiplexProgramWithContext(ctx aws.Context, input *Cr return out, req.Send() } +const opCreatePartnerInput = "CreatePartnerInput" + +// CreatePartnerInputRequest generates a "aws/request.Request" representing the +// client's request for the CreatePartnerInput 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 CreatePartnerInput for more information on using the CreatePartnerInput +// 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 CreatePartnerInputRequest method. +// req, resp := client.CreatePartnerInputRequest(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/CreatePartnerInput +func (c *MediaLive) CreatePartnerInputRequest(input *CreatePartnerInputInput) (req *request.Request, output *CreatePartnerInputOutput) { + op := &request.Operation{ + Name: opCreatePartnerInput, + HTTPMethod: "POST", + HTTPPath: "/prod/inputs/{inputId}/partners", + } + + if input == nil { + input = &CreatePartnerInputInput{} + } + + output = &CreatePartnerInputOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePartnerInput API operation for AWS Elemental MediaLive. +// +// Create a partner 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 CreatePartnerInput for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// +// * InternalServerErrorException +// +// * ForbiddenException +// +// * BadGatewayException +// +// * GatewayTimeoutException +// +// * TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreatePartnerInput +func (c *MediaLive) CreatePartnerInput(input *CreatePartnerInputInput) (*CreatePartnerInputOutput, error) { + req, out := c.CreatePartnerInputRequest(input) + return out, req.Send() +} + +// CreatePartnerInputWithContext is the same as CreatePartnerInput with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePartnerInput 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) CreatePartnerInputWithContext(ctx aws.Context, input *CreatePartnerInputInput, opts ...request.Option) (*CreatePartnerInputOutput, error) { + req, out := c.CreatePartnerInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the @@ -9639,6 +9727,83 @@ func (s *CreateMultiplexProgramOutput) SetMultiplexProgram(v *MultiplexProgram) return s } +type CreatePartnerInputInput struct { + _ struct{} `type:"structure"` + + // InputId is a required field + InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreatePartnerInputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePartnerInputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePartnerInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePartnerInputInput"} + 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 *CreatePartnerInputInput) SetInputId(v string) *CreatePartnerInputInput { + s.InputId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreatePartnerInputInput) SetRequestId(v string) *CreatePartnerInputInput { + s.RequestId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreatePartnerInputInput) SetTags(v map[string]*string) *CreatePartnerInputInput { + s.Tags = v + return s +} + +type CreatePartnerInputOutput struct { + _ struct{} `type:"structure"` + + Input *Input `locationName:"input" type:"structure"` +} + +// String returns the string representation +func (s CreatePartnerInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePartnerInputOutput) GoString() string { + return s.String() +} + +// SetInput sets the Input field's value. +func (s *CreatePartnerInputOutput) SetInput(v *Input) *CreatePartnerInputOutput { + s.Input = v + return s +} + type CreateTagsInput struct { _ struct{} `type:"structure"` @@ -11083,6 +11248,8 @@ type DescribeInputOutput struct { InputDevices []*InputDeviceSettings `locationName:"inputDevices" type:"list"` + InputPartnerIds []*string `locationName:"inputPartnerIds" type:"list"` + // 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 @@ -11152,6 +11319,12 @@ func (s *DescribeInputOutput) SetInputDevices(v []*InputDeviceSettings) *Describ return s } +// SetInputPartnerIds sets the InputPartnerIds field's value. +func (s *DescribeInputOutput) SetInputPartnerIds(v []*string) *DescribeInputOutput { + s.InputPartnerIds = v + return s +} + // SetInputSourceType sets the InputSourceType field's value. func (s *DescribeInputOutput) SetInputSourceType(v string) *DescribeInputOutput { s.InputSourceType = &v @@ -15926,6 +16099,9 @@ type Input struct { // Settings for the input devices. InputDevices []*InputDeviceSettings `locationName:"inputDevices" type:"list"` + // A list of IDs for all Inputs which are partners of this one. + InputPartnerIds []*string `locationName:"inputPartnerIds" type:"list"` + // 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. @@ -16001,6 +16177,12 @@ func (s *Input) SetInputDevices(v []*InputDeviceSettings) *Input { return s } +// SetInputPartnerIds sets the InputPartnerIds field's value. +func (s *Input) SetInputPartnerIds(v []*string) *Input { + s.InputPartnerIds = v + return s +} + // SetInputSourceType sets the InputSourceType field's value. func (s *Input) SetInputSourceType(v string) *Input { s.InputSourceType = &v diff --git a/service/medialive/medialiveiface/interface.go b/service/medialive/medialiveiface/interface.go index a154cb97014..353383eef51 100644 --- a/service/medialive/medialiveiface/interface.go +++ b/service/medialive/medialiveiface/interface.go @@ -104,6 +104,10 @@ type MediaLiveAPI interface { CreateMultiplexProgramWithContext(aws.Context, *medialive.CreateMultiplexProgramInput, ...request.Option) (*medialive.CreateMultiplexProgramOutput, error) CreateMultiplexProgramRequest(*medialive.CreateMultiplexProgramInput) (*request.Request, *medialive.CreateMultiplexProgramOutput) + CreatePartnerInput(*medialive.CreatePartnerInputInput) (*medialive.CreatePartnerInputOutput, error) + CreatePartnerInputWithContext(aws.Context, *medialive.CreatePartnerInputInput, ...request.Option) (*medialive.CreatePartnerInputOutput, error) + CreatePartnerInputRequest(*medialive.CreatePartnerInputInput) (*request.Request, *medialive.CreatePartnerInputOutput) + CreateTags(*medialive.CreateTagsInput) (*medialive.CreateTagsOutput, error) CreateTagsWithContext(aws.Context, *medialive.CreateTagsInput, ...request.Option) (*medialive.CreateTagsOutput, error) CreateTagsRequest(*medialive.CreateTagsInput) (*request.Request, *medialive.CreateTagsOutput) diff --git a/service/mediatailor/api.go b/service/mediatailor/api.go index 903428d88e4..6b2243cb19a 100644 --- a/service/mediatailor/api.go +++ b/service/mediatailor/api.go @@ -192,6 +192,12 @@ func (c *MediaTailor) ListPlaybackConfigurationsRequest(input *ListPlaybackConfi Name: opListPlaybackConfigurations, HTTPMethod: "GET", HTTPPath: "/playbackConfigurations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -239,6 +245,58 @@ func (c *MediaTailor) ListPlaybackConfigurationsWithContext(ctx aws.Context, inp return out, req.Send() } +// ListPlaybackConfigurationsPages iterates over the pages of a ListPlaybackConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlaybackConfigurations 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 ListPlaybackConfigurations operation. +// pageNum := 0 +// err := client.ListPlaybackConfigurationsPages(params, +// func(page *mediatailor.ListPlaybackConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaTailor) ListPlaybackConfigurationsPages(input *ListPlaybackConfigurationsInput, fn func(*ListPlaybackConfigurationsOutput, bool) bool) error { + return c.ListPlaybackConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPlaybackConfigurationsPagesWithContext same as ListPlaybackConfigurationsPages 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 *MediaTailor) ListPlaybackConfigurationsPagesWithContext(ctx aws.Context, input *ListPlaybackConfigurationsInput, fn func(*ListPlaybackConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPlaybackConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPlaybackConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPlaybackConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -953,6 +1011,9 @@ type GetPlaybackConfigurationOutput struct { // CloudFront, for content and ad segment management. CdnConfiguration *CdnConfiguration `type:"structure"` + // Predefined aliases for dynamic variables. + ConfigurationAliases map[string]map[string]*string `type:"map"` + // The configuration for DASH content. DashConfiguration *DashConfiguration `type:"structure"` @@ -1038,6 +1099,12 @@ func (s *GetPlaybackConfigurationOutput) SetCdnConfiguration(v *CdnConfiguration return s } +// SetConfigurationAliases sets the ConfigurationAliases field's value. +func (s *GetPlaybackConfigurationOutput) SetConfigurationAliases(v map[string]map[string]*string) *GetPlaybackConfigurationOutput { + s.ConfigurationAliases = v + return s +} + // SetDashConfiguration sets the DashConfiguration field's value. func (s *GetPlaybackConfigurationOutput) SetDashConfiguration(v *DashConfiguration) *GetPlaybackConfigurationOutput { s.DashConfiguration = v @@ -1359,6 +1426,9 @@ type PlaybackConfiguration struct { // CloudFront, for content and ad segment management. CdnConfiguration *CdnConfiguration `type:"structure"` + // Predefined aliases for dynamic variables. + ConfigurationAliases map[string]map[string]*string `type:"map"` + // The configuration for DASH content. DashConfiguration *DashConfiguration `type:"structure"` @@ -1406,6 +1476,12 @@ func (s *PlaybackConfiguration) SetCdnConfiguration(v *CdnConfiguration) *Playba return s } +// SetConfigurationAliases sets the ConfigurationAliases field's value. +func (s *PlaybackConfiguration) SetConfigurationAliases(v map[string]map[string]*string) *PlaybackConfiguration { + s.ConfigurationAliases = v + return s +} + // SetDashConfiguration sets the DashConfiguration field's value. func (s *PlaybackConfiguration) SetDashConfiguration(v *DashConfiguration) *PlaybackConfiguration { s.DashConfiguration = v @@ -1493,6 +1569,9 @@ type PutPlaybackConfigurationInput struct { // CloudFront, for content and ad segment management. CdnConfiguration *CdnConfiguration `type:"structure"` + // Predefined aliases for dynamic variables. + ConfigurationAliases map[string]map[string]*string `type:"map"` + // The configuration for DASH content. DashConfiguration *DashConfigurationForPut `type:"structure"` @@ -1577,6 +1656,12 @@ func (s *PutPlaybackConfigurationInput) SetCdnConfiguration(v *CdnConfiguration) return s } +// SetConfigurationAliases sets the ConfigurationAliases field's value. +func (s *PutPlaybackConfigurationInput) SetConfigurationAliases(v map[string]map[string]*string) *PutPlaybackConfigurationInput { + s.ConfigurationAliases = v + return s +} + // SetDashConfiguration sets the DashConfiguration field's value. func (s *PutPlaybackConfigurationInput) SetDashConfiguration(v *DashConfigurationForPut) *PutPlaybackConfigurationInput { s.DashConfiguration = v @@ -1646,6 +1731,9 @@ type PutPlaybackConfigurationOutput struct { // CloudFront, for content and ad segment management. CdnConfiguration *CdnConfiguration `type:"structure"` + // Predefined aliases for dynamic variables. + ConfigurationAliases map[string]map[string]*string `type:"map"` + // The configuration for DASH content. DashConfiguration *DashConfiguration `type:"structure"` @@ -1710,6 +1798,12 @@ func (s *PutPlaybackConfigurationOutput) SetCdnConfiguration(v *CdnConfiguration return s } +// SetConfigurationAliases sets the ConfigurationAliases field's value. +func (s *PutPlaybackConfigurationOutput) SetConfigurationAliases(v map[string]map[string]*string) *PutPlaybackConfigurationOutput { + s.ConfigurationAliases = v + return s +} + // SetDashConfiguration sets the DashConfiguration field's value. func (s *PutPlaybackConfigurationOutput) SetDashConfiguration(v *DashConfiguration) *PutPlaybackConfigurationOutput { s.DashConfiguration = v diff --git a/service/mediatailor/mediatailoriface/interface.go b/service/mediatailor/mediatailoriface/interface.go index d5d166e6b87..ee8ea214811 100644 --- a/service/mediatailor/mediatailoriface/interface.go +++ b/service/mediatailor/mediatailoriface/interface.go @@ -72,6 +72,9 @@ type MediaTailorAPI interface { ListPlaybackConfigurationsWithContext(aws.Context, *mediatailor.ListPlaybackConfigurationsInput, ...request.Option) (*mediatailor.ListPlaybackConfigurationsOutput, error) ListPlaybackConfigurationsRequest(*mediatailor.ListPlaybackConfigurationsInput) (*request.Request, *mediatailor.ListPlaybackConfigurationsOutput) + ListPlaybackConfigurationsPages(*mediatailor.ListPlaybackConfigurationsInput, func(*mediatailor.ListPlaybackConfigurationsOutput, bool) bool) error + ListPlaybackConfigurationsPagesWithContext(aws.Context, *mediatailor.ListPlaybackConfigurationsInput, func(*mediatailor.ListPlaybackConfigurationsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*mediatailor.ListTagsForResourceInput) (*mediatailor.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *mediatailor.ListTagsForResourceInput, ...request.Option) (*mediatailor.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*mediatailor.ListTagsForResourceInput) (*request.Request, *mediatailor.ListTagsForResourceOutput) diff --git a/service/pinpoint/api.go b/service/pinpoint/api.go index 3c4aeadf8b6..6d3b91d16f5 100644 --- a/service/pinpoint/api.go +++ b/service/pinpoint/api.go @@ -14488,6 +14488,12 @@ type CampaignSmsMessage struct { // messages). MessageType *string `type:"string" enum:"MessageType"` + // The long code to send the SMS message from. This value should be one of the + // dedicated long codes that's assigned to your AWS account. Although it isn't + // required, we recommend that you specify the long code using an E.164 format + // to ensure prompt and accurate delivery of the message. For example, +12065550100. + OriginationNumber *string `type:"string"` + // The sender ID to display on recipients' devices when they receive the SMS // message. SenderId *string `type:"string"` @@ -14515,6 +14521,12 @@ func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage { return s } +// SetOriginationNumber sets the OriginationNumber field's value. +func (s *CampaignSmsMessage) SetOriginationNumber(v string) *CampaignSmsMessage { + s.OriginationNumber = &v + return s +} + // SetSenderId sets the SenderId field's value. func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage { s.SenderId = &v @@ -25921,6 +25933,12 @@ type JourneySMSMessage struct { // messages). MessageType *string `type:"string" enum:"MessageType"` + // The long code to send the SMS message from. This value should be one of the + // dedicated long codes that's assigned to your AWS account. Although it isn't + // required, we recommend that you specify the long code using an E.164 format + // to ensure prompt and accurate delivery of the message. For example, +12065550100. + OriginationNumber *string `type:"string"` + // The sender ID to display as the sender of the message on a recipient's device. // Support for sender IDs varies by country or region. For more information, // see Supported Countries and Regions (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html) @@ -25944,6 +25962,12 @@ func (s *JourneySMSMessage) SetMessageType(v string) *JourneySMSMessage { return s } +// SetOriginationNumber sets the OriginationNumber field's value. +func (s *JourneySMSMessage) SetOriginationNumber(v string) *JourneySMSMessage { + s.OriginationNumber = &v + return s +} + // SetSenderId sets the SenderId field's value. func (s *JourneySMSMessage) SetSenderId(v string) *JourneySMSMessage { s.SenderId = &v diff --git a/service/redshiftdataapiservice/api.go b/service/redshiftdataapiservice/api.go index 9bdcb50832e..cefbbc28edd 100644 --- a/service/redshiftdataapiservice/api.go +++ b/service/redshiftdataapiservice/api.go @@ -402,6 +402,9 @@ func (c *RedshiftDataAPIService) ExecuteStatementRequest(input *ExecuteStatement // * ExecuteStatementException // The SQL statement encountered an environmental error while running. // +// * ActiveStatementsExceededException +// The number of active statements exceeds the limit. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ExecuteStatement func (c *RedshiftDataAPIService) ExecuteStatement(input *ExecuteStatementInput) (*ExecuteStatementOutput, error) { req, out := c.ExecuteStatementRequest(input) @@ -1157,6 +1160,62 @@ func (c *RedshiftDataAPIService) ListTablesPagesWithContext(ctx aws.Context, inp return p.Err() } +// The number of active statements exceeds the limit. +type ActiveStatementsExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ActiveStatementsExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActiveStatementsExceededException) GoString() string { + return s.String() +} + +func newErrorActiveStatementsExceededException(v protocol.ResponseMetadata) error { + return &ActiveStatementsExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ActiveStatementsExceededException) Code() string { + return "ActiveStatementsExceededException" +} + +// Message returns the exception's message. +func (s *ActiveStatementsExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ActiveStatementsExceededException) OrigErr() error { + return nil +} + +func (s *ActiveStatementsExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ActiveStatementsExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ActiveStatementsExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + type CancelStatementInput struct { _ struct{} `type:"structure"` @@ -1414,6 +1473,10 @@ type DescribeStatementOutput struct { // while running. Error *string `type:"string"` + // A value that indicates whether the statement has a result set. The result + // set can be empty. + HasResultSet *bool `type:"boolean"` + // The identifier of the SQL statement described. This value is a universally // unique identifier (UUID) generated by Amazon Redshift Data API. // @@ -1513,6 +1576,12 @@ func (s *DescribeStatementOutput) SetError(v string) *DescribeStatementOutput { return s } +// SetHasResultSet sets the HasResultSet field's value. +func (s *DescribeStatementOutput) SetHasResultSet(v bool) *DescribeStatementOutput { + s.HasResultSet = &v + return s +} + // SetId sets the Id field's value. func (s *DescribeStatementOutput) SetId(v string) *DescribeStatementOutput { s.Id = &v @@ -2488,6 +2557,12 @@ type ListStatementsInput struct { // is empty, all response records have been retrieved for the request. NextToken *string `type:"string"` + // A value that filters which statements to return in the response. If true, + // all statements run by the caller's IAM role are returned. If false, only + // statements run by the caller's IAM role in the current IAM session are returned. + // The default is true. + RoleLevel *bool `type:"boolean"` + // The name of the SQL statement specified as input to ExecuteStatement to identify // the query. You can list multiple statements by providing a prefix that matches // the beginning of the statement name. For example, to list myStatement1, myStatement2, @@ -2537,6 +2612,12 @@ func (s *ListStatementsInput) SetNextToken(v string) *ListStatementsInput { return s } +// SetRoleLevel sets the RoleLevel field's value. +func (s *ListStatementsInput) SetRoleLevel(v bool) *ListStatementsInput { + s.RoleLevel = &v + return s +} + // SetStatementName sets the StatementName field's value. func (s *ListStatementsInput) SetStatementName(v string) *ListStatementsInput { s.StatementName = &v @@ -2995,37 +3076,37 @@ func (s *ValidationException) RequestID() string { } const ( - // StatusStringAborted is a StatusString enum value - StatusStringAborted = "ABORTED" + // StatusStringSubmitted is a StatusString enum value + StatusStringSubmitted = "SUBMITTED" - // StatusStringAll is a StatusString enum value - StatusStringAll = "ALL" + // StatusStringPicked is a StatusString enum value + StatusStringPicked = "PICKED" - // StatusStringFailed is a StatusString enum value - StatusStringFailed = "FAILED" + // StatusStringStarted is a StatusString enum value + StatusStringStarted = "STARTED" // StatusStringFinished is a StatusString enum value StatusStringFinished = "FINISHED" - // StatusStringPicked is a StatusString enum value - StatusStringPicked = "PICKED" + // StatusStringAborted is a StatusString enum value + StatusStringAborted = "ABORTED" - // StatusStringStarted is a StatusString enum value - StatusStringStarted = "STARTED" + // StatusStringFailed is a StatusString enum value + StatusStringFailed = "FAILED" - // StatusStringSubmitted is a StatusString enum value - StatusStringSubmitted = "SUBMITTED" + // StatusStringAll is a StatusString enum value + StatusStringAll = "ALL" ) // StatusString_Values returns all elements of the StatusString enum func StatusString_Values() []string { return []string{ - StatusStringAborted, - StatusStringAll, - StatusStringFailed, - StatusStringFinished, + StatusStringSubmitted, StatusStringPicked, StatusStringStarted, - StatusStringSubmitted, + StatusStringFinished, + StatusStringAborted, + StatusStringFailed, + StatusStringAll, } } diff --git a/service/redshiftdataapiservice/doc.go b/service/redshiftdataapiservice/doc.go index f41282ff605..a945e64772c 100644 --- a/service/redshiftdataapiservice/doc.go +++ b/service/redshiftdataapiservice/doc.go @@ -7,6 +7,10 @@ // tables. You can run individual SQL statements, which are committed if the // statement succeeds. // +// For more information about the Amazon Redshift Data API, see Using the Amazon +// Redshift Data API (https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html) +// in the Amazon Redshift Cluster Management Guide. +// // See https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20 for more information on this service. // // See redshiftdataapiservice package documentation for more information. diff --git a/service/redshiftdataapiservice/errors.go b/service/redshiftdataapiservice/errors.go index 9ae1ba4b192..61c45d3355b 100644 --- a/service/redshiftdataapiservice/errors.go +++ b/service/redshiftdataapiservice/errors.go @@ -8,6 +8,12 @@ import ( const ( + // ErrCodeActiveStatementsExceededException for service response error code + // "ActiveStatementsExceededException". + // + // The number of active statements exceeds the limit. + ErrCodeActiveStatementsExceededException = "ActiveStatementsExceededException" + // ErrCodeExecuteStatementException for service response error code // "ExecuteStatementException". // @@ -34,8 +40,9 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "ExecuteStatementException": newErrorExecuteStatementException, - "InternalServerException": newErrorInternalServerException, - "ResourceNotFoundException": newErrorResourceNotFoundException, - "ValidationException": newErrorValidationException, + "ActiveStatementsExceededException": newErrorActiveStatementsExceededException, + "ExecuteStatementException": newErrorExecuteStatementException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ValidationException": newErrorValidationException, } diff --git a/service/workmailmessageflow/api.go b/service/workmailmessageflow/api.go index 6e5e0ef7c80..13a2d3ec8bb 100644 --- a/service/workmailmessageflow/api.go +++ b/service/workmailmessageflow/api.go @@ -10,6 +10,7 @@ import ( "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 opGetRawMessageContent = "GetRawMessageContent" @@ -91,6 +92,116 @@ func (c *WorkMailMessageFlow) GetRawMessageContentWithContext(ctx aws.Context, i return out, req.Send() } +const opPutRawMessageContent = "PutRawMessageContent" + +// PutRawMessageContentRequest generates a "aws/request.Request" representing the +// client's request for the PutRawMessageContent 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 PutRawMessageContent for more information on using the PutRawMessageContent +// 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 PutRawMessageContentRequest method. +// req, resp := client.PutRawMessageContentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmailmessageflow-2019-05-01/PutRawMessageContent +func (c *WorkMailMessageFlow) PutRawMessageContentRequest(input *PutRawMessageContentInput) (req *request.Request, output *PutRawMessageContentOutput) { + op := &request.Operation{ + Name: opPutRawMessageContent, + HTTPMethod: "POST", + HTTPPath: "/messages/{messageId}", + } + + if input == nil { + input = &PutRawMessageContentInput{} + } + + output = &PutRawMessageContentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutRawMessageContent API operation for Amazon WorkMail Message Flow. +// +// Updates the raw content of an in-transit email message, in MIME format. +// +// This example describes how to update in-transit email message. For more information +// and examples for using this API, see Updating message content with AWS Lambda +// (https://docs.aws.amazon.com/workmail/latest/adminguide/update-with-lambda.html). +// +// Updates to an in-transit message only appear when you call PutRawMessageContent +// from an AWS Lambda function configured with a synchronous Run Lambda (https://docs.aws.amazon.com/workmail/latest/adminguide/lambda.html#synchronous-rules) +// rule. If you call PutRawMessageContent on a delivered or sent message, the +// message remains unchanged, even though GetRawMessageContent (https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_GetRawMessageContent.html) +// returns an updated message. +// +// 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 WorkMail Message Flow's +// API operation PutRawMessageContent for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The requested email message is not found. +// +// * InvalidContentLocation +// WorkMail could not access the updated email content. Possible reasons: +// +// * You made the request in a region other than your S3 bucket region. +// +// * The S3 bucket owner (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-owner-condition.html) +// is not the same as the calling AWS account. +// +// * You have an incomplete or missing S3 bucket policy. For more information +// about policies, see Updating message content with AWS Lambda (https://docs.aws.amazon.com/workmail/latest/adminguide/update-with-lambda.html) +// in the WorkMail Administrator Guide. +// +// * MessageRejected +// The requested email could not be updated due to an error in the MIME content. +// Check the error message for more information about what caused the error. +// +// * MessageFrozen +// The requested email is not eligible for update. This is usually the case +// for a redirected email. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmailmessageflow-2019-05-01/PutRawMessageContent +func (c *WorkMailMessageFlow) PutRawMessageContent(input *PutRawMessageContentInput) (*PutRawMessageContentOutput, error) { + req, out := c.PutRawMessageContentRequest(input) + return out, req.Send() +} + +// PutRawMessageContentWithContext is the same as PutRawMessageContent with the addition of +// the ability to pass a context and additional request options. +// +// See PutRawMessageContent 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 *WorkMailMessageFlow) PutRawMessageContentWithContext(ctx aws.Context, input *PutRawMessageContentInput, opts ...request.Option) (*PutRawMessageContentOutput, error) { + req, out := c.PutRawMessageContentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + type GetRawMessageContentInput struct { _ struct{} `type:"structure"` @@ -157,6 +268,325 @@ func (s *GetRawMessageContentOutput) SetMessageContent(v io.ReadCloser) *GetRawM return s } +// WorkMail could not access the updated email content. Possible reasons: +// +// * You made the request in a region other than your S3 bucket region. +// +// * The S3 bucket owner (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-owner-condition.html) +// is not the same as the calling AWS account. +// +// * You have an incomplete or missing S3 bucket policy. For more information +// about policies, see Updating message content with AWS Lambda (https://docs.aws.amazon.com/workmail/latest/adminguide/update-with-lambda.html) +// in the WorkMail Administrator Guide. +type InvalidContentLocation struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidContentLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidContentLocation) GoString() string { + return s.String() +} + +func newErrorInvalidContentLocation(v protocol.ResponseMetadata) error { + return &InvalidContentLocation{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidContentLocation) Code() string { + return "InvalidContentLocation" +} + +// Message returns the exception's message. +func (s *InvalidContentLocation) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidContentLocation) OrigErr() error { + return nil +} + +func (s *InvalidContentLocation) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidContentLocation) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidContentLocation) RequestID() string { + return s.RespMetadata.RequestID +} + +// The requested email is not eligible for update. This is usually the case +// for a redirected email. +type MessageFrozen struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s MessageFrozen) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MessageFrozen) GoString() string { + return s.String() +} + +func newErrorMessageFrozen(v protocol.ResponseMetadata) error { + return &MessageFrozen{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *MessageFrozen) Code() string { + return "MessageFrozen" +} + +// Message returns the exception's message. +func (s *MessageFrozen) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *MessageFrozen) OrigErr() error { + return nil +} + +func (s *MessageFrozen) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *MessageFrozen) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *MessageFrozen) RequestID() string { + return s.RespMetadata.RequestID +} + +// The requested email could not be updated due to an error in the MIME content. +// Check the error message for more information about what caused the error. +type MessageRejected struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s MessageRejected) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MessageRejected) GoString() string { + return s.String() +} + +func newErrorMessageRejected(v protocol.ResponseMetadata) error { + return &MessageRejected{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *MessageRejected) Code() string { + return "MessageRejected" +} + +// Message returns the exception's message. +func (s *MessageRejected) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *MessageRejected) OrigErr() error { + return nil +} + +func (s *MessageRejected) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *MessageRejected) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *MessageRejected) RequestID() string { + return s.RespMetadata.RequestID +} + +type PutRawMessageContentInput struct { + _ struct{} `type:"structure"` + + // Describes the raw message content of the updated email message. + // + // Content is a required field + Content *RawMessageContent `locationName:"content" type:"structure" required:"true"` + + // The identifier of the email message being updated. + // + // MessageId is a required field + MessageId *string `location:"uri" locationName:"messageId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutRawMessageContentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutRawMessageContentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutRawMessageContentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutRawMessageContentInput"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.MessageId == nil { + invalidParams.Add(request.NewErrParamRequired("MessageId")) + } + if s.MessageId != nil && len(*s.MessageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MessageId", 1)) + } + if s.Content != nil { + if err := s.Content.Validate(); err != nil { + invalidParams.AddNested("Content", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *PutRawMessageContentInput) SetContent(v *RawMessageContent) *PutRawMessageContentInput { + s.Content = v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *PutRawMessageContentInput) SetMessageId(v string) *PutRawMessageContentInput { + s.MessageId = &v + return s +} + +type PutRawMessageContentOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutRawMessageContentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutRawMessageContentOutput) GoString() string { + return s.String() +} + +// Provides the MIME content of the updated email message as an S3 object. All +// MIME content must meet the following criteria: +// +// * Each part of a multipart MIME message must be formatted properly. +// +// * Attachments must be of a content type that Amazon SES supports. For +// more information, see Unsupported Attachment Types (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types-appendix.html). +// +// * If any of the MIME parts in a message contain content that is outside +// of the 7-bit ASCII character range, we recommend encoding that content. +// +// * Per RFC 5321 (https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6), +// the maximum length of each line of text, including the , must not +// exceed 1,000 characters. +// +// * The message must contain all the required header fields. Check the returned +// error message for more information. +// +// * The value of immutable headers must remain unchanged. Check the returned +// error message for more information. +// +// * Certain unique headers can only appear once. Check the returned error +// message for more information. +type RawMessageContent struct { + _ struct{} `type:"structure"` + + // The S3 reference of an email message. + // + // S3Reference is a required field + S3Reference *S3Reference `locationName:"s3Reference" type:"structure" required:"true"` +} + +// String returns the string representation +func (s RawMessageContent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RawMessageContent) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RawMessageContent) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RawMessageContent"} + if s.S3Reference == nil { + invalidParams.Add(request.NewErrParamRequired("S3Reference")) + } + if s.S3Reference != nil { + if err := s.S3Reference.Validate(); err != nil { + invalidParams.AddNested("S3Reference", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Reference sets the S3Reference field's value. +func (s *RawMessageContent) SetS3Reference(v *S3Reference) *RawMessageContent { + s.S3Reference = v + return s +} + // The requested email message is not found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -212,3 +642,79 @@ func (s *ResourceNotFoundException) StatusCode() int { func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } + +// Amazon S3 object representing the updated message content, in MIME format. +// +// The region for the S3 bucket containing the S3 object must match the region +// used for WorkMail operations. Also, for WorkMail to process an S3 object, +// it must have permission to access that object. For more information, see +// Updating message content with AWS Lambda (https://docs.aws.amazon.com/workmail/latest/adminguide/update-with-lambda.html). +type S3Reference struct { + _ struct{} `type:"structure"` + + // The S3 bucket name. + // + // Bucket is a required field + Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"` + + // The S3 key object name. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // If you enable versioning for the bucket, you can specify the object version. + ObjectVersion *string `locationName:"objectVersion" min:"1" type:"string"` +} + +// String returns the string representation +func (s S3Reference) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Reference) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Reference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Reference"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.Bucket != nil && len(*s.Bucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) + } + 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.ObjectVersion != nil && len(*s.ObjectVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ObjectVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *S3Reference) SetBucket(v string) *S3Reference { + s.Bucket = &v + return s +} + +// SetKey sets the Key field's value. +func (s *S3Reference) SetKey(v string) *S3Reference { + s.Key = &v + return s +} + +// SetObjectVersion sets the ObjectVersion field's value. +func (s *S3Reference) SetObjectVersion(v string) *S3Reference { + s.ObjectVersion = &v + return s +} diff --git a/service/workmailmessageflow/errors.go b/service/workmailmessageflow/errors.go index 3b8e9406d50..f500a145793 100644 --- a/service/workmailmessageflow/errors.go +++ b/service/workmailmessageflow/errors.go @@ -8,6 +8,35 @@ import ( const ( + // ErrCodeInvalidContentLocation for service response error code + // "InvalidContentLocation". + // + // WorkMail could not access the updated email content. Possible reasons: + // + // * You made the request in a region other than your S3 bucket region. + // + // * The S3 bucket owner (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-owner-condition.html) + // is not the same as the calling AWS account. + // + // * You have an incomplete or missing S3 bucket policy. For more information + // about policies, see Updating message content with AWS Lambda (https://docs.aws.amazon.com/workmail/latest/adminguide/update-with-lambda.html) + // in the WorkMail Administrator Guide. + ErrCodeInvalidContentLocation = "InvalidContentLocation" + + // ErrCodeMessageFrozen for service response error code + // "MessageFrozen". + // + // The requested email is not eligible for update. This is usually the case + // for a redirected email. + ErrCodeMessageFrozen = "MessageFrozen" + + // ErrCodeMessageRejected for service response error code + // "MessageRejected". + // + // The requested email could not be updated due to an error in the MIME content. + // Check the error message for more information about what caused the error. + ErrCodeMessageRejected = "MessageRejected" + // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // @@ -16,5 +45,8 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "InvalidContentLocation": newErrorInvalidContentLocation, + "MessageFrozen": newErrorMessageFrozen, + "MessageRejected": newErrorMessageRejected, "ResourceNotFoundException": newErrorResourceNotFoundException, } diff --git a/service/workmailmessageflow/workmailmessageflowiface/interface.go b/service/workmailmessageflow/workmailmessageflowiface/interface.go index 9d9ea8a4ffe..9998b697d3f 100644 --- a/service/workmailmessageflow/workmailmessageflowiface/interface.go +++ b/service/workmailmessageflow/workmailmessageflowiface/interface.go @@ -63,6 +63,10 @@ type WorkMailMessageFlowAPI interface { GetRawMessageContent(*workmailmessageflow.GetRawMessageContentInput) (*workmailmessageflow.GetRawMessageContentOutput, error) GetRawMessageContentWithContext(aws.Context, *workmailmessageflow.GetRawMessageContentInput, ...request.Option) (*workmailmessageflow.GetRawMessageContentOutput, error) GetRawMessageContentRequest(*workmailmessageflow.GetRawMessageContentInput) (*request.Request, *workmailmessageflow.GetRawMessageContentOutput) + + PutRawMessageContent(*workmailmessageflow.PutRawMessageContentInput) (*workmailmessageflow.PutRawMessageContentOutput, error) + PutRawMessageContentWithContext(aws.Context, *workmailmessageflow.PutRawMessageContentInput, ...request.Option) (*workmailmessageflow.PutRawMessageContentOutput, error) + PutRawMessageContentRequest(*workmailmessageflow.PutRawMessageContentInput) (*request.Request, *workmailmessageflow.PutRawMessageContentOutput) } var _ WorkMailMessageFlowAPI = (*workmailmessageflow.WorkMailMessageFlow)(nil)