/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace MediaPackageVod { namespace Model { class CreateAssetRequest; class CreatePackagingConfigurationRequest; class CreatePackagingGroupRequest; class DeleteAssetRequest; class DeletePackagingConfigurationRequest; class DeletePackagingGroupRequest; class DescribeAssetRequest; class DescribePackagingConfigurationRequest; class DescribePackagingGroupRequest; class ListAssetsRequest; class ListPackagingConfigurationsRequest; class ListPackagingGroupsRequest; class ListTagsForResourceRequest; class TagResourceRequest; class UntagResourceRequest; class UpdatePackagingGroupRequest; typedef Aws::Utils::Outcome CreateAssetOutcome; typedef Aws::Utils::Outcome CreatePackagingConfigurationOutcome; typedef Aws::Utils::Outcome CreatePackagingGroupOutcome; typedef Aws::Utils::Outcome DeleteAssetOutcome; typedef Aws::Utils::Outcome DeletePackagingConfigurationOutcome; typedef Aws::Utils::Outcome DeletePackagingGroupOutcome; typedef Aws::Utils::Outcome DescribeAssetOutcome; typedef Aws::Utils::Outcome DescribePackagingConfigurationOutcome; typedef Aws::Utils::Outcome DescribePackagingGroupOutcome; typedef Aws::Utils::Outcome ListAssetsOutcome; typedef Aws::Utils::Outcome ListPackagingConfigurationsOutcome; typedef Aws::Utils::Outcome ListPackagingGroupsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdatePackagingGroupOutcome; typedef std::future CreateAssetOutcomeCallable; typedef std::future CreatePackagingConfigurationOutcomeCallable; typedef std::future CreatePackagingGroupOutcomeCallable; typedef std::future DeleteAssetOutcomeCallable; typedef std::future DeletePackagingConfigurationOutcomeCallable; typedef std::future DeletePackagingGroupOutcomeCallable; typedef std::future DescribeAssetOutcomeCallable; typedef std::future DescribePackagingConfigurationOutcomeCallable; typedef std::future DescribePackagingGroupOutcomeCallable; typedef std::future ListAssetsOutcomeCallable; typedef std::future ListPackagingConfigurationsOutcomeCallable; typedef std::future ListPackagingGroupsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdatePackagingGroupOutcomeCallable; } // namespace Model class MediaPackageVodClient; typedef std::function&) > CreateAssetResponseReceivedHandler; typedef std::function&) > CreatePackagingConfigurationResponseReceivedHandler; typedef std::function&) > CreatePackagingGroupResponseReceivedHandler; typedef std::function&) > DeleteAssetResponseReceivedHandler; typedef std::function&) > DeletePackagingConfigurationResponseReceivedHandler; typedef std::function&) > DeletePackagingGroupResponseReceivedHandler; typedef std::function&) > DescribeAssetResponseReceivedHandler; typedef std::function&) > DescribePackagingConfigurationResponseReceivedHandler; typedef std::function&) > DescribePackagingGroupResponseReceivedHandler; typedef std::function&) > ListAssetsResponseReceivedHandler; typedef std::function&) > ListPackagingConfigurationsResponseReceivedHandler; typedef std::function&) > ListPackagingGroupsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdatePackagingGroupResponseReceivedHandler; /** * AWS Elemental MediaPackage VOD */ class AWS_MEDIAPACKAGEVOD_API MediaPackageVodClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * 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 = Aws::Client::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 = Aws::Client::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 = Aws::Client::ClientConfiguration()); virtual ~MediaPackageVodClient(); /** * Creates a new MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

*/ virtual Model::CreateAssetOutcome CreateAsset(const Model::CreateAssetRequest& request) const; /** * Creates a new MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateAssetOutcomeCallable CreateAssetCallable(const Model::CreateAssetRequest& request) const; /** * Creates a new MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateAssetAsync(const Model::CreateAssetRequest& request, const CreateAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Creates a new MediaPackage VOD PackagingConfiguration resource.

See * Also:

AWS * API Reference

*/ virtual Model::CreatePackagingConfigurationOutcome CreatePackagingConfiguration(const Model::CreatePackagingConfigurationRequest& request) const; /** * Creates a new MediaPackage VOD PackagingConfiguration resource.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreatePackagingConfigurationOutcomeCallable CreatePackagingConfigurationCallable(const Model::CreatePackagingConfigurationRequest& request) const; /** * Creates a new MediaPackage VOD PackagingConfiguration resource.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreatePackagingConfigurationAsync(const Model::CreatePackagingConfigurationRequest& request, const CreatePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Creates a new MediaPackage VOD PackagingGroup resource.

See Also:

* AWS * API Reference

*/ virtual Model::CreatePackagingGroupOutcome CreatePackagingGroup(const Model::CreatePackagingGroupRequest& request) const; /** * Creates a new MediaPackage VOD PackagingGroup resource.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreatePackagingGroupOutcomeCallable CreatePackagingGroupCallable(const Model::CreatePackagingGroupRequest& request) const; /** * Creates a new MediaPackage VOD PackagingGroup resource.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreatePackagingGroupAsync(const Model::CreatePackagingGroupRequest& request, const CreatePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Deletes an existing MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

*/ virtual Model::DeleteAssetOutcome DeleteAsset(const Model::DeleteAssetRequest& request) const; /** * Deletes an existing MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteAssetOutcomeCallable DeleteAssetCallable(const Model::DeleteAssetRequest& request) const; /** * Deletes an existing MediaPackage VOD Asset resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteAssetAsync(const Model::DeleteAssetRequest& request, const DeleteAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Deletes a MediaPackage VOD PackagingConfiguration resource.

See Also:

* AWS * API Reference

*/ virtual Model::DeletePackagingConfigurationOutcome DeletePackagingConfiguration(const Model::DeletePackagingConfigurationRequest& request) const; /** * Deletes a MediaPackage VOD PackagingConfiguration resource.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeletePackagingConfigurationOutcomeCallable DeletePackagingConfigurationCallable(const Model::DeletePackagingConfigurationRequest& request) const; /** * Deletes a MediaPackage VOD PackagingConfiguration resource.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeletePackagingConfigurationAsync(const Model::DeletePackagingConfigurationRequest& request, const DeletePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Deletes a MediaPackage VOD PackagingGroup resource.

See Also:

AWS * API Reference

*/ virtual Model::DeletePackagingGroupOutcome DeletePackagingGroup(const Model::DeletePackagingGroupRequest& request) const; /** * Deletes a MediaPackage VOD PackagingGroup resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeletePackagingGroupOutcomeCallable DeletePackagingGroupCallable(const Model::DeletePackagingGroupRequest& request) const; /** * Deletes a MediaPackage VOD PackagingGroup resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeletePackagingGroupAsync(const Model::DeletePackagingGroupRequest& request, const DeletePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a description of a MediaPackage VOD Asset resource.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeAssetOutcome DescribeAsset(const Model::DescribeAssetRequest& request) const; /** * Returns a description of a MediaPackage VOD Asset resource.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeAssetOutcomeCallable DescribeAssetCallable(const Model::DescribeAssetRequest& request) const; /** * Returns a description of a MediaPackage VOD Asset resource.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeAssetAsync(const Model::DescribeAssetRequest& request, const DescribeAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a description of a MediaPackage VOD PackagingConfiguration * resource.

See Also:

AWS * API Reference

*/ virtual Model::DescribePackagingConfigurationOutcome DescribePackagingConfiguration(const Model::DescribePackagingConfigurationRequest& request) const; /** * Returns a description of a MediaPackage VOD PackagingConfiguration * resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribePackagingConfigurationOutcomeCallable DescribePackagingConfigurationCallable(const Model::DescribePackagingConfigurationRequest& request) const; /** * Returns a description of a MediaPackage VOD PackagingConfiguration * resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribePackagingConfigurationAsync(const Model::DescribePackagingConfigurationRequest& request, const DescribePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a description of a MediaPackage VOD PackagingGroup resource.

See * Also:

AWS * API Reference

*/ virtual Model::DescribePackagingGroupOutcome DescribePackagingGroup(const Model::DescribePackagingGroupRequest& request) const; /** * Returns a description of a MediaPackage VOD PackagingGroup resource.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribePackagingGroupOutcomeCallable DescribePackagingGroupCallable(const Model::DescribePackagingGroupRequest& request) const; /** * Returns a description of a MediaPackage VOD PackagingGroup resource.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribePackagingGroupAsync(const Model::DescribePackagingGroupRequest& request, const DescribePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a collection of MediaPackage VOD Asset resources.

See Also:

* AWS * API Reference

*/ virtual Model::ListAssetsOutcome ListAssets(const Model::ListAssetsRequest& request) const; /** * Returns a collection of MediaPackage VOD Asset resources.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListAssetsOutcomeCallable ListAssetsCallable(const Model::ListAssetsRequest& request) const; /** * Returns a collection of MediaPackage VOD Asset resources.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListAssetsAsync(const Model::ListAssetsRequest& request, const ListAssetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a collection of MediaPackage VOD PackagingConfiguration * resources.

See Also:

AWS * API Reference

*/ virtual Model::ListPackagingConfigurationsOutcome ListPackagingConfigurations(const Model::ListPackagingConfigurationsRequest& request) const; /** * Returns a collection of MediaPackage VOD PackagingConfiguration * resources.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPackagingConfigurationsOutcomeCallable ListPackagingConfigurationsCallable(const Model::ListPackagingConfigurationsRequest& request) const; /** * Returns a collection of MediaPackage VOD PackagingConfiguration * resources.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPackagingConfigurationsAsync(const Model::ListPackagingConfigurationsRequest& request, const ListPackagingConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a collection of MediaPackage VOD PackagingGroup resources.

See * Also:

AWS * API Reference

*/ virtual Model::ListPackagingGroupsOutcome ListPackagingGroups(const Model::ListPackagingGroupsRequest& request) const; /** * Returns a collection of MediaPackage VOD PackagingGroup resources.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPackagingGroupsOutcomeCallable ListPackagingGroupsCallable(const Model::ListPackagingGroupsRequest& request) const; /** * Returns a collection of MediaPackage VOD PackagingGroup resources.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPackagingGroupsAsync(const Model::ListPackagingGroupsRequest& request, const ListPackagingGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * 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; /** * Returns a list of the tags assigned to the specified resource.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** * Returns a list of the tags assigned to the specified resource.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * 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; /** * Adds tags to the specified resource. You can specify one or more tags to * add.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** * Adds tags to the specified resource. You can specify one or more tags to * add.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * 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; /** * Removes tags from the specified resource. You can specify one or more tags to * remove.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** * Removes tags from the specified resource. You can specify one or more tags to * remove.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * 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; /** * Updates a specific packaging group. You can't change the id attribute or any * other system-generated attributes.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdatePackagingGroupOutcomeCallable UpdatePackagingGroupCallable(const Model::UpdatePackagingGroupRequest& request) const; /** * Updates a specific packaging group. You can't change the id attribute or any * other system-generated attributes.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdatePackagingGroupAsync(const Model::UpdatePackagingGroupRequest& request, const UpdatePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CreateAssetAsyncHelper(const Model::CreateAssetRequest& request, const CreateAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreatePackagingConfigurationAsyncHelper(const Model::CreatePackagingConfigurationRequest& request, const CreatePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreatePackagingGroupAsyncHelper(const Model::CreatePackagingGroupRequest& request, const CreatePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteAssetAsyncHelper(const Model::DeleteAssetRequest& request, const DeleteAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeletePackagingConfigurationAsyncHelper(const Model::DeletePackagingConfigurationRequest& request, const DeletePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeletePackagingGroupAsyncHelper(const Model::DeletePackagingGroupRequest& request, const DeletePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeAssetAsyncHelper(const Model::DescribeAssetRequest& request, const DescribeAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribePackagingConfigurationAsyncHelper(const Model::DescribePackagingConfigurationRequest& request, const DescribePackagingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribePackagingGroupAsyncHelper(const Model::DescribePackagingGroupRequest& request, const DescribePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListAssetsAsyncHelper(const Model::ListAssetsRequest& request, const ListAssetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPackagingConfigurationsAsyncHelper(const Model::ListPackagingConfigurationsRequest& request, const ListPackagingConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPackagingGroupsAsyncHelper(const Model::ListPackagingGroupsRequest& request, const ListPackagingGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdatePackagingGroupAsyncHelper(const Model::UpdatePackagingGroupRequest& request, const UpdatePackagingGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace MediaPackageVod } // namespace Aws