/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the mediapackagev2-2022-12-25.normal.json service model. */ using System; using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.MediaPackageV2.Model; using Amazon.MediaPackageV2.Model.Internal.MarshallTransformations; using Amazon.MediaPackageV2.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.MediaPackageV2 { /// /// Implementation for accessing 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. /// /// public partial class AmazonMediaPackageV2Client : AmazonServiceClient, IAmazonMediaPackageV2 { private static IServiceMetadata serviceMetadata = new AmazonMediaPackageV2Metadata(); #region Constructors /// /// Constructs AmazonMediaPackageV2Client with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonMediaPackageV2Client() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonMediaPackageV2Config()) { } /// /// Constructs AmazonMediaPackageV2Client with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonMediaPackageV2Client(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonMediaPackageV2Config{RegionEndpoint = region}) { } /// /// Constructs AmazonMediaPackageV2Client with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonMediaPackageV2Client Configuration Object public AmazonMediaPackageV2Client(AmazonMediaPackageV2Config config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonMediaPackageV2Client with AWS Credentials /// /// AWS Credentials public AmazonMediaPackageV2Client(AWSCredentials credentials) : this(credentials, new AmazonMediaPackageV2Config()) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonMediaPackageV2Client(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonMediaPackageV2Config{RegionEndpoint = region}) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Credentials and an /// AmazonMediaPackageV2Client Configuration object. /// /// AWS Credentials /// The AmazonMediaPackageV2Client Configuration Object public AmazonMediaPackageV2Client(AWSCredentials credentials, AmazonMediaPackageV2Config clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonMediaPackageV2Client(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonMediaPackageV2Config()) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonMediaPackageV2Client(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonMediaPackageV2Config() {RegionEndpoint=region}) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Access Key ID, AWS Secret Key and an /// AmazonMediaPackageV2Client Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonMediaPackageV2Client Configuration Object public AmazonMediaPackageV2Client(string awsAccessKeyId, string awsSecretAccessKey, AmazonMediaPackageV2Config clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonMediaPackageV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonMediaPackageV2Config()) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonMediaPackageV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonMediaPackageV2Config{RegionEndpoint = region}) { } /// /// Constructs AmazonMediaPackageV2Client with AWS Access Key ID, AWS Secret Key and an /// AmazonMediaPackageV2Client Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonMediaPackageV2Client Configuration Object public AmazonMediaPackageV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonMediaPackageV2Config clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private IMediaPackageV2PaginatorFactory _paginators; /// /// Paginators for the service /// public IMediaPackageV2PaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new MediaPackageV2PaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonMediaPackageV2EndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region CreateChannel internal virtual CreateChannelResponse CreateChannel(CreateChannelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateChannelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the CreateChannel service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateChannel service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request would cause a service quota to be exceeded. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for CreateChannel Operation public virtual Task CreateChannelAsync(CreateChannelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateChannelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateChannelGroup internal virtual CreateChannelGroupResponse CreateChannelGroup(CreateChannelGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateChannelGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the CreateChannelGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateChannelGroup service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request would cause a service quota to be exceeded. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for CreateChannelGroup Operation public virtual Task CreateChannelGroupAsync(CreateChannelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateChannelGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateOriginEndpoint internal virtual CreateOriginEndpointResponse CreateOriginEndpoint(CreateOriginEndpointRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateOriginEndpointResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the CreateOriginEndpoint service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateOriginEndpoint service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request would cause a service quota to be exceeded. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for CreateOriginEndpoint Operation public virtual Task CreateOriginEndpointAsync(CreateOriginEndpointRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateOriginEndpointResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteChannel internal virtual DeleteChannelResponse DeleteChannel(DeleteChannelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteChannelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the DeleteChannel service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteChannel service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for DeleteChannel Operation public virtual Task DeleteChannelAsync(DeleteChannelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteChannelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteChannelGroup internal virtual DeleteChannelGroupResponse DeleteChannelGroup(DeleteChannelGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteChannelGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the DeleteChannelGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteChannelGroup service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for DeleteChannelGroup Operation public virtual Task DeleteChannelGroupAsync(DeleteChannelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteChannelGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteChannelPolicy internal virtual DeleteChannelPolicyResponse DeleteChannelPolicy(DeleteChannelPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteChannelPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteChannelPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Delete a channel policy. /// /// Container for the necessary parameters to execute the DeleteChannelPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteChannelPolicy service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for DeleteChannelPolicy Operation public virtual Task DeleteChannelPolicyAsync(DeleteChannelPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteChannelPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteChannelPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteOriginEndpoint internal virtual DeleteOriginEndpointResponse DeleteOriginEndpoint(DeleteOriginEndpointRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteOriginEndpointResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the DeleteOriginEndpoint service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteOriginEndpoint service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for DeleteOriginEndpoint Operation public virtual Task DeleteOriginEndpointAsync(DeleteOriginEndpointRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteOriginEndpointResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteOriginEndpointPolicy internal virtual DeleteOriginEndpointPolicyResponse DeleteOriginEndpointPolicy(DeleteOriginEndpointPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteOriginEndpointPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteOriginEndpointPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Delete an origin endpoint policy. /// /// Container for the necessary parameters to execute the DeleteOriginEndpointPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteOriginEndpointPolicy service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for DeleteOriginEndpointPolicy Operation public virtual Task DeleteOriginEndpointPolicyAsync(DeleteOriginEndpointPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteOriginEndpointPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteOriginEndpointPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetChannel internal virtual GetChannelResponse GetChannel(GetChannelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChannelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the specified channel that's configured in AWS Elemental MediaPackage, including /// the origin endpoints that are associated with it. /// /// Container for the necessary parameters to execute the GetChannel service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetChannel service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for GetChannel Operation public virtual Task GetChannelAsync(GetChannelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChannelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetChannelGroup internal virtual GetChannelGroupResponse GetChannelGroup(GetChannelGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChannelGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the specified channel group that's configured in AWS Elemental MediaPackage, /// including the channels and origin endpoints that are associated with it. /// /// Container for the necessary parameters to execute the GetChannelGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetChannelGroup service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for GetChannelGroup Operation public virtual Task GetChannelGroupAsync(GetChannelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChannelGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetChannelPolicy internal virtual GetChannelPolicyResponse GetChannelPolicy(GetChannelPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetChannelPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChannelPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the GetChannelPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetChannelPolicy service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for GetChannelPolicy Operation public virtual Task GetChannelPolicyAsync(GetChannelPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetChannelPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChannelPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetOriginEndpoint internal virtual GetOriginEndpointResponse GetOriginEndpoint(GetOriginEndpointRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = GetOriginEndpointResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the GetOriginEndpoint service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetOriginEndpoint service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for GetOriginEndpoint Operation public virtual Task GetOriginEndpointAsync(GetOriginEndpointRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = GetOriginEndpointResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetOriginEndpointPolicy internal virtual GetOriginEndpointPolicyResponse GetOriginEndpointPolicy(GetOriginEndpointPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetOriginEndpointPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetOriginEndpointPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the specified origin endpoint policy that's configured in AWS Elemental /// MediaPackage. /// /// Container for the necessary parameters to execute the GetOriginEndpointPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetOriginEndpointPolicy service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for GetOriginEndpointPolicy Operation public virtual Task GetOriginEndpointPolicyAsync(GetOriginEndpointPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetOriginEndpointPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetOriginEndpointPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListChannelGroups internal virtual ListChannelGroupsResponse ListChannelGroups(ListChannelGroupsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListChannelGroupsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListChannelGroupsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves all channel groups that are configured in AWS Elemental MediaPackage, including /// the channels and origin endpoints that are associated with it. /// /// Container for the necessary parameters to execute the ListChannelGroups service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListChannelGroups service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for ListChannelGroups Operation public virtual Task ListChannelGroupsAsync(ListChannelGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListChannelGroupsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListChannelGroupsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListChannels internal virtual ListChannelsResponse ListChannels(ListChannelsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListChannelsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListChannelsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves all channels in a specific channel group that are configured in AWS Elemental /// MediaPackage, including the origin endpoints that are associated with it. /// /// Container for the necessary parameters to execute the ListChannels service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListChannels service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for ListChannels Operation public virtual Task ListChannelsAsync(ListChannelsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListChannelsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListChannelsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListOriginEndpoints internal virtual ListOriginEndpointsResponse ListOriginEndpoints(ListOriginEndpointsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListOriginEndpointsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListOriginEndpointsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves all origin endpoints in a specific channel that are configured in AWS Elemental /// MediaPackage. /// /// Container for the necessary parameters to execute the ListOriginEndpoints service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListOriginEndpoints service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for ListOriginEndpoints Operation public virtual Task ListOriginEndpointsAsync(ListOriginEndpointsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListOriginEndpointsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListOriginEndpointsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Lists the tags assigned to a resource. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListTagsForResource service method, as returned by MediaPackageV2. /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for ListTagsForResource Operation public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutChannelPolicy internal virtual PutChannelPolicyResponse PutChannelPolicy(PutChannelPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutChannelPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutChannelPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the PutChannelPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutChannelPolicy service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for PutChannelPolicy Operation public virtual Task PutChannelPolicyAsync(PutChannelPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutChannelPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutChannelPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutOriginEndpointPolicy internal virtual PutOriginEndpointPolicyResponse PutOriginEndpointPolicy(PutOriginEndpointPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutOriginEndpointPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutOriginEndpointPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Attaches an IAM policy to the specified origin endpoint. You can attach only one policy /// with each request. /// /// Container for the necessary parameters to execute the PutOriginEndpointPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutOriginEndpointPolicy service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for PutOriginEndpointPolicy Operation public virtual Task PutOriginEndpointPolicyAsync(PutOriginEndpointPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutOriginEndpointPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutOriginEndpointPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the TagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the TagResource service method, as returned by MediaPackageV2. /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for TagResource Operation public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Removes one or more tags from the specified resource. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UntagResource service method, as returned by MediaPackageV2. /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for UntagResource Operation public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateChannel internal virtual UpdateChannelResponse UpdateChannel(UpdateChannelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateChannelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the UpdateChannel service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateChannel service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for UpdateChannel Operation public virtual Task UpdateChannelAsync(UpdateChannelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateChannelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateChannelGroup internal virtual UpdateChannelGroupResponse UpdateChannelGroup(UpdateChannelGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateChannelGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the UpdateChannelGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateChannelGroup service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for UpdateChannelGroup Operation public virtual Task UpdateChannelGroupAsync(UpdateChannelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateChannelGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateChannelGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateOriginEndpoint internal virtual UpdateOriginEndpointResponse UpdateOriginEndpoint(UpdateOriginEndpointRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateOriginEndpointResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the UpdateOriginEndpoint service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateOriginEndpoint service method, as returned by MediaPackageV2. /// /// You don't have permissions to perform the requested operation. The user or role that /// is making the request must have at least one IAM permissions policy attached that /// grants the required permissions. For more information, see Access Management in the /// IAM User Guide. /// /// /// Updating or deleting this resource can cause an inconsistent state. /// /// /// Indicates that an error from the service occurred while trying to process a request. /// /// /// The specified resource doesn't exist. /// /// /// The request would cause a service quota to be exceeded. /// /// /// The request throughput limit was exceeded. /// /// /// The input failed to meet the constraints specified by the AWS service. /// /// REST API Reference for UpdateOriginEndpoint Operation public virtual Task UpdateOriginEndpointAsync(UpdateOriginEndpointRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateOriginEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateOriginEndpointResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }