diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd85d10c11..c3747b6639a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +Release v1.19.34 (2019-05-20) +=== + +### Service Client Updates +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/kafka`: Updates service API, documentation, and paginators +* `service/mediapackage-vod`: Adds new service +* `service/meteringmarketplace`: Updates service documentation + * Documentation updates for meteringmarketplace + +### SDK Enhancements +* Add raw error message bytes to SerializationError errors ([#2600](https://github.com/aws/aws-sdk-go/pull/2600)) + * Updates the SDK's API error message SerializationError handling to capture the original error message byte, and include it in the SerializationError error value. + * Fixes [#2562](https://github.com/aws/aws-sdk-go/issues/2562), [#2411](https://github.com/aws/aws-sdk-go/issues/2411), [#2315](https://github.com/aws/aws-sdk-go/issues/2315) + +### SDK Bugs +* `service/s3/s3manager`: Fix uploader to check for empty part before max parts check (#2556) + * Fixes the S3 Upload manager's behavior for uploading exactly MaxUploadParts * PartSize to S3. The uploader would previously return an error after the full content was uploaded, because the assert on max upload parts was occurring before the check if there were any more parts to upload. + * Fixes [#2557](https://github.com/aws/aws-sdk-go/issues/2557) Release v1.19.33 (2019-05-17) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 8467b75640f..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,11 +1,5 @@ ### SDK Features ### SDK Enhancements -* Add raw error message bytes to SerializationError errors ([#2600](https://github.com/aws/aws-sdk-go/pull/2600)) - * Updates the SDK's API error message SerializationError handling to capture the original error message byte, and include it in the SerializationError error value. - * Fixes [#2562](https://github.com/aws/aws-sdk-go/issues/2562), [#2411](https://github.com/aws/aws-sdk-go/issues/2411), [#2315](https://github.com/aws/aws-sdk-go/issues/2315) ### SDK Bugs -* `service/s3/s3manager`: Fix uploader to check for empty part before max parts check (#2556) - * Fixes the S3 Upload manager's behavior for uploading exactly MaxUploadParts * PartSize to S3. The uploader would previously return an error after the full content was uploaded, because the assert on max upload parts was occurring before the check if there were any more parts to upload. - * Fixes [#2557](https://github.com/aws/aws-sdk-go/issues/2557) diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 842ae89aa12..5e7fd65275d 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -584,6 +584,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, diff --git a/aws/version.go b/aws/version.go index 78fd918f697..4af48a0b9bf 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.19.33" +const SDKVersion = "1.19.34" diff --git a/models/apis/kafka/2018-11-14/api-2.json b/models/apis/kafka/2018-11-14/api-2.json index 69ca3b30af5..074276df679 100644 --- a/models/apis/kafka/2018-11-14/api-2.json +++ b/models/apis/kafka/2018-11-14/api-2.json @@ -41,6 +41,35 @@ "shape" : "ConflictException" } ] }, + "CreateConfiguration" : { + "name" : "CreateConfiguration", + "http" : { + "method" : "POST", + "requestUri" : "/v1/configurations", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationRequest" + }, + "output" : { + "shape" : "CreateConfigurationResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "UnauthorizedException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "ServiceUnavailableException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "ConflictException" + } ] + }, "DeleteCluster" : { "name" : "DeleteCluster", "http" : { @@ -89,6 +118,60 @@ "shape" : "ForbiddenException" } ] }, + "DescribeConfiguration": { + "name": "DescribeConfiguration", + "http": { + "method": "GET", + "requestUri": "/v1/configurations/{arn}", + "responseCode": 200 + }, + "input" : { + "shape" : "DescribeConfigurationRequest" + }, + "output" : { + "shape" : "DescribeConfigurationResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "UnauthorizedException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "ServiceUnavailableException" + } ] + }, + "DescribeConfigurationRevision" : { + "name" : "DescribeConfigurationRevision", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations/{arn}/revisions/{revision}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeConfigurationRevisionRequest" + }, + "output" : { + "shape" : "DescribeConfigurationRevisionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "UnauthorizedException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "ServiceUnavailableException" + } ] + }, "GetBootstrapBrokers" : { "name" : "GetBootstrapBrokers", "http" : { @@ -137,6 +220,31 @@ "shape" : "ForbiddenException" } ] }, + "ListConfigurations" : { + "name" : "ListConfigurations", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConfigurationsRequest" + }, + "output" : { + "shape" : "ListConfigurationsResponse" + }, + "errors" : [ { + "shape" : "ServiceUnavailableException" + }, { + "shape" : "BadRequestException" + }, { + "shape" : "UnauthorizedException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + } ] + }, "ListNodes" : { "name" : "ListNodes", "http" : { @@ -299,7 +407,7 @@ "locationName" : "configurationArn" }, "ConfigurationRevision" : { - "shape" : "__string", + "shape" : "__long", "locationName" : "configurationRevision" }, "KafkaVersion" : { @@ -361,6 +469,68 @@ "type" : "string", "enum" : [ "ACTIVE", "CREATING", "DELETING", "FAILED" ] }, + "Configuration" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn" + }, + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime" + }, + "Description" : { + "shape" : "__string", + "locationName" : "description" + }, + "KafkaVersions" : { + "shape" : "__listOf__string", + "locationName" : "kafkaVersions" + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision" + }, + "Name" : { + "shape" : "__string", + "locationName" : "name" + } + }, + "required" : [ "Description", "LatestRevision", "CreationTime", "KafkaVersions", "Arn", "Name" ] + }, + "ConfigurationInfo" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn" + }, + "Revision" : { + "shape" : "__long", + "locationName" : "revision" + } + }, + "required" : [ "Revision", "Arn" ] + }, + "ConfigurationRevision" : { + "type" : "structure", + "members" : { + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime" + }, + "Description" : { + "shape" : "__string", + "locationName" : "description" + }, + "Revision" : { + "shape" : "__long", + "locationName" : "revision" + } + }, + "required" : [ "Revision", "CreationTime" ] + }, "ConflictException" : { "type" : "structure", "members" : { @@ -389,6 +559,10 @@ "shape" : "__stringMin1Max64", "locationName" : "clusterName" }, + "ConfigurationInfo" : { + "shape" : "ConfigurationInfo", + "locationName" : "configurationInfo" + }, "EncryptionInfo" : { "shape" : "EncryptionInfo", "locationName" : "encryptionInfo" @@ -425,6 +599,49 @@ } } }, + "CreateConfigurationRequest" : { + "type" : "structure", + "members" : { + "Description" : { + "shape" : "__string", + "locationName" : "description" + }, + "KafkaVersions" : { + "shape" : "__listOf__string", + "locationName" : "kafkaVersions" + }, + "Name" : { + "shape" : "__string", + "locationName" : "name" + }, + "ServerProperties" : { + "shape" : "__blob", + "locationName" : "serverProperties" + } + }, + "required" : [ "ServerProperties", "KafkaVersions", "Name" ] + }, + "CreateConfigurationResponse" : { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn" + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime" + }, + "LatestRevision": { + "shape": "ConfigurationRevision", + "locationName": "latestRevision" + }, + "Name": { + "shape": "__string", + "locationName": "name" + } + } + }, "DeleteClusterRequest" : { "type" : "structure", "members" : { @@ -474,6 +691,87 @@ } } }, + "DescribeConfigurationRequest" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "arn" + } + }, + "required" : [ "Arn" ] + }, + "DescribeConfigurationResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn" + }, + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime" + }, + "Description" : { + "shape" : "__string", + "locationName" : "description" + }, + "KafkaVersions" : { + "shape" : "__listOf__string", + "locationName" : "kafkaVersions" + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision" + }, + "Name" : { + "shape" : "__string", + "locationName" : "name" + } + } + }, + "DescribeConfigurationRevisionRequest" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "arn" + }, + "Revision" : { + "shape" : "__long", + "location" : "uri", + "locationName" : "revision" + } + }, + "required" : [ "Revision", "Arn" ] + }, + "DescribeConfigurationRevisionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn" + }, + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime" + }, + "Description" : { + "shape" : "__string", + "locationName" : "description" + }, + "Revision" : { + "shape" : "__long", + "locationName" : "revision" + }, + "ServerProperties" : { + "shape" : "__blob", + "locationName" : "serverProperties" + } + } + }, "EBSStorageInfo" : { "type" : "structure", "members" : { @@ -606,6 +904,34 @@ } } }, + "ListConfigurationsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken" + } + } + }, + "ListConfigurationsResponse" : { + "type" : "structure", + "members" : { + "Configurations" : { + "shape" : "__listOfConfiguration", + "locationName" : "configurations" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + } + }, "ListNodesRequest" : { "type" : "structure", "members" : { @@ -830,6 +1156,9 @@ "__boolean" : { "type" : "boolean" }, + "__blob" : { + "type" : "blob" + }, "__double" : { "type" : "double" }, @@ -852,6 +1181,12 @@ "shape" : "ClusterInfo" } }, + "__listOfConfiguration" : { + "type" : "list", + "member" : { + "shape" : "Configuration" + } + }, "__listOfNodeInfo" : { "type" : "list", "member" : { diff --git a/models/apis/kafka/2018-11-14/docs-2.json b/models/apis/kafka/2018-11-14/docs-2.json index 0214bb4aae2..8676ecbfc62 100644 --- a/models/apis/kafka/2018-11-14/docs-2.json +++ b/models/apis/kafka/2018-11-14/docs-2.json @@ -1,12 +1,16 @@ { "version" : "2.0", - "service" : "

The operations for managing an Amazon MSK cluster.

", + "service" : "

The operations for managing an Amazon MSK cluster. This is prerelease documentation for a service in preview release. It is subject to change

", "operations" : { "CreateCluster" : "

Creates a new MSK cluster.

", + "CreateConfiguration" : "

Creates a new MSK configuration.

", "DeleteCluster" : "

Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request.

", "DescribeCluster" : "

Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request.

", + "DescribeConfiguration" : "

Returns a description of this MSK configuration.

", + "DescribeConfigurationRevision" : "

Returns a description of this revision of the configuration.

", "GetBootstrapBrokers" : "

A list of brokers that a client application can use to bootstrap.

", "ListClusters" : "

Returns a list of clusters in an account.

", + "ListConfigurations" : "

Returns a list of all the MSK configurations in this Region for this account.

", "ListNodes" : "

Returns a list of the broker nodes in the cluster.

", "ListTagsForResource" : "

List tags for a resource.

", "TagResource" : "

Add tags to a resource

", @@ -58,6 +62,26 @@ "DeleteClusterResponse$State" : "

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

" } }, + "Configuration" : { + "base" : "

Represents an MSK Configuration.

", + "refs" : { + "__listOfConfiguration$member" : null + } + }, + "ConfigurationInfo" : { + "base" : "

Specifies the Kafka configuration to use for the brokers.

", + "refs" : { + "CreateClusterRequest$ConfigurationInfo" : "

Comprises of the Configuration to be used on Kafka brokers in a cluster.

" + } + }, + "ConfigurationRevision" : { + "base" : "

Describes a configuration revision.

", + "refs" : { + "CreateConfigurationResponse$LatestRevision" : "

Latest revision of the configuration.

", + "DescribeConfigurationResponse$LatestRevision" : "

Latest revision of the configuration.

", + "__listOfConfigurationRevision$member" : null + } + }, "ConflictException" : { "base" : "

Returns information about an error.

", "refs" : { } @@ -70,6 +94,14 @@ "base" : "

Returns information about the created cluster.

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

Request body for CreateConfiguration.

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

Response body for CreateConfiguration

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

Returns information about the deleted cluster.

", "refs" : { } @@ -78,6 +110,14 @@ "base" : "

Returns information about a cluster.

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

Response body for DescribeConfiguration.

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

Response body for DescribeConfigurationRevision.

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

Contains information about the EBS storage volumes attached to Kafka broker nodes.

", "refs" : { @@ -124,6 +164,10 @@ "base" : "

The response contains an array containing cluster information and a next token if the response is truncated.

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

The response contains an array of Configuration and a next token if the response is truncated.

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

Information about nodes in the cluster.

", "refs" : { } @@ -176,6 +220,13 @@ "NodeInfo$ZookeeperNodeInfo" : "

The ZookeeperNodeInfo.

" } }, + "__blob" : { + "base" : "

A blob of server.properties.

", + "refs" : { + "CreateConfigurationRequest$ServerProperties" : "

Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

", + "DescribeConfigurationRevisionResponse$ServerProperties" : "

Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

" + } + }, "__double" : { "base" : null, "refs" : { @@ -217,7 +268,17 @@ "base" : null, "refs" : { "BrokerNodeGroupInfo$ClientSubnets" : "

The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't be in Availability Zone us-east-1e.

", - "BrokerNodeGroupInfo$SecurityGroups" : "

The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster.

" + "BrokerNodeGroupInfo$SecurityGroups" : "

The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster.

", + "CreateConfigurationRequest$KafkaVersions" : "

The versions of Apache Kafka with which you can use this MSK configuration.

", + "DescribeConfigurationResponse$KafkaVersions" : "

The versions of Apache Kafka with which you can use this MSK configuration.

" + } + }, + "__long" : { + "base" : null, + "refs" : { + "BrokerSoftwareInfo$ConfigurationRevision" : "

The revision of the configuration to use.

", + "ConfigurationInfo$Revision" : "

The revision of the configuration to use.

", + "ConfigurationRevision$Revision" : "

The revision number.

" } }, "__mapOf__string" : { @@ -234,20 +295,34 @@ "BrokerNodeInfo$ClientSubnet" : "

The client subnet to which this broker node belongs.

", "BrokerNodeInfo$ClientVpcIpAddress" : "

The virtual private cloud (VPC) of the client.

", "BrokerSoftwareInfo$ConfigurationArn" : "

The Amazon Resource Name (ARN) of the configuration used for the cluster.

", - "BrokerSoftwareInfo$ConfigurationRevision" : "

The revision of the configuration to use.

", "BrokerSoftwareInfo$KafkaVersion" : "

The version of Apache Kafka.

", "ClusterInfo$ClusterArn" : "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

", "ClusterInfo$ClusterName" : "

The name of the cluster.

", "ClusterInfo$CurrentVersion" : "

The current version of the MSK cluster.

", "ClusterInfo$ZookeeperConnectString" : "

The connection string to use to connect to the Apache ZooKeeper cluster.

", + "Configuration$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", + "Configuration$Description" : "

The description of the configuration.

", + "Configuration$Name" : "

The name of the configuration.

", + "ConfigurationInfo$Arn" : "

ARN of the configuration to use.

", + "ConfigurationRevision$Description" : "

The description of the configuration revision.

", "CreateClusterResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", "CreateClusterResponse$ClusterName" : "

The name of the MSK cluster.

", + "CreateConfigurationRequest$Description" : "

The description of the configuration.

", + "CreateConfigurationRequest$Name" : "

The name of the configuration.

", + "CreateConfigurationResponse$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", + "CreateConfigurationResponse$Name" : "

The name of the configuration.

", "DeleteClusterResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", + "DescribeConfigurationResponse$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", + "DescribeConfigurationResponse$Description" : "

The description of the configuration.

", + "DescribeConfigurationResponse$Name" : "

The name of the configuration.

", + "DescribeConfigurationRevisionResponse$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", + "DescribeConfigurationRevisionResponse$Description" : "

The description of the configuration.

", "EncryptionAtRest$DataVolumeKMSKeyId" : "

The AWS KMS key used for data encryption.

", "Error$InvalidParameter" : "

The parameter that caused the error.

", "Error$Message" : "

The description of the error.

", "GetBootstrapBrokersResponse$BootstrapBrokerString" : "

A string containing one or more hostname:port pairs.

", "ListClustersResponse$NextToken" : "

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

", + "ListConfigurationsResponse$NextToken" : "

The paginated results marker. When the result of a ListConfigurations operation is truncated, the call returns NextToken in the response. \n To get another batch of configurations, provide this token in your next request.

", "ListNodesResponse$NextToken" : "

The paginated results marker. When the result of a ListNodes operation is truncated, the call returns NextToken in the response. \n To get another batch of nodes, provide this token in your next request.

", "NodeInfo$AddedToClusterTime" : "

The start time.

", "NodeInfo$InstanceType" : "

The instance type.

", @@ -280,7 +355,11 @@ "__timestampIso8601" : { "base" : null, "refs" : { - "ClusterInfo$CreationTime" : "

The time when the cluster was created.

" + "ClusterInfo$CreationTime" : "

The time when the cluster was created.

", + "ConfigurationRevision$CreationTime" : "

The time when the configuration revision was created.

", + "CreateConfigurationResponse$CreationTime" : "

The time when the configuration was created.

", + "DescribeConfigurationResponse$CreationTime" : "

The time when the configuration was created.

", + "DescribeConfigurationRevisionResponse$CreationTime" : "

The time when the configuration was created.

" } } } diff --git a/models/apis/kafka/2018-11-14/paginators-1.json b/models/apis/kafka/2018-11-14/paginators-1.json index f3b7195d8e1..9b3f890aa0a 100644 --- a/models/apis/kafka/2018-11-14/paginators-1.json +++ b/models/apis/kafka/2018-11-14/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination" : { } -} \ No newline at end of file + "pagination": { + "ListClusters": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ClusterInfoList" + }, + "ListConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Configurations" + }, + "ListNodes": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "NodeInfoList" + } + } +} diff --git a/models/apis/mediapackage-vod/2018-11-07/api-2.json b/models/apis/mediapackage-vod/2018-11-07/api-2.json new file mode 100644 index 00000000000..e8521cbc979 --- /dev/null +++ b/models/apis/mediapackage-vod/2018-11-07/api-2.json @@ -0,0 +1,1494 @@ +{ + "metadata": { + "apiVersion": "2018-11-07", + "endpointPrefix": "mediapackage-vod", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "MediaPackage Vod", + "serviceFullName": "AWS Elemental MediaPackage VOD", + "serviceId": "MediaPackage Vod", + "signatureVersion": "v4", + "signingName": "mediapackage-vod", + "uid": "mediapackage-vod-2018-11-07" + }, + "operations": { + "CreateAsset": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/assets", + "responseCode": 200 + }, + "input": { + "shape": "CreateAssetRequest" + }, + "name": "CreateAsset", + "output": { + "shape": "CreateAssetResponse" + } + }, + "CreatePackagingConfiguration": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/packaging_configurations", + "responseCode": 200 + }, + "input": { + "shape": "CreatePackagingConfigurationRequest" + }, + "name": "CreatePackagingConfiguration", + "output": { + "shape": "CreatePackagingConfigurationResponse" + } + }, + "CreatePackagingGroup": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/packaging_groups", + "responseCode": 200 + }, + "input": { + "shape": "CreatePackagingGroupRequest" + }, + "name": "CreatePackagingGroup", + "output": { + "shape": "CreatePackagingGroupResponse" + } + }, + "DeleteAsset": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/assets/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteAssetRequest" + }, + "name": "DeleteAsset", + "output": { + "shape": "DeleteAssetResponse" + } + }, + "DeletePackagingConfiguration": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/packaging_configurations/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeletePackagingConfigurationRequest" + }, + "name": "DeletePackagingConfiguration", + "output": { + "shape": "DeletePackagingConfigurationResponse" + } + }, + "DeletePackagingGroup": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/packaging_groups/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeletePackagingGroupRequest" + }, + "name": "DeletePackagingGroup", + "output": { + "shape": "DeletePackagingGroupResponse" + } + }, + "DescribeAsset": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/assets/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeAssetRequest" + }, + "name": "DescribeAsset", + "output": { + "shape": "DescribeAssetResponse" + } + }, + "DescribePackagingConfiguration": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_configurations/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribePackagingConfigurationRequest" + }, + "name": "DescribePackagingConfiguration", + "output": { + "shape": "DescribePackagingConfigurationResponse" + } + }, + "DescribePackagingGroup": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_groups/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribePackagingGroupRequest" + }, + "name": "DescribePackagingGroup", + "output": { + "shape": "DescribePackagingGroupResponse" + } + }, + "ListAssets": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/assets", + "responseCode": 200 + }, + "input": { + "shape": "ListAssetsRequest" + }, + "name": "ListAssets", + "output": { + "shape": "ListAssetsResponse" + } + }, + "ListPackagingConfigurations": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_configurations", + "responseCode": 200 + }, + "input": { + "shape": "ListPackagingConfigurationsRequest" + }, + "name": "ListPackagingConfigurations", + "output": { + "shape": "ListPackagingConfigurationsResponse" + } + }, + "ListPackagingGroups": { + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_groups", + "responseCode": 200 + }, + "input": { + "shape": "ListPackagingGroupsRequest" + }, + "name": "ListPackagingGroups", + "output": { + "shape": "ListPackagingGroupsResponse" + } + } + }, + "shapes": { + "AdMarkers": { + "enum": [ + "NONE", + "SCTE35_ENHANCED", + "PASSTHROUGH" + ], + "type": "string" + }, + "Asset": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "EgressEndpoints": { + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "AssetCreateParameters": { + "members": { + "Id": { + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "required": [ + "SourceArn", + "Id", + "PackagingGroupId", + "SourceRoleArn" + ], + "type": "structure" + }, + "AssetList": { + "members": { + "Assets": { + "locationName": "assets", + "shape": "__listOfAssetShallow" + }, + "NextToken": { + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "AssetShallow": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "CmafEncryption": { + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "CmafPackage": { + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "CmafEncryption" + }, + "HlsManifests": { + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "HlsManifests" + ], + "type": "structure" + }, + "CreateAssetRequest": { + "members": { + "Id": { + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "required": [ + "SourceArn", + "Id", + "PackagingGroupId", + "SourceRoleArn" + ], + "type": "structure" + }, + "CreateAssetResponse": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "EgressEndpoints": { + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "CreatePackagingConfigurationRequest": { + "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "structure" + }, + "CreatePackagingConfigurationResponse": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "CreatePackagingGroupRequest": { + "members": { + "Id": { + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "CreatePackagingGroupResponse": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "locationName": "id", + "shape": "__string" + } + }, + "type": "structure" + }, + "DashEncryption": { + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "DashManifest": { + "members": { + "ManifestName": { + "locationName": "manifestName", + "shape": "__string" + }, + "MinBufferTimeSeconds": { + "locationName": "minBufferTimeSeconds", + "shape": "__integer" + }, + "Profile": { + "locationName": "profile", + "shape": "Profile" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "DashPackage": { + "members": { + "DashManifests": { + "locationName": "dashManifests", + "shape": "__listOfDashManifest" + }, + "Encryption": { + "locationName": "encryption", + "shape": "DashEncryption" + }, + "SegmentDurationSeconds": { + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "DashManifests" + ], + "type": "structure" + }, + "DeleteAssetRequest": { + "members": { + "Id": { + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeleteAssetResponse": { + "members": {}, + "type": "structure" + }, + "DeletePackagingConfigurationRequest": { + "members": { + "Id": { + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeletePackagingConfigurationResponse": { + "members": {}, + "type": "structure" + }, + "DeletePackagingGroupRequest": { + "members": { + "Id": { + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeletePackagingGroupResponse": { + "members": {}, + "type": "structure" + }, + "DescribeAssetRequest": { + "members": { + "Id": { + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribeAssetResponse": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "EgressEndpoints": { + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "DescribePackagingConfigurationRequest": { + "members": { + "Id": { + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribePackagingConfigurationResponse": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "DescribePackagingGroupRequest": { + "members": { + "Id": { + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribePackagingGroupResponse": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "locationName": "id", + "shape": "__string" + } + }, + "type": "structure" + }, + "EgressEndpoint": { + "members": { + "PackagingConfigurationId": { + "locationName": "packagingConfigurationId", + "shape": "__string" + }, + "Url": { + "locationName": "url", + "shape": "__string" + } + }, + "type": "structure" + }, + "EncryptionMethod": { + "enum": [ + "AES_128", + "SAMPLE_AES" + ], + "type": "string" + }, + "ForbiddenException": { + "error": { + "httpStatusCode": 403 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "HlsEncryption": { + "members": { + "EncryptionMethod": { + "locationName": "encryptionMethod", + "shape": "EncryptionMethod" + }, + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "HlsManifest": { + "members": { + "AdMarkers": { + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "IncludeIframeOnlyStream": { + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "ManifestName": { + "locationName": "manifestName", + "shape": "__string" + }, + "ProgramDateTimeIntervalSeconds": { + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + }, + "RepeatExtXKey": { + "locationName": "repeatExtXKey", + "shape": "__boolean" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "HlsPackage": { + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "HlsEncryption" + }, + "HlsManifests": { + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "UseAudioRenditionGroup": { + "locationName": "useAudioRenditionGroup", + "shape": "__boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "structure" + }, + "InternalServerErrorException": { + "error": { + "httpStatusCode": 500 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListAssetsRequest": { + "members": { + "MaxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroupId": { + "location": "querystring", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListAssetsResponse": { + "members": { + "Assets": { + "locationName": "assets", + "shape": "__listOfAssetShallow" + }, + "NextToken": { + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingConfigurationsRequest": { + "members": { + "MaxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroupId": { + "location": "querystring", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingConfigurationsResponse": { + "members": { + "NextToken": { + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingConfigurations": { + "locationName": "packagingConfigurations", + "shape": "__listOfPackagingConfiguration" + } + }, + "type": "structure" + }, + "ListPackagingGroupsRequest": { + "members": { + "MaxResults": { + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingGroupsResponse": { + "members": { + "NextToken": { + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroups": { + "locationName": "packagingGroups", + "shape": "__listOfPackagingGroup" + } + }, + "type": "structure" + }, + "MaxResults": { + "max": 1000, + "min": 1, + "type": "integer" + }, + "MssEncryption": { + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "MssManifest": { + "members": { + "ManifestName": { + "locationName": "manifestName", + "shape": "__string" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "MssPackage": { + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "MssEncryption" + }, + "MssManifests": { + "locationName": "mssManifests", + "shape": "__listOfMssManifest" + }, + "SegmentDurationSeconds": { + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "MssManifests" + ], + "type": "structure" + }, + "NotFoundException": { + "error": { + "httpStatusCode": 404 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "PackagingConfiguration": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "PackagingConfigurationCreateParameters": { + "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "structure" + }, + "PackagingConfigurationList": { + "members": { + "NextToken": { + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingConfigurations": { + "locationName": "packagingConfigurations", + "shape": "__listOfPackagingConfiguration" + } + }, + "type": "structure" + }, + "PackagingGroup": { + "members": { + "Arn": { + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "locationName": "id", + "shape": "__string" + } + }, + "type": "structure" + }, + "PackagingGroupCreateParameters": { + "members": { + "Id": { + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "PackagingGroupList": { + "members": { + "NextToken": { + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroups": { + "locationName": "packagingGroups", + "shape": "__listOfPackagingGroup" + } + }, + "type": "structure" + }, + "Profile": { + "enum": [ + "NONE", + "HBBTV_1_5" + ], + "type": "string" + }, + "ServiceUnavailableException": { + "error": { + "httpStatusCode": 503 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "SpekeKeyProvider": { + "members": { + "RoleArn": { + "locationName": "roleArn", + "shape": "__string" + }, + "SystemIds": { + "locationName": "systemIds", + "shape": "__listOf__string" + }, + "Url": { + "locationName": "url", + "shape": "__string" + } + }, + "required": [ + "SystemIds", + "Url", + "RoleArn" + ], + "type": "structure" + }, + "StreamOrder": { + "enum": [ + "ORIGINAL", + "VIDEO_BITRATE_ASCENDING", + "VIDEO_BITRATE_DESCENDING" + ], + "type": "string" + }, + "StreamSelection": { + "members": { + "MaxVideoBitsPerSecond": { + "locationName": "maxVideoBitsPerSecond", + "shape": "__integer" + }, + "MinVideoBitsPerSecond": { + "locationName": "minVideoBitsPerSecond", + "shape": "__integer" + }, + "StreamOrder": { + "locationName": "streamOrder", + "shape": "StreamOrder" + } + }, + "type": "structure" + }, + "TooManyRequestsException": { + "error": { + "httpStatusCode": 429 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "UnprocessableEntityException": { + "error": { + "httpStatusCode": 422 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__listOfAssetShallow": { + "member": { + "shape": "AssetShallow" + }, + "type": "list" + }, + "__listOfDashManifest": { + "member": { + "shape": "DashManifest" + }, + "type": "list" + }, + "__listOfEgressEndpoint": { + "member": { + "shape": "EgressEndpoint" + }, + "type": "list" + }, + "__listOfHlsManifest": { + "member": { + "shape": "HlsManifest" + }, + "type": "list" + }, + "__listOfMssManifest": { + "member": { + "shape": "MssManifest" + }, + "type": "list" + }, + "__listOfPackagingConfiguration": { + "member": { + "shape": "PackagingConfiguration" + }, + "type": "list" + }, + "__listOfPackagingGroup": { + "member": { + "shape": "PackagingGroup" + }, + "type": "list" + }, + "__listOf__string": { + "member": { + "shape": "__string" + }, + "type": "list" + }, + "__long": { + "type": "long" + }, + "__string": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/models/apis/mediapackage-vod/2018-11-07/docs-2.json b/models/apis/mediapackage-vod/2018-11-07/docs-2.json new file mode 100644 index 00000000000..f42821aa924 --- /dev/null +++ b/models/apis/mediapackage-vod/2018-11-07/docs-2.json @@ -0,0 +1,294 @@ +{ + "version" : "2.0", + "service" : "AWS Elemental MediaPackage VOD", + "operations" : { + "CreateAsset" : "Creates a new MediaPackage VOD Asset resource.", + "CreatePackagingConfiguration" : "Creates a new MediaPackage VOD PackagingConfiguration resource.", + "CreatePackagingGroup" : "Creates a new MediaPackage VOD PackagingGroup resource.", + "DeleteAsset" : "Deletes an existing MediaPackage VOD Asset resource.", + "DeletePackagingConfiguration" : "Deletes a MediaPackage VOD PackagingConfiguration resource.", + "DeletePackagingGroup" : "Deletes a MediaPackage VOD PackagingGroup resource.", + "DescribeAsset" : "Returns a description of a MediaPackage VOD Asset resource.", + "DescribePackagingConfiguration" : "Returns a description of a MediaPackage VOD PackagingConfiguration resource.", + "DescribePackagingGroup" : "Returns a description of a MediaPackage VOD PackagingGroup resource.", + "ListAssets" : "Returns a collection of MediaPackage VOD Asset resources.", + "ListPackagingConfigurations" : "Returns a collection of MediaPackage VOD PackagingConfiguration resources.", + "ListPackagingGroups" : "Returns a collection of MediaPackage VOD PackagingGroup resources." + }, + "shapes" : { + "AdMarkers" : { + "base" : null, + "refs" : { + "HlsManifest$AdMarkers" : "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n" + } + }, + "Asset" : { + "base" : "A MediaPackage VOD Asset resource.", + "refs" : { } + }, + "AssetCreateParameters" : { + "base" : "Parameters used to create a MediaPackage VOD Asset.", + "refs" : { } + }, + "AssetList" : { + "base" : "A collection of MediaPackage VOD Asset resources.", + "refs" : { } + }, + "AssetShallow" : { + "base" : "A MediaPackage VOD Asset resource.", + "refs" : { + "__listOfAssetShallow$member" : null + } + }, + "CmafEncryption" : { + "base" : "A CMAF encryption configuration.", + "refs" : { + "CmafPackage$Encryption" : null + } + }, + "CmafPackage" : { + "base" : "A CMAF packaging configuration.", + "refs" : { + "PackagingConfiguration$CmafPackage" : null, + "PackagingConfigurationCreateParameters$CmafPackage" : null + } + }, + "DashEncryption" : { + "base" : "A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.", + "refs" : { + "DashPackage$Encryption" : null + } + }, + "DashManifest" : { + "base" : "A DASH manifest configuration.", + "refs" : { + "__listOfDashManifest$member" : null + } + }, + "DashPackage" : { + "base" : "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.", + "refs" : { + "PackagingConfiguration$DashPackage" : null, + "PackagingConfigurationCreateParameters$DashPackage" : null + } + }, + "EgressEndpoint" : { + "base" : "The endpoint URL used to access an Asset using one PackagingConfiguration.", + "refs" : { + "__listOfEgressEndpoint$member" : null + } + }, + "EncryptionMethod" : { + "base" : null, + "refs" : { + "HlsEncryption$EncryptionMethod" : "The encryption method to use." + } + }, + "HlsEncryption" : { + "base" : "An HTTP Live Streaming (HLS) encryption configuration.", + "refs" : { + "HlsPackage$Encryption" : null + } + }, + "HlsManifest" : { + "base" : "An HTTP Live Streaming (HLS) manifest configuration.", + "refs" : { + "__listOfHlsManifest$member" : null + } + }, + "HlsPackage" : { + "base" : "An HTTP Live Streaming (HLS) packaging configuration.", + "refs" : { + "PackagingConfiguration$HlsPackage" : null, + "PackagingConfigurationCreateParameters$HlsPackage" : null + } + }, + "MssEncryption" : { + "base" : "A Microsoft Smooth Streaming (MSS) encryption configuration.", + "refs" : { + "MssPackage$Encryption" : null + } + }, + "MssManifest" : { + "base" : "A Microsoft Smooth Streaming (MSS) manifest configuration.", + "refs" : { + "__listOfMssManifest$member" : null + } + }, + "MssPackage" : { + "base" : "A Microsoft Smooth Streaming (MSS) PackagingConfiguration.", + "refs" : { + "PackagingConfiguration$MssPackage" : null, + "PackagingConfigurationCreateParameters$MssPackage" : null + } + }, + "PackagingConfiguration" : { + "base" : "A MediaPackage VOD PackagingConfiguration resource.", + "refs" : { + "__listOfPackagingConfiguration$member" : null + } + }, + "PackagingConfigurationCreateParameters" : { + "base" : "Parameters used to create a new MediaPackage VOD PackagingConfiguration resource.", + "refs" : { } + }, + "PackagingConfigurationList" : { + "base" : "A collection of MediaPackage VOD PackagingConfiguration resources.", + "refs" : { } + }, + "PackagingGroup" : { + "base" : "A MediaPackage VOD PackagingGroup resource.", + "refs" : { + "__listOfPackagingGroup$member" : null + } + }, + "PackagingGroupCreateParameters" : { + "base" : "Parameters used to create a new MediaPackage VOD PackagingGroup resource.", + "refs" : { } + }, + "PackagingGroupList" : { + "base" : "A collection of MediaPackage VOD PackagingGroup resources.", + "refs" : { } + }, + "Profile" : { + "base" : null, + "refs" : { + "DashManifest$Profile" : "The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to \"HBBTV_1_5\", HbbTV 1.5 compliant output is enabled." + } + }, + "SpekeKeyProvider" : { + "base" : "A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.", + "refs" : { + "CmafEncryption$SpekeKeyProvider" : null, + "DashEncryption$SpekeKeyProvider" : null, + "HlsEncryption$SpekeKeyProvider" : null, + "MssEncryption$SpekeKeyProvider" : null + } + }, + "StreamOrder" : { + "base" : null, + "refs" : { + "StreamSelection$StreamOrder" : "A directive that determines the order of streams in the output." + } + }, + "StreamSelection" : { + "base" : "A StreamSelection configuration.", + "refs" : { + "DashManifest$StreamSelection" : null, + "HlsManifest$StreamSelection" : null, + "MssManifest$StreamSelection" : null + } + }, + "__boolean" : { + "base" : null, + "refs" : { + "HlsManifest$IncludeIframeOnlyStream" : "When enabled, an I-Frame only stream will be included in the output.", + "HlsManifest$RepeatExtXKey" : "When enabled, the EXT-X-KEY tag will be repeated in output manifests.", + "HlsPackage$UseAudioRenditionGroup" : "When enabled, audio streams will be placed in rendition groups in the output." + } + }, + "__integer" : { + "base" : null, + "refs" : { + "CmafPackage$SegmentDurationSeconds" : "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", + "DashManifest$MinBufferTimeSeconds" : "Minimum duration (in seconds) that a player will buffer media before starting the presentation.", + "DashPackage$SegmentDurationSeconds" : "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", + "HlsManifest$ProgramDateTimeIntervalSeconds" : "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", + "HlsPackage$SegmentDurationSeconds" : "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", + "MssPackage$SegmentDurationSeconds" : "The duration (in seconds) of each segment.", + "StreamSelection$MaxVideoBitsPerSecond" : "The maximum video bitrate (bps) to include in output.", + "StreamSelection$MinVideoBitsPerSecond" : "The minimum video bitrate (bps) to include in output." + } + }, + "__listOfAssetShallow" : { + "base" : null, + "refs" : { + "AssetList$Assets" : "A list of MediaPackage VOD Asset resources." + } + }, + "__listOfDashManifest" : { + "base" : null, + "refs" : { + "DashPackage$DashManifests" : "A list of DASH manifest configurations." + } + }, + "__listOfEgressEndpoint" : { + "base" : null, + "refs" : { + "Asset$EgressEndpoints" : "The list of egress endpoints available for the Asset." + } + }, + "__listOfHlsManifest" : { + "base" : null, + "refs" : { + "CmafPackage$HlsManifests" : "A list of HLS manifest configurations.", + "HlsPackage$HlsManifests" : "A list of HLS manifest configurations." + } + }, + "__listOfMssManifest" : { + "base" : null, + "refs" : { + "MssPackage$MssManifests" : "A list of MSS manifest configurations." + } + }, + "__listOfPackagingConfiguration" : { + "base" : null, + "refs" : { + "PackagingConfigurationList$PackagingConfigurations" : "A list of MediaPackage VOD PackagingConfiguration resources." + } + }, + "__listOfPackagingGroup" : { + "base" : null, + "refs" : { + "PackagingGroupList$PackagingGroups" : "A list of MediaPackage VOD PackagingGroup resources." + } + }, + "__listOf__string" : { + "base" : null, + "refs" : { + "SpekeKeyProvider$SystemIds" : "The system IDs to include in key requests." + } + }, + "__string" : { + "base" : null, + "refs" : { + "Asset$Arn" : "The ARN of the Asset.", + "Asset$Id" : "The unique identifier for the Asset.", + "Asset$PackagingGroupId" : "The ID of the PackagingGroup for the Asset.", + "Asset$ResourceId" : "The resource ID to include in SPEKE key requests.", + "Asset$SourceArn" : "ARN of the source object in S3.", + "Asset$SourceRoleArn" : "The IAM role_arn used to access the source S3 bucket.", + "AssetCreateParameters$Id" : "The unique identifier for the Asset.", + "AssetCreateParameters$PackagingGroupId" : "The ID of the PackagingGroup for the Asset.", + "AssetCreateParameters$ResourceId" : "The resource ID to include in SPEKE key requests.", + "AssetCreateParameters$SourceArn" : "ARN of the source object in S3.", + "AssetCreateParameters$SourceRoleArn" : "The IAM role ARN used to access the source S3 bucket.", + "AssetList$NextToken" : "A token that can be used to resume pagination from the end of the collection.", + "AssetShallow$Arn" : "The ARN of the Asset.", + "AssetShallow$Id" : "The unique identifier for the Asset.", + "AssetShallow$PackagingGroupId" : "The ID of the PackagingGroup for the Asset.", + "AssetShallow$ResourceId" : "The resource ID to include in SPEKE key requests.", + "AssetShallow$SourceArn" : "ARN of the source object in S3.", + "AssetShallow$SourceRoleArn" : "The IAM role ARN used to access the source S3 bucket.", + "DashManifest$ManifestName" : "An optional string to include in the name of the manifest.", + "EgressEndpoint$PackagingConfigurationId" : "The ID of the PackagingConfiguration being applied to the Asset.", + "EgressEndpoint$Url" : "The URL of the parent manifest for the repackaged Asset.", + "HlsManifest$ManifestName" : "An optional string to include in the name of the manifest.", + "MssManifest$ManifestName" : "An optional string to include in the name of the manifest.", + "PackagingConfiguration$Arn" : "The ARN of the PackagingConfiguration.", + "PackagingConfiguration$Id" : "The ID of the PackagingConfiguration.", + "PackagingConfiguration$PackagingGroupId" : "The ID of a PackagingGroup.", + "PackagingConfigurationCreateParameters$Id" : "The ID of the PackagingConfiguration.", + "PackagingConfigurationCreateParameters$PackagingGroupId" : "The ID of a PackagingGroup.", + "PackagingConfigurationList$NextToken" : "A token that can be used to resume pagination from the end of the collection.", + "PackagingGroup$Arn" : "The ARN of the PackagingGroup.", + "PackagingGroup$Id" : "The ID of the PackagingGroup.", + "PackagingGroupCreateParameters$Id" : "The ID of the PackagingGroup.", + "PackagingGroupList$NextToken" : "A token that can be used to resume pagination from the end of the collection.", + "SpekeKeyProvider$RoleArn" : "An Amazon Resource Name (ARN) of an IAM role that AWS Elemental\nMediaPackage will assume when accessing the key provider service.\n", + "SpekeKeyProvider$Url" : "The URL of the external key provider service.", + "__listOf__string$member" : null + } + } + } +} diff --git a/models/apis/mediapackage-vod/2018-11-07/paginators-1.json b/models/apis/mediapackage-vod/2018-11-07/paginators-1.json new file mode 100644 index 00000000000..a4e3eb98ce1 --- /dev/null +++ b/models/apis/mediapackage-vod/2018-11-07/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListAssets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Assets" + }, + "ListPackagingConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PackagingConfigurations" + }, + "ListPackagingGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PackagingGroups" + } + } +} \ No newline at end of file diff --git a/models/apis/meteringmarketplace/2016-01-14/docs-2.json b/models/apis/meteringmarketplace/2016-01-14/docs-2.json index e0670865213..56d38c9d0e9 100644 --- a/models/apis/meteringmarketplace/2016-01-14/docs-2.json +++ b/models/apis/meteringmarketplace/2016-01-14/docs-2.json @@ -163,9 +163,9 @@ "Timestamp": { "base": null, "refs": { - "MeterUsageRequest$Timestamp": "

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

", + "MeterUsageRequest$Timestamp": "

Timestamp, in UTC, for which the usage is being reported. Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage.

", "RegisterUsageResult$PublicKeyRotationTimestamp": "

(Optional) Only included when public key version has expired

", - "UsageRecord$Timestamp": "

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

Your application can meter usage for up to one hour in the past.

" + "UsageRecord$Timestamp": "

Timestamp, in UTC, for which the usage is being reported.

Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage.

" } }, "TimestampOutOfBoundsException": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 2f18ee58191..f75d10bb6d7 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -490,6 +490,7 @@ "endpoints" : { "ap-northeast-1" : { }, "ap-southeast-1" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-east-2" : { }, diff --git a/service/kafka/api.go b/service/kafka/api.go index f0674cb9491..d151be6fbce 100644 --- a/service/kafka/api.go +++ b/service/kafka/api.go @@ -109,6 +109,103 @@ func (c *Kafka) CreateClusterWithContext(ctx aws.Context, input *CreateClusterIn return out, req.Send() } +const opCreateConfiguration = "CreateConfiguration" + +// CreateConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateConfiguration 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 CreateConfiguration for more information on using the CreateConfiguration +// 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 CreateConfigurationRequest method. +// req, resp := client.CreateConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateConfiguration +func (c *Kafka) CreateConfigurationRequest(input *CreateConfigurationInput) (req *request.Request, output *CreateConfigurationOutput) { + op := &request.Operation{ + Name: opCreateConfiguration, + HTTPMethod: "POST", + HTTPPath: "/v1/configurations", + } + + if input == nil { + input = &CreateConfigurationInput{} + } + + output = &CreateConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateConfiguration API operation for Managed Streaming for Kafka. +// +// Creates a new MSK configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation CreateConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Returns information about an error. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Returns information about an error. +// +// * ErrCodeConflictException "ConflictException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateConfiguration +func (c *Kafka) CreateConfiguration(input *CreateConfigurationInput) (*CreateConfigurationOutput, error) { + req, out := c.CreateConfigurationRequest(input) + return out, req.Send() +} + +// CreateConfigurationWithContext is the same as CreateConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateConfiguration 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 *Kafka) CreateConfigurationWithContext(ctx aws.Context, input *CreateConfigurationInput, opts ...request.Option) (*CreateConfigurationOutput, error) { + req, out := c.CreateConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the @@ -290,6 +387,194 @@ func (c *Kafka) DescribeClusterWithContext(ctx aws.Context, input *DescribeClust return out, req.Send() } +const opDescribeConfiguration = "DescribeConfiguration" + +// DescribeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeConfiguration 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 DescribeConfiguration for more information on using the DescribeConfiguration +// 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 DescribeConfigurationRequest method. +// req, resp := client.DescribeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfiguration +func (c *Kafka) DescribeConfigurationRequest(input *DescribeConfigurationInput) (req *request.Request, output *DescribeConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeConfiguration, + HTTPMethod: "GET", + HTTPPath: "/v1/configurations/{arn}", + } + + if input == nil { + input = &DescribeConfigurationInput{} + } + + output = &DescribeConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeConfiguration API operation for Managed Streaming for Kafka. +// +// Returns a description of this MSK configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation DescribeConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// * ErrCodeNotFoundException "NotFoundException" +// Returns information about an error. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfiguration +func (c *Kafka) DescribeConfiguration(input *DescribeConfigurationInput) (*DescribeConfigurationOutput, error) { + req, out := c.DescribeConfigurationRequest(input) + return out, req.Send() +} + +// DescribeConfigurationWithContext is the same as DescribeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeConfiguration 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 *Kafka) DescribeConfigurationWithContext(ctx aws.Context, input *DescribeConfigurationInput, opts ...request.Option) (*DescribeConfigurationOutput, error) { + req, out := c.DescribeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeConfigurationRevision = "DescribeConfigurationRevision" + +// DescribeConfigurationRevisionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeConfigurationRevision 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 DescribeConfigurationRevision for more information on using the DescribeConfigurationRevision +// 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 DescribeConfigurationRevisionRequest method. +// req, resp := client.DescribeConfigurationRevisionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfigurationRevision +func (c *Kafka) DescribeConfigurationRevisionRequest(input *DescribeConfigurationRevisionInput) (req *request.Request, output *DescribeConfigurationRevisionOutput) { + op := &request.Operation{ + Name: opDescribeConfigurationRevision, + HTTPMethod: "GET", + HTTPPath: "/v1/configurations/{arn}/revisions/{revision}", + } + + if input == nil { + input = &DescribeConfigurationRevisionInput{} + } + + output = &DescribeConfigurationRevisionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeConfigurationRevision API operation for Managed Streaming for Kafka. +// +// Returns a description of this revision of the configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation DescribeConfigurationRevision for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// * ErrCodeNotFoundException "NotFoundException" +// Returns information about an error. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfigurationRevision +func (c *Kafka) DescribeConfigurationRevision(input *DescribeConfigurationRevisionInput) (*DescribeConfigurationRevisionOutput, error) { + req, out := c.DescribeConfigurationRevisionRequest(input) + return out, req.Send() +} + +// DescribeConfigurationRevisionWithContext is the same as DescribeConfigurationRevision with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeConfigurationRevision 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 *Kafka) DescribeConfigurationRevisionWithContext(ctx aws.Context, input *DescribeConfigurationRevisionInput, opts ...request.Option) (*DescribeConfigurationRevisionOutput, error) { + req, out := c.DescribeConfigurationRevisionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetBootstrapBrokers = "GetBootstrapBrokers" // GetBootstrapBrokersRequest generates a "aws/request.Request" representing the @@ -412,6 +697,12 @@ func (c *Kafka) ListClustersRequest(input *ListClustersInput) (req *request.Requ Name: opListClusters, HTTPMethod: "GET", HTTPPath: "/v1/clusters", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -469,6 +760,203 @@ func (c *Kafka) ListClustersWithContext(ctx aws.Context, input *ListClustersInpu return out, req.Send() } +// ListClustersPages iterates over the pages of a ListClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListClusters 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 ListClusters operation. +// pageNum := 0 +// err := client.ListClustersPages(params, +// func(page *ListClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Kafka) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { + return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListClustersPagesWithContext same as ListClustersPages 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 *Kafka) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListClustersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListClustersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListConfigurations = "ListConfigurations" + +// ListConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListConfigurations 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 ListConfigurations for more information on using the ListConfigurations +// 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 ListConfigurationsRequest method. +// req, resp := client.ListConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations +func (c *Kafka) ListConfigurationsRequest(input *ListConfigurationsInput) (req *request.Request, output *ListConfigurationsOutput) { + op := &request.Operation{ + Name: opListConfigurations, + HTTPMethod: "GET", + HTTPPath: "/v1/configurations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListConfigurationsInput{} + } + + output = &ListConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListConfigurations API operation for Managed Streaming for Kafka. +// +// Returns a list of all the MSK configurations in this Region for this account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation ListConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Returns information about an error. +// +// * ErrCodeBadRequestException "BadRequestException" +// Returns information about an error. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Returns information about an error. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Returns information about an error. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations +func (c *Kafka) ListConfigurations(input *ListConfigurationsInput) (*ListConfigurationsOutput, error) { + req, out := c.ListConfigurationsRequest(input) + return out, req.Send() +} + +// ListConfigurationsWithContext is the same as ListConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListConfigurations 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 *Kafka) ListConfigurationsWithContext(ctx aws.Context, input *ListConfigurationsInput, opts ...request.Option) (*ListConfigurationsOutput, error) { + req, out := c.ListConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListConfigurationsPages iterates over the pages of a ListConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConfigurations 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 ListConfigurations operation. +// pageNum := 0 +// err := client.ListConfigurationsPages(params, +// func(page *ListConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Kafka) ListConfigurationsPages(input *ListConfigurationsInput, fn func(*ListConfigurationsOutput, bool) bool) error { + return c.ListConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListConfigurationsPagesWithContext same as ListConfigurationsPages 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 *Kafka) ListConfigurationsPagesWithContext(ctx aws.Context, input *ListConfigurationsInput, fn func(*ListConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListConfigurationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListNodes = "ListNodes" // ListNodesRequest generates a "aws/request.Request" representing the @@ -500,6 +988,12 @@ func (c *Kafka) ListNodesRequest(input *ListNodesInput) (req *request.Request, o Name: opListNodes, HTTPMethod: "GET", HTTPPath: "/v1/clusters/{clusterArn}/nodes", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -557,6 +1051,56 @@ func (c *Kafka) ListNodesWithContext(ctx aws.Context, input *ListNodesInput, opt return out, req.Send() } +// ListNodesPages iterates over the pages of a ListNodes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNodes 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 ListNodes operation. +// pageNum := 0 +// err := client.ListNodesPages(params, +// func(page *ListNodesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Kafka) ListNodesPages(input *ListNodesInput, fn func(*ListNodesOutput, bool) bool) error { + return c.ListNodesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListNodesPagesWithContext same as ListNodesPages 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 *Kafka) ListNodesPagesWithContext(ctx aws.Context, input *ListNodesInput, fn func(*ListNodesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNodesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNodesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListNodesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -978,7 +1522,7 @@ type BrokerSoftwareInfo struct { ConfigurationArn *string `locationName:"configurationArn" type:"string"` // The revision of the configuration to use. - ConfigurationRevision *string `locationName:"configurationRevision" type:"string"` + ConfigurationRevision *int64 `locationName:"configurationRevision" type:"long"` // The version of Apache Kafka. KafkaVersion *string `locationName:"kafkaVersion" type:"string"` @@ -1001,7 +1545,7 @@ func (s *BrokerSoftwareInfo) SetConfigurationArn(v string) *BrokerSoftwareInfo { } // SetConfigurationRevision sets the ConfigurationRevision field's value. -func (s *BrokerSoftwareInfo) SetConfigurationRevision(v string) *BrokerSoftwareInfo { +func (s *BrokerSoftwareInfo) SetConfigurationRevision(v int64) *BrokerSoftwareInfo { s.ConfigurationRevision = &v return s } @@ -1122,9 +1666,185 @@ func (s *ClusterInfo) SetState(v string) *ClusterInfo { return s } -// SetZookeeperConnectString sets the ZookeeperConnectString field's value. -func (s *ClusterInfo) SetZookeeperConnectString(v string) *ClusterInfo { - s.ZookeeperConnectString = &v +// SetZookeeperConnectString sets the ZookeeperConnectString field's value. +func (s *ClusterInfo) SetZookeeperConnectString(v string) *ClusterInfo { + s.ZookeeperConnectString = &v + return s +} + +// Represents an MSK Configuration. +type Configuration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configuration. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the configuration. + // + // Description is a required field + Description *string `locationName:"description" type:"string" required:"true"` + + // KafkaVersions is a required field + KafkaVersions []*string `locationName:"kafkaVersions" type:"list" required:"true"` + + // Describes a configuration revision. + // + // LatestRevision is a required field + LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure" required:"true"` + + // The name of the configuration. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s Configuration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Configuration) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Configuration) SetArn(v string) *Configuration { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Configuration) SetCreationTime(v time.Time) *Configuration { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Configuration) SetDescription(v string) *Configuration { + s.Description = &v + return s +} + +// SetKafkaVersions sets the KafkaVersions field's value. +func (s *Configuration) SetKafkaVersions(v []*string) *Configuration { + s.KafkaVersions = v + return s +} + +// SetLatestRevision sets the LatestRevision field's value. +func (s *Configuration) SetLatestRevision(v *ConfigurationRevision) *Configuration { + s.LatestRevision = v + return s +} + +// SetName sets the Name field's value. +func (s *Configuration) SetName(v string) *Configuration { + s.Name = &v + return s +} + +// Specifies the Kafka configuration to use for the brokers. +type ConfigurationInfo struct { + _ struct{} `type:"structure"` + + // ARN of the configuration to use. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The revision of the configuration to use. + // + // Revision is a required field + Revision *int64 `locationName:"revision" type:"long" required:"true"` +} + +// String returns the string representation +func (s ConfigurationInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConfigurationInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfigurationInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfigurationInfo"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Revision == nil { + invalidParams.Add(request.NewErrParamRequired("Revision")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *ConfigurationInfo) SetArn(v string) *ConfigurationInfo { + s.Arn = &v + return s +} + +// SetRevision sets the Revision field's value. +func (s *ConfigurationInfo) SetRevision(v int64) *ConfigurationInfo { + s.Revision = &v + return s +} + +// Describes a configuration revision. +type ConfigurationRevision struct { + _ struct{} `type:"structure"` + + // The time when the configuration revision was created. + // + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the configuration revision. + Description *string `locationName:"description" type:"string"` + + // The revision number. + // + // Revision is a required field + Revision *int64 `locationName:"revision" type:"long" required:"true"` +} + +// String returns the string representation +func (s ConfigurationRevision) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConfigurationRevision) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ConfigurationRevision) SetCreationTime(v time.Time) *ConfigurationRevision { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ConfigurationRevision) SetDescription(v string) *ConfigurationRevision { + s.Description = &v + return s +} + +// SetRevision sets the Revision field's value. +func (s *ConfigurationRevision) SetRevision(v int64) *ConfigurationRevision { + s.Revision = &v return s } @@ -1142,6 +1862,9 @@ type CreateClusterInput struct { // ClusterName is a required field ClusterName *string `locationName:"clusterName" min:"1" type:"string" required:"true"` + // Comprises of the Configuration to be used on Kafka brokers in a cluster. + ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"` + // Includes all encryption-related information. EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"` @@ -1199,6 +1922,11 @@ func (s *CreateClusterInput) Validate() error { invalidParams.AddNested("BrokerNodeGroupInfo", err.(request.ErrInvalidParams)) } } + if s.ConfigurationInfo != nil { + if err := s.ConfigurationInfo.Validate(); err != nil { + invalidParams.AddNested("ConfigurationInfo", err.(request.ErrInvalidParams)) + } + } if s.EncryptionInfo != nil { if err := s.EncryptionInfo.Validate(); err != nil { invalidParams.AddNested("EncryptionInfo", err.(request.ErrInvalidParams)) @@ -1223,6 +1951,12 @@ func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { return s } +// SetConfigurationInfo sets the ConfigurationInfo field's value. +func (s *CreateClusterInput) SetConfigurationInfo(v *ConfigurationInfo) *CreateClusterInput { + s.ConfigurationInfo = v + return s +} + // SetEncryptionInfo sets the EncryptionInfo field's value. func (s *CreateClusterInput) SetEncryptionInfo(v *EncryptionInfo) *CreateClusterInput { s.EncryptionInfo = v @@ -1289,6 +2023,138 @@ func (s *CreateClusterOutput) SetState(v string) *CreateClusterOutput { return s } +// Request body for CreateConfiguration. +type CreateConfigurationInput struct { + _ struct{} `type:"structure"` + + // The description of the configuration. + Description *string `locationName:"description" type:"string"` + + // The versions of Apache Kafka with which you can use this MSK configuration. + // + // KafkaVersions is a required field + KafkaVersions []*string `locationName:"kafkaVersions" type:"list" required:"true"` + + // The name of the configuration. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Contents of the server.properties file. When using the API, you must ensure + // that the contents of the file are base64 encoded. When using the AWS Management + // Console, the SDK, or the AWS CLI, the contents of server.properties can be + // in plaintext. + // + // ServerProperties is automatically base64 encoded/decoded by the SDK. + // + // ServerProperties is a required field + ServerProperties []byte `locationName:"serverProperties" type:"blob" required:"true"` +} + +// String returns the string representation +func (s CreateConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationInput"} + if s.KafkaVersions == nil { + invalidParams.Add(request.NewErrParamRequired("KafkaVersions")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ServerProperties == nil { + invalidParams.Add(request.NewErrParamRequired("ServerProperties")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateConfigurationInput) SetDescription(v string) *CreateConfigurationInput { + s.Description = &v + return s +} + +// SetKafkaVersions sets the KafkaVersions field's value. +func (s *CreateConfigurationInput) SetKafkaVersions(v []*string) *CreateConfigurationInput { + s.KafkaVersions = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateConfigurationInput) SetName(v string) *CreateConfigurationInput { + s.Name = &v + return s +} + +// SetServerProperties sets the ServerProperties field's value. +func (s *CreateConfigurationInput) SetServerProperties(v []byte) *CreateConfigurationInput { + s.ServerProperties = v + return s +} + +// Response body for CreateConfiguration +type CreateConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configuration. + Arn *string `locationName:"arn" type:"string"` + + // The time when the configuration was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // Latest revision of the configuration. + LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"` + + // The name of the configuration. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s CreateConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateConfigurationOutput) SetArn(v string) *CreateConfigurationOutput { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateConfigurationOutput) SetCreationTime(v time.Time) *CreateConfigurationOutput { + s.CreationTime = &v + return s +} + +// SetLatestRevision sets the LatestRevision field's value. +func (s *CreateConfigurationOutput) SetLatestRevision(v *ConfigurationRevision) *CreateConfigurationOutput { + s.LatestRevision = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateConfigurationOutput) SetName(v string) *CreateConfigurationOutput { + s.Name = &v + return s +} + type DeleteClusterInput struct { _ struct{} `type:"structure"` @@ -1432,6 +2298,229 @@ func (s *DescribeClusterOutput) SetClusterInfo(v *ClusterInfo) *DescribeClusterO return s } +type DescribeConfigurationInput struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DescribeConfigurationInput) SetArn(v string) *DescribeConfigurationInput { + s.Arn = &v + return s +} + +// Response body for DescribeConfiguration. +type DescribeConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configuration. + Arn *string `locationName:"arn" type:"string"` + + // The time when the configuration was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // The description of the configuration. + Description *string `locationName:"description" type:"string"` + + // The versions of Apache Kafka with which you can use this MSK configuration. + KafkaVersions []*string `locationName:"kafkaVersions" type:"list"` + + // Latest revision of the configuration. + LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"` + + // The name of the configuration. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s DescribeConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeConfigurationOutput) SetArn(v string) *DescribeConfigurationOutput { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeConfigurationOutput) SetCreationTime(v time.Time) *DescribeConfigurationOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeConfigurationOutput) SetDescription(v string) *DescribeConfigurationOutput { + s.Description = &v + return s +} + +// SetKafkaVersions sets the KafkaVersions field's value. +func (s *DescribeConfigurationOutput) SetKafkaVersions(v []*string) *DescribeConfigurationOutput { + s.KafkaVersions = v + return s +} + +// SetLatestRevision sets the LatestRevision field's value. +func (s *DescribeConfigurationOutput) SetLatestRevision(v *ConfigurationRevision) *DescribeConfigurationOutput { + s.LatestRevision = v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeConfigurationOutput) SetName(v string) *DescribeConfigurationOutput { + s.Name = &v + return s +} + +type DescribeConfigurationRevisionInput struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` + + // Revision is a required field + Revision *int64 `location:"uri" locationName:"revision" type:"long" required:"true"` +} + +// String returns the string representation +func (s DescribeConfigurationRevisionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeConfigurationRevisionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeConfigurationRevisionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationRevisionInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.Revision == nil { + invalidParams.Add(request.NewErrParamRequired("Revision")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DescribeConfigurationRevisionInput) SetArn(v string) *DescribeConfigurationRevisionInput { + s.Arn = &v + return s +} + +// SetRevision sets the Revision field's value. +func (s *DescribeConfigurationRevisionInput) SetRevision(v int64) *DescribeConfigurationRevisionInput { + s.Revision = &v + return s +} + +// Response body for DescribeConfigurationRevision. +type DescribeConfigurationRevisionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configuration. + Arn *string `locationName:"arn" type:"string"` + + // The time when the configuration was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // The description of the configuration. + Description *string `locationName:"description" type:"string"` + + Revision *int64 `locationName:"revision" type:"long"` + + // Contents of the server.properties file. When using the API, you must ensure + // that the contents of the file are base64 encoded. When using the AWS Management + // Console, the SDK, or the AWS CLI, the contents of server.properties can be + // in plaintext. + // + // ServerProperties is automatically base64 encoded/decoded by the SDK. + ServerProperties []byte `locationName:"serverProperties" type:"blob"` +} + +// String returns the string representation +func (s DescribeConfigurationRevisionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeConfigurationRevisionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeConfigurationRevisionOutput) SetArn(v string) *DescribeConfigurationRevisionOutput { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeConfigurationRevisionOutput) SetCreationTime(v time.Time) *DescribeConfigurationRevisionOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeConfigurationRevisionOutput) SetDescription(v string) *DescribeConfigurationRevisionOutput { + s.Description = &v + return s +} + +// SetRevision sets the Revision field's value. +func (s *DescribeConfigurationRevisionOutput) SetRevision(v int64) *DescribeConfigurationRevisionOutput { + s.Revision = &v + return s +} + +// SetServerProperties sets the ServerProperties field's value. +func (s *DescribeConfigurationRevisionOutput) SetServerProperties(v []byte) *DescribeConfigurationRevisionOutput { + s.ServerProperties = v + return s +} + // Contains information about the EBS storage volumes attached to Kafka broker // nodes. type EBSStorageInfo struct { @@ -1699,6 +2788,71 @@ func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { return s } +type ListConfigurationsInput struct { + _ struct{} `type:"structure"` + + MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListConfigurationsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListConfigurationsInput) SetMaxResults(v string) *ListConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfigurationsInput) SetNextToken(v string) *ListConfigurationsInput { + s.NextToken = &v + return s +} + +// The response contains an array of Configuration and a next token if the response +// is truncated. +type ListConfigurationsOutput struct { + _ struct{} `type:"structure"` + + Configurations []*Configuration `locationName:"configurations" type:"list"` + + // The paginated results marker. When the result of a ListConfigurations operation + // is truncated, the call returns NextToken in the response. To get another + // batch of configurations, provide this token in your next request. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListConfigurationsOutput) GoString() string { + return s.String() +} + +// SetConfigurations sets the Configurations field's value. +func (s *ListConfigurationsOutput) SetConfigurations(v []*Configuration) *ListConfigurationsOutput { + s.Configurations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfigurationsOutput) SetNextToken(v string) *ListConfigurationsOutput { + s.NextToken = &v + return s +} + type ListNodesInput struct { _ struct{} `type:"structure"` diff --git a/service/kafka/doc.go b/service/kafka/doc.go index bc1d6eed634..2dd7d82b152 100644 --- a/service/kafka/doc.go +++ b/service/kafka/doc.go @@ -3,7 +3,8 @@ // Package kafka provides the client and types for making API // requests to Managed Streaming for Kafka. // -// The operations for managing an Amazon MSK cluster. +// The operations for managing an Amazon MSK cluster. This is prerelease documentation +// for a service in preview release. It is subject to change // // See https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14 for more information on this service. // diff --git a/service/kafka/kafkaiface/interface.go b/service/kafka/kafkaiface/interface.go index 96ef3bf8d03..0c6707f9023 100644 --- a/service/kafka/kafkaiface/interface.go +++ b/service/kafka/kafkaiface/interface.go @@ -64,6 +64,10 @@ type KafkaAPI interface { CreateClusterWithContext(aws.Context, *kafka.CreateClusterInput, ...request.Option) (*kafka.CreateClusterOutput, error) CreateClusterRequest(*kafka.CreateClusterInput) (*request.Request, *kafka.CreateClusterOutput) + CreateConfiguration(*kafka.CreateConfigurationInput) (*kafka.CreateConfigurationOutput, error) + CreateConfigurationWithContext(aws.Context, *kafka.CreateConfigurationInput, ...request.Option) (*kafka.CreateConfigurationOutput, error) + CreateConfigurationRequest(*kafka.CreateConfigurationInput) (*request.Request, *kafka.CreateConfigurationOutput) + DeleteCluster(*kafka.DeleteClusterInput) (*kafka.DeleteClusterOutput, error) DeleteClusterWithContext(aws.Context, *kafka.DeleteClusterInput, ...request.Option) (*kafka.DeleteClusterOutput, error) DeleteClusterRequest(*kafka.DeleteClusterInput) (*request.Request, *kafka.DeleteClusterOutput) @@ -72,6 +76,14 @@ type KafkaAPI interface { DescribeClusterWithContext(aws.Context, *kafka.DescribeClusterInput, ...request.Option) (*kafka.DescribeClusterOutput, error) DescribeClusterRequest(*kafka.DescribeClusterInput) (*request.Request, *kafka.DescribeClusterOutput) + DescribeConfiguration(*kafka.DescribeConfigurationInput) (*kafka.DescribeConfigurationOutput, error) + DescribeConfigurationWithContext(aws.Context, *kafka.DescribeConfigurationInput, ...request.Option) (*kafka.DescribeConfigurationOutput, error) + DescribeConfigurationRequest(*kafka.DescribeConfigurationInput) (*request.Request, *kafka.DescribeConfigurationOutput) + + DescribeConfigurationRevision(*kafka.DescribeConfigurationRevisionInput) (*kafka.DescribeConfigurationRevisionOutput, error) + DescribeConfigurationRevisionWithContext(aws.Context, *kafka.DescribeConfigurationRevisionInput, ...request.Option) (*kafka.DescribeConfigurationRevisionOutput, error) + DescribeConfigurationRevisionRequest(*kafka.DescribeConfigurationRevisionInput) (*request.Request, *kafka.DescribeConfigurationRevisionOutput) + GetBootstrapBrokers(*kafka.GetBootstrapBrokersInput) (*kafka.GetBootstrapBrokersOutput, error) GetBootstrapBrokersWithContext(aws.Context, *kafka.GetBootstrapBrokersInput, ...request.Option) (*kafka.GetBootstrapBrokersOutput, error) GetBootstrapBrokersRequest(*kafka.GetBootstrapBrokersInput) (*request.Request, *kafka.GetBootstrapBrokersOutput) @@ -80,10 +92,23 @@ type KafkaAPI interface { ListClustersWithContext(aws.Context, *kafka.ListClustersInput, ...request.Option) (*kafka.ListClustersOutput, error) ListClustersRequest(*kafka.ListClustersInput) (*request.Request, *kafka.ListClustersOutput) + ListClustersPages(*kafka.ListClustersInput, func(*kafka.ListClustersOutput, bool) bool) error + ListClustersPagesWithContext(aws.Context, *kafka.ListClustersInput, func(*kafka.ListClustersOutput, bool) bool, ...request.Option) error + + ListConfigurations(*kafka.ListConfigurationsInput) (*kafka.ListConfigurationsOutput, error) + ListConfigurationsWithContext(aws.Context, *kafka.ListConfigurationsInput, ...request.Option) (*kafka.ListConfigurationsOutput, error) + ListConfigurationsRequest(*kafka.ListConfigurationsInput) (*request.Request, *kafka.ListConfigurationsOutput) + + ListConfigurationsPages(*kafka.ListConfigurationsInput, func(*kafka.ListConfigurationsOutput, bool) bool) error + ListConfigurationsPagesWithContext(aws.Context, *kafka.ListConfigurationsInput, func(*kafka.ListConfigurationsOutput, bool) bool, ...request.Option) error + ListNodes(*kafka.ListNodesInput) (*kafka.ListNodesOutput, error) ListNodesWithContext(aws.Context, *kafka.ListNodesInput, ...request.Option) (*kafka.ListNodesOutput, error) ListNodesRequest(*kafka.ListNodesInput) (*request.Request, *kafka.ListNodesOutput) + ListNodesPages(*kafka.ListNodesInput, func(*kafka.ListNodesOutput, bool) bool) error + ListNodesPagesWithContext(aws.Context, *kafka.ListNodesInput, func(*kafka.ListNodesOutput, bool) bool, ...request.Option) error + ListTagsForResource(*kafka.ListTagsForResourceInput) (*kafka.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *kafka.ListTagsForResourceInput, ...request.Option) (*kafka.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*kafka.ListTagsForResourceInput) (*request.Request, *kafka.ListTagsForResourceOutput) diff --git a/service/marketplacemetering/api.go b/service/marketplacemetering/api.go index a3028428c17..cf659a4e386 100644 --- a/service/marketplacemetering/api.go +++ b/service/marketplacemetering/api.go @@ -584,8 +584,9 @@ type MeterUsageInput struct { // ProductCode is a required field ProductCode *string `min:"1" type:"string" required:"true"` - // Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions - // of the timestamp will be ignored. + // Timestamp, in UTC, for which the usage is being reported. Your application + // can meter usage for up to one hour in the past. Make sure the timestamp value + // is not before the start of the software usage. // // Timestamp is a required field Timestamp *time.Time `type:"timestamp" required:"true"` @@ -894,10 +895,10 @@ type UsageRecord struct { // time. Defaults to 0 if not specified. Quantity *int64 `type:"integer"` - // Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions - // of the timestamp will be ignored. + // Timestamp, in UTC, for which the usage is being reported. // - // Your application can meter usage for up to one hour in the past. + // Your application can meter usage for up to one hour in the past. Make sure + // the timestamp value is not before the start of the software usage. // // Timestamp is a required field Timestamp *time.Time `type:"timestamp" required:"true"` diff --git a/service/mediapackagevod/api.go b/service/mediapackagevod/api.go new file mode 100644 index 00000000000..184be3bb916 --- /dev/null +++ b/service/mediapackagevod/api.go @@ -0,0 +1,3294 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediapackagevod + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateAsset = "CreateAsset" + +// CreateAssetRequest generates a "aws/request.Request" representing the +// client's request for the CreateAsset 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 CreateAsset for more information on using the CreateAsset +// 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 CreateAssetRequest method. +// req, resp := client.CreateAssetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreateAsset +func (c *MediaPackageVod) CreateAssetRequest(input *CreateAssetInput) (req *request.Request, output *CreateAssetOutput) { + op := &request.Operation{ + Name: opCreateAsset, + HTTPMethod: "POST", + HTTPPath: "/assets", + } + + if input == nil { + input = &CreateAssetInput{} + } + + output = &CreateAssetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAsset API operation for AWS Elemental MediaPackage VOD. +// +// Creates a new MediaPackage VOD Asset resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation CreateAsset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreateAsset +func (c *MediaPackageVod) CreateAsset(input *CreateAssetInput) (*CreateAssetOutput, error) { + req, out := c.CreateAssetRequest(input) + return out, req.Send() +} + +// CreateAssetWithContext is the same as CreateAsset with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAsset 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 *MediaPackageVod) CreateAssetWithContext(ctx aws.Context, input *CreateAssetInput, opts ...request.Option) (*CreateAssetOutput, error) { + req, out := c.CreateAssetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePackagingConfiguration = "CreatePackagingConfiguration" + +// CreatePackagingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreatePackagingConfiguration 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 CreatePackagingConfiguration for more information on using the CreatePackagingConfiguration +// 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 CreatePackagingConfigurationRequest method. +// req, resp := client.CreatePackagingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingConfiguration +func (c *MediaPackageVod) CreatePackagingConfigurationRequest(input *CreatePackagingConfigurationInput) (req *request.Request, output *CreatePackagingConfigurationOutput) { + op := &request.Operation{ + Name: opCreatePackagingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/packaging_configurations", + } + + if input == nil { + input = &CreatePackagingConfigurationInput{} + } + + output = &CreatePackagingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePackagingConfiguration API operation for AWS Elemental MediaPackage VOD. +// +// Creates a new MediaPackage VOD PackagingConfiguration resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation CreatePackagingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingConfiguration +func (c *MediaPackageVod) CreatePackagingConfiguration(input *CreatePackagingConfigurationInput) (*CreatePackagingConfigurationOutput, error) { + req, out := c.CreatePackagingConfigurationRequest(input) + return out, req.Send() +} + +// CreatePackagingConfigurationWithContext is the same as CreatePackagingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePackagingConfiguration 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 *MediaPackageVod) CreatePackagingConfigurationWithContext(ctx aws.Context, input *CreatePackagingConfigurationInput, opts ...request.Option) (*CreatePackagingConfigurationOutput, error) { + req, out := c.CreatePackagingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePackagingGroup = "CreatePackagingGroup" + +// CreatePackagingGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreatePackagingGroup 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 CreatePackagingGroup for more information on using the CreatePackagingGroup +// 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 CreatePackagingGroupRequest method. +// req, resp := client.CreatePackagingGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingGroup +func (c *MediaPackageVod) CreatePackagingGroupRequest(input *CreatePackagingGroupInput) (req *request.Request, output *CreatePackagingGroupOutput) { + op := &request.Operation{ + Name: opCreatePackagingGroup, + HTTPMethod: "POST", + HTTPPath: "/packaging_groups", + } + + if input == nil { + input = &CreatePackagingGroupInput{} + } + + output = &CreatePackagingGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePackagingGroup API operation for AWS Elemental MediaPackage VOD. +// +// Creates a new MediaPackage VOD PackagingGroup resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation CreatePackagingGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingGroup +func (c *MediaPackageVod) CreatePackagingGroup(input *CreatePackagingGroupInput) (*CreatePackagingGroupOutput, error) { + req, out := c.CreatePackagingGroupRequest(input) + return out, req.Send() +} + +// CreatePackagingGroupWithContext is the same as CreatePackagingGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePackagingGroup 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 *MediaPackageVod) CreatePackagingGroupWithContext(ctx aws.Context, input *CreatePackagingGroupInput, opts ...request.Option) (*CreatePackagingGroupOutput, error) { + req, out := c.CreatePackagingGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAsset = "DeleteAsset" + +// DeleteAssetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAsset 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 DeleteAsset for more information on using the DeleteAsset +// 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 DeleteAssetRequest method. +// req, resp := client.DeleteAssetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeleteAsset +func (c *MediaPackageVod) DeleteAssetRequest(input *DeleteAssetInput) (req *request.Request, output *DeleteAssetOutput) { + op := &request.Operation{ + Name: opDeleteAsset, + HTTPMethod: "DELETE", + HTTPPath: "/assets/{id}", + } + + if input == nil { + input = &DeleteAssetInput{} + } + + output = &DeleteAssetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAsset API operation for AWS Elemental MediaPackage VOD. +// +// Deletes an existing MediaPackage VOD Asset resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation DeleteAsset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeleteAsset +func (c *MediaPackageVod) DeleteAsset(input *DeleteAssetInput) (*DeleteAssetOutput, error) { + req, out := c.DeleteAssetRequest(input) + return out, req.Send() +} + +// DeleteAssetWithContext is the same as DeleteAsset with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAsset 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 *MediaPackageVod) DeleteAssetWithContext(ctx aws.Context, input *DeleteAssetInput, opts ...request.Option) (*DeleteAssetOutput, error) { + req, out := c.DeleteAssetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePackagingConfiguration = "DeletePackagingConfiguration" + +// DeletePackagingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeletePackagingConfiguration 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 DeletePackagingConfiguration for more information on using the DeletePackagingConfiguration +// 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 DeletePackagingConfigurationRequest method. +// req, resp := client.DeletePackagingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingConfiguration +func (c *MediaPackageVod) DeletePackagingConfigurationRequest(input *DeletePackagingConfigurationInput) (req *request.Request, output *DeletePackagingConfigurationOutput) { + op := &request.Operation{ + Name: opDeletePackagingConfiguration, + HTTPMethod: "DELETE", + HTTPPath: "/packaging_configurations/{id}", + } + + if input == nil { + input = &DeletePackagingConfigurationInput{} + } + + output = &DeletePackagingConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePackagingConfiguration API operation for AWS Elemental MediaPackage VOD. +// +// Deletes a MediaPackage VOD PackagingConfiguration resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation DeletePackagingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingConfiguration +func (c *MediaPackageVod) DeletePackagingConfiguration(input *DeletePackagingConfigurationInput) (*DeletePackagingConfigurationOutput, error) { + req, out := c.DeletePackagingConfigurationRequest(input) + return out, req.Send() +} + +// DeletePackagingConfigurationWithContext is the same as DeletePackagingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePackagingConfiguration 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 *MediaPackageVod) DeletePackagingConfigurationWithContext(ctx aws.Context, input *DeletePackagingConfigurationInput, opts ...request.Option) (*DeletePackagingConfigurationOutput, error) { + req, out := c.DeletePackagingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePackagingGroup = "DeletePackagingGroup" + +// DeletePackagingGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeletePackagingGroup 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 DeletePackagingGroup for more information on using the DeletePackagingGroup +// 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 DeletePackagingGroupRequest method. +// req, resp := client.DeletePackagingGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingGroup +func (c *MediaPackageVod) DeletePackagingGroupRequest(input *DeletePackagingGroupInput) (req *request.Request, output *DeletePackagingGroupOutput) { + op := &request.Operation{ + Name: opDeletePackagingGroup, + HTTPMethod: "DELETE", + HTTPPath: "/packaging_groups/{id}", + } + + if input == nil { + input = &DeletePackagingGroupInput{} + } + + output = &DeletePackagingGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePackagingGroup API operation for AWS Elemental MediaPackage VOD. +// +// Deletes a MediaPackage VOD PackagingGroup resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation DeletePackagingGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingGroup +func (c *MediaPackageVod) DeletePackagingGroup(input *DeletePackagingGroupInput) (*DeletePackagingGroupOutput, error) { + req, out := c.DeletePackagingGroupRequest(input) + return out, req.Send() +} + +// DeletePackagingGroupWithContext is the same as DeletePackagingGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePackagingGroup 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 *MediaPackageVod) DeletePackagingGroupWithContext(ctx aws.Context, input *DeletePackagingGroupInput, opts ...request.Option) (*DeletePackagingGroupOutput, error) { + req, out := c.DeletePackagingGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAsset = "DescribeAsset" + +// DescribeAssetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAsset 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 DescribeAsset for more information on using the DescribeAsset +// 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 DescribeAssetRequest method. +// req, resp := client.DescribeAssetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribeAsset +func (c *MediaPackageVod) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) { + op := &request.Operation{ + Name: opDescribeAsset, + HTTPMethod: "GET", + HTTPPath: "/assets/{id}", + } + + if input == nil { + input = &DescribeAssetInput{} + } + + output = &DescribeAssetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAsset API operation for AWS Elemental MediaPackage VOD. +// +// Returns a description of a MediaPackage VOD Asset resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation DescribeAsset for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribeAsset +func (c *MediaPackageVod) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) { + req, out := c.DescribeAssetRequest(input) + return out, req.Send() +} + +// DescribeAssetWithContext is the same as DescribeAsset with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAsset 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 *MediaPackageVod) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) { + req, out := c.DescribeAssetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribePackagingConfiguration = "DescribePackagingConfiguration" + +// DescribePackagingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribePackagingConfiguration 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 DescribePackagingConfiguration for more information on using the DescribePackagingConfiguration +// 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 DescribePackagingConfigurationRequest method. +// req, resp := client.DescribePackagingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingConfiguration +func (c *MediaPackageVod) DescribePackagingConfigurationRequest(input *DescribePackagingConfigurationInput) (req *request.Request, output *DescribePackagingConfigurationOutput) { + op := &request.Operation{ + Name: opDescribePackagingConfiguration, + HTTPMethod: "GET", + HTTPPath: "/packaging_configurations/{id}", + } + + if input == nil { + input = &DescribePackagingConfigurationInput{} + } + + output = &DescribePackagingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePackagingConfiguration API operation for AWS Elemental MediaPackage VOD. +// +// Returns a description of a MediaPackage VOD PackagingConfiguration resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation DescribePackagingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingConfiguration +func (c *MediaPackageVod) DescribePackagingConfiguration(input *DescribePackagingConfigurationInput) (*DescribePackagingConfigurationOutput, error) { + req, out := c.DescribePackagingConfigurationRequest(input) + return out, req.Send() +} + +// DescribePackagingConfigurationWithContext is the same as DescribePackagingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePackagingConfiguration 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 *MediaPackageVod) DescribePackagingConfigurationWithContext(ctx aws.Context, input *DescribePackagingConfigurationInput, opts ...request.Option) (*DescribePackagingConfigurationOutput, error) { + req, out := c.DescribePackagingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribePackagingGroup = "DescribePackagingGroup" + +// DescribePackagingGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribePackagingGroup 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 DescribePackagingGroup for more information on using the DescribePackagingGroup +// 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 DescribePackagingGroupRequest method. +// req, resp := client.DescribePackagingGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingGroup +func (c *MediaPackageVod) DescribePackagingGroupRequest(input *DescribePackagingGroupInput) (req *request.Request, output *DescribePackagingGroupOutput) { + op := &request.Operation{ + Name: opDescribePackagingGroup, + HTTPMethod: "GET", + HTTPPath: "/packaging_groups/{id}", + } + + if input == nil { + input = &DescribePackagingGroupInput{} + } + + output = &DescribePackagingGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePackagingGroup API operation for AWS Elemental MediaPackage VOD. +// +// Returns a description of a MediaPackage VOD PackagingGroup resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage VOD's +// API operation DescribePackagingGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingGroup +func (c *MediaPackageVod) DescribePackagingGroup(input *DescribePackagingGroupInput) (*DescribePackagingGroupOutput, error) { + req, out := c.DescribePackagingGroupRequest(input) + return out, req.Send() +} + +// DescribePackagingGroupWithContext is the same as DescribePackagingGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePackagingGroup 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 *MediaPackageVod) DescribePackagingGroupWithContext(ctx aws.Context, input *DescribePackagingGroupInput, opts ...request.Option) (*DescribePackagingGroupOutput, error) { + req, out := c.DescribePackagingGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAssets = "ListAssets" + +// ListAssetsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssets 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 ListAssets for more information on using the ListAssets +// 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 ListAssetsRequest method. +// req, resp := client.ListAssetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListAssets +func (c *MediaPackageVod) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) { + op := &request.Operation{ + Name: opListAssets, + HTTPMethod: "GET", + HTTPPath: "/assets", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAssetsInput{} + } + + output = &ListAssetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAssets API operation for AWS Elemental MediaPackage VOD. +// +// Returns a collection of MediaPackage VOD Asset resources. +// +// 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 MediaPackage VOD's +// API operation ListAssets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListAssets +func (c *MediaPackageVod) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) { + req, out := c.ListAssetsRequest(input) + return out, req.Send() +} + +// ListAssetsWithContext is the same as ListAssets with the addition of +// the ability to pass a context and additional request options. +// +// See ListAssets 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 *MediaPackageVod) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) { + req, out := c.ListAssetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAssetsPages iterates over the pages of a ListAssets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssets 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 ListAssets operation. +// pageNum := 0 +// err := client.ListAssetsPages(params, +// func(page *ListAssetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaPackageVod) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error { + return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssetsPagesWithContext same as ListAssetsPages 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 *MediaPackageVod) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListPackagingConfigurations = "ListPackagingConfigurations" + +// ListPackagingConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListPackagingConfigurations 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 ListPackagingConfigurations for more information on using the ListPackagingConfigurations +// 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 ListPackagingConfigurationsRequest method. +// req, resp := client.ListPackagingConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingConfigurations +func (c *MediaPackageVod) ListPackagingConfigurationsRequest(input *ListPackagingConfigurationsInput) (req *request.Request, output *ListPackagingConfigurationsOutput) { + op := &request.Operation{ + Name: opListPackagingConfigurations, + HTTPMethod: "GET", + HTTPPath: "/packaging_configurations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPackagingConfigurationsInput{} + } + + output = &ListPackagingConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPackagingConfigurations API operation for AWS Elemental MediaPackage VOD. +// +// Returns a collection of MediaPackage VOD PackagingConfiguration resources. +// +// 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 MediaPackage VOD's +// API operation ListPackagingConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingConfigurations +func (c *MediaPackageVod) ListPackagingConfigurations(input *ListPackagingConfigurationsInput) (*ListPackagingConfigurationsOutput, error) { + req, out := c.ListPackagingConfigurationsRequest(input) + return out, req.Send() +} + +// ListPackagingConfigurationsWithContext is the same as ListPackagingConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListPackagingConfigurations 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 *MediaPackageVod) ListPackagingConfigurationsWithContext(ctx aws.Context, input *ListPackagingConfigurationsInput, opts ...request.Option) (*ListPackagingConfigurationsOutput, error) { + req, out := c.ListPackagingConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPackagingConfigurationsPages iterates over the pages of a ListPackagingConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPackagingConfigurations 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 ListPackagingConfigurations operation. +// pageNum := 0 +// err := client.ListPackagingConfigurationsPages(params, +// func(page *ListPackagingConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaPackageVod) ListPackagingConfigurationsPages(input *ListPackagingConfigurationsInput, fn func(*ListPackagingConfigurationsOutput, bool) bool) error { + return c.ListPackagingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPackagingConfigurationsPagesWithContext same as ListPackagingConfigurationsPages 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 *MediaPackageVod) ListPackagingConfigurationsPagesWithContext(ctx aws.Context, input *ListPackagingConfigurationsInput, fn func(*ListPackagingConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPackagingConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPackagingConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPackagingConfigurationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListPackagingGroups = "ListPackagingGroups" + +// ListPackagingGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListPackagingGroups 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 ListPackagingGroups for more information on using the ListPackagingGroups +// 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 ListPackagingGroupsRequest method. +// req, resp := client.ListPackagingGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingGroups +func (c *MediaPackageVod) ListPackagingGroupsRequest(input *ListPackagingGroupsInput) (req *request.Request, output *ListPackagingGroupsOutput) { + op := &request.Operation{ + Name: opListPackagingGroups, + HTTPMethod: "GET", + HTTPPath: "/packaging_groups", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPackagingGroupsInput{} + } + + output = &ListPackagingGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPackagingGroups API operation for AWS Elemental MediaPackage VOD. +// +// Returns a collection of MediaPackage VOD PackagingGroup resources. +// +// 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 MediaPackage VOD's +// API operation ListPackagingGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingGroups +func (c *MediaPackageVod) ListPackagingGroups(input *ListPackagingGroupsInput) (*ListPackagingGroupsOutput, error) { + req, out := c.ListPackagingGroupsRequest(input) + return out, req.Send() +} + +// ListPackagingGroupsWithContext is the same as ListPackagingGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListPackagingGroups 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 *MediaPackageVod) ListPackagingGroupsWithContext(ctx aws.Context, input *ListPackagingGroupsInput, opts ...request.Option) (*ListPackagingGroupsOutput, error) { + req, out := c.ListPackagingGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPackagingGroupsPages iterates over the pages of a ListPackagingGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPackagingGroups 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 ListPackagingGroups operation. +// pageNum := 0 +// err := client.ListPackagingGroupsPages(params, +// func(page *ListPackagingGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaPackageVod) ListPackagingGroupsPages(input *ListPackagingGroupsInput, fn func(*ListPackagingGroupsOutput, bool) bool) error { + return c.ListPackagingGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPackagingGroupsPagesWithContext same as ListPackagingGroupsPages 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 *MediaPackageVod) ListPackagingGroupsPagesWithContext(ctx aws.Context, input *ListPackagingGroupsInput, fn func(*ListPackagingGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPackagingGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPackagingGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPackagingGroupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +// A MediaPackage VOD Asset resource. +type AssetShallow struct { + _ struct{} `type:"structure"` + + // The ARN of the Asset. + Arn *string `locationName:"arn" type:"string"` + + // The unique identifier for the Asset. + Id *string `locationName:"id" type:"string"` + + // The ID of the PackagingGroup for the Asset. + PackagingGroupId *string `locationName:"packagingGroupId" type:"string"` + + // The resource ID to include in SPEKE key requests. + ResourceId *string `locationName:"resourceId" type:"string"` + + // ARN of the source object in S3. + SourceArn *string `locationName:"sourceArn" type:"string"` + + // The IAM role ARN used to access the source S3 bucket. + SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"` +} + +// String returns the string representation +func (s AssetShallow) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetShallow) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *AssetShallow) SetArn(v string) *AssetShallow { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *AssetShallow) SetId(v string) *AssetShallow { + s.Id = &v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *AssetShallow) SetPackagingGroupId(v string) *AssetShallow { + s.PackagingGroupId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *AssetShallow) SetResourceId(v string) *AssetShallow { + s.ResourceId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *AssetShallow) SetSourceArn(v string) *AssetShallow { + s.SourceArn = &v + return s +} + +// SetSourceRoleArn sets the SourceRoleArn field's value. +func (s *AssetShallow) SetSourceRoleArn(v string) *AssetShallow { + s.SourceRoleArn = &v + return s +} + +// A CMAF encryption configuration. +type CmafEncryption struct { + _ struct{} `type:"structure"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CmafEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CmafEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CmafEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CmafEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *CmafEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *CmafEncryption { + s.SpekeKeyProvider = v + return s +} + +// A CMAF packaging configuration. +type CmafPackage struct { + _ struct{} `type:"structure"` + + // A CMAF encryption configuration. + Encryption *CmafEncryption `locationName:"encryption" type:"structure"` + + // A list of HLS manifest configurations. + // + // HlsManifests is a required field + HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list" required:"true"` + + // Duration (in seconds) of each fragment. Actual fragments will berounded to + // the nearest multiple of the source fragment duration. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` +} + +// String returns the string representation +func (s CmafPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CmafPackage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CmafPackage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CmafPackage"} + if s.HlsManifests == nil { + invalidParams.Add(request.NewErrParamRequired("HlsManifests")) + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryption sets the Encryption field's value. +func (s *CmafPackage) SetEncryption(v *CmafEncryption) *CmafPackage { + s.Encryption = v + return s +} + +// SetHlsManifests sets the HlsManifests field's value. +func (s *CmafPackage) SetHlsManifests(v []*HlsManifest) *CmafPackage { + s.HlsManifests = v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *CmafPackage) SetSegmentDurationSeconds(v int64) *CmafPackage { + s.SegmentDurationSeconds = &v + return s +} + +type CreateAssetInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // PackagingGroupId is a required field + PackagingGroupId *string `locationName:"packagingGroupId" type:"string" required:"true"` + + ResourceId *string `locationName:"resourceId" type:"string"` + + // SourceArn is a required field + SourceArn *string `locationName:"sourceArn" type:"string" required:"true"` + + // SourceRoleArn is a required field + SourceRoleArn *string `locationName:"sourceRoleArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateAssetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAssetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.PackagingGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("PackagingGroupId")) + } + if s.SourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceArn")) + } + if s.SourceRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceRoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *CreateAssetInput) SetId(v string) *CreateAssetInput { + s.Id = &v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *CreateAssetInput) SetPackagingGroupId(v string) *CreateAssetInput { + s.PackagingGroupId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *CreateAssetInput) SetResourceId(v string) *CreateAssetInput { + s.ResourceId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *CreateAssetInput) SetSourceArn(v string) *CreateAssetInput { + s.SourceArn = &v + return s +} + +// SetSourceRoleArn sets the SourceRoleArn field's value. +func (s *CreateAssetInput) SetSourceRoleArn(v string) *CreateAssetInput { + s.SourceRoleArn = &v + return s +} + +type CreateAssetOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + EgressEndpoints []*EgressEndpoint `locationName:"egressEndpoints" type:"list"` + + Id *string `locationName:"id" type:"string"` + + PackagingGroupId *string `locationName:"packagingGroupId" type:"string"` + + ResourceId *string `locationName:"resourceId" type:"string"` + + SourceArn *string `locationName:"sourceArn" type:"string"` + + SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"` +} + +// String returns the string representation +func (s CreateAssetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssetOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateAssetOutput) SetArn(v string) *CreateAssetOutput { + s.Arn = &v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *CreateAssetOutput) SetEgressEndpoints(v []*EgressEndpoint) *CreateAssetOutput { + s.EgressEndpoints = v + return s +} + +// SetId sets the Id field's value. +func (s *CreateAssetOutput) SetId(v string) *CreateAssetOutput { + s.Id = &v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *CreateAssetOutput) SetPackagingGroupId(v string) *CreateAssetOutput { + s.PackagingGroupId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *CreateAssetOutput) SetResourceId(v string) *CreateAssetOutput { + s.ResourceId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *CreateAssetOutput) SetSourceArn(v string) *CreateAssetOutput { + s.SourceArn = &v + return s +} + +// SetSourceRoleArn sets the SourceRoleArn field's value. +func (s *CreateAssetOutput) SetSourceRoleArn(v string) *CreateAssetOutput { + s.SourceRoleArn = &v + return s +} + +type CreatePackagingConfigurationInput struct { + _ struct{} `type:"structure"` + + // A CMAF packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + // PackagingGroupId is a required field + PackagingGroupId *string `locationName:"packagingGroupId" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePackagingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePackagingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePackagingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePackagingConfigurationInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.PackagingGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("PackagingGroupId")) + } + if s.CmafPackage != nil { + if err := s.CmafPackage.Validate(); err != nil { + invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams)) + } + } + if s.DashPackage != nil { + if err := s.DashPackage.Validate(); err != nil { + invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams)) + } + } + if s.HlsPackage != nil { + if err := s.HlsPackage.Validate(); err != nil { + invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams)) + } + } + if s.MssPackage != nil { + if err := s.MssPackage.Validate(); err != nil { + invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *CreatePackagingConfigurationInput) SetCmafPackage(v *CmafPackage) *CreatePackagingConfigurationInput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *CreatePackagingConfigurationInput) SetDashPackage(v *DashPackage) *CreatePackagingConfigurationInput { + s.DashPackage = v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *CreatePackagingConfigurationInput) SetHlsPackage(v *HlsPackage) *CreatePackagingConfigurationInput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *CreatePackagingConfigurationInput) SetId(v string) *CreatePackagingConfigurationInput { + s.Id = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *CreatePackagingConfigurationInput) SetMssPackage(v *MssPackage) *CreatePackagingConfigurationInput { + s.MssPackage = v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *CreatePackagingConfigurationInput) SetPackagingGroupId(v string) *CreatePackagingConfigurationInput { + s.PackagingGroupId = &v + return s +} + +type CreatePackagingConfigurationOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + // A CMAF packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + PackagingGroupId *string `locationName:"packagingGroupId" type:"string"` +} + +// String returns the string representation +func (s CreatePackagingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePackagingConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreatePackagingConfigurationOutput) SetArn(v string) *CreatePackagingConfigurationOutput { + s.Arn = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *CreatePackagingConfigurationOutput) SetCmafPackage(v *CmafPackage) *CreatePackagingConfigurationOutput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *CreatePackagingConfigurationOutput) SetDashPackage(v *DashPackage) *CreatePackagingConfigurationOutput { + s.DashPackage = v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *CreatePackagingConfigurationOutput) SetHlsPackage(v *HlsPackage) *CreatePackagingConfigurationOutput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *CreatePackagingConfigurationOutput) SetId(v string) *CreatePackagingConfigurationOutput { + s.Id = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *CreatePackagingConfigurationOutput) SetMssPackage(v *MssPackage) *CreatePackagingConfigurationOutput { + s.MssPackage = v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *CreatePackagingConfigurationOutput) SetPackagingGroupId(v string) *CreatePackagingConfigurationOutput { + s.PackagingGroupId = &v + return s +} + +type CreatePackagingGroupInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePackagingGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePackagingGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePackagingGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePackagingGroupInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *CreatePackagingGroupInput) SetId(v string) *CreatePackagingGroupInput { + s.Id = &v + return s +} + +type CreatePackagingGroupOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Id *string `locationName:"id" type:"string"` +} + +// String returns the string representation +func (s CreatePackagingGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePackagingGroupOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreatePackagingGroupOutput) SetArn(v string) *CreatePackagingGroupOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreatePackagingGroupOutput) SetId(v string) *CreatePackagingGroupOutput { + s.Id = &v + return s +} + +// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. +type DashEncryption struct { + _ struct{} `type:"structure"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DashEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *DashEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashEncryption { + s.SpekeKeyProvider = v + return s +} + +// A DASH manifest configuration. +type DashManifest struct { + _ struct{} `type:"structure"` + + // An optional string to include in the name of the manifest. + ManifestName *string `locationName:"manifestName" type:"string"` + + // Minimum duration (in seconds) that a player will buffer media before starting + // the presentation. + MinBufferTimeSeconds *int64 `locationName:"minBufferTimeSeconds" type:"integer"` + + // The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to + // "HBBTV_1_5", HbbTV 1.5 compliant output is enabled. + Profile *string `locationName:"profile" type:"string" enum:"Profile"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` +} + +// String returns the string representation +func (s DashManifest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashManifest) GoString() string { + return s.String() +} + +// SetManifestName sets the ManifestName field's value. +func (s *DashManifest) SetManifestName(v string) *DashManifest { + s.ManifestName = &v + return s +} + +// SetMinBufferTimeSeconds sets the MinBufferTimeSeconds field's value. +func (s *DashManifest) SetMinBufferTimeSeconds(v int64) *DashManifest { + s.MinBufferTimeSeconds = &v + return s +} + +// SetProfile sets the Profile field's value. +func (s *DashManifest) SetProfile(v string) *DashManifest { + s.Profile = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *DashManifest) SetStreamSelection(v *StreamSelection) *DashManifest { + s.StreamSelection = v + return s +} + +// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. +type DashPackage struct { + _ struct{} `type:"structure"` + + // A list of DASH manifest configurations. + // + // DashManifests is a required field + DashManifests []*DashManifest `locationName:"dashManifests" type:"list" required:"true"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. + Encryption *DashEncryption `locationName:"encryption" type:"structure"` + + // Duration (in seconds) of each segment. Actual segments will berounded to + // the nearest multiple of the source segment duration. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` +} + +// String returns the string representation +func (s DashPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashPackage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashPackage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashPackage"} + if s.DashManifests == nil { + invalidParams.Add(request.NewErrParamRequired("DashManifests")) + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDashManifests sets the DashManifests field's value. +func (s *DashPackage) SetDashManifests(v []*DashManifest) *DashPackage { + s.DashManifests = v + return s +} + +// SetEncryption sets the Encryption field's value. +func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage { + s.Encryption = v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *DashPackage) SetSegmentDurationSeconds(v int64) *DashPackage { + s.SegmentDurationSeconds = &v + return s +} + +type DeleteAssetInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAssetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAssetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAssetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteAssetInput) SetId(v string) *DeleteAssetInput { + s.Id = &v + return s +} + +type DeleteAssetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAssetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAssetOutput) GoString() string { + return s.String() +} + +type DeletePackagingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePackagingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePackagingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePackagingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePackagingConfigurationInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeletePackagingConfigurationInput) SetId(v string) *DeletePackagingConfigurationInput { + s.Id = &v + return s +} + +type DeletePackagingConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePackagingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePackagingConfigurationOutput) GoString() string { + return s.String() +} + +type DeletePackagingGroupInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePackagingGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePackagingGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePackagingGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePackagingGroupInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeletePackagingGroupInput) SetId(v string) *DeletePackagingGroupInput { + s.Id = &v + return s +} + +type DeletePackagingGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePackagingGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePackagingGroupOutput) GoString() string { + return s.String() +} + +type DescribeAssetInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAssetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAssetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAssetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeAssetInput) SetId(v string) *DescribeAssetInput { + s.Id = &v + return s +} + +type DescribeAssetOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + EgressEndpoints []*EgressEndpoint `locationName:"egressEndpoints" type:"list"` + + Id *string `locationName:"id" type:"string"` + + PackagingGroupId *string `locationName:"packagingGroupId" type:"string"` + + ResourceId *string `locationName:"resourceId" type:"string"` + + SourceArn *string `locationName:"sourceArn" type:"string"` + + SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"` +} + +// String returns the string representation +func (s DescribeAssetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAssetOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeAssetOutput) SetArn(v string) *DescribeAssetOutput { + s.Arn = &v + return s +} + +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *DescribeAssetOutput) SetEgressEndpoints(v []*EgressEndpoint) *DescribeAssetOutput { + s.EgressEndpoints = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeAssetOutput) SetId(v string) *DescribeAssetOutput { + s.Id = &v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *DescribeAssetOutput) SetPackagingGroupId(v string) *DescribeAssetOutput { + s.PackagingGroupId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *DescribeAssetOutput) SetResourceId(v string) *DescribeAssetOutput { + s.ResourceId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *DescribeAssetOutput) SetSourceArn(v string) *DescribeAssetOutput { + s.SourceArn = &v + return s +} + +// SetSourceRoleArn sets the SourceRoleArn field's value. +func (s *DescribeAssetOutput) SetSourceRoleArn(v string) *DescribeAssetOutput { + s.SourceRoleArn = &v + return s +} + +type DescribePackagingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribePackagingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePackagingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePackagingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePackagingConfigurationInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribePackagingConfigurationInput) SetId(v string) *DescribePackagingConfigurationInput { + s.Id = &v + return s +} + +type DescribePackagingConfigurationOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + // A CMAF packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + PackagingGroupId *string `locationName:"packagingGroupId" type:"string"` +} + +// String returns the string representation +func (s DescribePackagingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePackagingConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribePackagingConfigurationOutput) SetArn(v string) *DescribePackagingConfigurationOutput { + s.Arn = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *DescribePackagingConfigurationOutput) SetCmafPackage(v *CmafPackage) *DescribePackagingConfigurationOutput { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *DescribePackagingConfigurationOutput) SetDashPackage(v *DashPackage) *DescribePackagingConfigurationOutput { + s.DashPackage = v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *DescribePackagingConfigurationOutput) SetHlsPackage(v *HlsPackage) *DescribePackagingConfigurationOutput { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribePackagingConfigurationOutput) SetId(v string) *DescribePackagingConfigurationOutput { + s.Id = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *DescribePackagingConfigurationOutput) SetMssPackage(v *MssPackage) *DescribePackagingConfigurationOutput { + s.MssPackage = v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *DescribePackagingConfigurationOutput) SetPackagingGroupId(v string) *DescribePackagingConfigurationOutput { + s.PackagingGroupId = &v + return s +} + +type DescribePackagingGroupInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribePackagingGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePackagingGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePackagingGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePackagingGroupInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribePackagingGroupInput) SetId(v string) *DescribePackagingGroupInput { + s.Id = &v + return s +} + +type DescribePackagingGroupOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Id *string `locationName:"id" type:"string"` +} + +// String returns the string representation +func (s DescribePackagingGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePackagingGroupOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribePackagingGroupOutput) SetArn(v string) *DescribePackagingGroupOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *DescribePackagingGroupOutput) SetId(v string) *DescribePackagingGroupOutput { + s.Id = &v + return s +} + +// The endpoint URL used to access an Asset using one PackagingConfiguration. +type EgressEndpoint struct { + _ struct{} `type:"structure"` + + // The ID of the PackagingConfiguration being applied to the Asset. + PackagingConfigurationId *string `locationName:"packagingConfigurationId" type:"string"` + + // The URL of the parent manifest for the repackaged Asset. + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation +func (s EgressEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EgressEndpoint) GoString() string { + return s.String() +} + +// SetPackagingConfigurationId sets the PackagingConfigurationId field's value. +func (s *EgressEndpoint) SetPackagingConfigurationId(v string) *EgressEndpoint { + s.PackagingConfigurationId = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *EgressEndpoint) SetUrl(v string) *EgressEndpoint { + s.Url = &v + return s +} + +// An HTTP Live Streaming (HLS) encryption configuration. +type HlsEncryption struct { + _ struct{} `type:"structure"` + + // The encryption method to use. + EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"EncryptionMethod"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s HlsEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionMethod sets the EncryptionMethod field's value. +func (s *HlsEncryption) SetEncryptionMethod(v string) *HlsEncryption { + s.EncryptionMethod = &v + return s +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *HlsEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryption { + s.SpekeKeyProvider = v + return s +} + +// An HTTP Live Streaming (HLS) manifest configuration. +type HlsManifest struct { + _ struct{} `type:"structure"` + + // This setting controls how ad markers are included in the packaged OriginEndpoint."NONE" + // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the + // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly + // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates + // ad markers and blackout tags based on SCTE-35messages in the input source. + AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` + + // When enabled, an I-Frame only stream will be included in the output. + IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"` + + // An optional string to include in the name of the manifest. + ManifestName *string `locationName:"manifestName" type:"string"` + + // The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted + // into manifests. Additionally, when an interval is specifiedID3Timed Metadata + // messages will be generated every 5 seconds using theingest time of the content.If + // the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME + // tags will be inserted into manifests and noID3Timed Metadata messages will + // be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata + // is found in HTTP Live Streaming (HLS) input,it will be passed through to + // HLS output. + ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"` + + // When enabled, the EXT-X-KEY tag will be repeated in output manifests. + RepeatExtXKey *bool `locationName:"repeatExtXKey" type:"boolean"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` +} + +// String returns the string representation +func (s HlsManifest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsManifest) GoString() string { + return s.String() +} + +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsManifest) SetAdMarkers(v string) *HlsManifest { + s.AdMarkers = &v + return s +} + +// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value. +func (s *HlsManifest) SetIncludeIframeOnlyStream(v bool) *HlsManifest { + s.IncludeIframeOnlyStream = &v + return s +} + +// SetManifestName sets the ManifestName field's value. +func (s *HlsManifest) SetManifestName(v string) *HlsManifest { + s.ManifestName = &v + return s +} + +// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value. +func (s *HlsManifest) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifest { + s.ProgramDateTimeIntervalSeconds = &v + return s +} + +// SetRepeatExtXKey sets the RepeatExtXKey field's value. +func (s *HlsManifest) SetRepeatExtXKey(v bool) *HlsManifest { + s.RepeatExtXKey = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *HlsManifest) SetStreamSelection(v *StreamSelection) *HlsManifest { + s.StreamSelection = v + return s +} + +// An HTTP Live Streaming (HLS) packaging configuration. +type HlsPackage struct { + _ struct{} `type:"structure"` + + // An HTTP Live Streaming (HLS) encryption configuration. + Encryption *HlsEncryption `locationName:"encryption" type:"structure"` + + // A list of HLS manifest configurations. + // + // HlsManifests is a required field + HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list" required:"true"` + + // Duration (in seconds) of each fragment. Actual fragments will berounded to + // the nearest multiple of the source fragment duration. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` + + // When enabled, audio streams will be placed in rendition groups in the output. + UseAudioRenditionGroup *bool `locationName:"useAudioRenditionGroup" type:"boolean"` +} + +// String returns the string representation +func (s HlsPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsPackage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsPackage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsPackage"} + if s.HlsManifests == nil { + invalidParams.Add(request.NewErrParamRequired("HlsManifests")) + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryption sets the Encryption field's value. +func (s *HlsPackage) SetEncryption(v *HlsEncryption) *HlsPackage { + s.Encryption = v + return s +} + +// SetHlsManifests sets the HlsManifests field's value. +func (s *HlsPackage) SetHlsManifests(v []*HlsManifest) *HlsPackage { + s.HlsManifests = v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *HlsPackage) SetSegmentDurationSeconds(v int64) *HlsPackage { + s.SegmentDurationSeconds = &v + return s +} + +// SetUseAudioRenditionGroup sets the UseAudioRenditionGroup field's value. +func (s *HlsPackage) SetUseAudioRenditionGroup(v bool) *HlsPackage { + s.UseAudioRenditionGroup = &v + return s +} + +type ListAssetsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + PackagingGroupId *string `location:"querystring" locationName:"packagingGroupId" type:"string"` +} + +// String returns the string representation +func (s ListAssetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAssetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAssetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAssetsInput) SetMaxResults(v int64) *ListAssetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssetsInput) SetNextToken(v string) *ListAssetsInput { + s.NextToken = &v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *ListAssetsInput) SetPackagingGroupId(v string) *ListAssetsInput { + s.PackagingGroupId = &v + return s +} + +type ListAssetsOutput struct { + _ struct{} `type:"structure"` + + Assets []*AssetShallow `locationName:"assets" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListAssetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssetsOutput) GoString() string { + return s.String() +} + +// SetAssets sets the Assets field's value. +func (s *ListAssetsOutput) SetAssets(v []*AssetShallow) *ListAssetsOutput { + s.Assets = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssetsOutput) SetNextToken(v string) *ListAssetsOutput { + s.NextToken = &v + return s +} + +type ListPackagingConfigurationsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + PackagingGroupId *string `location:"querystring" locationName:"packagingGroupId" type:"string"` +} + +// String returns the string representation +func (s ListPackagingConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPackagingConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPackagingConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPackagingConfigurationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPackagingConfigurationsInput) SetMaxResults(v int64) *ListPackagingConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPackagingConfigurationsInput) SetNextToken(v string) *ListPackagingConfigurationsInput { + s.NextToken = &v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *ListPackagingConfigurationsInput) SetPackagingGroupId(v string) *ListPackagingConfigurationsInput { + s.PackagingGroupId = &v + return s +} + +type ListPackagingConfigurationsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + PackagingConfigurations []*PackagingConfiguration `locationName:"packagingConfigurations" type:"list"` +} + +// String returns the string representation +func (s ListPackagingConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPackagingConfigurationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPackagingConfigurationsOutput) SetNextToken(v string) *ListPackagingConfigurationsOutput { + s.NextToken = &v + return s +} + +// SetPackagingConfigurations sets the PackagingConfigurations field's value. +func (s *ListPackagingConfigurationsOutput) SetPackagingConfigurations(v []*PackagingConfiguration) *ListPackagingConfigurationsOutput { + s.PackagingConfigurations = v + return s +} + +type ListPackagingGroupsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListPackagingGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPackagingGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPackagingGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPackagingGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPackagingGroupsInput) SetMaxResults(v int64) *ListPackagingGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPackagingGroupsInput) SetNextToken(v string) *ListPackagingGroupsInput { + s.NextToken = &v + return s +} + +type ListPackagingGroupsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + PackagingGroups []*PackagingGroup `locationName:"packagingGroups" type:"list"` +} + +// String returns the string representation +func (s ListPackagingGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPackagingGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPackagingGroupsOutput) SetNextToken(v string) *ListPackagingGroupsOutput { + s.NextToken = &v + return s +} + +// SetPackagingGroups sets the PackagingGroups field's value. +func (s *ListPackagingGroupsOutput) SetPackagingGroups(v []*PackagingGroup) *ListPackagingGroupsOutput { + s.PackagingGroups = v + return s +} + +// A Microsoft Smooth Streaming (MSS) encryption configuration. +type MssEncryption struct { + _ struct{} `type:"structure"` + + // A configuration for accessing an external Secure Packager and Encoder Key + // Exchange (SPEKE) service that will provide encryption keys. + // + // SpekeKeyProvider is a required field + SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"` +} + +// String returns the string representation +func (s MssEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MssEncryption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MssEncryption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MssEncryption"} + if s.SpekeKeyProvider == nil { + invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider")) + } + if s.SpekeKeyProvider != nil { + if err := s.SpekeKeyProvider.Validate(); err != nil { + invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSpekeKeyProvider sets the SpekeKeyProvider field's value. +func (s *MssEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *MssEncryption { + s.SpekeKeyProvider = v + return s +} + +// A Microsoft Smooth Streaming (MSS) manifest configuration. +type MssManifest struct { + _ struct{} `type:"structure"` + + // An optional string to include in the name of the manifest. + ManifestName *string `locationName:"manifestName" type:"string"` + + // A StreamSelection configuration. + StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"` +} + +// String returns the string representation +func (s MssManifest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MssManifest) GoString() string { + return s.String() +} + +// SetManifestName sets the ManifestName field's value. +func (s *MssManifest) SetManifestName(v string) *MssManifest { + s.ManifestName = &v + return s +} + +// SetStreamSelection sets the StreamSelection field's value. +func (s *MssManifest) SetStreamSelection(v *StreamSelection) *MssManifest { + s.StreamSelection = v + return s +} + +// A Microsoft Smooth Streaming (MSS) PackagingConfiguration. +type MssPackage struct { + _ struct{} `type:"structure"` + + // A Microsoft Smooth Streaming (MSS) encryption configuration. + Encryption *MssEncryption `locationName:"encryption" type:"structure"` + + // A list of MSS manifest configurations. + // + // MssManifests is a required field + MssManifests []*MssManifest `locationName:"mssManifests" type:"list" required:"true"` + + // The duration (in seconds) of each segment. + SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` +} + +// String returns the string representation +func (s MssPackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MssPackage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MssPackage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MssPackage"} + if s.MssManifests == nil { + invalidParams.Add(request.NewErrParamRequired("MssManifests")) + } + if s.Encryption != nil { + if err := s.Encryption.Validate(); err != nil { + invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryption sets the Encryption field's value. +func (s *MssPackage) SetEncryption(v *MssEncryption) *MssPackage { + s.Encryption = v + return s +} + +// SetMssManifests sets the MssManifests field's value. +func (s *MssPackage) SetMssManifests(v []*MssManifest) *MssPackage { + s.MssManifests = v + return s +} + +// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. +func (s *MssPackage) SetSegmentDurationSeconds(v int64) *MssPackage { + s.SegmentDurationSeconds = &v + return s +} + +// A MediaPackage VOD PackagingConfiguration resource. +type PackagingConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN of the PackagingConfiguration. + Arn *string `locationName:"arn" type:"string"` + + // A CMAF packaging configuration. + CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"` + + // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration. + DashPackage *DashPackage `locationName:"dashPackage" type:"structure"` + + // An HTTP Live Streaming (HLS) packaging configuration. + HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"` + + // The ID of the PackagingConfiguration. + Id *string `locationName:"id" type:"string"` + + // A Microsoft Smooth Streaming (MSS) PackagingConfiguration. + MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + + // The ID of a PackagingGroup. + PackagingGroupId *string `locationName:"packagingGroupId" type:"string"` +} + +// String returns the string representation +func (s PackagingConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PackagingConfiguration) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *PackagingConfiguration) SetArn(v string) *PackagingConfiguration { + s.Arn = &v + return s +} + +// SetCmafPackage sets the CmafPackage field's value. +func (s *PackagingConfiguration) SetCmafPackage(v *CmafPackage) *PackagingConfiguration { + s.CmafPackage = v + return s +} + +// SetDashPackage sets the DashPackage field's value. +func (s *PackagingConfiguration) SetDashPackage(v *DashPackage) *PackagingConfiguration { + s.DashPackage = v + return s +} + +// SetHlsPackage sets the HlsPackage field's value. +func (s *PackagingConfiguration) SetHlsPackage(v *HlsPackage) *PackagingConfiguration { + s.HlsPackage = v + return s +} + +// SetId sets the Id field's value. +func (s *PackagingConfiguration) SetId(v string) *PackagingConfiguration { + s.Id = &v + return s +} + +// SetMssPackage sets the MssPackage field's value. +func (s *PackagingConfiguration) SetMssPackage(v *MssPackage) *PackagingConfiguration { + s.MssPackage = v + return s +} + +// SetPackagingGroupId sets the PackagingGroupId field's value. +func (s *PackagingConfiguration) SetPackagingGroupId(v string) *PackagingConfiguration { + s.PackagingGroupId = &v + return s +} + +// A MediaPackage VOD PackagingGroup resource. +type PackagingGroup struct { + _ struct{} `type:"structure"` + + // The ARN of the PackagingGroup. + Arn *string `locationName:"arn" type:"string"` + + // The ID of the PackagingGroup. + Id *string `locationName:"id" type:"string"` +} + +// String returns the string representation +func (s PackagingGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PackagingGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *PackagingGroup) SetArn(v string) *PackagingGroup { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *PackagingGroup) SetId(v string) *PackagingGroup { + s.Id = &v + return s +} + +// A configuration for accessing an external Secure Packager and Encoder Key +// Exchange (SPEKE) service that will provide encryption keys. +type SpekeKeyProvider struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) of an IAM role that AWS ElementalMediaPackage + // will assume when accessing the key provider service. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // The system IDs to include in key requests. + // + // SystemIds is a required field + SystemIds []*string `locationName:"systemIds" type:"list" required:"true"` + + // The URL of the external key provider service. + // + // Url is a required field + Url *string `locationName:"url" type:"string" required:"true"` +} + +// String returns the string representation +func (s SpekeKeyProvider) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SpekeKeyProvider) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SpekeKeyProvider) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SystemIds == nil { + invalidParams.Add(request.NewErrParamRequired("SystemIds")) + } + if s.Url == nil { + invalidParams.Add(request.NewErrParamRequired("Url")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleArn sets the RoleArn field's value. +func (s *SpekeKeyProvider) SetRoleArn(v string) *SpekeKeyProvider { + s.RoleArn = &v + return s +} + +// SetSystemIds sets the SystemIds field's value. +func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider { + s.SystemIds = v + return s +} + +// SetUrl sets the Url field's value. +func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider { + s.Url = &v + return s +} + +// A StreamSelection configuration. +type StreamSelection struct { + _ struct{} `type:"structure"` + + // The maximum video bitrate (bps) to include in output. + MaxVideoBitsPerSecond *int64 `locationName:"maxVideoBitsPerSecond" type:"integer"` + + // The minimum video bitrate (bps) to include in output. + MinVideoBitsPerSecond *int64 `locationName:"minVideoBitsPerSecond" type:"integer"` + + // A directive that determines the order of streams in the output. + StreamOrder *string `locationName:"streamOrder" type:"string" enum:"StreamOrder"` +} + +// String returns the string representation +func (s StreamSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamSelection) GoString() string { + return s.String() +} + +// SetMaxVideoBitsPerSecond sets the MaxVideoBitsPerSecond field's value. +func (s *StreamSelection) SetMaxVideoBitsPerSecond(v int64) *StreamSelection { + s.MaxVideoBitsPerSecond = &v + return s +} + +// SetMinVideoBitsPerSecond sets the MinVideoBitsPerSecond field's value. +func (s *StreamSelection) SetMinVideoBitsPerSecond(v int64) *StreamSelection { + s.MinVideoBitsPerSecond = &v + return s +} + +// SetStreamOrder sets the StreamOrder field's value. +func (s *StreamSelection) SetStreamOrder(v string) *StreamSelection { + s.StreamOrder = &v + return s +} + +const ( + // AdMarkersNone is a AdMarkers enum value + AdMarkersNone = "NONE" + + // AdMarkersScte35Enhanced is a AdMarkers enum value + AdMarkersScte35Enhanced = "SCTE35_ENHANCED" + + // AdMarkersPassthrough is a AdMarkers enum value + AdMarkersPassthrough = "PASSTHROUGH" +) + +const ( + // EncryptionMethodAes128 is a EncryptionMethod enum value + EncryptionMethodAes128 = "AES_128" + + // EncryptionMethodSampleAes is a EncryptionMethod enum value + EncryptionMethodSampleAes = "SAMPLE_AES" +) + +const ( + // ProfileNone is a Profile enum value + ProfileNone = "NONE" + + // ProfileHbbtv15 is a Profile enum value + ProfileHbbtv15 = "HBBTV_1_5" +) + +const ( + // StreamOrderOriginal is a StreamOrder enum value + StreamOrderOriginal = "ORIGINAL" + + // StreamOrderVideoBitrateAscending is a StreamOrder enum value + StreamOrderVideoBitrateAscending = "VIDEO_BITRATE_ASCENDING" + + // StreamOrderVideoBitrateDescending is a StreamOrder enum value + StreamOrderVideoBitrateDescending = "VIDEO_BITRATE_DESCENDING" +) diff --git a/service/mediapackagevod/doc.go b/service/mediapackagevod/doc.go new file mode 100644 index 00000000000..3de8eb72c9f --- /dev/null +++ b/service/mediapackagevod/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mediapackagevod provides the client and types for making API +// requests to AWS Elemental MediaPackage VOD. +// +// AWS Elemental MediaPackage VOD +// +// See https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07 for more information on this service. +// +// See mediapackagevod package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediapackagevod/ +// +// Using the Client +// +// To contact AWS Elemental MediaPackage VOD with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Elemental MediaPackage VOD client MediaPackageVod for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mediapackagevod/#New +package mediapackagevod diff --git a/service/mediapackagevod/errors.go b/service/mediapackagevod/errors.go new file mode 100644 index 00000000000..13e76e272ea --- /dev/null +++ b/service/mediapackagevod/errors.go @@ -0,0 +1,30 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediapackagevod + +const ( + + // ErrCodeForbiddenException for service response error code + // "ForbiddenException". + ErrCodeForbiddenException = "ForbiddenException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnprocessableEntityException for service response error code + // "UnprocessableEntityException". + ErrCodeUnprocessableEntityException = "UnprocessableEntityException" +) diff --git a/service/mediapackagevod/mediapackagevodiface/interface.go b/service/mediapackagevod/mediapackagevodiface/interface.go new file mode 100644 index 00000000000..ead128d7f73 --- /dev/null +++ b/service/mediapackagevod/mediapackagevodiface/interface.go @@ -0,0 +1,121 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mediapackagevodiface provides an interface to enable mocking the AWS Elemental MediaPackage VOD service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package mediapackagevodiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/mediapackagevod" +) + +// MediaPackageVodAPI provides an interface to enable mocking the +// mediapackagevod.MediaPackageVod service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Elemental MediaPackage VOD. +// func myFunc(svc mediapackagevodiface.MediaPackageVodAPI) bool { +// // Make svc.CreateAsset request +// } +// +// func main() { +// sess := session.New() +// svc := mediapackagevod.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMediaPackageVodClient struct { +// mediapackagevodiface.MediaPackageVodAPI +// } +// func (m *mockMediaPackageVodClient) CreateAsset(input *mediapackagevod.CreateAssetInput) (*mediapackagevod.CreateAssetOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMediaPackageVodClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MediaPackageVodAPI interface { + CreateAsset(*mediapackagevod.CreateAssetInput) (*mediapackagevod.CreateAssetOutput, error) + CreateAssetWithContext(aws.Context, *mediapackagevod.CreateAssetInput, ...request.Option) (*mediapackagevod.CreateAssetOutput, error) + CreateAssetRequest(*mediapackagevod.CreateAssetInput) (*request.Request, *mediapackagevod.CreateAssetOutput) + + CreatePackagingConfiguration(*mediapackagevod.CreatePackagingConfigurationInput) (*mediapackagevod.CreatePackagingConfigurationOutput, error) + CreatePackagingConfigurationWithContext(aws.Context, *mediapackagevod.CreatePackagingConfigurationInput, ...request.Option) (*mediapackagevod.CreatePackagingConfigurationOutput, error) + CreatePackagingConfigurationRequest(*mediapackagevod.CreatePackagingConfigurationInput) (*request.Request, *mediapackagevod.CreatePackagingConfigurationOutput) + + CreatePackagingGroup(*mediapackagevod.CreatePackagingGroupInput) (*mediapackagevod.CreatePackagingGroupOutput, error) + CreatePackagingGroupWithContext(aws.Context, *mediapackagevod.CreatePackagingGroupInput, ...request.Option) (*mediapackagevod.CreatePackagingGroupOutput, error) + CreatePackagingGroupRequest(*mediapackagevod.CreatePackagingGroupInput) (*request.Request, *mediapackagevod.CreatePackagingGroupOutput) + + DeleteAsset(*mediapackagevod.DeleteAssetInput) (*mediapackagevod.DeleteAssetOutput, error) + DeleteAssetWithContext(aws.Context, *mediapackagevod.DeleteAssetInput, ...request.Option) (*mediapackagevod.DeleteAssetOutput, error) + DeleteAssetRequest(*mediapackagevod.DeleteAssetInput) (*request.Request, *mediapackagevod.DeleteAssetOutput) + + DeletePackagingConfiguration(*mediapackagevod.DeletePackagingConfigurationInput) (*mediapackagevod.DeletePackagingConfigurationOutput, error) + DeletePackagingConfigurationWithContext(aws.Context, *mediapackagevod.DeletePackagingConfigurationInput, ...request.Option) (*mediapackagevod.DeletePackagingConfigurationOutput, error) + DeletePackagingConfigurationRequest(*mediapackagevod.DeletePackagingConfigurationInput) (*request.Request, *mediapackagevod.DeletePackagingConfigurationOutput) + + DeletePackagingGroup(*mediapackagevod.DeletePackagingGroupInput) (*mediapackagevod.DeletePackagingGroupOutput, error) + DeletePackagingGroupWithContext(aws.Context, *mediapackagevod.DeletePackagingGroupInput, ...request.Option) (*mediapackagevod.DeletePackagingGroupOutput, error) + DeletePackagingGroupRequest(*mediapackagevod.DeletePackagingGroupInput) (*request.Request, *mediapackagevod.DeletePackagingGroupOutput) + + DescribeAsset(*mediapackagevod.DescribeAssetInput) (*mediapackagevod.DescribeAssetOutput, error) + DescribeAssetWithContext(aws.Context, *mediapackagevod.DescribeAssetInput, ...request.Option) (*mediapackagevod.DescribeAssetOutput, error) + DescribeAssetRequest(*mediapackagevod.DescribeAssetInput) (*request.Request, *mediapackagevod.DescribeAssetOutput) + + DescribePackagingConfiguration(*mediapackagevod.DescribePackagingConfigurationInput) (*mediapackagevod.DescribePackagingConfigurationOutput, error) + DescribePackagingConfigurationWithContext(aws.Context, *mediapackagevod.DescribePackagingConfigurationInput, ...request.Option) (*mediapackagevod.DescribePackagingConfigurationOutput, error) + DescribePackagingConfigurationRequest(*mediapackagevod.DescribePackagingConfigurationInput) (*request.Request, *mediapackagevod.DescribePackagingConfigurationOutput) + + DescribePackagingGroup(*mediapackagevod.DescribePackagingGroupInput) (*mediapackagevod.DescribePackagingGroupOutput, error) + DescribePackagingGroupWithContext(aws.Context, *mediapackagevod.DescribePackagingGroupInput, ...request.Option) (*mediapackagevod.DescribePackagingGroupOutput, error) + DescribePackagingGroupRequest(*mediapackagevod.DescribePackagingGroupInput) (*request.Request, *mediapackagevod.DescribePackagingGroupOutput) + + ListAssets(*mediapackagevod.ListAssetsInput) (*mediapackagevod.ListAssetsOutput, error) + ListAssetsWithContext(aws.Context, *mediapackagevod.ListAssetsInput, ...request.Option) (*mediapackagevod.ListAssetsOutput, error) + ListAssetsRequest(*mediapackagevod.ListAssetsInput) (*request.Request, *mediapackagevod.ListAssetsOutput) + + ListAssetsPages(*mediapackagevod.ListAssetsInput, func(*mediapackagevod.ListAssetsOutput, bool) bool) error + ListAssetsPagesWithContext(aws.Context, *mediapackagevod.ListAssetsInput, func(*mediapackagevod.ListAssetsOutput, bool) bool, ...request.Option) error + + ListPackagingConfigurations(*mediapackagevod.ListPackagingConfigurationsInput) (*mediapackagevod.ListPackagingConfigurationsOutput, error) + ListPackagingConfigurationsWithContext(aws.Context, *mediapackagevod.ListPackagingConfigurationsInput, ...request.Option) (*mediapackagevod.ListPackagingConfigurationsOutput, error) + ListPackagingConfigurationsRequest(*mediapackagevod.ListPackagingConfigurationsInput) (*request.Request, *mediapackagevod.ListPackagingConfigurationsOutput) + + ListPackagingConfigurationsPages(*mediapackagevod.ListPackagingConfigurationsInput, func(*mediapackagevod.ListPackagingConfigurationsOutput, bool) bool) error + ListPackagingConfigurationsPagesWithContext(aws.Context, *mediapackagevod.ListPackagingConfigurationsInput, func(*mediapackagevod.ListPackagingConfigurationsOutput, bool) bool, ...request.Option) error + + ListPackagingGroups(*mediapackagevod.ListPackagingGroupsInput) (*mediapackagevod.ListPackagingGroupsOutput, error) + ListPackagingGroupsWithContext(aws.Context, *mediapackagevod.ListPackagingGroupsInput, ...request.Option) (*mediapackagevod.ListPackagingGroupsOutput, error) + ListPackagingGroupsRequest(*mediapackagevod.ListPackagingGroupsInput) (*request.Request, *mediapackagevod.ListPackagingGroupsOutput) + + ListPackagingGroupsPages(*mediapackagevod.ListPackagingGroupsInput, func(*mediapackagevod.ListPackagingGroupsOutput, bool) bool) error + ListPackagingGroupsPagesWithContext(aws.Context, *mediapackagevod.ListPackagingGroupsInput, func(*mediapackagevod.ListPackagingGroupsOutput, bool) bool, ...request.Option) error +} + +var _ MediaPackageVodAPI = (*mediapackagevod.MediaPackageVod)(nil) diff --git a/service/mediapackagevod/service.go b/service/mediapackagevod/service.go new file mode 100644 index 00000000000..08313ce766e --- /dev/null +++ b/service/mediapackagevod/service.go @@ -0,0 +1,98 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mediapackagevod + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// MediaPackageVod provides the API operation methods for making requests to +// AWS Elemental MediaPackage VOD. See this package's package overview docs +// for details on the service. +// +// MediaPackageVod methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MediaPackageVod struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "MediaPackage Vod" // Name of service. + EndpointsID = "mediapackage-vod" // ID to lookup a service endpoint with. + ServiceID = "MediaPackage Vod" // ServiceID is a unique identifer of a specific service. +) + +// New creates a new instance of the MediaPackageVod client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a MediaPackageVod client from just a session. +// svc := mediapackagevod.New(mySession) +// +// // Create a MediaPackageVod client with additional configuration +// svc := mediapackagevod.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MediaPackageVod { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "mediapackage-vod" + } + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *MediaPackageVod { + svc := &MediaPackageVod{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2018-11-07", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MediaPackageVod operation and runs any +// custom request initialization. +func (c *MediaPackageVod) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +}