Documentation

Overview

    Package mediatailor provides the API client, operations, and parameter types for AWS MediaTailor.

    Use the AWS Elemental MediaTailor SDK to configure scalable ad insertion for your live and VOD content. With AWS Elemental MediaTailor, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.Through the SDK, you manage AWS Elemental MediaTailor configurations the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

    Index

    Constants

    View Source
    const ServiceAPIVersion = "2018-04-23"
    View Source
    const ServiceID = "MediaTailor"

    Variables

    This section is empty.

    Functions

    func NewDefaultEndpointResolver

    func NewDefaultEndpointResolver() *internalendpoints.Resolver

      NewDefaultEndpointResolver constructs a new service endpoint resolver

      func WithAPIOptions

      func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options)

        WithAPIOptions returns a functional option for setting the Client's APIOptions option.

        func WithEndpointResolver

        func WithEndpointResolver(v EndpointResolver) func(*Options)

          WithEndpointResolver returns a functional option for setting the Client's EndpointResolver option.

          Types

          type Client

          type Client struct {
          	// contains filtered or unexported fields
          }

            Client provides the API client to make operations call for AWS MediaTailor.

            func New

            func New(options Options, optFns ...func(*Options)) *Client

              New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

              func NewFromConfig

              func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

                NewFromConfig returns a new client from the provided config.

                func (*Client) DeletePlaybackConfiguration

                func (c *Client) DeletePlaybackConfiguration(ctx context.Context, params *DeletePlaybackConfigurationInput, optFns ...func(*Options)) (*DeletePlaybackConfigurationOutput, error)

                  Deletes the playback configuration for the specified name.

                  func (*Client) GetPlaybackConfiguration

                  func (c *Client) GetPlaybackConfiguration(ctx context.Context, params *GetPlaybackConfigurationInput, optFns ...func(*Options)) (*GetPlaybackConfigurationOutput, error)

                    Returns the playback configuration for the specified name.

                    func (*Client) ListPlaybackConfigurations

                    func (c *Client) ListPlaybackConfigurations(ctx context.Context, params *ListPlaybackConfigurationsInput, optFns ...func(*Options)) (*ListPlaybackConfigurationsOutput, error)

                      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.

                      func (*Client) ListTagsForResource

                      func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForResourceInput, optFns ...func(*Options)) (*ListTagsForResourceOutput, error)

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

                        func (*Client) PutPlaybackConfiguration

                        func (c *Client) PutPlaybackConfiguration(ctx context.Context, params *PutPlaybackConfigurationInput, optFns ...func(*Options)) (*PutPlaybackConfigurationOutput, error)

                          Adds a new playback configuration to AWS Elemental MediaTailor.

                          func (*Client) TagResource

                          func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error)

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

                            func (*Client) UntagResource

                            func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error)

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

                              type DeletePlaybackConfigurationInput

                              type DeletePlaybackConfigurationInput struct {
                              
                              	// The identifier for the playback configuration.
                              	//
                              	// This member is required.
                              	Name *string
                              }

                              type DeletePlaybackConfigurationOutput

                              type DeletePlaybackConfigurationOutput struct {
                              	// Metadata pertaining to the operation's result.
                              	ResultMetadata middleware.Metadata
                              }

                              type EndpointResolver

                              type EndpointResolver interface {
                              	ResolveEndpoint(region string, options EndpointResolverOptions) (aws.Endpoint, error)
                              }

                                EndpointResolver interface for resolving service endpoints.

                                func EndpointResolverFromURL

                                func EndpointResolverFromURL(url string, optFns ...func(*aws.Endpoint)) EndpointResolver

                                  EndpointResolverFromURL returns an EndpointResolver configured using the provided endpoint url. By default, the resolved endpoint resolver uses the client region as signing region, and the endpoint source is set to EndpointSourceCustom.You can provide functional options to configure endpoint values for the resolved endpoint.

                                  type EndpointResolverFunc

                                  type EndpointResolverFunc func(region string, options EndpointResolverOptions) (aws.Endpoint, error)

                                    EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

                                    func (EndpointResolverFunc) ResolveEndpoint

                                    func (fn EndpointResolverFunc) ResolveEndpoint(region string, options EndpointResolverOptions) (endpoint aws.Endpoint, err error)

                                    type EndpointResolverOptions

                                    type EndpointResolverOptions = internalendpoints.Options

                                      EndpointResolverOptions is the service endpoint resolver options

                                      type GetPlaybackConfigurationInput

                                      type GetPlaybackConfigurationInput struct {
                                      
                                      	// The identifier for the playback configuration.
                                      	//
                                      	// This member is required.
                                      	Name *string
                                      }

                                      type GetPlaybackConfigurationOutput

                                      type GetPlaybackConfigurationOutput struct {
                                      
                                      	// 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.
                                      	AdDecisionServerUrl *string
                                      
                                      	// The configuration for Avail Suppression. Ad suppression can be used to turn off
                                      	// ad personalization in a long manifest, or if a viewer joins mid-break.
                                      	AvailSuppression *types.AvailSuppression
                                      
                                      	// The configuration for bumpers. Bumpers are short audio or video clips that play
                                      	// at the start or before the end of an ad break.
                                      	Bumper *types.Bumper
                                      
                                      	// The configuration for using a content delivery network (CDN), like Amazon
                                      	// CloudFront, for content and ad segment management.
                                      	CdnConfiguration *types.CdnConfiguration
                                      
                                      	// The configuration for DASH content.
                                      	DashConfiguration *types.DashConfiguration
                                      
                                      	// The configuration for HLS content.
                                      	HlsConfiguration *types.HlsConfiguration
                                      
                                      	// The configuration for pre-roll ad insertion.
                                      	LivePreRollConfiguration *types.LivePreRollConfiguration
                                      
                                      	// The configuration for manifest processing rules. Manifest processing rules
                                      	// enable customization of the personalized manifests created by MediaTailor.
                                      	ManifestProcessingRules *types.ManifestProcessingRules
                                      
                                      	// The identifier for the playback configuration.
                                      	Name *string
                                      
                                      	// The maximum duration of underfilled ad time (in seconds) allowed in an ad break.
                                      	PersonalizationThresholdSeconds int32
                                      
                                      	// The Amazon Resource Name (ARN) for the playback configuration.
                                      	PlaybackConfigurationArn *string
                                      
                                      	// The URL that the player accesses to get a manifest from AWS Elemental
                                      	// MediaTailor. This session will use server-side reporting.
                                      	PlaybackEndpointPrefix *string
                                      
                                      	// The URL that the player uses to initialize a session that uses client-side
                                      	// reporting.
                                      	SessionInitializationEndpointPrefix *string
                                      
                                      	// The URL for a high-quality video asset to transcode and use to fill in time
                                      	// that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in
                                      	// gaps in media content. Configuring the slate is optional for non-VPAID 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.
                                      	SlateAdUrl *string
                                      
                                      	// The tags assigned to the playback configuration.
                                      	Tags map[string]string
                                      
                                      	// 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.
                                      	TranscodeProfileName *string
                                      
                                      	// The URL prefix for the master playlist for the stream, minus the asset ID. The
                                      	// maximum length is 512 characters.
                                      	VideoContentSourceUrl *string
                                      
                                      	// Metadata pertaining to the operation's result.
                                      	ResultMetadata middleware.Metadata
                                      }

                                      type HTTPClient

                                      type HTTPClient interface {
                                      	Do(*http.Request) (*http.Response, error)
                                      }

                                      type HTTPSignerV4

                                      type HTTPSignerV4 interface {
                                      	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
                                      }

                                      type ListPlaybackConfigurationsInput

                                      type ListPlaybackConfigurationsInput struct {
                                      
                                      	// Maximum number of records to return.
                                      	MaxResults int32
                                      
                                      	// Pagination token returned by the GET list request when results exceed the
                                      	// maximum allowed. Use the token to fetch the next page of results.
                                      	NextToken *string
                                      }

                                      type ListPlaybackConfigurationsOutput

                                      type ListPlaybackConfigurationsOutput struct {
                                      
                                      	// 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.
                                      	Items []types.PlaybackConfiguration
                                      
                                      	// Pagination token returned by the GET list request when results exceed the
                                      	// maximum allowed. Use the token to fetch the next page of results.
                                      	NextToken *string
                                      
                                      	// Metadata pertaining to the operation's result.
                                      	ResultMetadata middleware.Metadata
                                      }

                                      type ListTagsForResourceInput

                                      type ListTagsForResourceInput struct {
                                      
                                      	// The Amazon Resource Name (ARN) for the playback configuration. You can get this
                                      	// from the response to any playback configuration request.
                                      	//
                                      	// This member is required.
                                      	ResourceArn *string
                                      }

                                      type ListTagsForResourceOutput

                                      type ListTagsForResourceOutput struct {
                                      
                                      	// A comma-separated list of tag key:value pairs. For example: { "Key1": "Value1",
                                      	// "Key2": "Value2" }
                                      	Tags map[string]string
                                      
                                      	// Metadata pertaining to the operation's result.
                                      	ResultMetadata middleware.Metadata
                                      }

                                      type Options

                                      type Options struct {
                                      	// Set of options to modify how an operation is invoked. These apply to all
                                      	// operations invoked for this client. Use functional options on operation call to
                                      	// modify this list for per operation behavior.
                                      	APIOptions []func(*middleware.Stack) error
                                      
                                      	// Configures the events that will be sent to the configured logger.
                                      	ClientLogMode aws.ClientLogMode
                                      
                                      	// The credentials object to use when signing requests.
                                      	Credentials aws.CredentialsProvider
                                      
                                      	// The endpoint options to be used when attempting to resolve an endpoint.
                                      	EndpointOptions EndpointResolverOptions
                                      
                                      	// The service endpoint resolver.
                                      	EndpointResolver EndpointResolver
                                      
                                      	// Signature Version 4 (SigV4) Signer
                                      	HTTPSignerV4 HTTPSignerV4
                                      
                                      	// The logger writer interface to write logging messages to.
                                      	Logger logging.Logger
                                      
                                      	// The region to send requests to. (Required)
                                      	Region string
                                      
                                      	// Retryer guides how HTTP requests should be retried in case of recoverable
                                      	// failures. When nil the API client will use a default retryer.
                                      	Retryer aws.Retryer
                                      
                                      	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
                                      	// implementation if nil.
                                      	HTTPClient HTTPClient
                                      }

                                      func (Options) Copy

                                      func (o Options) Copy() Options

                                        Copy creates a clone where the APIOptions list is deep copied.

                                        type PutPlaybackConfigurationInput

                                        type PutPlaybackConfigurationInput struct {
                                        
                                        	// 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.
                                        	AdDecisionServerUrl *string
                                        
                                        	// The configuration for Avail Suppression. Ad suppression can be used to turn off
                                        	// ad personalization in a long manifest, or if a viewer joins mid-break.
                                        	AvailSuppression *types.AvailSuppression
                                        
                                        	// The configuration for bumpers. Bumpers are short audio or video clips that play
                                        	// at the start or before the end of an ad break.
                                        	Bumper *types.Bumper
                                        
                                        	// The configuration for using a content delivery network (CDN), like Amazon
                                        	// CloudFront, for content and ad segment management.
                                        	CdnConfiguration *types.CdnConfiguration
                                        
                                        	// The configuration for DASH content.
                                        	DashConfiguration *types.DashConfigurationForPut
                                        
                                        	// The configuration for pre-roll ad insertion.
                                        	LivePreRollConfiguration *types.LivePreRollConfiguration
                                        
                                        	// The configuration for manifest processing rules. Manifest processing rules
                                        	// enable customization of the personalized manifests created by MediaTailor.
                                        	ManifestProcessingRules *types.ManifestProcessingRules
                                        
                                        	// The identifier for the playback configuration.
                                        	Name *string
                                        
                                        	// The maximum duration of underfilled ad time (in seconds) allowed in an ad break.
                                        	PersonalizationThresholdSeconds int32
                                        
                                        	// The URL for a high-quality video asset to transcode and use to fill in time
                                        	// that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in
                                        	// gaps in media content. Configuring the slate is optional for non-VPAID
                                        	// configurations. For VPAID, the slate is required because MediaTailor provides it
                                        	// in the slots that are designated for dynamic ad content. The slate must be a
                                        	// high-quality asset that contains both audio and video.
                                        	SlateAdUrl *string
                                        
                                        	// The tags to assign to the playback configuration.
                                        	Tags map[string]string
                                        
                                        	// 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.
                                        	TranscodeProfileName *string
                                        
                                        	// The URL prefix for the master playlist for the stream, minus the asset ID. The
                                        	// maximum length is 512 characters.
                                        	VideoContentSourceUrl *string
                                        }

                                        type PutPlaybackConfigurationOutput

                                        type PutPlaybackConfigurationOutput struct {
                                        
                                        	// 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.
                                        	AdDecisionServerUrl *string
                                        
                                        	// The configuration for Avail Suppression. Ad suppression can be used to turn off
                                        	// ad personalization in a long manifest, or if a viewer joins mid-break.
                                        	AvailSuppression *types.AvailSuppression
                                        
                                        	// The configuration for bumpers. Bumpers are short audio or video clips that play
                                        	// at the start or before the end of an ad break.
                                        	Bumper *types.Bumper
                                        
                                        	// The configuration for using a content delivery network (CDN), like Amazon
                                        	// CloudFront, for content and ad segment management.
                                        	CdnConfiguration *types.CdnConfiguration
                                        
                                        	// The configuration for DASH content.
                                        	DashConfiguration *types.DashConfiguration
                                        
                                        	// The configuration for HLS content.
                                        	HlsConfiguration *types.HlsConfiguration
                                        
                                        	// The configuration for pre-roll ad insertion.
                                        	LivePreRollConfiguration *types.LivePreRollConfiguration
                                        
                                        	// The configuration for manifest processing rules. Manifest processing rules
                                        	// enable customization of the personalized manifests created by MediaTailor.
                                        	ManifestProcessingRules *types.ManifestProcessingRules
                                        
                                        	// The identifier for the playback configuration.
                                        	Name *string
                                        
                                        	// The maximum duration of underfilled ad time (in seconds) allowed in an ad break.
                                        	PersonalizationThresholdSeconds int32
                                        
                                        	// The Amazon Resource Name (ARN) for the playback configuration.
                                        	PlaybackConfigurationArn *string
                                        
                                        	// The URL that the player accesses to get a manifest from AWS Elemental
                                        	// MediaTailor. This session will use server-side reporting.
                                        	PlaybackEndpointPrefix *string
                                        
                                        	// The URL that the player uses to initialize a session that uses client-side
                                        	// reporting.
                                        	SessionInitializationEndpointPrefix *string
                                        
                                        	// The URL for a high-quality video asset to transcode and use to fill in time
                                        	// that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in
                                        	// gaps in media content. Configuring the slate is optional for non-VPAID 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.
                                        	SlateAdUrl *string
                                        
                                        	// The tags assigned to the playback configuration.
                                        	Tags map[string]string
                                        
                                        	// 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.
                                        	TranscodeProfileName *string
                                        
                                        	// The URL prefix for the master playlist for the stream, minus the asset ID. The
                                        	// maximum length is 512 characters.
                                        	VideoContentSourceUrl *string
                                        
                                        	// Metadata pertaining to the operation's result.
                                        	ResultMetadata middleware.Metadata
                                        }

                                        type ResolveEndpoint

                                        type ResolveEndpoint struct {
                                        	Resolver EndpointResolver
                                        	Options  EndpointResolverOptions
                                        }

                                        func (*ResolveEndpoint) HandleSerialize

                                        func (*ResolveEndpoint) ID

                                        func (*ResolveEndpoint) ID() string

                                        type TagResourceInput

                                        type TagResourceInput struct {
                                        
                                        	// The Amazon Resource Name (ARN) for the playback configuration. You can get this
                                        	// from the response to any playback configuration request.
                                        	//
                                        	// This member is required.
                                        	ResourceArn *string
                                        
                                        	// A comma-separated list of tag key:value pairs. For example: { "Key1": "Value1",
                                        	// "Key2": "Value2" }
                                        	//
                                        	// This member is required.
                                        	Tags map[string]string
                                        }

                                        type TagResourceOutput

                                        type TagResourceOutput struct {
                                        	// Metadata pertaining to the operation's result.
                                        	ResultMetadata middleware.Metadata
                                        }

                                        type UntagResourceInput

                                        type UntagResourceInput struct {
                                        
                                        	// The Amazon Resource Name (ARN) for the playback configuration. You can get this
                                        	// from the response to any playback configuration request.
                                        	//
                                        	// This member is required.
                                        	ResourceArn *string
                                        
                                        	// A comma-separated list of the tag keys to remove from the playback
                                        	// configuration.
                                        	//
                                        	// This member is required.
                                        	TagKeys []string
                                        }

                                        type UntagResourceOutput

                                        type UntagResourceOutput struct {
                                        	// Metadata pertaining to the operation's result.
                                        	ResultMetadata middleware.Metadata
                                        }

                                        Directories

                                        Path Synopsis
                                        internal