/**
* 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
#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 MediaConnect
{
namespace Model
{
class AddFlowOutputsRequest;
class AddFlowSourcesRequest;
class AddFlowVpcInterfacesRequest;
class CreateFlowRequest;
class DeleteFlowRequest;
class DescribeFlowRequest;
class GrantFlowEntitlementsRequest;
class ListEntitlementsRequest;
class ListFlowsRequest;
class ListTagsForResourceRequest;
class RemoveFlowOutputRequest;
class RemoveFlowSourceRequest;
class RemoveFlowVpcInterfaceRequest;
class RevokeFlowEntitlementRequest;
class StartFlowRequest;
class StopFlowRequest;
class TagResourceRequest;
class UntagResourceRequest;
class UpdateFlowRequest;
class UpdateFlowEntitlementRequest;
class UpdateFlowOutputRequest;
class UpdateFlowSourceRequest;
typedef Aws::Utils::Outcome AddFlowOutputsOutcome;
typedef Aws::Utils::Outcome AddFlowSourcesOutcome;
typedef Aws::Utils::Outcome AddFlowVpcInterfacesOutcome;
typedef Aws::Utils::Outcome CreateFlowOutcome;
typedef Aws::Utils::Outcome DeleteFlowOutcome;
typedef Aws::Utils::Outcome DescribeFlowOutcome;
typedef Aws::Utils::Outcome GrantFlowEntitlementsOutcome;
typedef Aws::Utils::Outcome ListEntitlementsOutcome;
typedef Aws::Utils::Outcome ListFlowsOutcome;
typedef Aws::Utils::Outcome ListTagsForResourceOutcome;
typedef Aws::Utils::Outcome RemoveFlowOutputOutcome;
typedef Aws::Utils::Outcome RemoveFlowSourceOutcome;
typedef Aws::Utils::Outcome RemoveFlowVpcInterfaceOutcome;
typedef Aws::Utils::Outcome RevokeFlowEntitlementOutcome;
typedef Aws::Utils::Outcome StartFlowOutcome;
typedef Aws::Utils::Outcome StopFlowOutcome;
typedef Aws::Utils::Outcome TagResourceOutcome;
typedef Aws::Utils::Outcome UntagResourceOutcome;
typedef Aws::Utils::Outcome UpdateFlowOutcome;
typedef Aws::Utils::Outcome UpdateFlowEntitlementOutcome;
typedef Aws::Utils::Outcome UpdateFlowOutputOutcome;
typedef Aws::Utils::Outcome UpdateFlowSourceOutcome;
typedef std::future AddFlowOutputsOutcomeCallable;
typedef std::future AddFlowSourcesOutcomeCallable;
typedef std::future AddFlowVpcInterfacesOutcomeCallable;
typedef std::future CreateFlowOutcomeCallable;
typedef std::future DeleteFlowOutcomeCallable;
typedef std::future DescribeFlowOutcomeCallable;
typedef std::future GrantFlowEntitlementsOutcomeCallable;
typedef std::future ListEntitlementsOutcomeCallable;
typedef std::future ListFlowsOutcomeCallable;
typedef std::future ListTagsForResourceOutcomeCallable;
typedef std::future RemoveFlowOutputOutcomeCallable;
typedef std::future RemoveFlowSourceOutcomeCallable;
typedef std::future RemoveFlowVpcInterfaceOutcomeCallable;
typedef std::future RevokeFlowEntitlementOutcomeCallable;
typedef std::future StartFlowOutcomeCallable;
typedef std::future StopFlowOutcomeCallable;
typedef std::future TagResourceOutcomeCallable;
typedef std::future UntagResourceOutcomeCallable;
typedef std::future UpdateFlowOutcomeCallable;
typedef std::future UpdateFlowEntitlementOutcomeCallable;
typedef std::future UpdateFlowOutputOutcomeCallable;
typedef std::future UpdateFlowSourceOutcomeCallable;
} // namespace Model
class MediaConnectClient;
typedef std::function&) > AddFlowOutputsResponseReceivedHandler;
typedef std::function&) > AddFlowSourcesResponseReceivedHandler;
typedef std::function&) > AddFlowVpcInterfacesResponseReceivedHandler;
typedef std::function&) > CreateFlowResponseReceivedHandler;
typedef std::function&) > DeleteFlowResponseReceivedHandler;
typedef std::function&) > DescribeFlowResponseReceivedHandler;
typedef std::function&) > GrantFlowEntitlementsResponseReceivedHandler;
typedef std::function&) > ListEntitlementsResponseReceivedHandler;
typedef std::function&) > ListFlowsResponseReceivedHandler;
typedef std::function&) > ListTagsForResourceResponseReceivedHandler;
typedef std::function&) > RemoveFlowOutputResponseReceivedHandler;
typedef std::function&) > RemoveFlowSourceResponseReceivedHandler;
typedef std::function&) > RemoveFlowVpcInterfaceResponseReceivedHandler;
typedef std::function&) > RevokeFlowEntitlementResponseReceivedHandler;
typedef std::function&) > StartFlowResponseReceivedHandler;
typedef std::function&) > StopFlowResponseReceivedHandler;
typedef std::function&) > TagResourceResponseReceivedHandler;
typedef std::function&) > UntagResourceResponseReceivedHandler;
typedef std::function&) > UpdateFlowResponseReceivedHandler;
typedef std::function&) > UpdateFlowEntitlementResponseReceivedHandler;
typedef std::function&) > UpdateFlowOutputResponseReceivedHandler;
typedef std::function&) > UpdateFlowSourceResponseReceivedHandler;
/**
* API for AWS Elemental MediaConnect
*/
class AWS_MEDIACONNECT_API MediaConnectClient : 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.
*/
MediaConnectClient(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.
*/
MediaConnectClient(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
*/
MediaConnectClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~MediaConnectClient();
/**
* Adds outputs to an existing flow. You can create up to 50 outputs per
* flow.See Also:
AWS
* API Reference
*/
virtual Model::AddFlowOutputsOutcome AddFlowOutputs(const Model::AddFlowOutputsRequest& request) const;
/**
* Adds outputs to an existing flow. You can create up to 50 outputs per
* flow.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AddFlowOutputsOutcomeCallable AddFlowOutputsCallable(const Model::AddFlowOutputsRequest& request) const;
/**
* Adds outputs to an existing flow. You can create up to 50 outputs per
* flow.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AddFlowOutputsAsync(const Model::AddFlowOutputsRequest& request, const AddFlowOutputsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Adds Sources to flowSee Also:
AWS
* API Reference
*/
virtual Model::AddFlowSourcesOutcome AddFlowSources(const Model::AddFlowSourcesRequest& request) const;
/**
* Adds Sources to flowSee Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AddFlowSourcesOutcomeCallable AddFlowSourcesCallable(const Model::AddFlowSourcesRequest& request) const;
/**
* Adds Sources to flowSee Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AddFlowSourcesAsync(const Model::AddFlowSourcesRequest& request, const AddFlowSourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Adds VPC interfaces to flowSee Also:
AWS
* API Reference
*/
virtual Model::AddFlowVpcInterfacesOutcome AddFlowVpcInterfaces(const Model::AddFlowVpcInterfacesRequest& request) const;
/**
* Adds VPC interfaces to flowSee Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AddFlowVpcInterfacesOutcomeCallable AddFlowVpcInterfacesCallable(const Model::AddFlowVpcInterfacesRequest& request) const;
/**
* Adds VPC interfaces to flowSee Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AddFlowVpcInterfacesAsync(const Model::AddFlowVpcInterfacesRequest& request, const AddFlowVpcInterfacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Creates a new flow. The request must include one source. The request optionally
* can include outputs (up to 50) and entitlements (up to 50).See Also:
* AWS
* API Reference
*/
virtual Model::CreateFlowOutcome CreateFlow(const Model::CreateFlowRequest& request) const;
/**
* Creates a new flow. The request must include one source. The request optionally
* can include outputs (up to 50) and entitlements (up to 50).See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateFlowOutcomeCallable CreateFlowCallable(const Model::CreateFlowRequest& request) const;
/**
* Creates a new flow. The request must include one source. The request optionally
* can include outputs (up to 50) and entitlements (up to 50).See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateFlowAsync(const Model::CreateFlowRequest& request, const CreateFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes a flow. Before you can delete a flow, you must stop the flow.See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteFlowOutcome DeleteFlow(const Model::DeleteFlowRequest& request) const;
/**
* Deletes a flow. Before you can delete a flow, you must stop the flow.See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteFlowOutcomeCallable DeleteFlowCallable(const Model::DeleteFlowRequest& request) const;
/**
* Deletes a flow. Before you can delete a flow, you must stop the flow.See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteFlowAsync(const Model::DeleteFlowRequest& request, const DeleteFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Displays the details of a flow. The response includes the flow ARN, name, and
* Availability Zone, as well as details about the source, outputs, and
* entitlements.See Also:
AWS
* API Reference
*/
virtual Model::DescribeFlowOutcome DescribeFlow(const Model::DescribeFlowRequest& request) const;
/**
* Displays the details of a flow. The response includes the flow ARN, name, and
* Availability Zone, as well as details about the source, outputs, and
* entitlements.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFlowOutcomeCallable DescribeFlowCallable(const Model::DescribeFlowRequest& request) const;
/**
* Displays the details of a flow. The response includes the flow ARN, name, and
* Availability Zone, as well as details about the source, outputs, and
* entitlements.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFlowAsync(const Model::DescribeFlowRequest& request, const DescribeFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Grants entitlements to an existing flow.See Also:
AWS
* API Reference
*/
virtual Model::GrantFlowEntitlementsOutcome GrantFlowEntitlements(const Model::GrantFlowEntitlementsRequest& request) const;
/**
* Grants entitlements to an existing flow.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GrantFlowEntitlementsOutcomeCallable GrantFlowEntitlementsCallable(const Model::GrantFlowEntitlementsRequest& request) const;
/**
* Grants entitlements to an existing flow.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GrantFlowEntitlementsAsync(const Model::GrantFlowEntitlementsRequest& request, const GrantFlowEntitlementsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Displays a list of all entitlements that have been granted to this account. This
* request returns 20 results per page.See Also:
AWS
* API Reference
*/
virtual Model::ListEntitlementsOutcome ListEntitlements(const Model::ListEntitlementsRequest& request) const;
/**
* Displays a list of all entitlements that have been granted to this account. This
* request returns 20 results per page.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListEntitlementsOutcomeCallable ListEntitlementsCallable(const Model::ListEntitlementsRequest& request) const;
/**
* Displays a list of all entitlements that have been granted to this account. This
* request returns 20 results per page.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListEntitlementsAsync(const Model::ListEntitlementsRequest& request, const ListEntitlementsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Displays a list of flows that are associated with this account. This request
* returns a paginated result.See Also:
AWS
* API Reference
*/
virtual Model::ListFlowsOutcome ListFlows(const Model::ListFlowsRequest& request) const;
/**
* Displays a list of flows that are associated with this account. This request
* returns a paginated result.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListFlowsOutcomeCallable ListFlowsCallable(const Model::ListFlowsRequest& request) const;
/**
* Displays a list of flows that are associated with this account. This request
* returns a paginated result.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListFlowsAsync(const Model::ListFlowsRequest& request, const ListFlowsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* List all tags on an AWS Elemental MediaConnect resourceSee Also:
* AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* List all tags on an AWS Elemental MediaConnect resourceSee 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;
/**
* List all tags on an AWS Elemental MediaConnect resourceSee 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;
/**
* Removes an output from an existing flow. This request can be made only on an
* output that does not have an entitlement associated with it. If the output has
* an entitlement, you must revoke the entitlement instead. When an entitlement is
* revoked from a flow, the service automatically removes the associated
* output.See Also:
AWS
* API Reference
*/
virtual Model::RemoveFlowOutputOutcome RemoveFlowOutput(const Model::RemoveFlowOutputRequest& request) const;
/**
* Removes an output from an existing flow. This request can be made only on an
* output that does not have an entitlement associated with it. If the output has
* an entitlement, you must revoke the entitlement instead. When an entitlement is
* revoked from a flow, the service automatically removes the associated
* output.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RemoveFlowOutputOutcomeCallable RemoveFlowOutputCallable(const Model::RemoveFlowOutputRequest& request) const;
/**
* Removes an output from an existing flow. This request can be made only on an
* output that does not have an entitlement associated with it. If the output has
* an entitlement, you must revoke the entitlement instead. When an entitlement is
* revoked from a flow, the service automatically removes the associated
* output.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RemoveFlowOutputAsync(const Model::RemoveFlowOutputRequest& request, const RemoveFlowOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Removes a source from an existing flow. This request can be made only if there
* is more than one source on the flow.See Also:
AWS
* API Reference
*/
virtual Model::RemoveFlowSourceOutcome RemoveFlowSource(const Model::RemoveFlowSourceRequest& request) const;
/**
* Removes a source from an existing flow. This request can be made only if there
* is more than one source on the flow.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RemoveFlowSourceOutcomeCallable RemoveFlowSourceCallable(const Model::RemoveFlowSourceRequest& request) const;
/**
* Removes a source from an existing flow. This request can be made only if there
* is more than one source on the flow.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RemoveFlowSourceAsync(const Model::RemoveFlowSourceRequest& request, const RemoveFlowSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Removes a VPC Interface from an existing flow. This request can be made only on
* a VPC interface that does not have a Source or Output associated with it. If the
* VPC interface is referenced by a Source or Output, you must first delete or
* update the Source or Output to no longer reference the VPC interface.See
* Also:
AWS
* API Reference
*/
virtual Model::RemoveFlowVpcInterfaceOutcome RemoveFlowVpcInterface(const Model::RemoveFlowVpcInterfaceRequest& request) const;
/**
* Removes a VPC Interface from an existing flow. This request can be made only on
* a VPC interface that does not have a Source or Output associated with it. If the
* VPC interface is referenced by a Source or Output, you must first delete or
* update the Source or Output to no longer reference the VPC interface.See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RemoveFlowVpcInterfaceOutcomeCallable RemoveFlowVpcInterfaceCallable(const Model::RemoveFlowVpcInterfaceRequest& request) const;
/**
* Removes a VPC Interface from an existing flow. This request can be made only on
* a VPC interface that does not have a Source or Output associated with it. If the
* VPC interface is referenced by a Source or Output, you must first delete or
* update the Source or Output to no longer reference the VPC interface.See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RemoveFlowVpcInterfaceAsync(const Model::RemoveFlowVpcInterfaceRequest& request, const RemoveFlowVpcInterfaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Revokes an entitlement from a flow. Once an entitlement is revoked, the content
* becomes unavailable to the subscriber and the associated output is
* removed.See Also:
AWS
* API Reference
*/
virtual Model::RevokeFlowEntitlementOutcome RevokeFlowEntitlement(const Model::RevokeFlowEntitlementRequest& request) const;
/**
* Revokes an entitlement from a flow. Once an entitlement is revoked, the content
* becomes unavailable to the subscriber and the associated output is
* removed.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RevokeFlowEntitlementOutcomeCallable RevokeFlowEntitlementCallable(const Model::RevokeFlowEntitlementRequest& request) const;
/**
* Revokes an entitlement from a flow. Once an entitlement is revoked, the content
* becomes unavailable to the subscriber and the associated output is
* removed.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RevokeFlowEntitlementAsync(const Model::RevokeFlowEntitlementRequest& request, const RevokeFlowEntitlementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Starts a flow.See Also:
AWS
* API Reference
*/
virtual Model::StartFlowOutcome StartFlow(const Model::StartFlowRequest& request) const;
/**
* Starts a flow.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartFlowOutcomeCallable StartFlowCallable(const Model::StartFlowRequest& request) const;
/**
* Starts a flow.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartFlowAsync(const Model::StartFlowRequest& request, const StartFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Stops a flow.See Also:
AWS
* API Reference
*/
virtual Model::StopFlowOutcome StopFlow(const Model::StopFlowRequest& request) const;
/**
* Stops a flow.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StopFlowOutcomeCallable StopFlowCallable(const Model::StopFlowRequest& request) const;
/**
* Stops a flow.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StopFlowAsync(const Model::StopFlowRequest& request, const StopFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Associates the specified tags to a resource with the specified resourceArn. If
* existing tags on a resource are not specified in the request parameters, they
* are not changed. When a resource is deleted, the tags associated with that
* resource are deleted as well.See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* Associates the specified tags to a resource with the specified resourceArn. If
* existing tags on a resource are not specified in the request parameters, they
* are not changed. When a resource is deleted, the tags associated with that
* resource are deleted as well.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;
/**
* Associates the specified tags to a resource with the specified resourceArn. If
* existing tags on a resource are not specified in the request parameters, they
* are not changed. When a resource is deleted, the tags associated with that
* resource are deleted as well.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;
/**
* Deletes specified tags from a resource.See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* Deletes specified tags from a 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::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
/**
* Deletes specified tags from a resource.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 flowSee Also:
AWS
* API Reference
*/
virtual Model::UpdateFlowOutcome UpdateFlow(const Model::UpdateFlowRequest& request) const;
/**
* Updates flowSee Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateFlowOutcomeCallable UpdateFlowCallable(const Model::UpdateFlowRequest& request) const;
/**
* Updates flowSee Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateFlowAsync(const Model::UpdateFlowRequest& request, const UpdateFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* You can change an entitlement's description, subscribers, and encryption. If you
* change the subscribers, the service will remove the outputs that are are used by
* the subscribers that are removed.See Also:
AWS
* API Reference
*/
virtual Model::UpdateFlowEntitlementOutcome UpdateFlowEntitlement(const Model::UpdateFlowEntitlementRequest& request) const;
/**
* You can change an entitlement's description, subscribers, and encryption. If you
* change the subscribers, the service will remove the outputs that are are used by
* the subscribers that are removed.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateFlowEntitlementOutcomeCallable UpdateFlowEntitlementCallable(const Model::UpdateFlowEntitlementRequest& request) const;
/**
* You can change an entitlement's description, subscribers, and encryption. If you
* change the subscribers, the service will remove the outputs that are are used by
* the subscribers that are removed.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateFlowEntitlementAsync(const Model::UpdateFlowEntitlementRequest& request, const UpdateFlowEntitlementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates an existing flow output.See Also:
AWS
* API Reference
*/
virtual Model::UpdateFlowOutputOutcome UpdateFlowOutput(const Model::UpdateFlowOutputRequest& request) const;
/**
* Updates an existing flow output.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateFlowOutputOutcomeCallable UpdateFlowOutputCallable(const Model::UpdateFlowOutputRequest& request) const;
/**
* Updates an existing flow output.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateFlowOutputAsync(const Model::UpdateFlowOutputRequest& request, const UpdateFlowOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates the source of a flow.See Also:
AWS
* API Reference
*/
virtual Model::UpdateFlowSourceOutcome UpdateFlowSource(const Model::UpdateFlowSourceRequest& request) const;
/**
* Updates the source of a flow.See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateFlowSourceOutcomeCallable UpdateFlowSourceCallable(const Model::UpdateFlowSourceRequest& request) const;
/**
* Updates the source of a flow.See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateFlowSourceAsync(const Model::UpdateFlowSourceRequest& request, const UpdateFlowSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void AddFlowOutputsAsyncHelper(const Model::AddFlowOutputsRequest& request, const AddFlowOutputsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void AddFlowSourcesAsyncHelper(const Model::AddFlowSourcesRequest& request, const AddFlowSourcesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void AddFlowVpcInterfacesAsyncHelper(const Model::AddFlowVpcInterfacesRequest& request, const AddFlowVpcInterfacesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateFlowAsyncHelper(const Model::CreateFlowRequest& request, const CreateFlowResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteFlowAsyncHelper(const Model::DeleteFlowRequest& request, const DeleteFlowResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DescribeFlowAsyncHelper(const Model::DescribeFlowRequest& request, const DescribeFlowResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GrantFlowEntitlementsAsyncHelper(const Model::GrantFlowEntitlementsRequest& request, const GrantFlowEntitlementsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListEntitlementsAsyncHelper(const Model::ListEntitlementsRequest& request, const ListEntitlementsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListFlowsAsyncHelper(const Model::ListFlowsRequest& request, const ListFlowsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void RemoveFlowOutputAsyncHelper(const Model::RemoveFlowOutputRequest& request, const RemoveFlowOutputResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void RemoveFlowSourceAsyncHelper(const Model::RemoveFlowSourceRequest& request, const RemoveFlowSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void RemoveFlowVpcInterfaceAsyncHelper(const Model::RemoveFlowVpcInterfaceRequest& request, const RemoveFlowVpcInterfaceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void RevokeFlowEntitlementAsyncHelper(const Model::RevokeFlowEntitlementRequest& request, const RevokeFlowEntitlementResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void StartFlowAsyncHelper(const Model::StartFlowRequest& request, const StartFlowResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void StopFlowAsyncHelper(const Model::StopFlowRequest& request, const StopFlowResponseReceivedHandler& 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 UpdateFlowAsyncHelper(const Model::UpdateFlowRequest& request, const UpdateFlowResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateFlowEntitlementAsyncHelper(const Model::UpdateFlowEntitlementRequest& request, const UpdateFlowEntitlementResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateFlowOutputAsyncHelper(const Model::UpdateFlowOutputRequest& request, const UpdateFlowOutputResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateFlowSourceAsyncHelper(const Model::UpdateFlowSourceRequest& request, const UpdateFlowSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr m_executor;
};
} // namespace MediaConnect
} // namespace Aws