/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace MediaTailor { /** *

Use the AWS Elemental MediaTailor SDKs and CLI to configure scalable ad * insertion and linear channels. With MediaTailor, you can assemble existing * content into a linear stream and 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 SDKs and the CLI you manage AWS * Elemental MediaTailor configurations and channels 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).

*/ class AWS_MEDIATAILOR_API MediaTailorClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef MediaTailorClientConfiguration ClientConfigurationType; typedef MediaTailorEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaTailorClient(const Aws::MediaTailor::MediaTailorClientConfiguration& clientConfiguration = Aws::MediaTailor::MediaTailorClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaTailorClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MediaTailor::MediaTailorClientConfiguration& clientConfiguration = Aws::MediaTailor::MediaTailorClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ MediaTailorClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MediaTailor::MediaTailorClientConfiguration& clientConfiguration = Aws::MediaTailor::MediaTailorClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaTailorClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaTailorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ MediaTailorClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~MediaTailorClient(); /** *

Configures Amazon CloudWatch log settings for a channel.

See * Also:

AWS * API Reference

*/ virtual Model::ConfigureLogsForChannelOutcome ConfigureLogsForChannel(const Model::ConfigureLogsForChannelRequest& request) const; /** * A Callable wrapper for ConfigureLogsForChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ConfigureLogsForChannelOutcomeCallable ConfigureLogsForChannelCallable(const ConfigureLogsForChannelRequestT& request) const { return SubmitCallable(&MediaTailorClient::ConfigureLogsForChannel, request); } /** * An Async wrapper for ConfigureLogsForChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ConfigureLogsForChannelAsync(const ConfigureLogsForChannelRequestT& request, const ConfigureLogsForChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ConfigureLogsForChannel, request, handler, context); } /** *

Amazon CloudWatch log settings for a playback configuration.

See * Also:

AWS * API Reference

*/ virtual Model::ConfigureLogsForPlaybackConfigurationOutcome ConfigureLogsForPlaybackConfiguration(const Model::ConfigureLogsForPlaybackConfigurationRequest& request) const; /** * A Callable wrapper for ConfigureLogsForPlaybackConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ConfigureLogsForPlaybackConfigurationOutcomeCallable ConfigureLogsForPlaybackConfigurationCallable(const ConfigureLogsForPlaybackConfigurationRequestT& request) const { return SubmitCallable(&MediaTailorClient::ConfigureLogsForPlaybackConfiguration, request); } /** * An Async wrapper for ConfigureLogsForPlaybackConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ConfigureLogsForPlaybackConfigurationAsync(const ConfigureLogsForPlaybackConfigurationRequestT& request, const ConfigureLogsForPlaybackConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ConfigureLogsForPlaybackConfiguration, request, handler, context); } /** *

Creates a channel. For information about MediaTailor channels, see Working * with channels in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::CreateChannelOutcome CreateChannel(const Model::CreateChannelRequest& request) const; /** * A Callable wrapper for CreateChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateChannelOutcomeCallable CreateChannelCallable(const CreateChannelRequestT& request) const { return SubmitCallable(&MediaTailorClient::CreateChannel, request); } /** * An Async wrapper for CreateChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateChannelAsync(const CreateChannelRequestT& request, const CreateChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::CreateChannel, request, handler, context); } /** *

The live source configuration.

See Also:

AWS * API Reference

*/ virtual Model::CreateLiveSourceOutcome CreateLiveSource(const Model::CreateLiveSourceRequest& request) const; /** * A Callable wrapper for CreateLiveSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateLiveSourceOutcomeCallable CreateLiveSourceCallable(const CreateLiveSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::CreateLiveSource, request); } /** * An Async wrapper for CreateLiveSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateLiveSourceAsync(const CreateLiveSourceRequestT& request, const CreateLiveSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::CreateLiveSource, request, handler, context); } /** *

Creates a prefetch schedule for a playback configuration. A prefetch schedule * allows you to tell MediaTailor to fetch and prepare certain ads before an ad * break happens. For more information about ad prefetching, see Using * ad prefetching in the MediaTailor User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::CreatePrefetchScheduleOutcome CreatePrefetchSchedule(const Model::CreatePrefetchScheduleRequest& request) const; /** * A Callable wrapper for CreatePrefetchSchedule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePrefetchScheduleOutcomeCallable CreatePrefetchScheduleCallable(const CreatePrefetchScheduleRequestT& request) const { return SubmitCallable(&MediaTailorClient::CreatePrefetchSchedule, request); } /** * An Async wrapper for CreatePrefetchSchedule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePrefetchScheduleAsync(const CreatePrefetchScheduleRequestT& request, const CreatePrefetchScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::CreatePrefetchSchedule, request, handler, context); } /** *

Creates a program within a channel. For information about programs, see Working * with programs in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::CreateProgramOutcome CreateProgram(const Model::CreateProgramRequest& request) const; /** * A Callable wrapper for CreateProgram that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateProgramOutcomeCallable CreateProgramCallable(const CreateProgramRequestT& request) const { return SubmitCallable(&MediaTailorClient::CreateProgram, request); } /** * An Async wrapper for CreateProgram that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateProgramAsync(const CreateProgramRequestT& request, const CreateProgramResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::CreateProgram, request, handler, context); } /** *

Creates a source location. A source location is a container for sources. For * more information about source locations, see Working * with source locations in the MediaTailor User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::CreateSourceLocationOutcome CreateSourceLocation(const Model::CreateSourceLocationRequest& request) const; /** * A Callable wrapper for CreateSourceLocation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSourceLocationOutcomeCallable CreateSourceLocationCallable(const CreateSourceLocationRequestT& request) const { return SubmitCallable(&MediaTailorClient::CreateSourceLocation, request); } /** * An Async wrapper for CreateSourceLocation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSourceLocationAsync(const CreateSourceLocationRequestT& request, const CreateSourceLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::CreateSourceLocation, request, handler, context); } /** *

The VOD source configuration parameters.

See Also:

AWS * API Reference

*/ virtual Model::CreateVodSourceOutcome CreateVodSource(const Model::CreateVodSourceRequest& request) const; /** * A Callable wrapper for CreateVodSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateVodSourceOutcomeCallable CreateVodSourceCallable(const CreateVodSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::CreateVodSource, request); } /** * An Async wrapper for CreateVodSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateVodSourceAsync(const CreateVodSourceRequestT& request, const CreateVodSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::CreateVodSource, request, handler, context); } /** *

Deletes a channel. For information about MediaTailor channels, see Working * with channels in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteChannelOutcome DeleteChannel(const Model::DeleteChannelRequest& request) const; /** * A Callable wrapper for DeleteChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteChannelOutcomeCallable DeleteChannelCallable(const DeleteChannelRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeleteChannel, request); } /** * An Async wrapper for DeleteChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteChannelAsync(const DeleteChannelRequestT& request, const DeleteChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeleteChannel, request, handler, context); } /** *

The channel policy to delete.

See Also:

AWS * API Reference

*/ virtual Model::DeleteChannelPolicyOutcome DeleteChannelPolicy(const Model::DeleteChannelPolicyRequest& request) const; /** * A Callable wrapper for DeleteChannelPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteChannelPolicyOutcomeCallable DeleteChannelPolicyCallable(const DeleteChannelPolicyRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeleteChannelPolicy, request); } /** * An Async wrapper for DeleteChannelPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteChannelPolicyAsync(const DeleteChannelPolicyRequestT& request, const DeleteChannelPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeleteChannelPolicy, request, handler, context); } /** *

The live source to delete.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLiveSourceOutcome DeleteLiveSource(const Model::DeleteLiveSourceRequest& request) const; /** * A Callable wrapper for DeleteLiveSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteLiveSourceOutcomeCallable DeleteLiveSourceCallable(const DeleteLiveSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeleteLiveSource, request); } /** * An Async wrapper for DeleteLiveSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteLiveSourceAsync(const DeleteLiveSourceRequestT& request, const DeleteLiveSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeleteLiveSource, request, handler, context); } /** *

Deletes a playback configuration. For information about MediaTailor * configurations, see Working * with configurations in AWS Elemental MediaTailor.

See Also:

* AWS * API Reference

*/ virtual Model::DeletePlaybackConfigurationOutcome DeletePlaybackConfiguration(const Model::DeletePlaybackConfigurationRequest& request) const; /** * A Callable wrapper for DeletePlaybackConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePlaybackConfigurationOutcomeCallable DeletePlaybackConfigurationCallable(const DeletePlaybackConfigurationRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeletePlaybackConfiguration, request); } /** * An Async wrapper for DeletePlaybackConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePlaybackConfigurationAsync(const DeletePlaybackConfigurationRequestT& request, const DeletePlaybackConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeletePlaybackConfiguration, request, handler, context); } /** *

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. For more information about ad * prefetching, see Using * ad prefetching in the MediaTailor User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::DeletePrefetchScheduleOutcome DeletePrefetchSchedule(const Model::DeletePrefetchScheduleRequest& request) const; /** * A Callable wrapper for DeletePrefetchSchedule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePrefetchScheduleOutcomeCallable DeletePrefetchScheduleCallable(const DeletePrefetchScheduleRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeletePrefetchSchedule, request); } /** * An Async wrapper for DeletePrefetchSchedule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePrefetchScheduleAsync(const DeletePrefetchScheduleRequestT& request, const DeletePrefetchScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeletePrefetchSchedule, request, handler, context); } /** *

Deletes a program within a channel. For information about programs, see Working * with programs in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteProgramOutcome DeleteProgram(const Model::DeleteProgramRequest& request) const; /** * A Callable wrapper for DeleteProgram that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteProgramOutcomeCallable DeleteProgramCallable(const DeleteProgramRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeleteProgram, request); } /** * An Async wrapper for DeleteProgram that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteProgramAsync(const DeleteProgramRequestT& request, const DeleteProgramResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeleteProgram, request, handler, context); } /** *

Deletes a source location. A source location is a container for sources. For * more information about source locations, see Working * with source locations in the MediaTailor User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteSourceLocationOutcome DeleteSourceLocation(const Model::DeleteSourceLocationRequest& request) const; /** * A Callable wrapper for DeleteSourceLocation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSourceLocationOutcomeCallable DeleteSourceLocationCallable(const DeleteSourceLocationRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeleteSourceLocation, request); } /** * An Async wrapper for DeleteSourceLocation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSourceLocationAsync(const DeleteSourceLocationRequestT& request, const DeleteSourceLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeleteSourceLocation, request, handler, context); } /** *

The video on demand (VOD) source to delete.

See Also:

AWS * API Reference

*/ virtual Model::DeleteVodSourceOutcome DeleteVodSource(const Model::DeleteVodSourceRequest& request) const; /** * A Callable wrapper for DeleteVodSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteVodSourceOutcomeCallable DeleteVodSourceCallable(const DeleteVodSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::DeleteVodSource, request); } /** * An Async wrapper for DeleteVodSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteVodSourceAsync(const DeleteVodSourceRequestT& request, const DeleteVodSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DeleteVodSource, request, handler, context); } /** *

Describes a channel. For information about MediaTailor channels, see Working * with channels in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeChannelOutcome DescribeChannel(const Model::DescribeChannelRequest& request) const; /** * A Callable wrapper for DescribeChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeChannelOutcomeCallable DescribeChannelCallable(const DescribeChannelRequestT& request) const { return SubmitCallable(&MediaTailorClient::DescribeChannel, request); } /** * An Async wrapper for DescribeChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeChannelAsync(const DescribeChannelRequestT& request, const DescribeChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DescribeChannel, request, handler, context); } /** *

The live source to describe.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLiveSourceOutcome DescribeLiveSource(const Model::DescribeLiveSourceRequest& request) const; /** * A Callable wrapper for DescribeLiveSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeLiveSourceOutcomeCallable DescribeLiveSourceCallable(const DescribeLiveSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::DescribeLiveSource, request); } /** * An Async wrapper for DescribeLiveSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeLiveSourceAsync(const DescribeLiveSourceRequestT& request, const DescribeLiveSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DescribeLiveSource, request, handler, context); } /** *

Describes a program within a channel. For information about programs, see Working * with programs in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeProgramOutcome DescribeProgram(const Model::DescribeProgramRequest& request) const; /** * A Callable wrapper for DescribeProgram that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProgramOutcomeCallable DescribeProgramCallable(const DescribeProgramRequestT& request) const { return SubmitCallable(&MediaTailorClient::DescribeProgram, request); } /** * An Async wrapper for DescribeProgram that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProgramAsync(const DescribeProgramRequestT& request, const DescribeProgramResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DescribeProgram, request, handler, context); } /** *

Describes a source location. A source location is a container for sources. * For more information about source locations, see Working * with source locations in the MediaTailor User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeSourceLocationOutcome DescribeSourceLocation(const Model::DescribeSourceLocationRequest& request) const; /** * A Callable wrapper for DescribeSourceLocation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeSourceLocationOutcomeCallable DescribeSourceLocationCallable(const DescribeSourceLocationRequestT& request) const { return SubmitCallable(&MediaTailorClient::DescribeSourceLocation, request); } /** * An Async wrapper for DescribeSourceLocation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeSourceLocationAsync(const DescribeSourceLocationRequestT& request, const DescribeSourceLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DescribeSourceLocation, request, handler, context); } /** *

Provides details about a specific video on demand (VOD) source in a specific * source location.

See Also:

AWS * API Reference

*/ virtual Model::DescribeVodSourceOutcome DescribeVodSource(const Model::DescribeVodSourceRequest& request) const; /** * A Callable wrapper for DescribeVodSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeVodSourceOutcomeCallable DescribeVodSourceCallable(const DescribeVodSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::DescribeVodSource, request); } /** * An Async wrapper for DescribeVodSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeVodSourceAsync(const DescribeVodSourceRequestT& request, const DescribeVodSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::DescribeVodSource, request, handler, context); } /** *

Returns the channel's IAM policy. IAM policies are used to control access to * your channel.

See Also:

AWS * API Reference

*/ virtual Model::GetChannelPolicyOutcome GetChannelPolicy(const Model::GetChannelPolicyRequest& request) const; /** * A Callable wrapper for GetChannelPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetChannelPolicyOutcomeCallable GetChannelPolicyCallable(const GetChannelPolicyRequestT& request) const { return SubmitCallable(&MediaTailorClient::GetChannelPolicy, request); } /** * An Async wrapper for GetChannelPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetChannelPolicyAsync(const GetChannelPolicyRequestT& request, const GetChannelPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::GetChannelPolicy, request, handler, context); } /** *

Retrieves information about your channel's schedule.

See Also:

* AWS * API Reference

*/ virtual Model::GetChannelScheduleOutcome GetChannelSchedule(const Model::GetChannelScheduleRequest& request) const; /** * A Callable wrapper for GetChannelSchedule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetChannelScheduleOutcomeCallable GetChannelScheduleCallable(const GetChannelScheduleRequestT& request) const { return SubmitCallable(&MediaTailorClient::GetChannelSchedule, request); } /** * An Async wrapper for GetChannelSchedule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetChannelScheduleAsync(const GetChannelScheduleRequestT& request, const GetChannelScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::GetChannelSchedule, request, handler, context); } /** *

Retrieves a playback configuration. For information about MediaTailor * configurations, see Working * with configurations in AWS Elemental MediaTailor.

See Also:

* AWS * API Reference

*/ virtual Model::GetPlaybackConfigurationOutcome GetPlaybackConfiguration(const Model::GetPlaybackConfigurationRequest& request) const; /** * A Callable wrapper for GetPlaybackConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetPlaybackConfigurationOutcomeCallable GetPlaybackConfigurationCallable(const GetPlaybackConfigurationRequestT& request) const { return SubmitCallable(&MediaTailorClient::GetPlaybackConfiguration, request); } /** * An Async wrapper for GetPlaybackConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetPlaybackConfigurationAsync(const GetPlaybackConfigurationRequestT& request, const GetPlaybackConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::GetPlaybackConfiguration, request, handler, context); } /** *

Retrieves a prefetch schedule for a playback configuration. A prefetch * schedule allows you to tell MediaTailor to fetch and prepare certain ads before * an ad break happens. For more information about ad prefetching, see Using * ad prefetching in the MediaTailor User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::GetPrefetchScheduleOutcome GetPrefetchSchedule(const Model::GetPrefetchScheduleRequest& request) const; /** * A Callable wrapper for GetPrefetchSchedule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetPrefetchScheduleOutcomeCallable GetPrefetchScheduleCallable(const GetPrefetchScheduleRequestT& request) const { return SubmitCallable(&MediaTailorClient::GetPrefetchSchedule, request); } /** * An Async wrapper for GetPrefetchSchedule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetPrefetchScheduleAsync(const GetPrefetchScheduleRequestT& request, const GetPrefetchScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::GetPrefetchSchedule, request, handler, context); } /** *

Lists the alerts that are associated with a MediaTailor channel assembly * resource.

See Also:

AWS * API Reference

*/ virtual Model::ListAlertsOutcome ListAlerts(const Model::ListAlertsRequest& request) const; /** * A Callable wrapper for ListAlerts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAlertsOutcomeCallable ListAlertsCallable(const ListAlertsRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListAlerts, request); } /** * An Async wrapper for ListAlerts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAlertsAsync(const ListAlertsRequestT& request, const ListAlertsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListAlerts, request, handler, context); } /** *

Retrieves information about the channels that are associated with the current * AWS account.

See Also:

AWS * API Reference

*/ virtual Model::ListChannelsOutcome ListChannels(const Model::ListChannelsRequest& request) const; /** * A Callable wrapper for ListChannels that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListChannelsOutcomeCallable ListChannelsCallable(const ListChannelsRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListChannels, request); } /** * An Async wrapper for ListChannels that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListChannelsAsync(const ListChannelsRequestT& request, const ListChannelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListChannels, request, handler, context); } /** *

Lists the live sources contained in a source location. A source represents a * piece of content.

See Also:

AWS * API Reference

*/ virtual Model::ListLiveSourcesOutcome ListLiveSources(const Model::ListLiveSourcesRequest& request) const; /** * A Callable wrapper for ListLiveSources that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListLiveSourcesOutcomeCallable ListLiveSourcesCallable(const ListLiveSourcesRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListLiveSources, request); } /** * An Async wrapper for ListLiveSources that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListLiveSourcesAsync(const ListLiveSourcesRequestT& request, const ListLiveSourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListLiveSources, request, handler, context); } /** *

Retrieves existing playback configurations. For information about MediaTailor * configurations, see Working * with Configurations in AWS Elemental MediaTailor.

See Also:

* AWS * API Reference

*/ virtual Model::ListPlaybackConfigurationsOutcome ListPlaybackConfigurations(const Model::ListPlaybackConfigurationsRequest& request) const; /** * A Callable wrapper for ListPlaybackConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPlaybackConfigurationsOutcomeCallable ListPlaybackConfigurationsCallable(const ListPlaybackConfigurationsRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListPlaybackConfigurations, request); } /** * An Async wrapper for ListPlaybackConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPlaybackConfigurationsAsync(const ListPlaybackConfigurationsRequestT& request, const ListPlaybackConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListPlaybackConfigurations, request, handler, context); } /** *

Lists the prefetch schedules for a playback configuration.

See * Also:

AWS * API Reference

*/ virtual Model::ListPrefetchSchedulesOutcome ListPrefetchSchedules(const Model::ListPrefetchSchedulesRequest& request) const; /** * A Callable wrapper for ListPrefetchSchedules that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPrefetchSchedulesOutcomeCallable ListPrefetchSchedulesCallable(const ListPrefetchSchedulesRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListPrefetchSchedules, request); } /** * An Async wrapper for ListPrefetchSchedules that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPrefetchSchedulesAsync(const ListPrefetchSchedulesRequestT& request, const ListPrefetchSchedulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListPrefetchSchedules, request, handler, context); } /** *

Lists the source locations for a channel. A source location defines the host * server URL, and contains a list of sources.

See Also:

AWS * API Reference

*/ virtual Model::ListSourceLocationsOutcome ListSourceLocations(const Model::ListSourceLocationsRequest& request) const; /** * A Callable wrapper for ListSourceLocations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSourceLocationsOutcomeCallable ListSourceLocationsCallable(const ListSourceLocationsRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListSourceLocations, request); } /** * An Async wrapper for ListSourceLocations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSourceLocationsAsync(const ListSourceLocationsRequestT& request, const ListSourceLocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListSourceLocations, request, handler, context); } /** *

A list of tags that are associated with this resource. Tags are key-value * pairs that you can associate with Amazon resources to help with organization, * access control, and cost tracking. For more information, see Tagging * AWS Elemental MediaTailor Resources.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListTagsForResource, request, handler, context); } /** *

Lists the VOD sources contained in a source location. A source represents a * piece of content.

See Also:

AWS * API Reference

*/ virtual Model::ListVodSourcesOutcome ListVodSources(const Model::ListVodSourcesRequest& request) const; /** * A Callable wrapper for ListVodSources that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListVodSourcesOutcomeCallable ListVodSourcesCallable(const ListVodSourcesRequestT& request) const { return SubmitCallable(&MediaTailorClient::ListVodSources, request); } /** * An Async wrapper for ListVodSources that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListVodSourcesAsync(const ListVodSourcesRequestT& request, const ListVodSourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::ListVodSources, request, handler, context); } /** *

Creates an IAM policy for the channel. IAM policies are used to control * access to your channel.

See Also:

AWS * API Reference

*/ virtual Model::PutChannelPolicyOutcome PutChannelPolicy(const Model::PutChannelPolicyRequest& request) const; /** * A Callable wrapper for PutChannelPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutChannelPolicyOutcomeCallable PutChannelPolicyCallable(const PutChannelPolicyRequestT& request) const { return SubmitCallable(&MediaTailorClient::PutChannelPolicy, request); } /** * An Async wrapper for PutChannelPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutChannelPolicyAsync(const PutChannelPolicyRequestT& request, const PutChannelPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::PutChannelPolicy, request, handler, context); } /** *

Creates a playback configuration. For information about MediaTailor * configurations, see Working * with configurations in AWS Elemental MediaTailor.

See Also:

* AWS * API Reference

*/ virtual Model::PutPlaybackConfigurationOutcome PutPlaybackConfiguration(const Model::PutPlaybackConfigurationRequest& request) const; /** * A Callable wrapper for PutPlaybackConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutPlaybackConfigurationOutcomeCallable PutPlaybackConfigurationCallable(const PutPlaybackConfigurationRequestT& request) const { return SubmitCallable(&MediaTailorClient::PutPlaybackConfiguration, request); } /** * An Async wrapper for PutPlaybackConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutPlaybackConfigurationAsync(const PutPlaybackConfigurationRequestT& request, const PutPlaybackConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::PutPlaybackConfiguration, request, handler, context); } /** *

Starts a channel. For information about MediaTailor channels, see Working * with channels in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::StartChannelOutcome StartChannel(const Model::StartChannelRequest& request) const; /** * A Callable wrapper for StartChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartChannelOutcomeCallable StartChannelCallable(const StartChannelRequestT& request) const { return SubmitCallable(&MediaTailorClient::StartChannel, request); } /** * An Async wrapper for StartChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartChannelAsync(const StartChannelRequestT& request, const StartChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::StartChannel, request, handler, context); } /** *

Stops a channel. For information about MediaTailor channels, see Working * with channels in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::StopChannelOutcome StopChannel(const Model::StopChannelRequest& request) const; /** * A Callable wrapper for StopChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopChannelOutcomeCallable StopChannelCallable(const StopChannelRequestT& request) const { return SubmitCallable(&MediaTailorClient::StopChannel, request); } /** * An Async wrapper for StopChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopChannelAsync(const StopChannelRequestT& request, const StopChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::StopChannel, request, handler, context); } /** *

The resource to tag. Tags are key-value pairs that you can associate with * Amazon resources to help with organization, access control, and cost tracking. * For more information, see Tagging * AWS Elemental MediaTailor Resources.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::TagResource, request, handler, context); } /** *

The resource to untag.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::UntagResource, request, handler, context); } /** *

Updates a channel. For information about MediaTailor channels, see Working * with channels in the MediaTailor User Guide.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateChannelOutcome UpdateChannel(const Model::UpdateChannelRequest& request) const; /** * A Callable wrapper for UpdateChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateChannelOutcomeCallable UpdateChannelCallable(const UpdateChannelRequestT& request) const { return SubmitCallable(&MediaTailorClient::UpdateChannel, request); } /** * An Async wrapper for UpdateChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateChannelAsync(const UpdateChannelRequestT& request, const UpdateChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::UpdateChannel, request, handler, context); } /** *

Updates a live source's configuration.

See Also:

AWS * API Reference

*/ virtual Model::UpdateLiveSourceOutcome UpdateLiveSource(const Model::UpdateLiveSourceRequest& request) const; /** * A Callable wrapper for UpdateLiveSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateLiveSourceOutcomeCallable UpdateLiveSourceCallable(const UpdateLiveSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::UpdateLiveSource, request); } /** * An Async wrapper for UpdateLiveSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateLiveSourceAsync(const UpdateLiveSourceRequestT& request, const UpdateLiveSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::UpdateLiveSource, request, handler, context); } /** *

Updates a program within a channel.

See Also:

AWS * API Reference

*/ virtual Model::UpdateProgramOutcome UpdateProgram(const Model::UpdateProgramRequest& request) const; /** * A Callable wrapper for UpdateProgram that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateProgramOutcomeCallable UpdateProgramCallable(const UpdateProgramRequestT& request) const { return SubmitCallable(&MediaTailorClient::UpdateProgram, request); } /** * An Async wrapper for UpdateProgram that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateProgramAsync(const UpdateProgramRequestT& request, const UpdateProgramResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::UpdateProgram, request, handler, context); } /** *

Updates a source location. A source location is a container for sources. For * more information about source locations, see Working * with source locations in the MediaTailor User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateSourceLocationOutcome UpdateSourceLocation(const Model::UpdateSourceLocationRequest& request) const; /** * A Callable wrapper for UpdateSourceLocation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSourceLocationOutcomeCallable UpdateSourceLocationCallable(const UpdateSourceLocationRequestT& request) const { return SubmitCallable(&MediaTailorClient::UpdateSourceLocation, request); } /** * An Async wrapper for UpdateSourceLocation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSourceLocationAsync(const UpdateSourceLocationRequestT& request, const UpdateSourceLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::UpdateSourceLocation, request, handler, context); } /** *

Updates a VOD source's configuration.

See Also:

AWS * API Reference

*/ virtual Model::UpdateVodSourceOutcome UpdateVodSource(const Model::UpdateVodSourceRequest& request) const; /** * A Callable wrapper for UpdateVodSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateVodSourceOutcomeCallable UpdateVodSourceCallable(const UpdateVodSourceRequestT& request) const { return SubmitCallable(&MediaTailorClient::UpdateVodSource, request); } /** * An Async wrapper for UpdateVodSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateVodSourceAsync(const UpdateVodSourceRequestT& request, const UpdateVodSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaTailorClient::UpdateVodSource, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const MediaTailorClientConfiguration& clientConfiguration); MediaTailorClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace MediaTailor } // namespace Aws