diff --git a/CHANGELOG.md b/CHANGELOG.md index 97652ebfca..3b9e8ae0b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +Release v1.41.1 (2021-10-12) +=== + +### Service Client Updates +* `service/cloudsearch`: Updates service API + * Adds an additional validation exception for Amazon CloudSearch configuration APIs for better error handling. +* `service/ec2`: Updates service API and documentation + * EncryptionSupport for InstanceStorageInfo added to DescribeInstanceTypes API +* `service/ecs`: Updates service documentation + * Documentation only update to address tickets. +* `service/mediatailor`: Updates service API, documentation, and paginators + Release v1.41.0 (2021-10-11) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 510f68060b..89c0911eca 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -55,6 +55,7 @@ const ( // AWS ISO (US) partition's regions. const ( UsIsoEast1RegionID = "us-iso-east-1" // US ISO East. + UsIsoWest1RegionID = "us-iso-west-1" // US ISO WEST. ) // AWS ISOB (US) partition's regions. @@ -11401,6 +11402,9 @@ var awsisoPartition = partition{ "us-iso-east-1": region{ Description: "US ISO East", }, + "us-iso-west-1": region{ + Description: "US ISO WEST", + }, }, Services: services{ "api.ecr": service{ @@ -11412,6 +11416,12 @@ var awsisoPartition = partition{ Region: "us-iso-east-1", }, }, + "us-iso-west-1": endpoint{ + Hostname: "api.ecr.us-iso-west-1.c2s.ic.gov", + CredentialScope: credentialScope{ + Region: "us-iso-west-1", + }, + }, }, }, "api.sagemaker": service{ @@ -11432,6 +11442,7 @@ var awsisoPartition = partition{ }, Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "autoscaling": service{ @@ -11440,24 +11451,28 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{ Protocols: []string{"http", "https"}, }, + "us-iso-west-1": endpoint{}, }, }, "cloudformation": service{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "cloudtrail": service{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "codedeploy": service{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "comprehend": service{ @@ -11472,6 +11487,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "datapipeline": service{ @@ -11484,6 +11500,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "dms": service{ @@ -11516,18 +11533,21 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "ecs": service{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "elasticache": service{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "elasticfilesystem": service{ @@ -11548,6 +11568,7 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{ Protocols: []string{"http", "https"}, }, + "us-iso-west-1": endpoint{}, }, }, "elasticmapreduce": service{ @@ -11556,6 +11577,7 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{ Protocols: []string{"https"}, }, + "us-iso-west-1": endpoint{}, }, }, "es": service{ @@ -11568,6 +11590,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "firehose": service{ @@ -11582,6 +11605,7 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{ Protocols: []string{"http", "https"}, }, + "us-iso-west-1": endpoint{}, }, }, "health": service{ @@ -11607,6 +11631,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "kms": service{ @@ -11619,12 +11644,14 @@ var awsisoPartition = partition{ }, }, "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "lambda": service{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "license-manager": service{ @@ -11637,6 +11664,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "medialive": service{ @@ -11655,6 +11683,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "outposts": service{ @@ -11673,12 +11702,14 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "redshift": service{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "route53": service{ @@ -11735,6 +11766,7 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{ Protocols: []string{"http", "https"}, }, + "us-iso-west-1": endpoint{}, }, }, "sqs": service{ @@ -11743,6 +11775,7 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{ Protocols: []string{"http", "https"}, }, + "us-iso-west-1": endpoint{}, }, }, "ssm": service{ @@ -11755,6 +11788,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "streams.dynamodb": service{ @@ -11774,6 +11808,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "support": service{ @@ -11792,6 +11827,7 @@ var awsisoPartition = partition{ Endpoints: endpoints{ "us-iso-east-1": endpoint{}, + "us-iso-west-1": endpoint{}, }, }, "transcribe": service{ diff --git a/aws/version.go b/aws/version.go index 4a04d190b2..d013758c86 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.41.0" +const SDKVersion = "1.41.1" diff --git a/models/apis/cloudsearch/2013-01-01/api-2.json b/models/apis/cloudsearch/2013-01-01/api-2.json index de5fed0043..00e2fdfb50 100644 --- a/models/apis/cloudsearch/2013-01-01/api-2.json +++ b/models/apis/cloudsearch/2013-01-01/api-2.json @@ -25,7 +25,8 @@ "errors":[ {"shape":"BaseException"}, {"shape":"InternalException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "CreateDomain":{ @@ -63,7 +64,8 @@ {"shape":"InternalException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DefineExpression":{ @@ -82,7 +84,8 @@ {"shape":"InternalException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DefineIndexField":{ @@ -101,7 +104,8 @@ {"shape":"InternalException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DefineSuggester":{ @@ -120,7 +124,8 @@ {"shape":"InternalException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DeleteAnalysisScheme":{ @@ -138,7 +143,8 @@ {"shape":"BaseException"}, {"shape":"InternalException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DeleteDomain":{ @@ -172,7 +178,8 @@ {"shape":"BaseException"}, {"shape":"InternalException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DeleteIndexField":{ @@ -190,7 +197,8 @@ {"shape":"BaseException"}, {"shape":"InternalException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DeleteSuggester":{ @@ -208,7 +216,8 @@ {"shape":"BaseException"}, {"shape":"InternalException"}, {"shape":"InvalidTypeException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "DescribeAnalysisSchemes":{ @@ -382,7 +391,8 @@ "errors":[ {"shape":"BaseException"}, {"shape":"InternalException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} ] }, "ListDomainNames":{ @@ -457,7 +467,8 @@ {"shape":"InternalException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTypeException"} + {"shape":"InvalidTypeException"}, + {"shape":"ValidationException"} ] }, "UpdateServiceAccessPolicies":{ @@ -476,7 +487,8 @@ {"shape":"InternalException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTypeException"} + {"shape":"InvalidTypeException"}, + {"shape":"ValidationException"} ] } }, diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 142c331e11..b7a4a941a8 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -4958,7 +4958,8 @@ "enum":[ "i386", "x86_64", - "arm64" + "arm64", + "x86_64_mac" ] }, "ArchitectureTypeList":{ @@ -21434,6 +21435,13 @@ } } }, + "InstanceStorageEncryptionSupport":{ + "type":"string", + "enum":[ + "unsupported", + "required" + ] + }, "InstanceStorageFlag":{"type":"boolean"}, "InstanceStorageInfo":{ "type":"structure", @@ -21449,6 +21457,10 @@ "NvmeSupport":{ "shape":"EphemeralNvmeSupport", "locationName":"nvmeSupport" + }, + "EncryptionSupport":{ + "shape":"InstanceStorageEncryptionSupport", + "locationName":"encryptionSupport" } } }, diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 4102d8c27c..5e10132811 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -6449,7 +6449,7 @@ } }, "DiskInfo": { - "base": "

Describes the disk.

", + "base": "

Describes a disk.

", "refs": { "DiskInfoList$member": null } @@ -6926,7 +6926,7 @@ "EphemeralNvmeSupport": { "base": null, "refs": { - "InstanceStorageInfo$NvmeSupport": "

Indicates whether non-volatile memory express (NVMe) is supported for instance store.

" + "InstanceStorageInfo$NvmeSupport": "

Indicates whether non-volatile memory express (NVMe) is supported.

" } }, "ErrorSet": { @@ -7201,7 +7201,7 @@ "DescribeInstanceEventWindowsRequest$Filters": "

One or more filters.

", "DescribeInstanceStatusRequest$Filters": "

The filters.

", "DescribeInstanceTypeOfferingsRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeInstanceTypesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", + "DescribeInstanceTypesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeInstancesRequest$Filters": "

The filters.

", "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeIpv6PoolsRequest$Filters": "

One or more filters.

", @@ -9139,6 +9139,12 @@ "InstanceStatus$SystemStatus": "

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

" } }, + "InstanceStorageEncryptionSupport": { + "base": null, + "refs": { + "InstanceStorageInfo$EncryptionSupport": "

Indicates whether data is encrypted at rest.

" + } + }, "InstanceStorageFlag": { "base": null, "refs": { @@ -9146,7 +9152,7 @@ } }, "InstanceStorageInfo": { - "base": "

Describes the disks that are available for the instance type.

", + "base": "

Describes the instance store features that are supported by the instance type.

", "refs": { "InstanceTypeInfo$InstanceStorageInfo": "

Describes the instance storage for the instance type.

" } diff --git a/models/apis/ecs/2014-11-13/docs-2.json b/models/apis/ecs/2014-11-13/docs-2.json index 1e8de19b04..ba8b871d54 100644 --- a/models/apis/ecs/2014-11-13/docs-2.json +++ b/models/apis/ecs/2014-11-13/docs-2.json @@ -989,13 +989,13 @@ } }, "InferenceAccelerator": { - "base": "

Details on a Elastic Inference accelerator. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

", + "base": "

Details on a Elastic Inference accelerator. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

", "refs": { "InferenceAccelerators$member": null } }, "InferenceAcceleratorOverride": { - "base": "

Details on an Elastic Inference accelerator task override. This parameter is used to override the Elastic Inference accelerator specified in the task definition. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

", + "base": "

Details on an Elastic Inference accelerator task override. This parameter is used to override the Elastic Inference accelerator specified in the task definition. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

", "refs": { "InferenceAcceleratorOverrides$member": null } @@ -1456,7 +1456,7 @@ "PropagateTags": { "base": null, "refs": { - "CreateServiceRequest$propagateTags": "

Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. If no value is specified, the tags are not propagated. Tags can only be propagated to the tasks within the service during service creation. To add tags to a task after service creation, use the TagResource API action.

", + "CreateServiceRequest$propagateTags": "

Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. If no value is specified, the tags are not propagated. Tags can only be propagated to the tasks within the service during service creation. To add tags to a task after service creation or task creation, use the TagResource API action.

", "RunTaskRequest$propagateTags": "

Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.

An error will be received if you specify the SERVICE option when running a task.

", "Service$propagateTags": "

Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.

", "StartTaskRequest$propagateTags": "

Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.

" @@ -1570,7 +1570,7 @@ } }, "ResourceRequirement": { - "base": "

The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide

", + "base": "

The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide

", "refs": { "ResourceRequirements$member": null } @@ -1999,7 +1999,7 @@ "RunTaskRequest$platformVersion": "

The platform version the task should use. A platform version is only specified for tasks hosted on Fargate. If one is not specified, the LATEST platform version is used by default. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.

", "RunTaskRequest$referenceId": "

The reference ID to use for the task. The reference ID can have a maximum length of 1024 characters.

", "RunTaskRequest$startedBy": "

An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

", - "RunTaskRequest$taskDefinition": "

The family and revision (family:revision) or full ARN of the task definition to run. If a revision is not specified, the latest ACTIVE revision is used.

", + "RunTaskRequest$taskDefinition": "

The family and revision (family:revision) or full ARN of the task definition to run. If a revision is not specified, the latest ACTIVE revision is used.

The full ARN value must match the value that you specified ias the Resource of the IAM principal's permissions policy. For example, if the Resource is arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*, the taskDefinition ARN value must be arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName.

", "Secret$name": "

The name of the secret.

", "Secret$valueFrom": "

The secret to expose to the container. The supported values are either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.

If the SSM Parameter Store parameter exists in the same Region as the task you are launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

", "ServerException$message": null, @@ -2070,9 +2070,9 @@ "TaskDefinition$registeredBy": "

The principal that registered the task definition.

", "TaskDefinitionPlacementConstraint$expression": "

A cluster query language expression to apply to the constraint. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.

", "TaskOverride$cpu": "

The cpu override for the task.

", - "TaskOverride$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

", + "TaskOverride$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution IAM role override for the task. For more information, see Amazon ECS task execution IAM role in the Amazon Elastic Container Service Developer Guide.

", "TaskOverride$memory": "

The memory override for the task.

", - "TaskOverride$taskRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

", + "TaskOverride$taskRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Role for Tasks in the Amazon Elastic Container Service Developer Guide.

", "TaskSet$id": "

The ID of the task set.

", "TaskSet$taskSetArn": "

The Amazon Resource Name (ARN) of the task set.

", "TaskSet$serviceArn": "

The Amazon Resource Name (ARN) of the service the task set exists in.

", diff --git a/models/apis/mediatailor/2018-04-23/api-2.json b/models/apis/mediatailor/2018-04-23/api-2.json index 60666f866f..7aab6e4d07 100644 --- a/models/apis/mediatailor/2018-04-23/api-2.json +++ b/models/apis/mediatailor/2018-04-23/api-2.json @@ -42,6 +42,21 @@ "shape": "CreateChannelResponse" } }, + "CreatePrefetchSchedule": { + "errors": [], + "http": { + "method": "POST", + "requestUri": "/prefetchSchedule/{PlaybackConfigurationName}/{Name}", + "responseCode": 200 + }, + "input": { + "shape": "CreatePrefetchScheduleRequest" + }, + "name": "CreatePrefetchSchedule", + "output": { + "shape": "CreatePrefetchScheduleResponse" + } + }, "CreateProgram": { "errors": [], "http": { @@ -132,6 +147,21 @@ "shape": "DeletePlaybackConfigurationResponse" } }, + "DeletePrefetchSchedule": { + "errors": [], + "http": { + "method": "DELETE", + "requestUri": "/prefetchSchedule/{PlaybackConfigurationName}/{Name}", + "responseCode": 204 + }, + "input": { + "shape": "DeletePrefetchScheduleRequest" + }, + "name": "DeletePrefetchSchedule", + "output": { + "shape": "DeletePrefetchScheduleResponse" + } + }, "DeleteProgram": { "errors": [], "http": { @@ -282,6 +312,21 @@ "shape": "GetPlaybackConfigurationResponse" } }, + "GetPrefetchSchedule": { + "errors": [], + "http": { + "method": "GET", + "requestUri": "/prefetchSchedule/{PlaybackConfigurationName}/{Name}", + "responseCode": 200 + }, + "input": { + "shape": "GetPrefetchScheduleRequest" + }, + "name": "GetPrefetchSchedule", + "output": { + "shape": "GetPrefetchScheduleResponse" + } + }, "ListAlerts": { "errors": [], "http": { @@ -327,6 +372,21 @@ "shape": "ListPlaybackConfigurationsResponse" } }, + "ListPrefetchSchedules": { + "errors": [], + "http": { + "method": "POST", + "requestUri": "/prefetchSchedule/{PlaybackConfigurationName}", + "responseCode": 200 + }, + "input": { + "shape": "ListPrefetchSchedulesRequest" + }, + "name": "ListPrefetchSchedules", + "output": { + "shape": "ListPrefetchSchedulesResponse" + } + }, "ListSourceLocations": { "errors": [], "http": { @@ -585,6 +645,21 @@ ], "type": "structure" }, + "AvailMatchingCriteria": { + "members": { + "DynamicVariable": { + "shape": "__string" + }, + "Operator": { + "shape": "Operator" + } + }, + "required": [ + "Operator", + "DynamicVariable" + ], + "type": "structure" + }, "AvailSuppression": { "members": { "Mode": { @@ -782,6 +857,59 @@ }, "type": "structure" }, + "CreatePrefetchScheduleRequest": { + "members": { + "Consumption": { + "shape": "PrefetchConsumption" + }, + "Name": { + "location": "uri", + "locationName": "Name", + "shape": "__string" + }, + "PlaybackConfigurationName": { + "location": "uri", + "locationName": "PlaybackConfigurationName", + "shape": "__string" + }, + "Retrieval": { + "shape": "PrefetchRetrieval" + }, + "StreamId": { + "shape": "__string" + } + }, + "required": [ + "Name", + "PlaybackConfigurationName", + "Consumption", + "Retrieval" + ], + "type": "structure" + }, + "CreatePrefetchScheduleResponse": { + "members": { + "Arn": { + "shape": "__string" + }, + "Consumption": { + "shape": "PrefetchConsumption" + }, + "Name": { + "shape": "__string" + }, + "PlaybackConfigurationName": { + "shape": "__string" + }, + "Retrieval": { + "shape": "PrefetchRetrieval" + }, + "StreamId": { + "shape": "__string" + } + }, + "type": "structure" + }, "CreateProgramRequest": { "members": { "AdBreaks": { @@ -1057,6 +1185,29 @@ "members": {}, "type": "structure" }, + "DeletePrefetchScheduleRequest": { + "members": { + "Name": { + "location": "uri", + "locationName": "Name", + "shape": "__string" + }, + "PlaybackConfigurationName": { + "location": "uri", + "locationName": "PlaybackConfigurationName", + "shape": "__string" + } + }, + "required": [ + "Name", + "PlaybackConfigurationName" + ], + "type": "structure" + }, + "DeletePrefetchScheduleResponse": { + "members": {}, + "type": "structure" + }, "DeleteProgramRequest": { "members": { "ChannelName": { @@ -1439,6 +1590,48 @@ }, "type": "structure" }, + "GetPrefetchScheduleRequest": { + "members": { + "Name": { + "location": "uri", + "locationName": "Name", + "shape": "__string" + }, + "PlaybackConfigurationName": { + "location": "uri", + "locationName": "PlaybackConfigurationName", + "shape": "__string" + } + }, + "required": [ + "Name", + "PlaybackConfigurationName" + ], + "type": "structure" + }, + "GetPrefetchScheduleResponse": { + "members": { + "Arn": { + "shape": "__string" + }, + "Consumption": { + "shape": "PrefetchConsumption" + }, + "Name": { + "shape": "__string" + }, + "PlaybackConfigurationName": { + "shape": "__string" + }, + "Retrieval": { + "shape": "PrefetchRetrieval" + }, + "StreamId": { + "shape": "__string" + } + }, + "type": "structure" + }, "HlsConfiguration": { "members": { "ManifestEndpointPrefix": { @@ -1577,6 +1770,39 @@ }, "type": "structure" }, + "ListPrefetchSchedulesRequest": { + "members": { + "MaxResults": { + "shape": "__integerMin1Max100" + }, + "NextToken": { + "shape": "__string" + }, + "PlaybackConfigurationName": { + "location": "uri", + "locationName": "PlaybackConfigurationName", + "shape": "__string" + }, + "StreamId": { + "shape": "__string" + } + }, + "required": [ + "PlaybackConfigurationName" + ], + "type": "structure" + }, + "ListPrefetchSchedulesResponse": { + "members": { + "Items": { + "shape": "__listOfPrefetchSchedule" + }, + "NextToken": { + "shape": "__string" + } + }, + "type": "structure" + }, "ListSourceLocationsRequest": { "members": { "MaxResults": { @@ -1707,6 +1933,12 @@ ], "type": "string" }, + "Operator": { + "enum": [ + "EQUALS" + ], + "type": "string" + }, "OriginManifestType": { "enum": [ "SINGLE_PERIOD", @@ -1784,6 +2016,70 @@ ], "type": "string" }, + "PrefetchConsumption": { + "members": { + "AvailMatchingCriteria": { + "shape": "__listOfAvailMatchingCriteria" + }, + "EndTime": { + "shape": "__timestampUnix" + }, + "StartTime": { + "shape": "__timestampUnix" + } + }, + "required": [ + "EndTime" + ], + "type": "structure" + }, + "PrefetchRetrieval": { + "members": { + "DynamicVariables": { + "shape": "__mapOf__string" + }, + "EndTime": { + "shape": "__timestampUnix" + }, + "StartTime": { + "shape": "__timestampUnix" + } + }, + "required": [ + "EndTime" + ], + "type": "structure" + }, + "PrefetchSchedule": { + "members": { + "Arn": { + "shape": "__string" + }, + "Consumption": { + "shape": "PrefetchConsumption" + }, + "Name": { + "shape": "__string" + }, + "PlaybackConfigurationName": { + "shape": "__string" + }, + "Retrieval": { + "shape": "PrefetchRetrieval" + }, + "StreamId": { + "shape": "__string" + } + }, + "required": [ + "Retrieval", + "Consumption", + "Arn", + "PlaybackConfigurationName", + "Name" + ], + "type": "structure" + }, "PutChannelPolicyRequest": { "members": { "ChannelName": { @@ -2427,6 +2723,11 @@ "min": 1, "type": "integer" }, + "__integerMin1Max100": { + "max": 100, + "min": 1, + "type": "integer" + }, "__listOfAdBreak": { "member": { "shape": "AdBreak" @@ -2439,6 +2740,12 @@ }, "type": "list" }, + "__listOfAvailMatchingCriteria": { + "member": { + "shape": "AvailMatchingCriteria" + }, + "type": "list" + }, "__listOfChannel": { "member": { "shape": "Channel" @@ -2451,6 +2758,12 @@ }, "type": "list" }, + "__listOfPrefetchSchedule": { + "member": { + "shape": "PrefetchSchedule" + }, + "type": "list" + }, "__listOfScheduleAdBreak": { "member": { "shape": "ScheduleAdBreak" diff --git a/models/apis/mediatailor/2018-04-23/docs-2.json b/models/apis/mediatailor/2018-04-23/docs-2.json index 9660ce2675..dcddc66b5b 100644 --- a/models/apis/mediatailor/2018-04-23/docs-2.json +++ b/models/apis/mediatailor/2018-04-23/docs-2.json @@ -2,12 +2,14 @@ "operations": { "ConfigureLogsForPlaybackConfiguration": "

Configures Amazon CloudWatch log settings for a playback configuration.

", "CreateChannel": "

Creates a channel.

", + "CreatePrefetchSchedule": "

Creates a new prefetch schedule for the specified playback configuration.

", "CreateProgram": "

Creates a program.

", "CreateSourceLocation": "

Creates a source location on a specific channel.

", "CreateVodSource": "

Creates name for a specific VOD source in a source location.

", "DeleteChannel": "

Deletes a channel. You must stop the channel before it can be deleted.

", "DeleteChannelPolicy": "

Deletes a channel's IAM policy.

", "DeletePlaybackConfiguration": "

Deletes the playback configuration for the specified name.

", + "DeletePrefetchSchedule": "

Deletes a prefetch schedule for a specific playback configuration. If you call DeletePrefetchSchedule on an expired prefetch schedule, MediaTailor returns an HTTP 404 status code.

", "DeleteProgram": "

Deletes a specific program on a specific channel.

", "DeleteSourceLocation": "

Deletes a source location on a specific channel.

", "DeleteVodSource": "

Deletes a specific VOD source in a specific source location.

", @@ -18,9 +20,11 @@ "GetChannelPolicy": "

Retrieves information about a channel's IAM policy.

", "GetChannelSchedule": "

Retrieves information about your channel's schedule.

", "GetPlaybackConfiguration": "

Returns the playback configuration for the specified name.

", + "GetPrefetchSchedule": "

Returns information about the prefetch schedule for a specific playback configuration. If you call GetPrefetchSchedule on an expired prefetch schedule, MediaTailor returns an HTTP 404 status code.

", "ListAlerts": "

Returns a list of alerts for the given resource.

", "ListChannels": "

Retrieves a list of channels that are associated with this account.

", "ListPlaybackConfigurations": "

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

", + "ListPrefetchSchedules": "

Creates a new prefetch schedule.

", "ListSourceLocations": "

Retrieves a list of source locations.

", "ListTagsForResource": "

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

", "ListVodSources": "

Lists all the VOD sources in a source location.

", @@ -69,6 +73,12 @@ "__listOfAlert$member": null } }, + "AvailMatchingCriteria": { + "base": "

MediaTailor only places (consumes) prefetched ads if the ad break meets the criteria defined by the dynamic variables. This gives you granular control over which ad break to place the prefetched ads into.

As an example, let's say that you set DynamicVariable to scte.event_id and Operator to EQUALS, and your playback configuration has an ADS URL of https://my.ads.server.com/path?&podId=[scte.avail_num]&event=[scte.event_id]&duration=[session.avail_duration_secs]. And the prefetch request to the ADS contains these values https://my.ads.server.com/path?&podId=3&event=my-awesome-event&duration=30. MediaTailor will only insert the prefetched ads into the ad break if has a SCTE marker with an event id of my-awesome-event, since it must match the event id that MediaTailor uses to query the ADS.

You can specify up to five AvailMatchingCriteria. If you specify multiple AvailMatchingCriteria, MediaTailor combines them to match using a logical AND. You can model logical OR combinations by creating multiple prefetch schedules.

", + "refs": { + "__listOfAvailMatchingCriteria$member": null + } + }, "AvailSuppression": { "base": "

The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression.

", "refs": { @@ -134,6 +144,10 @@ "base": "

The configuration for this channel.

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

A complex type that contains configuration settings for retrieval, consumption, and an optional stream ID.

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

Program configuration parameters.

", "refs": {} @@ -191,6 +205,10 @@ "base": null, "refs": {} }, + "DeletePrefetchScheduleResponse": { + "base": "

If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

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

This response includes only the \"type\" : \"object\" property.

", "refs": {} @@ -281,6 +299,14 @@ "base": "

Returns a list of playback configurations.

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

Retrieves the prefetch schedule(s) for a specific playback configuration.

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

The list of prefetch schedules.

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

Lists the source locations.

", "refs": {} @@ -324,6 +350,12 @@ "AvailSuppression$Mode": "

Sets the ad suppression mode. By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.

" } }, + "Operator": { + "base": null, + "refs": { + "AvailMatchingCriteria$Operator": "

For the DynamicVariable specified in AvailMatchingCriteria, the Operator that is used for the comparison.

" + } + }, "OriginManifestType": { "base": null, "refs": { @@ -343,6 +375,26 @@ "CreateChannelRequest$PlaybackMode": "

The type of playback mode to use for this channel.

LINEAR - The programs in the schedule play once back-to-back in the schedule.

LOOP - The programs in the schedule play back-to-back in an endless loop. When the last program in the schedule stops playing, playback loops back to the first program in the schedule.

" } }, + "PrefetchConsumption": { + "base": "

A complex type that contains settings that determine how and when that MediaTailor places prefetched ads into upcoming ad breaks.

", + "refs": { + "CreatePrefetchScheduleRequest$Consumption": "

The configuration settings for MediaTailor's consumption of the prefetched ads from the ad decision server. Each consumption configuration contains an end time and an optional start time that define the consumption window. Prefetch schedules automatically expire no earlier than seven days after the end time.

", + "PrefetchSchedule$Consumption": "

Consumption settings determine how, and when, MediaTailor places the prefetched ads into ad breaks. Ad consumption occurs within a span of time that you define, called a consumption window. You can designate which ad breaks that MediaTailor fills with prefetch ads by setting avail matching criteria.

" + } + }, + "PrefetchRetrieval": { + "base": "

A complex type that contains settings governing when MediaTailor prefetches ads, and which dynamic variables that MediaTailor includes in the request to the ad decision server.

", + "refs": { + "CreatePrefetchScheduleRequest$Retrieval": "

The configuration settings for retrieval of prefetched ads from the ad decision server. Only one set of prefetched ads will be retrieved and subsequently consumed for each ad break.

", + "PrefetchSchedule$Retrieval": "

A complex type that contains settings for prefetch retrieval from the ad decision server (ADS).

" + } + }, + "PrefetchSchedule": { + "base": "

A complex type that contains prefetch schedule information.

", + "refs": { + "__listOfPrefetchSchedule$member": null + } + }, "PutChannelPolicyRequest": { "base": "

Adds an IAM policy for the channel.

", "refs": {} @@ -504,6 +556,12 @@ "PutPlaybackConfigurationRequest$PersonalizationThresholdSeconds": "

Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break. If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor.

" } }, + "__integerMin1Max100": { + "base": null, + "refs": { + "ListPrefetchSchedulesRequest$MaxResults": "

The maximum number of prefetch schedules that you want MediaTailor to return in response to the current request. If the playback configuration has more than MaxResults prefetch schedules, use the value of NextToken in the response to get the next page of results.

" + } + }, "__listOfAdBreak": { "base": null, "refs": { @@ -517,6 +575,12 @@ "ListAlertsResponse$Items": "

An array of alerts that are associated with this resource.

" } }, + "__listOfAvailMatchingCriteria": { + "base": null, + "refs": { + "PrefetchConsumption$AvailMatchingCriteria": "

If you only want MediaTailor to insert prefetched ads into avails (ad breaks) that match specific dynamic variables, such as scte.event_id, set the avail matching criteria.

" + } + }, "__listOfChannel": { "base": null, "refs": { @@ -529,6 +593,12 @@ "ListPlaybackConfigurationsResponse$Items": "

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

" } }, + "__listOfPrefetchSchedule": { + "base": null, + "refs": { + "ListPrefetchSchedulesResponse$Items": "

Lists the prefetch schedules. An empty Items list doesn't mean there aren't more items to fetch, just that that page was empty.

" + } + }, "__listOfScheduleAdBreak": { "base": null, "refs": { @@ -582,6 +652,7 @@ "DescribeVodSourceResponse$Tags": "

The tags assigned to the VOD source.

", "GetPlaybackConfigurationResponse$Tags": "

The tags assigned to the playback configuration.

", "PlaybackConfiguration$Tags": "

The tags to assign to the playback configuration.

", + "PrefetchRetrieval$DynamicVariables": "

The dynamic variables to use for substitution during prefetch requests to the ad decision server (ADS).

You intially configure dynamic variables for the ADS URL when you set up your playback configuration. When you specify DynamicVariables for prefetch retrieval, MediaTailor includes the dynamic variables in the request to the ADS.

", "PutPlaybackConfigurationRequest$Tags": "

The tags to assign to the playback configuration.

", "SourceLocation$Tags": "

The tags assigned to the source location.

", "TagsModel$Tags": "

A comma-separated list of tag key:value pairs.

", @@ -594,6 +665,7 @@ "Alert$AlertCode": "

The code for the alert. For example, NOT_PROCESSED.

", "Alert$AlertMessage": "

If an alert is generated for a resource, an explanation of the reason for the alert.

", "Alert$ResourceArn": "

The Amazon Resource Name (ARN) of the resource.

", + "AvailMatchingCriteria$DynamicVariable": "

The dynamic variable(s) that MediaTailor should use as avail matching criteria. MediaTailor only places the prefetched ads into the avail if the avail matches the criteria defined by the dynamic variable. For information about dynamic variables, see Using dynamic ad variables in the MediaTailor User Guide.

You can include up to 100 dynamic variables.

", "AvailSuppression$Value": "

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.

", "BadRequestException$Message": "

Constructs a new BadRequestException with the specified error message.

", "Bumper$EndUrl": "

The URL for the end bumper asset.

", @@ -606,6 +678,7 @@ "Channel$PlaybackMode": "

The type of playback mode for this channel.

LINEAR - Programs play back-to-back only once.

LOOP - Programs play back-to-back in an endless loop. When the last program in the schedule plays, playback loops back to the first program in the schedule.

", "ConfigureLogsForPlaybackConfigurationRequest$PlaybackConfigurationName": "

The name of the playback configuration.

", "ConfigureLogsForPlaybackConfigurationResponse$PlaybackConfigurationName": "

The name of the playback configuration.

", + "CreatePrefetchScheduleRequest$StreamId": "

An optional stream identifier that MediaTailor uses to prefetch ads for multiple streams that use the same playback configuration. If StreamId is specified, MediaTailor returns all of the prefetch schedules with an exact match on StreamId. If not specified, MediaTailor returns all of the prefetch schedules for the playback configuration, regardless of StreamId.

", "CreateProgramRequest$SourceLocationName": "

The name of the source location.

", "CreateProgramRequest$VodSourceName": "

The name that's used to refer to a VOD source.

", "DashConfiguration$ManifestEndpointPrefix": "

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

", @@ -642,6 +715,9 @@ "ListAlertsResponse$NextToken": "

Pagination token from the list request. Use the token to fetch the next page of results.

", "ListChannelsResponse$NextToken": "

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

", "ListPlaybackConfigurationsResponse$NextToken": "

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

", + "ListPrefetchSchedulesRequest$NextToken": "

(Optional) If the playback configuration has more than MaxResults prefetch schedules, use NextToken to get the second and subsequent pages of results.

For the first ListPrefetchSchedulesRequest request, omit this value.

For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.

If the previous response didn't include a NextToken element, there are no more prefetch schedules to get.

", + "ListPrefetchSchedulesRequest$StreamId": "

An optional filtering parameter whereby MediaTailor filters the prefetch schedules to include only specific streams.

", + "ListPrefetchSchedulesResponse$NextToken": "

The value that you will use forNextToken in the next ListPrefetchSchedulesRequest request.

", "ListSourceLocationsResponse$NextToken": "

Pagination token from the list request. Use the token to fetch the next page of results.

", "ListVodSourcesResponse$NextToken": "

Pagination token from the list request. Use the token to fetch the next page of results.

", "LivePreRollConfiguration$AdDecisionServerUrl": "

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

", @@ -653,6 +729,10 @@ "PlaybackConfiguration$SlateAdUrl": "

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

", "PlaybackConfiguration$TranscodeProfileName": "

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

", "PlaybackConfiguration$VideoContentSourceUrl": "

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

", + "PrefetchSchedule$Arn": "

The Amazon Resource Name (ARN) of the prefetch schedule.

", + "PrefetchSchedule$Name": "

The name of the prefetch schedule. The name must be unique among all prefetch schedules that are associated with the specified playback configuration.

", + "PrefetchSchedule$PlaybackConfigurationName": "

The name of the playback configuration to create the prefetch schedule for.

", + "PrefetchSchedule$StreamId": "

An optional stream identifier that you can specify in order to prefetch for multiple streams that use the same playback configuration.

", "PutChannelPolicyRequest$Policy": "

Adds an IAM role that determines the permissions of your channel.

", "PutPlaybackConfigurationRequest$AdDecisionServerUrl": "

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

", "PutPlaybackConfigurationRequest$Name": "

The identifier for the playback configuration.

", @@ -701,6 +781,10 @@ "DescribeSourceLocationResponse$LastModifiedTime": "

The timestamp that indicates when the source location was last modified.

", "DescribeVodSourceResponse$CreationTime": "

The timestamp that indicates when the VOD source was created.

", "DescribeVodSourceResponse$LastModifiedTime": "

The ARN for the VOD source.

", + "PrefetchConsumption$EndTime": "

The time when MediaTailor no longer considers the prefetched ads for use in an ad break. MediaTailor automatically deletes prefetch schedules no less than seven days after the end time. If you'd like to manually delete the prefetch schedule, you can call DeletePrefetchSchedule.

", + "PrefetchConsumption$StartTime": "

The time when prefetched ads are considered for use in an ad break. If you don't specify StartTime, the prefetched ads are available after MediaTailor retrives them from the ad decision server.

", + "PrefetchRetrieval$EndTime": "

The time when prefetch retrieval ends for the ad break. Prefetching will be attempted for manifest requests that occur at or before this time.

", + "PrefetchRetrieval$StartTime": "

The time when prefetch retrievals can start for this break. Ad prefetching will be attempted for manifest requests that occur at or after this time. Defaults to the current time. If not specified, the prefetch retrieval starts as soon as possible.

", "ScheduleAdBreak$ApproximateStartTime": "

The approximate time that the ad will start playing.

", "ScheduleEntry$ApproximateStartTime": "

The approximate time that the program will start playing.

", "SourceLocation$CreationTime": "

The timestamp that indicates when the source location was created.

", diff --git a/models/apis/mediatailor/2018-04-23/paginators-1.json b/models/apis/mediatailor/2018-04-23/paginators-1.json index bffd7bc70b..82cec31e3c 100644 --- a/models/apis/mediatailor/2018-04-23/paginators-1.json +++ b/models/apis/mediatailor/2018-04-23/paginators-1.json @@ -24,6 +24,12 @@ "output_token": "NextToken", "result_key": "Items" }, + "ListPrefetchSchedules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, "ListSourceLocations": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 6c17c8e4ed..6aa520ba62 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -10972,6 +10972,9 @@ "regions" : { "us-iso-east-1" : { "description" : "US ISO East" + }, + "us-iso-west-1" : { + "description" : "US ISO WEST" } }, "services" : { @@ -10982,6 +10985,12 @@ "region" : "us-iso-east-1" }, "hostname" : "api.ecr.us-iso-east-1.c2s.ic.gov" + }, + "us-iso-west-1" : { + "credentialScope" : { + "region" : "us-iso-west-1" + }, + "hostname" : "api.ecr.us-iso-west-1.c2s.ic.gov" } } }, @@ -11000,29 +11009,34 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "autoscaling" : { "endpoints" : { "us-iso-east-1" : { "protocols" : [ "http", "https" ] - } + }, + "us-iso-west-1" : { } } }, "cloudformation" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "cloudtrail" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "codedeploy" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "comprehend" : { @@ -11035,7 +11049,8 @@ }, "config" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "datapipeline" : { @@ -11045,7 +11060,8 @@ }, "directconnect" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "dms" : { @@ -11073,17 +11089,20 @@ }, "ec2" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "ecs" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "elasticache" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "elasticfilesystem" : { @@ -11101,14 +11120,16 @@ "endpoints" : { "us-iso-east-1" : { "protocols" : [ "http", "https" ] - } + }, + "us-iso-west-1" : { } } }, "elasticmapreduce" : { "endpoints" : { "us-iso-east-1" : { "protocols" : [ "https" ] - } + }, + "us-iso-west-1" : { } } }, "es" : { @@ -11118,7 +11139,8 @@ }, "events" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "firehose" : { @@ -11130,7 +11152,8 @@ "endpoints" : { "us-iso-east-1" : { "protocols" : [ "http", "https" ] - } + }, + "us-iso-west-1" : { } } }, "health" : { @@ -11152,7 +11175,8 @@ }, "kinesis" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "kms" : { @@ -11163,12 +11187,14 @@ }, "hostname" : "kms-fips.us-iso-east-1.c2s.ic.gov" }, - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "lambda" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "license-manager" : { @@ -11178,7 +11204,8 @@ }, "logs" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "medialive" : { @@ -11193,7 +11220,8 @@ }, "monitoring" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "outposts" : { @@ -11208,12 +11236,14 @@ }, "rds" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "redshift" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "route53" : { @@ -11263,14 +11293,16 @@ "endpoints" : { "us-iso-east-1" : { "protocols" : [ "http", "https" ] - } + }, + "us-iso-west-1" : { } } }, "sqs" : { "endpoints" : { "us-iso-east-1" : { "protocols" : [ "http", "https" ] - } + }, + "us-iso-west-1" : { } } }, "ssm" : { @@ -11280,7 +11312,8 @@ }, "states" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "streams.dynamodb" : { @@ -11298,7 +11331,8 @@ }, "sts" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "support" : { @@ -11314,7 +11348,8 @@ }, "swf" : { "endpoints" : { - "us-iso-east-1" : { } + "us-iso-east-1" : { }, + "us-iso-west-1" : { } } }, "transcribe" : { diff --git a/service/cloudsearch/api.go b/service/cloudsearch/api.go index 67b8274051..4fed66b987 100644 --- a/service/cloudsearch/api.go +++ b/service/cloudsearch/api.go @@ -75,6 +75,9 @@ func (c *CloudSearch) BuildSuggestersRequest(input *BuildSuggestersInput) (req * // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) BuildSuggesters(input *BuildSuggestersInput) (*BuildSuggestersOutput, error) { req, out := c.BuildSuggestersRequest(input) return out, req.Send() @@ -260,6 +263,9 @@ func (c *CloudSearch) DefineAnalysisSchemeRequest(input *DefineAnalysisSchemeInp // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DefineAnalysisScheme(input *DefineAnalysisSchemeInput) (*DefineAnalysisSchemeOutput, error) { req, out := c.DefineAnalysisSchemeRequest(input) return out, req.Send() @@ -353,6 +359,9 @@ func (c *CloudSearch) DefineExpressionRequest(input *DefineExpressionInput) (req // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DefineExpression(input *DefineExpressionInput) (*DefineExpressionOutput, error) { req, out := c.DefineExpressionRequest(input) return out, req.Send() @@ -450,6 +459,9 @@ func (c *CloudSearch) DefineIndexFieldRequest(input *DefineIndexFieldInput) (req // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DefineIndexField(input *DefineIndexFieldInput) (*DefineIndexFieldOutput, error) { req, out := c.DefineIndexFieldRequest(input) return out, req.Send() @@ -545,6 +557,9 @@ func (c *CloudSearch) DefineSuggesterRequest(input *DefineSuggesterInput) (req * // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DefineSuggester(input *DefineSuggesterInput) (*DefineSuggesterOutput, error) { req, out := c.DefineSuggesterRequest(input) return out, req.Send() @@ -634,6 +649,9 @@ func (c *CloudSearch) DeleteAnalysisSchemeRequest(input *DeleteAnalysisSchemeInp // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DeleteAnalysisScheme(input *DeleteAnalysisSchemeInput) (*DeleteAnalysisSchemeOutput, error) { req, out := c.DeleteAnalysisSchemeRequest(input) return out, req.Send() @@ -806,6 +824,9 @@ func (c *CloudSearch) DeleteExpressionRequest(input *DeleteExpressionInput) (req // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DeleteExpression(input *DeleteExpressionInput) (*DeleteExpressionOutput, error) { req, out := c.DeleteExpressionRequest(input) return out, req.Send() @@ -895,6 +916,9 @@ func (c *CloudSearch) DeleteIndexFieldRequest(input *DeleteIndexFieldInput) (req // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DeleteIndexField(input *DeleteIndexFieldInput) (*DeleteIndexFieldOutput, error) { req, out := c.DeleteIndexFieldRequest(input) return out, req.Send() @@ -984,6 +1008,9 @@ func (c *CloudSearch) DeleteSuggesterRequest(input *DeleteSuggesterInput) (req * // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) DeleteSuggester(input *DeleteSuggesterInput) (*DeleteSuggesterOutput, error) { req, out := c.DeleteSuggesterRequest(input) return out, req.Send() @@ -1879,6 +1906,9 @@ func (c *CloudSearch) IndexDocumentsRequest(input *IndexDocumentsInput) (req *re // The request was rejected because it attempted to reference a resource that // does not exist. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) IndexDocuments(input *IndexDocumentsInput) (*IndexDocumentsOutput, error) { req, out := c.IndexDocumentsRequest(input) return out, req.Send() @@ -2252,6 +2282,9 @@ func (c *CloudSearch) UpdateScalingParametersRequest(input *UpdateScalingParamet // * ErrCodeInvalidTypeException "InvalidType" // The request was rejected because it specified an invalid type definition. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) UpdateScalingParameters(input *UpdateScalingParametersInput) (*UpdateScalingParametersOutput, error) { req, out := c.UpdateScalingParametersRequest(input) return out, req.Send() @@ -2344,6 +2377,9 @@ func (c *CloudSearch) UpdateServiceAccessPoliciesRequest(input *UpdateServiceAcc // * ErrCodeInvalidTypeException "InvalidType" // The request was rejected because it specified an invalid type definition. // +// * ErrCodeValidationException "ValidationException" +// The request was rejected because it has invalid parameters. +// func (c *CloudSearch) UpdateServiceAccessPolicies(input *UpdateServiceAccessPoliciesInput) (*UpdateServiceAccessPoliciesOutput, error) { req, out := c.UpdateServiceAccessPoliciesRequest(input) return out, req.Send() diff --git a/service/ec2/api.go b/service/ec2/api.go index 91b9d92b06..ba213660b0 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -76501,8 +76501,11 @@ type DescribeInstanceTypesInput struct { // * instance-storage-info.disk.type - The storage technology for the local // instance storage disks (hdd | ssd). // + // * instance-storage-info.encryption-supported - Indicates whether data + // is encrypted at rest (required | unsupported). + // // * instance-storage-info.nvme-support - Indicates whether non-volatile - // memory express (NVMe) is supported for instance store (required | supported) + // memory express (NVMe) is supported for instance store (required | supported // | unsupported). // // * instance-storage-info.total-size-in-gb - The total amount of storage @@ -90815,7 +90818,7 @@ func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescriptio return s } -// Describes the disk. +// Describes a disk. type DiskInfo struct { _ struct{} `type:"structure"` @@ -105489,15 +105492,18 @@ func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary { return s } -// Describes the disks that are available for the instance type. +// Describes the instance store features that are supported by the instance +// type. type InstanceStorageInfo struct { _ struct{} `type:"structure"` // Describes the disks that are available for the instance type. Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"` - // Indicates whether non-volatile memory express (NVMe) is supported for instance - // store. + // Indicates whether data is encrypted at rest. + EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"InstanceStorageEncryptionSupport"` + + // Indicates whether non-volatile memory express (NVMe) is supported. NvmeSupport *string `locationName:"nvmeSupport" type:"string" enum:"EphemeralNvmeSupport"` // The total size of the disks, in GB. @@ -105528,6 +105534,12 @@ func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo { return s } +// SetEncryptionSupport sets the EncryptionSupport field's value. +func (s *InstanceStorageInfo) SetEncryptionSupport(v string) *InstanceStorageInfo { + s.EncryptionSupport = &v + return s +} + // SetNvmeSupport sets the NvmeSupport field's value. func (s *InstanceStorageInfo) SetNvmeSupport(v string) *InstanceStorageInfo { s.NvmeSupport = &v @@ -143185,6 +143197,9 @@ const ( // ArchitectureTypeArm64 is a ArchitectureType enum value ArchitectureTypeArm64 = "arm64" + + // ArchitectureTypeX8664Mac is a ArchitectureType enum value + ArchitectureTypeX8664Mac = "x86_64_mac" ) // ArchitectureType_Values returns all elements of the ArchitectureType enum @@ -143193,6 +143208,7 @@ func ArchitectureType_Values() []string { ArchitectureTypeI386, ArchitectureTypeX8664, ArchitectureTypeArm64, + ArchitectureTypeX8664Mac, } } @@ -145228,6 +145244,22 @@ func InstanceStateName_Values() []string { } } +const ( + // InstanceStorageEncryptionSupportUnsupported is a InstanceStorageEncryptionSupport enum value + InstanceStorageEncryptionSupportUnsupported = "unsupported" + + // InstanceStorageEncryptionSupportRequired is a InstanceStorageEncryptionSupport enum value + InstanceStorageEncryptionSupportRequired = "required" +) + +// InstanceStorageEncryptionSupport_Values returns all elements of the InstanceStorageEncryptionSupport enum +func InstanceStorageEncryptionSupport_Values() []string { + return []string{ + InstanceStorageEncryptionSupportUnsupported, + InstanceStorageEncryptionSupportRequired, + } +} + const ( // InstanceTypeT1Micro is a InstanceType enum value InstanceTypeT1Micro = "t1.micro" diff --git a/service/ecs/api.go b/service/ecs/api.go index 39617ce00a..e169a04f4b 100644 --- a/service/ecs/api.go +++ b/service/ecs/api.go @@ -9620,8 +9620,8 @@ type CreateServiceInput struct { // Specifies whether to propagate the tags from the task definition or the service // to the tasks in the service. If no value is specified, the tags are not propagated. // Tags can only be propagated to the tasks within the service during service - // creation. To add tags to a task after service creation, use the TagResource - // API action. + // creation. To add tags to a task after service creation or task creation, + // use the TagResource API action. PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon @@ -13632,7 +13632,7 @@ func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { } // Details on a Elastic Inference accelerator. For more information, see Working -// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) +// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) // in the Amazon Elastic Container Service Developer Guide. type InferenceAccelerator struct { _ struct{} `type:"structure"` @@ -13698,7 +13698,7 @@ func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { // Details on an Elastic Inference accelerator task override. This parameter // is used to override the Elastic Inference accelerator specified in the task // definition. For more information, see Working with Amazon Elastic Inference -// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) +// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) // in the Amazon Elastic Container Service Developer Guide. type InferenceAcceleratorOverride struct { _ struct{} `type:"structure"` @@ -18022,7 +18022,7 @@ func (s *ResourceNotFoundException) RequestID() string { // The type and amount of a resource to assign to a container. The supported // resource types are GPUs and Elastic Inference accelerators. For more information, // see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) -// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) +// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) // in the Amazon Elastic Container Service Developer Guide type ResourceRequirement struct { _ struct{} `type:"structure"` @@ -18245,6 +18245,11 @@ type RunTaskInput struct { // The family and revision (family:revision) or full ARN of the task definition // to run. If a revision is not specified, the latest ACTIVE revision is used. // + // The full ARN value must match the value that you specified ias the Resource + // of the IAM principal's permissions policy. For example, if the Resource is + // arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*, the + // taskDefinition ARN value must be arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName. + // // TaskDefinition is a required field TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } @@ -21434,7 +21439,8 @@ type TaskOverride struct { EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` // The Amazon Resource Name (ARN) of the task execution IAM role override for - // the task. + // the task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) + // in the Amazon Elastic Container Service Developer Guide. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` // The Elastic Inference accelerator override for the task. @@ -21445,7 +21451,9 @@ type TaskOverride struct { // The Amazon Resource Name (ARN) of the IAM role that containers in this task // can assume. All containers in this task are granted the permissions that - // are specified in this role. + // are specified in this role. For more information, see IAM Role for Tasks + // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) + // in the Amazon Elastic Container Service Developer Guide. TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` } diff --git a/service/mediatailor/api.go b/service/mediatailor/api.go index d0a6b3e709..5533b1cdc4 100644 --- a/service/mediatailor/api.go +++ b/service/mediatailor/api.go @@ -161,6 +161,80 @@ func (c *MediaTailor) CreateChannelWithContext(ctx aws.Context, input *CreateCha return out, req.Send() } +const opCreatePrefetchSchedule = "CreatePrefetchSchedule" + +// CreatePrefetchScheduleRequest generates a "aws/request.Request" representing the +// client's request for the CreatePrefetchSchedule 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 CreatePrefetchSchedule for more information on using the CreatePrefetchSchedule +// 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 CreatePrefetchScheduleRequest method. +// req, resp := client.CreatePrefetchScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/CreatePrefetchSchedule +func (c *MediaTailor) CreatePrefetchScheduleRequest(input *CreatePrefetchScheduleInput) (req *request.Request, output *CreatePrefetchScheduleOutput) { + op := &request.Operation{ + Name: opCreatePrefetchSchedule, + HTTPMethod: "POST", + HTTPPath: "/prefetchSchedule/{PlaybackConfigurationName}/{Name}", + } + + if input == nil { + input = &CreatePrefetchScheduleInput{} + } + + output = &CreatePrefetchScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePrefetchSchedule API operation for AWS MediaTailor. +// +// Creates a new prefetch schedule for the specified playback 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 AWS MediaTailor's +// API operation CreatePrefetchSchedule for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/CreatePrefetchSchedule +func (c *MediaTailor) CreatePrefetchSchedule(input *CreatePrefetchScheduleInput) (*CreatePrefetchScheduleOutput, error) { + req, out := c.CreatePrefetchScheduleRequest(input) + return out, req.Send() +} + +// CreatePrefetchScheduleWithContext is the same as CreatePrefetchSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePrefetchSchedule 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 *MediaTailor) CreatePrefetchScheduleWithContext(ctx aws.Context, input *CreatePrefetchScheduleInput, opts ...request.Option) (*CreatePrefetchScheduleOutput, error) { + req, out := c.CreatePrefetchScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateProgram = "CreateProgram" // CreateProgramRequest generates a "aws/request.Request" representing the @@ -608,6 +682,83 @@ func (c *MediaTailor) DeletePlaybackConfigurationWithContext(ctx aws.Context, in return out, req.Send() } +const opDeletePrefetchSchedule = "DeletePrefetchSchedule" + +// DeletePrefetchScheduleRequest generates a "aws/request.Request" representing the +// client's request for the DeletePrefetchSchedule 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 DeletePrefetchSchedule for more information on using the DeletePrefetchSchedule +// 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 DeletePrefetchScheduleRequest method. +// req, resp := client.DeletePrefetchScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/DeletePrefetchSchedule +func (c *MediaTailor) DeletePrefetchScheduleRequest(input *DeletePrefetchScheduleInput) (req *request.Request, output *DeletePrefetchScheduleOutput) { + op := &request.Operation{ + Name: opDeletePrefetchSchedule, + HTTPMethod: "DELETE", + HTTPPath: "/prefetchSchedule/{PlaybackConfigurationName}/{Name}", + } + + if input == nil { + input = &DeletePrefetchScheduleInput{} + } + + output = &DeletePrefetchScheduleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePrefetchSchedule API operation for AWS MediaTailor. +// +// Deletes a prefetch schedule for a specific playback configuration. If you +// call DeletePrefetchSchedule on an expired prefetch schedule, MediaTailor +// returns an HTTP 404 status code. +// +// 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 MediaTailor's +// API operation DeletePrefetchSchedule for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/DeletePrefetchSchedule +func (c *MediaTailor) DeletePrefetchSchedule(input *DeletePrefetchScheduleInput) (*DeletePrefetchScheduleOutput, error) { + req, out := c.DeletePrefetchScheduleRequest(input) + return out, req.Send() +} + +// DeletePrefetchScheduleWithContext is the same as DeletePrefetchSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePrefetchSchedule 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 *MediaTailor) DeletePrefetchScheduleWithContext(ctx aws.Context, input *DeletePrefetchScheduleInput, opts ...request.Option) (*DeletePrefetchScheduleOutput, error) { + req, out := c.DeletePrefetchScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteProgram = "DeleteProgram" // DeleteProgramRequest generates a "aws/request.Request" representing the @@ -1409,6 +1560,82 @@ func (c *MediaTailor) GetPlaybackConfigurationWithContext(ctx aws.Context, input return out, req.Send() } +const opGetPrefetchSchedule = "GetPrefetchSchedule" + +// GetPrefetchScheduleRequest generates a "aws/request.Request" representing the +// client's request for the GetPrefetchSchedule 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 GetPrefetchSchedule for more information on using the GetPrefetchSchedule +// 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 GetPrefetchScheduleRequest method. +// req, resp := client.GetPrefetchScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/GetPrefetchSchedule +func (c *MediaTailor) GetPrefetchScheduleRequest(input *GetPrefetchScheduleInput) (req *request.Request, output *GetPrefetchScheduleOutput) { + op := &request.Operation{ + Name: opGetPrefetchSchedule, + HTTPMethod: "GET", + HTTPPath: "/prefetchSchedule/{PlaybackConfigurationName}/{Name}", + } + + if input == nil { + input = &GetPrefetchScheduleInput{} + } + + output = &GetPrefetchScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPrefetchSchedule API operation for AWS MediaTailor. +// +// Returns information about the prefetch schedule for a specific playback configuration. +// If you call GetPrefetchSchedule on an expired prefetch schedule, MediaTailor +// returns an HTTP 404 status code. +// +// 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 MediaTailor's +// API operation GetPrefetchSchedule for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/GetPrefetchSchedule +func (c *MediaTailor) GetPrefetchSchedule(input *GetPrefetchScheduleInput) (*GetPrefetchScheduleOutput, error) { + req, out := c.GetPrefetchScheduleRequest(input) + return out, req.Send() +} + +// GetPrefetchScheduleWithContext is the same as GetPrefetchSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See GetPrefetchSchedule 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 *MediaTailor) GetPrefetchScheduleWithContext(ctx aws.Context, input *GetPrefetchScheduleInput, opts ...request.Option) (*GetPrefetchScheduleOutput, error) { + req, out := c.GetPrefetchScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListAlerts = "ListAlerts" // ListAlertsRequest generates a "aws/request.Request" representing the @@ -1809,6 +2036,138 @@ func (c *MediaTailor) ListPlaybackConfigurationsPagesWithContext(ctx aws.Context return p.Err() } +const opListPrefetchSchedules = "ListPrefetchSchedules" + +// ListPrefetchSchedulesRequest generates a "aws/request.Request" representing the +// client's request for the ListPrefetchSchedules 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 ListPrefetchSchedules for more information on using the ListPrefetchSchedules +// 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 ListPrefetchSchedulesRequest method. +// req, resp := client.ListPrefetchSchedulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/ListPrefetchSchedules +func (c *MediaTailor) ListPrefetchSchedulesRequest(input *ListPrefetchSchedulesInput) (req *request.Request, output *ListPrefetchSchedulesOutput) { + op := &request.Operation{ + Name: opListPrefetchSchedules, + HTTPMethod: "POST", + HTTPPath: "/prefetchSchedule/{PlaybackConfigurationName}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPrefetchSchedulesInput{} + } + + output = &ListPrefetchSchedulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPrefetchSchedules API operation for AWS MediaTailor. +// +// Creates a new prefetch schedule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS MediaTailor's +// API operation ListPrefetchSchedules for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/ListPrefetchSchedules +func (c *MediaTailor) ListPrefetchSchedules(input *ListPrefetchSchedulesInput) (*ListPrefetchSchedulesOutput, error) { + req, out := c.ListPrefetchSchedulesRequest(input) + return out, req.Send() +} + +// ListPrefetchSchedulesWithContext is the same as ListPrefetchSchedules with the addition of +// the ability to pass a context and additional request options. +// +// See ListPrefetchSchedules 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 *MediaTailor) ListPrefetchSchedulesWithContext(ctx aws.Context, input *ListPrefetchSchedulesInput, opts ...request.Option) (*ListPrefetchSchedulesOutput, error) { + req, out := c.ListPrefetchSchedulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPrefetchSchedulesPages iterates over the pages of a ListPrefetchSchedules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPrefetchSchedules 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 ListPrefetchSchedules operation. +// pageNum := 0 +// err := client.ListPrefetchSchedulesPages(params, +// func(page *mediatailor.ListPrefetchSchedulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaTailor) ListPrefetchSchedulesPages(input *ListPrefetchSchedulesInput, fn func(*ListPrefetchSchedulesOutput, bool) bool) error { + return c.ListPrefetchSchedulesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPrefetchSchedulesPagesWithContext same as ListPrefetchSchedulesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaTailor) ListPrefetchSchedulesPagesWithContext(ctx aws.Context, input *ListPrefetchSchedulesInput, fn func(*ListPrefetchSchedulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPrefetchSchedulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPrefetchSchedulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPrefetchSchedulesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSourceLocations = "ListSourceLocations" // ListSourceLocationsRequest generates a "aws/request.Request" representing the @@ -3078,7 +3437,89 @@ func (s *Alert) SetResourceArn(v string) *Alert { return s } -// The configuration for avail suppression, also known as ad suppression. For +// MediaTailor only places (consumes) prefetched ads if the ad break meets the +// criteria defined by the dynamic variables. This gives you granular control +// over which ad break to place the prefetched ads into. +// +// As an example, let's say that you set DynamicVariable to scte.event_id and +// Operator to EQUALS, and your playback configuration has an ADS URL of https://my.ads.server.com/path?&podId=[scte.avail_num]&event=[scte.event_id]&duration=[session.avail_duration_secs]. +// And the prefetch request to the ADS contains these values https://my.ads.server.com/path?&podId=3&event=my-awesome-event&duration=30. +// MediaTailor will only insert the prefetched ads into the ad break if has +// a SCTE marker with an event id of my-awesome-event, since it must match the +// event id that MediaTailor uses to query the ADS. +// +// You can specify up to five AvailMatchingCriteria. If you specify multiple +// AvailMatchingCriteria, MediaTailor combines them to match using a logical +// AND. You can model logical OR combinations by creating multiple prefetch +// schedules. +type AvailMatchingCriteria struct { + _ struct{} `type:"structure"` + + // The dynamic variable(s) that MediaTailor should use as avail matching criteria. + // MediaTailor only places the prefetched ads into the avail if the avail matches + // the criteria defined by the dynamic variable. For information about dynamic + // variables, see Using dynamic ad variables (https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html) + // in the MediaTailor User Guide. + // + // You can include up to 100 dynamic variables. + // + // DynamicVariable is a required field + DynamicVariable *string `type:"string" required:"true"` + + // For the DynamicVariable specified in AvailMatchingCriteria, the Operator + // that is used for the comparison. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"Operator"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AvailMatchingCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AvailMatchingCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailMatchingCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailMatchingCriteria"} + if s.DynamicVariable == nil { + invalidParams.Add(request.NewErrParamRequired("DynamicVariable")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDynamicVariable sets the DynamicVariable field's value. +func (s *AvailMatchingCriteria) SetDynamicVariable(v string) *AvailMatchingCriteria { + s.DynamicVariable = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *AvailMatchingCriteria) SetOperator(v string) *AvailMatchingCriteria { + s.Operator = &v + return s +} + +// The configuration for avail suppression, also known as ad suppression. For // more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html). type AvailSuppression struct { _ struct{} `type:"structure"` @@ -3727,6 +4168,202 @@ func (s *CreateChannelOutput) SetTags(v map[string]*string) *CreateChannelOutput return s } +// A complex type that contains configuration settings for retrieval, consumption, +// and an optional stream ID. +type CreatePrefetchScheduleInput struct { + _ struct{} `type:"structure"` + + // The configuration settings for MediaTailor's consumption of the prefetched + // ads from the ad decision server. Each consumption configuration contains + // an end time and an optional start time that define the consumption window. + // Prefetch schedules automatically expire no earlier than seven days after + // the end time. + // + // Consumption is a required field + Consumption *PrefetchConsumption `type:"structure" required:"true"` + + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` + + // PlaybackConfigurationName is a required field + PlaybackConfigurationName *string `location:"uri" locationName:"PlaybackConfigurationName" type:"string" required:"true"` + + // The configuration settings for retrieval of prefetched ads from the ad decision + // server. Only one set of prefetched ads will be retrieved and subsequently + // consumed for each ad break. + // + // Retrieval is a required field + Retrieval *PrefetchRetrieval `type:"structure" required:"true"` + + // An optional stream identifier that MediaTailor uses to prefetch ads for multiple + // streams that use the same playback configuration. If StreamId is specified, + // MediaTailor returns all of the prefetch schedules with an exact match on + // StreamId. If not specified, MediaTailor returns all of the prefetch schedules + // for the playback configuration, regardless of StreamId. + StreamId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrefetchScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrefetchScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePrefetchScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePrefetchScheduleInput"} + if s.Consumption == nil { + invalidParams.Add(request.NewErrParamRequired("Consumption")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.PlaybackConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("PlaybackConfigurationName")) + } + if s.PlaybackConfigurationName != nil && len(*s.PlaybackConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlaybackConfigurationName", 1)) + } + if s.Retrieval == nil { + invalidParams.Add(request.NewErrParamRequired("Retrieval")) + } + if s.Consumption != nil { + if err := s.Consumption.Validate(); err != nil { + invalidParams.AddNested("Consumption", err.(request.ErrInvalidParams)) + } + } + if s.Retrieval != nil { + if err := s.Retrieval.Validate(); err != nil { + invalidParams.AddNested("Retrieval", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConsumption sets the Consumption field's value. +func (s *CreatePrefetchScheduleInput) SetConsumption(v *PrefetchConsumption) *CreatePrefetchScheduleInput { + s.Consumption = v + return s +} + +// SetName sets the Name field's value. +func (s *CreatePrefetchScheduleInput) SetName(v string) *CreatePrefetchScheduleInput { + s.Name = &v + return s +} + +// SetPlaybackConfigurationName sets the PlaybackConfigurationName field's value. +func (s *CreatePrefetchScheduleInput) SetPlaybackConfigurationName(v string) *CreatePrefetchScheduleInput { + s.PlaybackConfigurationName = &v + return s +} + +// SetRetrieval sets the Retrieval field's value. +func (s *CreatePrefetchScheduleInput) SetRetrieval(v *PrefetchRetrieval) *CreatePrefetchScheduleInput { + s.Retrieval = v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *CreatePrefetchScheduleInput) SetStreamId(v string) *CreatePrefetchScheduleInput { + s.StreamId = &v + return s +} + +type CreatePrefetchScheduleOutput struct { + _ struct{} `type:"structure"` + + Arn *string `type:"string"` + + // A complex type that contains settings that determine how and when that MediaTailor + // places prefetched ads into upcoming ad breaks. + Consumption *PrefetchConsumption `type:"structure"` + + Name *string `type:"string"` + + PlaybackConfigurationName *string `type:"string"` + + // A complex type that contains settings governing when MediaTailor prefetches + // ads, and which dynamic variables that MediaTailor includes in the request + // to the ad decision server. + Retrieval *PrefetchRetrieval `type:"structure"` + + StreamId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrefetchScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrefetchScheduleOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreatePrefetchScheduleOutput) SetArn(v string) *CreatePrefetchScheduleOutput { + s.Arn = &v + return s +} + +// SetConsumption sets the Consumption field's value. +func (s *CreatePrefetchScheduleOutput) SetConsumption(v *PrefetchConsumption) *CreatePrefetchScheduleOutput { + s.Consumption = v + return s +} + +// SetName sets the Name field's value. +func (s *CreatePrefetchScheduleOutput) SetName(v string) *CreatePrefetchScheduleOutput { + s.Name = &v + return s +} + +// SetPlaybackConfigurationName sets the PlaybackConfigurationName field's value. +func (s *CreatePrefetchScheduleOutput) SetPlaybackConfigurationName(v string) *CreatePrefetchScheduleOutput { + s.PlaybackConfigurationName = &v + return s +} + +// SetRetrieval sets the Retrieval field's value. +func (s *CreatePrefetchScheduleOutput) SetRetrieval(v *PrefetchRetrieval) *CreatePrefetchScheduleOutput { + s.Retrieval = v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *CreatePrefetchScheduleOutput) SetStreamId(v string) *CreatePrefetchScheduleOutput { + s.StreamId = &v + return s +} + // Program configuration parameters. type CreateProgramInput struct { _ struct{} `type:"structure"` @@ -4721,6 +5358,92 @@ func (s DeletePlaybackConfigurationOutput) GoString() string { return s.String() } +type DeletePrefetchScheduleInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` + + // PlaybackConfigurationName is a required field + PlaybackConfigurationName *string `location:"uri" locationName:"PlaybackConfigurationName" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePrefetchScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePrefetchScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePrefetchScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePrefetchScheduleInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.PlaybackConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("PlaybackConfigurationName")) + } + if s.PlaybackConfigurationName != nil && len(*s.PlaybackConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlaybackConfigurationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeletePrefetchScheduleInput) SetName(v string) *DeletePrefetchScheduleInput { + s.Name = &v + return s +} + +// SetPlaybackConfigurationName sets the PlaybackConfigurationName field's value. +func (s *DeletePrefetchScheduleInput) SetPlaybackConfigurationName(v string) *DeletePrefetchScheduleInput { + s.PlaybackConfigurationName = &v + return s +} + +// If the action is successful, the service sends back an HTTP 204 response +// with an empty HTTP body. +type DeletePrefetchScheduleOutput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePrefetchScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePrefetchScheduleOutput) GoString() string { + return s.String() +} + type DeleteProgramInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -6013,15 +6736,152 @@ func (s *GetPlaybackConfigurationOutput) SetTags(v map[string]*string) *GetPlayb return s } -// SetTranscodeProfileName sets the TranscodeProfileName field's value. -func (s *GetPlaybackConfigurationOutput) SetTranscodeProfileName(v string) *GetPlaybackConfigurationOutput { - s.TranscodeProfileName = &v +// SetTranscodeProfileName sets the TranscodeProfileName field's value. +func (s *GetPlaybackConfigurationOutput) SetTranscodeProfileName(v string) *GetPlaybackConfigurationOutput { + s.TranscodeProfileName = &v + return s +} + +// SetVideoContentSourceUrl sets the VideoContentSourceUrl field's value. +func (s *GetPlaybackConfigurationOutput) SetVideoContentSourceUrl(v string) *GetPlaybackConfigurationOutput { + s.VideoContentSourceUrl = &v + return s +} + +type GetPrefetchScheduleInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` + + // PlaybackConfigurationName is a required field + PlaybackConfigurationName *string `location:"uri" locationName:"PlaybackConfigurationName" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPrefetchScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPrefetchScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPrefetchScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPrefetchScheduleInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.PlaybackConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("PlaybackConfigurationName")) + } + if s.PlaybackConfigurationName != nil && len(*s.PlaybackConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlaybackConfigurationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetPrefetchScheduleInput) SetName(v string) *GetPrefetchScheduleInput { + s.Name = &v + return s +} + +// SetPlaybackConfigurationName sets the PlaybackConfigurationName field's value. +func (s *GetPrefetchScheduleInput) SetPlaybackConfigurationName(v string) *GetPrefetchScheduleInput { + s.PlaybackConfigurationName = &v + return s +} + +type GetPrefetchScheduleOutput struct { + _ struct{} `type:"structure"` + + Arn *string `type:"string"` + + // A complex type that contains settings that determine how and when that MediaTailor + // places prefetched ads into upcoming ad breaks. + Consumption *PrefetchConsumption `type:"structure"` + + Name *string `type:"string"` + + PlaybackConfigurationName *string `type:"string"` + + // A complex type that contains settings governing when MediaTailor prefetches + // ads, and which dynamic variables that MediaTailor includes in the request + // to the ad decision server. + Retrieval *PrefetchRetrieval `type:"structure"` + + StreamId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPrefetchScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPrefetchScheduleOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetPrefetchScheduleOutput) SetArn(v string) *GetPrefetchScheduleOutput { + s.Arn = &v + return s +} + +// SetConsumption sets the Consumption field's value. +func (s *GetPrefetchScheduleOutput) SetConsumption(v *PrefetchConsumption) *GetPrefetchScheduleOutput { + s.Consumption = v + return s +} + +// SetName sets the Name field's value. +func (s *GetPrefetchScheduleOutput) SetName(v string) *GetPrefetchScheduleOutput { + s.Name = &v + return s +} + +// SetPlaybackConfigurationName sets the PlaybackConfigurationName field's value. +func (s *GetPrefetchScheduleOutput) SetPlaybackConfigurationName(v string) *GetPrefetchScheduleOutput { + s.PlaybackConfigurationName = &v + return s +} + +// SetRetrieval sets the Retrieval field's value. +func (s *GetPrefetchScheduleOutput) SetRetrieval(v *PrefetchRetrieval) *GetPrefetchScheduleOutput { + s.Retrieval = v return s } -// SetVideoContentSourceUrl sets the VideoContentSourceUrl field's value. -func (s *GetPlaybackConfigurationOutput) SetVideoContentSourceUrl(v string) *GetPlaybackConfigurationOutput { - s.VideoContentSourceUrl = &v +// SetStreamId sets the StreamId field's value. +func (s *GetPrefetchScheduleOutput) SetStreamId(v string) *GetPrefetchScheduleOutput { + s.StreamId = &v return s } @@ -6509,6 +7369,140 @@ func (s *ListPlaybackConfigurationsOutput) SetNextToken(v string) *ListPlaybackC return s } +// Retrieves the prefetch schedule(s) for a specific playback configuration. +type ListPrefetchSchedulesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of prefetch schedules that you want MediaTailor to return + // in response to the current request. If the playback configuration has more + // than MaxResults prefetch schedules, use the value of NextToken in the response + // to get the next page of results. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) If the playback configuration has more than MaxResults prefetch + // schedules, use NextToken to get the second and subsequent pages of results. + // + // For the first ListPrefetchSchedulesRequest request, omit this value. + // + // For the second and subsequent requests, get the value of NextToken from the + // previous response and specify that value for NextToken in the request. + // + // If the previous response didn't include a NextToken element, there are no + // more prefetch schedules to get. + NextToken *string `type:"string"` + + // PlaybackConfigurationName is a required field + PlaybackConfigurationName *string `location:"uri" locationName:"PlaybackConfigurationName" type:"string" required:"true"` + + // An optional filtering parameter whereby MediaTailor filters the prefetch + // schedules to include only specific streams. + StreamId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPrefetchSchedulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPrefetchSchedulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPrefetchSchedulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPrefetchSchedulesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.PlaybackConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("PlaybackConfigurationName")) + } + if s.PlaybackConfigurationName != nil && len(*s.PlaybackConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlaybackConfigurationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPrefetchSchedulesInput) SetMaxResults(v int64) *ListPrefetchSchedulesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrefetchSchedulesInput) SetNextToken(v string) *ListPrefetchSchedulesInput { + s.NextToken = &v + return s +} + +// SetPlaybackConfigurationName sets the PlaybackConfigurationName field's value. +func (s *ListPrefetchSchedulesInput) SetPlaybackConfigurationName(v string) *ListPrefetchSchedulesInput { + s.PlaybackConfigurationName = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *ListPrefetchSchedulesInput) SetStreamId(v string) *ListPrefetchSchedulesInput { + s.StreamId = &v + return s +} + +// The list of prefetch schedules. +type ListPrefetchSchedulesOutput struct { + _ struct{} `type:"structure"` + + // Lists the prefetch schedules. An empty Items list doesn't mean there aren't + // more items to fetch, just that that page was empty. + Items []*PrefetchSchedule `type:"list"` + + // The value that you will use forNextToken in the next ListPrefetchSchedulesRequest + // request. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPrefetchSchedulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPrefetchSchedulesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *ListPrefetchSchedulesOutput) SetItems(v []*PrefetchSchedule) *ListPrefetchSchedulesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrefetchSchedulesOutput) SetNextToken(v string) *ListPrefetchSchedulesOutput { + s.NextToken = &v + return s +} + type ListSourceLocationsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -7135,6 +8129,259 @@ func (s *PlaybackConfiguration) SetVideoContentSourceUrl(v string) *PlaybackConf return s } +// A complex type that contains settings that determine how and when that MediaTailor +// places prefetched ads into upcoming ad breaks. +type PrefetchConsumption struct { + _ struct{} `type:"structure"` + + // If you only want MediaTailor to insert prefetched ads into avails (ad breaks) + // that match specific dynamic variables, such as scte.event_id, set the avail + // matching criteria. + AvailMatchingCriteria []*AvailMatchingCriteria `type:"list"` + + // The time when MediaTailor no longer considers the prefetched ads for use + // in an ad break. MediaTailor automatically deletes prefetch schedules no less + // than seven days after the end time. If you'd like to manually delete the + // prefetch schedule, you can call DeletePrefetchSchedule. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The time when prefetched ads are considered for use in an ad break. If you + // don't specify StartTime, the prefetched ads are available after MediaTailor + // retrives them from the ad decision server. + StartTime *time.Time `type:"timestamp" timestampFormat:"unixTimestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrefetchConsumption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrefetchConsumption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PrefetchConsumption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrefetchConsumption"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.AvailMatchingCriteria != nil { + for i, v := range s.AvailMatchingCriteria { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AvailMatchingCriteria", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailMatchingCriteria sets the AvailMatchingCriteria field's value. +func (s *PrefetchConsumption) SetAvailMatchingCriteria(v []*AvailMatchingCriteria) *PrefetchConsumption { + s.AvailMatchingCriteria = v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *PrefetchConsumption) SetEndTime(v time.Time) *PrefetchConsumption { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *PrefetchConsumption) SetStartTime(v time.Time) *PrefetchConsumption { + s.StartTime = &v + return s +} + +// A complex type that contains settings governing when MediaTailor prefetches +// ads, and which dynamic variables that MediaTailor includes in the request +// to the ad decision server. +type PrefetchRetrieval struct { + _ struct{} `type:"structure"` + + // The dynamic variables to use for substitution during prefetch requests to + // the ad decision server (ADS). + // + // You intially configure dynamic variables (https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html) + // for the ADS URL when you set up your playback configuration. When you specify + // DynamicVariables for prefetch retrieval, MediaTailor includes the dynamic + // variables in the request to the ADS. + DynamicVariables map[string]*string `type:"map"` + + // The time when prefetch retrieval ends for the ad break. Prefetching will + // be attempted for manifest requests that occur at or before this time. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The time when prefetch retrievals can start for this break. Ad prefetching + // will be attempted for manifest requests that occur at or after this time. + // Defaults to the current time. If not specified, the prefetch retrieval starts + // as soon as possible. + StartTime *time.Time `type:"timestamp" timestampFormat:"unixTimestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrefetchRetrieval) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrefetchRetrieval) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PrefetchRetrieval) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrefetchRetrieval"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDynamicVariables sets the DynamicVariables field's value. +func (s *PrefetchRetrieval) SetDynamicVariables(v map[string]*string) *PrefetchRetrieval { + s.DynamicVariables = v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *PrefetchRetrieval) SetEndTime(v time.Time) *PrefetchRetrieval { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *PrefetchRetrieval) SetStartTime(v time.Time) *PrefetchRetrieval { + s.StartTime = &v + return s +} + +// A complex type that contains prefetch schedule information. +type PrefetchSchedule struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the prefetch schedule. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // Consumption settings determine how, and when, MediaTailor places the prefetched + // ads into ad breaks. Ad consumption occurs within a span of time that you + // define, called a consumption window. You can designate which ad breaks that + // MediaTailor fills with prefetch ads by setting avail matching criteria. + // + // Consumption is a required field + Consumption *PrefetchConsumption `type:"structure" required:"true"` + + // The name of the prefetch schedule. The name must be unique among all prefetch + // schedules that are associated with the specified playback configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The name of the playback configuration to create the prefetch schedule for. + // + // PlaybackConfigurationName is a required field + PlaybackConfigurationName *string `type:"string" required:"true"` + + // A complex type that contains settings for prefetch retrieval from the ad + // decision server (ADS). + // + // Retrieval is a required field + Retrieval *PrefetchRetrieval `type:"structure" required:"true"` + + // An optional stream identifier that you can specify in order to prefetch for + // multiple streams that use the same playback configuration. + StreamId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrefetchSchedule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrefetchSchedule) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *PrefetchSchedule) SetArn(v string) *PrefetchSchedule { + s.Arn = &v + return s +} + +// SetConsumption sets the Consumption field's value. +func (s *PrefetchSchedule) SetConsumption(v *PrefetchConsumption) *PrefetchSchedule { + s.Consumption = v + return s +} + +// SetName sets the Name field's value. +func (s *PrefetchSchedule) SetName(v string) *PrefetchSchedule { + s.Name = &v + return s +} + +// SetPlaybackConfigurationName sets the PlaybackConfigurationName field's value. +func (s *PrefetchSchedule) SetPlaybackConfigurationName(v string) *PrefetchSchedule { + s.PlaybackConfigurationName = &v + return s +} + +// SetRetrieval sets the Retrieval field's value. +func (s *PrefetchSchedule) SetRetrieval(v *PrefetchRetrieval) *PrefetchSchedule { + s.Retrieval = v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *PrefetchSchedule) SetStreamId(v string) *PrefetchSchedule { + s.StreamId = &v + return s +} + // Adds an IAM policy for the channel. type PutChannelPolicyInput struct { _ struct{} `type:"structure"` @@ -9307,6 +10554,18 @@ func Mode_Values() []string { } } +const ( + // OperatorEquals is a Operator enum value + OperatorEquals = "EQUALS" +) + +// Operator_Values returns all elements of the Operator enum +func Operator_Values() []string { + return []string{ + OperatorEquals, + } +} + const ( // OriginManifestTypeSinglePeriod is a OriginManifestType enum value OriginManifestTypeSinglePeriod = "SINGLE_PERIOD" diff --git a/service/mediatailor/mediatailoriface/interface.go b/service/mediatailor/mediatailoriface/interface.go index 3462e42875..71800d9321 100644 --- a/service/mediatailor/mediatailoriface/interface.go +++ b/service/mediatailor/mediatailoriface/interface.go @@ -68,6 +68,10 @@ type MediaTailorAPI interface { CreateChannelWithContext(aws.Context, *mediatailor.CreateChannelInput, ...request.Option) (*mediatailor.CreateChannelOutput, error) CreateChannelRequest(*mediatailor.CreateChannelInput) (*request.Request, *mediatailor.CreateChannelOutput) + CreatePrefetchSchedule(*mediatailor.CreatePrefetchScheduleInput) (*mediatailor.CreatePrefetchScheduleOutput, error) + CreatePrefetchScheduleWithContext(aws.Context, *mediatailor.CreatePrefetchScheduleInput, ...request.Option) (*mediatailor.CreatePrefetchScheduleOutput, error) + CreatePrefetchScheduleRequest(*mediatailor.CreatePrefetchScheduleInput) (*request.Request, *mediatailor.CreatePrefetchScheduleOutput) + CreateProgram(*mediatailor.CreateProgramInput) (*mediatailor.CreateProgramOutput, error) CreateProgramWithContext(aws.Context, *mediatailor.CreateProgramInput, ...request.Option) (*mediatailor.CreateProgramOutput, error) CreateProgramRequest(*mediatailor.CreateProgramInput) (*request.Request, *mediatailor.CreateProgramOutput) @@ -92,6 +96,10 @@ type MediaTailorAPI interface { DeletePlaybackConfigurationWithContext(aws.Context, *mediatailor.DeletePlaybackConfigurationInput, ...request.Option) (*mediatailor.DeletePlaybackConfigurationOutput, error) DeletePlaybackConfigurationRequest(*mediatailor.DeletePlaybackConfigurationInput) (*request.Request, *mediatailor.DeletePlaybackConfigurationOutput) + DeletePrefetchSchedule(*mediatailor.DeletePrefetchScheduleInput) (*mediatailor.DeletePrefetchScheduleOutput, error) + DeletePrefetchScheduleWithContext(aws.Context, *mediatailor.DeletePrefetchScheduleInput, ...request.Option) (*mediatailor.DeletePrefetchScheduleOutput, error) + DeletePrefetchScheduleRequest(*mediatailor.DeletePrefetchScheduleInput) (*request.Request, *mediatailor.DeletePrefetchScheduleOutput) + DeleteProgram(*mediatailor.DeleteProgramInput) (*mediatailor.DeleteProgramOutput, error) DeleteProgramWithContext(aws.Context, *mediatailor.DeleteProgramInput, ...request.Option) (*mediatailor.DeleteProgramOutput, error) DeleteProgramRequest(*mediatailor.DeleteProgramInput) (*request.Request, *mediatailor.DeleteProgramOutput) @@ -135,6 +143,10 @@ type MediaTailorAPI interface { GetPlaybackConfigurationWithContext(aws.Context, *mediatailor.GetPlaybackConfigurationInput, ...request.Option) (*mediatailor.GetPlaybackConfigurationOutput, error) GetPlaybackConfigurationRequest(*mediatailor.GetPlaybackConfigurationInput) (*request.Request, *mediatailor.GetPlaybackConfigurationOutput) + GetPrefetchSchedule(*mediatailor.GetPrefetchScheduleInput) (*mediatailor.GetPrefetchScheduleOutput, error) + GetPrefetchScheduleWithContext(aws.Context, *mediatailor.GetPrefetchScheduleInput, ...request.Option) (*mediatailor.GetPrefetchScheduleOutput, error) + GetPrefetchScheduleRequest(*mediatailor.GetPrefetchScheduleInput) (*request.Request, *mediatailor.GetPrefetchScheduleOutput) + ListAlerts(*mediatailor.ListAlertsInput) (*mediatailor.ListAlertsOutput, error) ListAlertsWithContext(aws.Context, *mediatailor.ListAlertsInput, ...request.Option) (*mediatailor.ListAlertsOutput, error) ListAlertsRequest(*mediatailor.ListAlertsInput) (*request.Request, *mediatailor.ListAlertsOutput) @@ -156,6 +168,13 @@ type MediaTailorAPI interface { ListPlaybackConfigurationsPages(*mediatailor.ListPlaybackConfigurationsInput, func(*mediatailor.ListPlaybackConfigurationsOutput, bool) bool) error ListPlaybackConfigurationsPagesWithContext(aws.Context, *mediatailor.ListPlaybackConfigurationsInput, func(*mediatailor.ListPlaybackConfigurationsOutput, bool) bool, ...request.Option) error + ListPrefetchSchedules(*mediatailor.ListPrefetchSchedulesInput) (*mediatailor.ListPrefetchSchedulesOutput, error) + ListPrefetchSchedulesWithContext(aws.Context, *mediatailor.ListPrefetchSchedulesInput, ...request.Option) (*mediatailor.ListPrefetchSchedulesOutput, error) + ListPrefetchSchedulesRequest(*mediatailor.ListPrefetchSchedulesInput) (*request.Request, *mediatailor.ListPrefetchSchedulesOutput) + + ListPrefetchSchedulesPages(*mediatailor.ListPrefetchSchedulesInput, func(*mediatailor.ListPrefetchSchedulesOutput, bool) bool) error + ListPrefetchSchedulesPagesWithContext(aws.Context, *mediatailor.ListPrefetchSchedulesInput, func(*mediatailor.ListPrefetchSchedulesOutput, bool) bool, ...request.Option) error + ListSourceLocations(*mediatailor.ListSourceLocationsInput) (*mediatailor.ListSourceLocationsOutput, error) ListSourceLocationsWithContext(aws.Context, *mediatailor.ListSourceLocationsInput, ...request.Option) (*mediatailor.ListSourceLocationsOutput, error) ListSourceLocationsRequest(*mediatailor.ListSourceLocationsInput) (*request.Request, *mediatailor.ListSourceLocationsOutput)