/** * 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 #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 MediaPackage { namespace Model { class CreateChannelRequest; class CreateHarvestJobRequest; class CreateOriginEndpointRequest; class DeleteChannelRequest; class DeleteOriginEndpointRequest; class DescribeChannelRequest; class DescribeHarvestJobRequest; class DescribeOriginEndpointRequest; class ListChannelsRequest; class ListHarvestJobsRequest; class ListOriginEndpointsRequest; class ListTagsForResourceRequest; class RotateIngestEndpointCredentialsRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateChannelRequest; class UpdateOriginEndpointRequest; typedef Aws::Utils::Outcome CreateChannelOutcome; typedef Aws::Utils::Outcome CreateHarvestJobOutcome; typedef Aws::Utils::Outcome CreateOriginEndpointOutcome; typedef Aws::Utils::Outcome DeleteChannelOutcome; typedef Aws::Utils::Outcome DeleteOriginEndpointOutcome; typedef Aws::Utils::Outcome DescribeChannelOutcome; typedef Aws::Utils::Outcome DescribeHarvestJobOutcome; typedef Aws::Utils::Outcome DescribeOriginEndpointOutcome; typedef Aws::Utils::Outcome ListChannelsOutcome; typedef Aws::Utils::Outcome ListHarvestJobsOutcome; typedef Aws::Utils::Outcome ListOriginEndpointsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome RotateIngestEndpointCredentialsOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateChannelOutcome; typedef Aws::Utils::Outcome UpdateOriginEndpointOutcome; typedef std::future CreateChannelOutcomeCallable; typedef std::future CreateHarvestJobOutcomeCallable; typedef std::future CreateOriginEndpointOutcomeCallable; typedef std::future DeleteChannelOutcomeCallable; typedef std::future DeleteOriginEndpointOutcomeCallable; typedef std::future DescribeChannelOutcomeCallable; typedef std::future DescribeHarvestJobOutcomeCallable; typedef std::future DescribeOriginEndpointOutcomeCallable; typedef std::future ListChannelsOutcomeCallable; typedef std::future ListHarvestJobsOutcomeCallable; typedef std::future ListOriginEndpointsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future RotateIngestEndpointCredentialsOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateChannelOutcomeCallable; typedef std::future UpdateOriginEndpointOutcomeCallable; } // namespace Model class MediaPackageClient; typedef std::function&) > CreateChannelResponseReceivedHandler; typedef std::function&) > CreateHarvestJobResponseReceivedHandler; typedef std::function&) > CreateOriginEndpointResponseReceivedHandler; typedef std::function&) > DeleteChannelResponseReceivedHandler; typedef std::function&) > DeleteOriginEndpointResponseReceivedHandler; typedef std::function&) > DescribeChannelResponseReceivedHandler; typedef std::function&) > DescribeHarvestJobResponseReceivedHandler; typedef std::function&) > DescribeOriginEndpointResponseReceivedHandler; typedef std::function&) > ListChannelsResponseReceivedHandler; typedef std::function&) > ListHarvestJobsResponseReceivedHandler; typedef std::function&) > ListOriginEndpointsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > RotateIngestEndpointCredentialsResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateChannelResponseReceivedHandler; typedef std::function&) > UpdateOriginEndpointResponseReceivedHandler; /** * AWS Elemental MediaPackage */ class AWS_MEDIAPACKAGE_API MediaPackageClient : 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. */ MediaPackageClient(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. */ MediaPackageClient(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 */ MediaPackageClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~MediaPackageClient(); /** * Creates a new Channel.

See Also:

AWS * API Reference

*/ virtual Model::CreateChannelOutcome CreateChannel(const Model::CreateChannelRequest& request) const; /** * Creates a new Channel.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateChannelOutcomeCallable CreateChannelCallable(const Model::CreateChannelRequest& request) const; /** * Creates a new Channel.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateChannelAsync(const Model::CreateChannelRequest& request, const CreateChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Creates a new HarvestJob record.

See Also:

AWS * API Reference

*/ virtual Model::CreateHarvestJobOutcome CreateHarvestJob(const Model::CreateHarvestJobRequest& request) const; /** * Creates a new HarvestJob record.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateHarvestJobOutcomeCallable CreateHarvestJobCallable(const Model::CreateHarvestJobRequest& request) const; /** * Creates a new HarvestJob record.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateHarvestJobAsync(const Model::CreateHarvestJobRequest& request, const CreateHarvestJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Creates a new OriginEndpoint record.

See Also:

AWS * API Reference

*/ virtual Model::CreateOriginEndpointOutcome CreateOriginEndpoint(const Model::CreateOriginEndpointRequest& request) const; /** * Creates a new OriginEndpoint record.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateOriginEndpointOutcomeCallable CreateOriginEndpointCallable(const Model::CreateOriginEndpointRequest& request) const; /** * Creates a new OriginEndpoint record.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateOriginEndpointAsync(const Model::CreateOriginEndpointRequest& request, const CreateOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Deletes an existing Channel.

See Also:

AWS * API Reference

*/ virtual Model::DeleteChannelOutcome DeleteChannel(const Model::DeleteChannelRequest& request) const; /** * Deletes an existing Channel.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteChannelOutcomeCallable DeleteChannelCallable(const Model::DeleteChannelRequest& request) const; /** * Deletes an existing Channel.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteChannelAsync(const Model::DeleteChannelRequest& request, const DeleteChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Deletes an existing OriginEndpoint.

See Also:

AWS * API Reference

*/ virtual Model::DeleteOriginEndpointOutcome DeleteOriginEndpoint(const Model::DeleteOriginEndpointRequest& request) const; /** * Deletes an existing OriginEndpoint.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteOriginEndpointOutcomeCallable DeleteOriginEndpointCallable(const Model::DeleteOriginEndpointRequest& request) const; /** * Deletes an existing OriginEndpoint.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteOriginEndpointAsync(const Model::DeleteOriginEndpointRequest& request, const DeleteOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Gets details about a Channel.

See Also:

AWS * API Reference

*/ virtual Model::DescribeChannelOutcome DescribeChannel(const Model::DescribeChannelRequest& request) const; /** * Gets details about a Channel.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeChannelOutcomeCallable DescribeChannelCallable(const Model::DescribeChannelRequest& request) const; /** * Gets details about a Channel.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeChannelAsync(const Model::DescribeChannelRequest& request, const DescribeChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Gets details about an existing HarvestJob.

See Also:

AWS * API Reference

*/ virtual Model::DescribeHarvestJobOutcome DescribeHarvestJob(const Model::DescribeHarvestJobRequest& request) const; /** * Gets details about an existing HarvestJob.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeHarvestJobOutcomeCallable DescribeHarvestJobCallable(const Model::DescribeHarvestJobRequest& request) const; /** * Gets details about an existing HarvestJob.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeHarvestJobAsync(const Model::DescribeHarvestJobRequest& request, const DescribeHarvestJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Gets details about an existing OriginEndpoint.

See Also:

AWS * API Reference

*/ virtual Model::DescribeOriginEndpointOutcome DescribeOriginEndpoint(const Model::DescribeOriginEndpointRequest& request) const; /** * Gets details about an existing OriginEndpoint.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeOriginEndpointOutcomeCallable DescribeOriginEndpointCallable(const Model::DescribeOriginEndpointRequest& request) const; /** * Gets details about an existing OriginEndpoint.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeOriginEndpointAsync(const Model::DescribeOriginEndpointRequest& request, const DescribeOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a collection of Channels.

See Also:

AWS * API Reference

*/ virtual Model::ListChannelsOutcome ListChannels(const Model::ListChannelsRequest& request) const; /** * Returns a collection of Channels.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListChannelsOutcomeCallable ListChannelsCallable(const Model::ListChannelsRequest& request) const; /** * Returns a collection of Channels.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListChannelsAsync(const Model::ListChannelsRequest& request, const ListChannelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a collection of HarvestJob records.

See Also:

AWS * API Reference

*/ virtual Model::ListHarvestJobsOutcome ListHarvestJobs(const Model::ListHarvestJobsRequest& request) const; /** * Returns a collection of HarvestJob records.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListHarvestJobsOutcomeCallable ListHarvestJobsCallable(const Model::ListHarvestJobsRequest& request) const; /** * Returns a collection of HarvestJob records.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListHarvestJobsAsync(const Model::ListHarvestJobsRequest& request, const ListHarvestJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Returns a collection of OriginEndpoint records.

See Also:

AWS * API Reference

*/ virtual Model::ListOriginEndpointsOutcome ListOriginEndpoints(const Model::ListOriginEndpointsRequest& request) const; /** * Returns a collection of OriginEndpoint records.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListOriginEndpointsOutcomeCallable ListOriginEndpointsCallable(const Model::ListOriginEndpointsRequest& request) const; /** * Returns a collection of OriginEndpoint records.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListOriginEndpointsAsync(const Model::ListOriginEndpointsRequest& request, const ListOriginEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * */ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * * * 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; /** * * * 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; /** * Rotate the IngestEndpoint's username and password, as specified by the * IngestEndpoint's id.

See Also:

AWS * API Reference

*/ virtual Model::RotateIngestEndpointCredentialsOutcome RotateIngestEndpointCredentials(const Model::RotateIngestEndpointCredentialsRequest& request) const; /** * Rotate the IngestEndpoint's username and password, as specified by the * IngestEndpoint's id.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RotateIngestEndpointCredentialsOutcomeCallable RotateIngestEndpointCredentialsCallable(const Model::RotateIngestEndpointCredentialsRequest& request) const; /** * Rotate the IngestEndpoint's username and password, as specified by the * IngestEndpoint's id.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RotateIngestEndpointCredentialsAsync(const Model::RotateIngestEndpointCredentialsRequest& request, const RotateIngestEndpointCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * */ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * * * 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; /** * * * 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; /** * */ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * * * 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; /** * * * 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 an existing Channel.

See Also:

AWS * API Reference

*/ virtual Model::UpdateChannelOutcome UpdateChannel(const Model::UpdateChannelRequest& request) const; /** * Updates an existing Channel.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateChannelOutcomeCallable UpdateChannelCallable(const Model::UpdateChannelRequest& request) const; /** * Updates an existing Channel.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateChannelAsync(const Model::UpdateChannelRequest& request, const UpdateChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** * Updates an existing OriginEndpoint.

See Also:

AWS * API Reference

*/ virtual Model::UpdateOriginEndpointOutcome UpdateOriginEndpoint(const Model::UpdateOriginEndpointRequest& request) const; /** * Updates an existing OriginEndpoint.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateOriginEndpointOutcomeCallable UpdateOriginEndpointCallable(const Model::UpdateOriginEndpointRequest& request) const; /** * Updates an existing OriginEndpoint.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateOriginEndpointAsync(const Model::UpdateOriginEndpointRequest& request, const UpdateOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CreateChannelAsyncHelper(const Model::CreateChannelRequest& request, const CreateChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateHarvestJobAsyncHelper(const Model::CreateHarvestJobRequest& request, const CreateHarvestJobResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateOriginEndpointAsyncHelper(const Model::CreateOriginEndpointRequest& request, const CreateOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteChannelAsyncHelper(const Model::DeleteChannelRequest& request, const DeleteChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteOriginEndpointAsyncHelper(const Model::DeleteOriginEndpointRequest& request, const DeleteOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeChannelAsyncHelper(const Model::DescribeChannelRequest& request, const DescribeChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeHarvestJobAsyncHelper(const Model::DescribeHarvestJobRequest& request, const DescribeHarvestJobResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeOriginEndpointAsyncHelper(const Model::DescribeOriginEndpointRequest& request, const DescribeOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListChannelsAsyncHelper(const Model::ListChannelsRequest& request, const ListChannelsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListHarvestJobsAsyncHelper(const Model::ListHarvestJobsRequest& request, const ListHarvestJobsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListOriginEndpointsAsyncHelper(const Model::ListOriginEndpointsRequest& request, const ListOriginEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RotateIngestEndpointCredentialsAsyncHelper(const Model::RotateIngestEndpointCredentialsRequest& request, const RotateIngestEndpointCredentialsResponseReceivedHandler& 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 UpdateChannelAsyncHelper(const Model::UpdateChannelRequest& request, const UpdateChannelResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateOriginEndpointAsyncHelper(const Model::UpdateOriginEndpointRequest& request, const UpdateOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace MediaPackage } // namespace Aws