/** * 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 MediaPackageVod { /** * AWS Elemental MediaPackage VOD */ class AWS_MEDIAPACKAGEVOD_API MediaPackageVodClient : 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 MediaPackageVodClientConfiguration ClientConfigurationType; typedef MediaPackageVodEndpointProvider 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. */ MediaPackageVodClient(const Aws::MediaPackageVod::MediaPackageVodClientConfiguration& clientConfiguration = Aws::MediaPackageVod::MediaPackageVodClientConfiguration(), 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. */ MediaPackageVodClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MediaPackageVod::MediaPackageVodClientConfiguration& clientConfiguration = Aws::MediaPackageVod::MediaPackageVodClientConfiguration()); /** * 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 */ MediaPackageVodClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MediaPackageVod::MediaPackageVodClientConfiguration& clientConfiguration = Aws::MediaPackageVod::MediaPackageVodClientConfiguration()); /* 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. */ MediaPackageVodClient(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. */ MediaPackageVodClient(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 */ MediaPackageVodClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~MediaPackageVodClient(); /** * Changes the packaging group's properities to configure log * subscription

See Also:

AWS * API Reference

*/ virtual Model::ConfigureLogsOutcome ConfigureLogs(const Model::ConfigureLogsRequest& request) const; /** * A Callable wrapper for ConfigureLogs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ConfigureLogsOutcomeCallable ConfigureLogsCallable(const ConfigureLogsRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::ConfigureLogs, request); } /** * An Async wrapper for ConfigureLogs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ConfigureLogsAsync(const ConfigureLogsRequestT& request, const ConfigureLogsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::ConfigureLogs, request, handler, context); } /** * Creates a new MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

*/ virtual Model::CreateAssetOutcome CreateAsset(const Model::CreateAssetRequest& request) const; /** * A Callable wrapper for CreateAsset that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateAssetOutcomeCallable CreateAssetCallable(const CreateAssetRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::CreateAsset, request); } /** * An Async wrapper for CreateAsset that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateAssetAsync(const CreateAssetRequestT& request, const CreateAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::CreateAsset, request, handler, context); } /** * Creates a new MediaPackage VOD PackagingConfiguration resource.

See * Also:

AWS * API Reference

*/ virtual Model::CreatePackagingConfigurationOutcome CreatePackagingConfiguration(const Model::CreatePackagingConfigurationRequest& request) const; /** * A Callable wrapper for CreatePackagingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePackagingConfigurationOutcomeCallable CreatePackagingConfigurationCallable(const CreatePackagingConfigurationRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::CreatePackagingConfiguration, request); } /** * An Async wrapper for CreatePackagingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePackagingConfigurationAsync(const CreatePackagingConfigurationRequestT& request, const CreatePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::CreatePackagingConfiguration, request, handler, context); } /** * Creates a new MediaPackage VOD PackagingGroup resource.

See Also:

* AWS * API Reference

*/ virtual Model::CreatePackagingGroupOutcome CreatePackagingGroup(const Model::CreatePackagingGroupRequest& request) const; /** * A Callable wrapper for CreatePackagingGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePackagingGroupOutcomeCallable CreatePackagingGroupCallable(const CreatePackagingGroupRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::CreatePackagingGroup, request); } /** * An Async wrapper for CreatePackagingGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePackagingGroupAsync(const CreatePackagingGroupRequestT& request, const CreatePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::CreatePackagingGroup, request, handler, context); } /** * Deletes an existing MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

*/ virtual Model::DeleteAssetOutcome DeleteAsset(const Model::DeleteAssetRequest& request) const; /** * A Callable wrapper for DeleteAsset that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAssetOutcomeCallable DeleteAssetCallable(const DeleteAssetRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::DeleteAsset, request); } /** * An Async wrapper for DeleteAsset that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAssetAsync(const DeleteAssetRequestT& request, const DeleteAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::DeleteAsset, request, handler, context); } /** * Deletes a MediaPackage VOD PackagingConfiguration resource.

See Also:

* AWS * API Reference

*/ virtual Model::DeletePackagingConfigurationOutcome DeletePackagingConfiguration(const Model::DeletePackagingConfigurationRequest& request) const; /** * A Callable wrapper for DeletePackagingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePackagingConfigurationOutcomeCallable DeletePackagingConfigurationCallable(const DeletePackagingConfigurationRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::DeletePackagingConfiguration, request); } /** * An Async wrapper for DeletePackagingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePackagingConfigurationAsync(const DeletePackagingConfigurationRequestT& request, const DeletePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::DeletePackagingConfiguration, request, handler, context); } /** * Deletes a MediaPackage VOD PackagingGroup resource.

See Also:

AWS * API Reference

*/ virtual Model::DeletePackagingGroupOutcome DeletePackagingGroup(const Model::DeletePackagingGroupRequest& request) const; /** * A Callable wrapper for DeletePackagingGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePackagingGroupOutcomeCallable DeletePackagingGroupCallable(const DeletePackagingGroupRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::DeletePackagingGroup, request); } /** * An Async wrapper for DeletePackagingGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePackagingGroupAsync(const DeletePackagingGroupRequestT& request, const DeletePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::DeletePackagingGroup, request, handler, context); } /** * Returns a description of a MediaPackage VOD Asset resource.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeAssetOutcome DescribeAsset(const Model::DescribeAssetRequest& request) const; /** * A Callable wrapper for DescribeAsset that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeAssetOutcomeCallable DescribeAssetCallable(const DescribeAssetRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::DescribeAsset, request); } /** * An Async wrapper for DescribeAsset that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeAssetAsync(const DescribeAssetRequestT& request, const DescribeAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::DescribeAsset, request, handler, context); } /** * Returns a description of a MediaPackage VOD PackagingConfiguration * resource.

See Also:

AWS * API Reference

*/ virtual Model::DescribePackagingConfigurationOutcome DescribePackagingConfiguration(const Model::DescribePackagingConfigurationRequest& request) const; /** * A Callable wrapper for DescribePackagingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePackagingConfigurationOutcomeCallable DescribePackagingConfigurationCallable(const DescribePackagingConfigurationRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::DescribePackagingConfiguration, request); } /** * An Async wrapper for DescribePackagingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePackagingConfigurationAsync(const DescribePackagingConfigurationRequestT& request, const DescribePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::DescribePackagingConfiguration, request, handler, context); } /** * Returns a description of a MediaPackage VOD PackagingGroup resource.

See * Also:

AWS * API Reference

*/ virtual Model::DescribePackagingGroupOutcome DescribePackagingGroup(const Model::DescribePackagingGroupRequest& request) const; /** * A Callable wrapper for DescribePackagingGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePackagingGroupOutcomeCallable DescribePackagingGroupCallable(const DescribePackagingGroupRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::DescribePackagingGroup, request); } /** * An Async wrapper for DescribePackagingGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePackagingGroupAsync(const DescribePackagingGroupRequestT& request, const DescribePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::DescribePackagingGroup, request, handler, context); } /** * Returns a collection of MediaPackage VOD Asset resources.

See Also:

* AWS * API Reference

*/ virtual Model::ListAssetsOutcome ListAssets(const Model::ListAssetsRequest& request) const; /** * A Callable wrapper for ListAssets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAssetsOutcomeCallable ListAssetsCallable(const ListAssetsRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::ListAssets, request); } /** * An Async wrapper for ListAssets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAssetsAsync(const ListAssetsRequestT& request, const ListAssetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::ListAssets, request, handler, context); } /** * Returns a collection of MediaPackage VOD PackagingConfiguration * resources.

See Also:

AWS * API Reference

*/ virtual Model::ListPackagingConfigurationsOutcome ListPackagingConfigurations(const Model::ListPackagingConfigurationsRequest& request) const; /** * A Callable wrapper for ListPackagingConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPackagingConfigurationsOutcomeCallable ListPackagingConfigurationsCallable(const ListPackagingConfigurationsRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::ListPackagingConfigurations, request); } /** * An Async wrapper for ListPackagingConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPackagingConfigurationsAsync(const ListPackagingConfigurationsRequestT& request, const ListPackagingConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::ListPackagingConfigurations, request, handler, context); } /** * Returns a collection of MediaPackage VOD PackagingGroup resources.

See * Also:

AWS * API Reference

*/ virtual Model::ListPackagingGroupsOutcome ListPackagingGroups(const Model::ListPackagingGroupsRequest& request) const; /** * A Callable wrapper for ListPackagingGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPackagingGroupsOutcomeCallable ListPackagingGroupsCallable(const ListPackagingGroupsRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::ListPackagingGroups, request); } /** * An Async wrapper for ListPackagingGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPackagingGroupsAsync(const ListPackagingGroupsRequestT& request, const ListPackagingGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::ListPackagingGroups, request, handler, context); } /** * Returns a list of the tags assigned to the specified resource.

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(&MediaPackageVodClient::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(&MediaPackageVodClient::ListTagsForResource, request, handler, context); } /** * Adds tags to the specified resource. You can specify one or more tags to * add.

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(&MediaPackageVodClient::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(&MediaPackageVodClient::TagResource, request, handler, context); } /** * Removes tags from the specified resource. You can specify one or more tags to * remove.

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(&MediaPackageVodClient::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(&MediaPackageVodClient::UntagResource, request, handler, context); } /** * Updates a specific packaging group. You can't change the id attribute or any * other system-generated attributes.

See Also:

AWS * API Reference

*/ virtual Model::UpdatePackagingGroupOutcome UpdatePackagingGroup(const Model::UpdatePackagingGroupRequest& request) const; /** * A Callable wrapper for UpdatePackagingGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdatePackagingGroupOutcomeCallable UpdatePackagingGroupCallable(const UpdatePackagingGroupRequestT& request) const { return SubmitCallable(&MediaPackageVodClient::UpdatePackagingGroup, request); } /** * An Async wrapper for UpdatePackagingGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdatePackagingGroupAsync(const UpdatePackagingGroupRequestT& request, const UpdatePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaPackageVodClient::UpdatePackagingGroup, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const MediaPackageVodClientConfiguration& clientConfiguration); MediaPackageVodClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace MediaPackageVod } // namespace Aws