/** * 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 mediapackagev2 { /** *

This guide is intended for creating AWS Elemental MediaPackage * resources in MediaPackage Version 2 (v2) starting from May 2023. To get started * with MediaPackage v2, create your MediaPackage resources. There isn't an * automated process to migrate your resources from MediaPackage v1 to MediaPackage * v2.

The names of the entities that you use to access this API, like URLs * and ARNs, all have the versioning information added, like "v2", to distinguish * from the prior version. If you used MediaPackage prior to this release, you * can't use the MediaPackage v2 CLI or the MediaPackage v2 API to access any * MediaPackage v1 resources.

If you created resources in MediaPackage v1, * use video on demand (VOD) workflows, and aren't looking to migrate to * MediaPackage v2 yet, see the MediaPackage * v1 Live API Reference.

This is the AWS Elemental MediaPackage * v2 Live REST API Reference. It describes all the MediaPackage API operations for * live content in detail, and provides sample requests, responses, and errors for * the supported web services protocols.

We assume that you have the IAM * permissions that you need to use MediaPackage via the REST API. We also assume * that you are familiar with the features and operations of MediaPackage, as * described in the AWS Elemental MediaPackage User Guide.

*/ class AWS_MEDIAPACKAGEV2_API Mediapackagev2Client : 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 Mediapackagev2ClientConfiguration ClientConfigurationType; typedef Mediapackagev2EndpointProvider 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. */ Mediapackagev2Client(const Aws::mediapackagev2::Mediapackagev2ClientConfiguration& clientConfiguration = Aws::mediapackagev2::Mediapackagev2ClientConfiguration(), 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. */ Mediapackagev2Client(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::mediapackagev2::Mediapackagev2ClientConfiguration& clientConfiguration = Aws::mediapackagev2::Mediapackagev2ClientConfiguration()); /** * 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 */ Mediapackagev2Client(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::mediapackagev2::Mediapackagev2ClientConfiguration& clientConfiguration = Aws::mediapackagev2::Mediapackagev2ClientConfiguration()); /* 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. */ Mediapackagev2Client(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. */ Mediapackagev2Client(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 */ Mediapackagev2Client(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~Mediapackagev2Client(); /** *

Create a channel to start receiving content streams. The channel represents * the input to MediaPackage for incoming live content from an encoder such as AWS * Elemental MediaLive. The channel receives content, and after packaging it, * outputs it through an origin endpoint to downstream devices (such as video * players or CDNs) that request the content. You can create only one channel with * each request. We recommend that you spread out channels between channel groups, * such as putting redundant channels in the same AWS Region in different channel * groups.

See Also:

AWS * API Reference

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

Create a channel group to group your channels and origin endpoints. A channel * group is the top-level resource that consists of channels and origin endpoints * that are associated with it and that provides predictable URLs for stream * delivery. All channels and origin endpoints within the channel group are * guaranteed to share the DNS. You can create only one channel group with each * request.

See Also:

AWS * API Reference

*/ virtual Model::CreateChannelGroupOutcome CreateChannelGroup(const Model::CreateChannelGroupRequest& request) const; /** * A Callable wrapper for CreateChannelGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateChannelGroupOutcomeCallable CreateChannelGroupCallable(const CreateChannelGroupRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::CreateChannelGroup, request); } /** * An Async wrapper for CreateChannelGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateChannelGroupAsync(const CreateChannelGroupRequestT& request, const CreateChannelGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::CreateChannelGroup, request, handler, context); } /** *

The endpoint is attached to a channel, and represents the output of the live * content. You can associate multiple endpoints to a single channel. Each endpoint * gives players and downstream CDNs (such as Amazon CloudFront) access to the * content for playback. Content can't be served from a channel until it has an * endpoint. You can create only one endpoint with each request.

See * Also:

AWS * API Reference

*/ virtual Model::CreateOriginEndpointOutcome CreateOriginEndpoint(const Model::CreateOriginEndpointRequest& request) const; /** * A Callable wrapper for CreateOriginEndpoint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateOriginEndpointOutcomeCallable CreateOriginEndpointCallable(const CreateOriginEndpointRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::CreateOriginEndpoint, request); } /** * An Async wrapper for CreateOriginEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateOriginEndpointAsync(const CreateOriginEndpointRequestT& request, const CreateOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::CreateOriginEndpoint, request, handler, context); } /** *

Delete a channel to stop AWS Elemental MediaPackage from receiving further * content. You must delete the channel's origin endpoints before you can delete * the channel.

See Also:

AWS * API Reference

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

Delete a channel group. You must delete the channel group's channels and * origin endpoints before you can delete the channel group. If you delete a * channel group, you'll lose access to the egress domain and will have to create a * new channel group to replace it.

See Also:

AWS * API Reference

*/ virtual Model::DeleteChannelGroupOutcome DeleteChannelGroup(const Model::DeleteChannelGroupRequest& request) const; /** * A Callable wrapper for DeleteChannelGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteChannelGroupOutcomeCallable DeleteChannelGroupCallable(const DeleteChannelGroupRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::DeleteChannelGroup, request); } /** * An Async wrapper for DeleteChannelGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteChannelGroupAsync(const DeleteChannelGroupRequestT& request, const DeleteChannelGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::DeleteChannelGroup, request, handler, context); } /** *

Delete a channel policy.

See Also:

AWS * API Reference

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

Origin endpoints can serve content until they're deleted. Delete the endpoint * if it should no longer respond to playback requests. You must delete all * endpoints from a channel before you can delete the channel.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteOriginEndpointOutcome DeleteOriginEndpoint(const Model::DeleteOriginEndpointRequest& request) const; /** * A Callable wrapper for DeleteOriginEndpoint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteOriginEndpointOutcomeCallable DeleteOriginEndpointCallable(const DeleteOriginEndpointRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::DeleteOriginEndpoint, request); } /** * An Async wrapper for DeleteOriginEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteOriginEndpointAsync(const DeleteOriginEndpointRequestT& request, const DeleteOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::DeleteOriginEndpoint, request, handler, context); } /** *

Delete an origin endpoint policy.

See Also:

AWS * API Reference

*/ virtual Model::DeleteOriginEndpointPolicyOutcome DeleteOriginEndpointPolicy(const Model::DeleteOriginEndpointPolicyRequest& request) const; /** * A Callable wrapper for DeleteOriginEndpointPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteOriginEndpointPolicyOutcomeCallable DeleteOriginEndpointPolicyCallable(const DeleteOriginEndpointPolicyRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::DeleteOriginEndpointPolicy, request); } /** * An Async wrapper for DeleteOriginEndpointPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteOriginEndpointPolicyAsync(const DeleteOriginEndpointPolicyRequestT& request, const DeleteOriginEndpointPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::DeleteOriginEndpointPolicy, request, handler, context); } /** *

Retrieves the specified channel that's configured in AWS Elemental * MediaPackage, including the origin endpoints that are associated with * it.

See Also:

AWS * API Reference

*/ virtual Model::GetChannelOutcome GetChannel(const Model::GetChannelRequest& request) const; /** * A Callable wrapper for GetChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetChannelOutcomeCallable GetChannelCallable(const GetChannelRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::GetChannel, request); } /** * An Async wrapper for GetChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetChannelAsync(const GetChannelRequestT& request, const GetChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::GetChannel, request, handler, context); } /** *

Retrieves the specified channel group that's configured in AWS Elemental * MediaPackage, including the channels and origin endpoints that are associated * with it.

See Also:

AWS * API Reference

*/ virtual Model::GetChannelGroupOutcome GetChannelGroup(const Model::GetChannelGroupRequest& request) const; /** * A Callable wrapper for GetChannelGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetChannelGroupOutcomeCallable GetChannelGroupCallable(const GetChannelGroupRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::GetChannelGroup, request); } /** * An Async wrapper for GetChannelGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetChannelGroupAsync(const GetChannelGroupRequestT& request, const GetChannelGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::GetChannelGroup, request, handler, context); } /** *

Retrieves the specified channel policy that's configured in AWS Elemental * MediaPackage. With policies, you can specify who has access to AWS resources and * what actions they can perform on those resources.

See Also:

AWS * API Reference

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

Retrieves the specified origin endpoint that's configured in AWS Elemental * MediaPackage to obtain its playback URL and to view the packaging settings that * it's currently using.

See Also:

AWS * API Reference

*/ virtual Model::GetOriginEndpointOutcome GetOriginEndpoint(const Model::GetOriginEndpointRequest& request) const; /** * A Callable wrapper for GetOriginEndpoint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetOriginEndpointOutcomeCallable GetOriginEndpointCallable(const GetOriginEndpointRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::GetOriginEndpoint, request); } /** * An Async wrapper for GetOriginEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetOriginEndpointAsync(const GetOriginEndpointRequestT& request, const GetOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::GetOriginEndpoint, request, handler, context); } /** *

Retrieves the specified origin endpoint policy that's configured in AWS * Elemental MediaPackage.

See Also:

AWS * API Reference

*/ virtual Model::GetOriginEndpointPolicyOutcome GetOriginEndpointPolicy(const Model::GetOriginEndpointPolicyRequest& request) const; /** * A Callable wrapper for GetOriginEndpointPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetOriginEndpointPolicyOutcomeCallable GetOriginEndpointPolicyCallable(const GetOriginEndpointPolicyRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::GetOriginEndpointPolicy, request); } /** * An Async wrapper for GetOriginEndpointPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetOriginEndpointPolicyAsync(const GetOriginEndpointPolicyRequestT& request, const GetOriginEndpointPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::GetOriginEndpointPolicy, request, handler, context); } /** *

Retrieves all channel groups that are configured in AWS Elemental * MediaPackage, including the channels and origin endpoints that are associated * with it.

See Also:

AWS * API Reference

*/ virtual Model::ListChannelGroupsOutcome ListChannelGroups(const Model::ListChannelGroupsRequest& request) const; /** * A Callable wrapper for ListChannelGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListChannelGroupsOutcomeCallable ListChannelGroupsCallable(const ListChannelGroupsRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::ListChannelGroups, request); } /** * An Async wrapper for ListChannelGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListChannelGroupsAsync(const ListChannelGroupsRequestT& request, const ListChannelGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::ListChannelGroups, request, handler, context); } /** *

Retrieves all channels in a specific channel group that are configured in AWS * Elemental MediaPackage, including the origin endpoints that are associated with * it.

See Also:

AWS * API Reference

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

Retrieves all origin endpoints in a specific channel that are configured in * AWS Elemental MediaPackage.

See Also:

AWS * API Reference

*/ virtual Model::ListOriginEndpointsOutcome ListOriginEndpoints(const Model::ListOriginEndpointsRequest& request) const; /** * A Callable wrapper for ListOriginEndpoints that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListOriginEndpointsOutcomeCallable ListOriginEndpointsCallable(const ListOriginEndpointsRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::ListOriginEndpoints, request); } /** * An Async wrapper for ListOriginEndpoints that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListOriginEndpointsAsync(const ListOriginEndpointsRequestT& request, const ListOriginEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::ListOriginEndpoints, request, handler, context); } /** *

Lists the tags assigned to a 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(&Mediapackagev2Client::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(&Mediapackagev2Client::ListTagsForResource, request, handler, context); } /** *

Attaches an IAM policy to the specified channel. With policies, you can * specify who has access to AWS resources and what actions they can perform on * those resources. You can attach only one policy with each request.

See * Also:

AWS * API Reference

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

Attaches an IAM policy to the specified origin endpoint. You can attach only * one policy with each request.

See Also:

AWS * API Reference

*/ virtual Model::PutOriginEndpointPolicyOutcome PutOriginEndpointPolicy(const Model::PutOriginEndpointPolicyRequest& request) const; /** * A Callable wrapper for PutOriginEndpointPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutOriginEndpointPolicyOutcomeCallable PutOriginEndpointPolicyCallable(const PutOriginEndpointPolicyRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::PutOriginEndpointPolicy, request); } /** * An Async wrapper for PutOriginEndpointPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutOriginEndpointPolicyAsync(const PutOriginEndpointPolicyRequestT& request, const PutOriginEndpointPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::PutOriginEndpointPolicy, request, handler, context); } /** *

Assigns one of more tags (key-value pairs) to the specified MediaPackage * resource.

Tags can help you organize and categorize your resources. You * can also use them to scope user permissions, by granting a user permission to * access or change only resources with certain tag values. You can use the * TagResource operation with a resource that already has tags. If you specify a * new tag key for the resource, this tag is appended to the list of tags * associated with the resource. If you specify a tag key that is already * associated with the resource, the new tag value that you specify replaces the * previous value for that tag.

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(&Mediapackagev2Client::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(&Mediapackagev2Client::TagResource, request, handler, context); } /** *

Removes one or more tags from the specified resource.

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(&Mediapackagev2Client::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(&Mediapackagev2Client::UntagResource, request, handler, context); } /** *

Update the specified channel. You can edit if MediaPackage sends ingest or * egress access logs to the CloudWatch log group, if content will be encrypted, * the description on a channel, and your channel's policy settings. You can't edit * the name of the channel or CloudFront distribution details.

Any edits you * make that impact the video output may not be reflected for a few * minutes.

See Also:

AWS * API Reference

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

Update the specified channel group. You can edit the description on a channel * group for easier identification later from the AWS Elemental MediaPackage * console. You can't edit the name of the channel group.

Any edits you make * that impact the video output may not be reflected for a few * minutes.

See Also:

AWS * API Reference

*/ virtual Model::UpdateChannelGroupOutcome UpdateChannelGroup(const Model::UpdateChannelGroupRequest& request) const; /** * A Callable wrapper for UpdateChannelGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateChannelGroupOutcomeCallable UpdateChannelGroupCallable(const UpdateChannelGroupRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::UpdateChannelGroup, request); } /** * An Async wrapper for UpdateChannelGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateChannelGroupAsync(const UpdateChannelGroupRequestT& request, const UpdateChannelGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::UpdateChannelGroup, request, handler, context); } /** *

Update the specified origin endpoint. Edit the packaging preferences on an * endpoint to optimize the viewing experience. You can't edit the name of the * endpoint.

Any edits you make that impact the video output may not be * reflected for a few minutes.

See Also:

AWS * API Reference

*/ virtual Model::UpdateOriginEndpointOutcome UpdateOriginEndpoint(const Model::UpdateOriginEndpointRequest& request) const; /** * A Callable wrapper for UpdateOriginEndpoint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateOriginEndpointOutcomeCallable UpdateOriginEndpointCallable(const UpdateOriginEndpointRequestT& request) const { return SubmitCallable(&Mediapackagev2Client::UpdateOriginEndpoint, request); } /** * An Async wrapper for UpdateOriginEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateOriginEndpointAsync(const UpdateOriginEndpointRequestT& request, const UpdateOriginEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&Mediapackagev2Client::UpdateOriginEndpoint, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const Mediapackagev2ClientConfiguration& clientConfiguration); Mediapackagev2ClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace mediapackagev2 } // namespace Aws