/* * 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 ivschat-2020-07-14.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.Ivschat.Model; using Amazon.Ivschat.Model.Internal.MarshallTransformations; using Amazon.Ivschat.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.Ivschat { /// /// Implementation for accessing Ivschat /// /// Introduction /// /// /// /// The Amazon IVS Chat control-plane API enables you to create and manage Amazon IVS /// Chat resources. You also need to integrate with the /// Amazon IVS Chat Messaging API, to enable users to interact with chat rooms in /// real time. /// /// /// /// The API is an AWS regional service. For a list of supported regions and Amazon IVS /// Chat HTTPS service endpoints, see the Amazon IVS Chat information on the Amazon /// IVS page in the AWS General Reference. /// /// /// /// Notes on terminology: /// /// /// /// Resources /// /// /// /// The following resources are part of Amazon IVS Chat: /// /// /// /// Tagging /// /// /// /// A tag is a metadata label that you assign to an AWS resource. A tag comprises /// a key and a value, both set by you. For example, you might set a tag /// as topic:nature to label a particular video category. See Tagging /// AWS Resources for more information, including restrictions that apply to tags /// and "Tag naming limits and requirements"; Amazon IVS Chat has no service-specific /// constraints beyond what is documented there. /// /// /// /// Tags can help you identify and organize your AWS resources. For example, you can use /// the same tag for different resources to indicate that they are related. You can also /// use tags to manage access (see Access /// Tags). /// /// /// /// The Amazon IVS Chat API has these tag-related endpoints: TagResource, UntagResource, /// and ListTagsForResource. The following resource supports tagging: Room. /// /// /// /// At most 50 tags can be applied to a resource. /// /// /// /// API Access Security /// /// /// /// Your Amazon IVS Chat applications (service applications and clients) must be authenticated /// and authorized to access Amazon IVS Chat resources. Note the differences between these /// concepts: /// /// /// /// Users (viewers) connect to a room using secure access tokens that you create using /// the CreateChatToken endpoint through the AWS SDK. You call CreateChatToken /// for every user’s chat session, passing identity and authorization information about /// the user. /// /// /// /// Signing API Requests /// /// /// /// HTTP API requests must be signed with an AWS SigV4 signature using your AWS security /// credentials. The AWS Command Line Interface (CLI) and the AWS SDKs take care of signing /// the underlying API calls for you. However, if your application calls the Amazon IVS /// Chat HTTP API directly, it’s your responsibility to sign the requests. /// /// /// /// You generate a signature using valid AWS credentials for an IAM role that has permission /// to perform the requested action. For example, DeleteMessage requests must be made /// using an IAM role that has the ivschat:DeleteMessage permission. /// /// /// /// For more information: /// /// /// /// Amazon Resource Names (ARNs) /// /// /// /// ARNs uniquely identify AWS resources. An ARN is required when you need to specify /// a resource unambiguously across all of AWS, such as in IAM policies and API calls. /// For more information, see Amazon /// Resource Names in the AWS General Reference. /// /// /// /// Messaging Endpoints /// /// /// /// Chat Token Endpoint /// /// /// /// Room Endpoints /// /// /// /// Logging Configuration Endpoints /// /// /// /// Tags Endpoints /// /// /// /// All the above are HTTP operations. There is a separate messaging API for managing /// Chat resources; see the /// Amazon IVS Chat Messaging API Reference. /// /// public partial class AmazonIvschatClient : AmazonServiceClient, IAmazonIvschat { private static IServiceMetadata serviceMetadata = new AmazonIvschatMetadata(); private IIvschatPaginatorFactory _paginators; /// /// Paginators for the service /// public IIvschatPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new IvschatPaginatorFactory(this); } return this._paginators; } } #region Constructors /// /// Constructs AmazonIvschatClient 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 AmazonIvschatClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonIvschatConfig()) { } /// /// Constructs AmazonIvschatClient 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 AmazonIvschatClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonIvschatConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonIvschatClient 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 AmazonIvschatClient Configuration Object public AmazonIvschatClient(AmazonIvschatConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonIvschatClient with AWS Credentials /// /// AWS Credentials public AmazonIvschatClient(AWSCredentials credentials) : this(credentials, new AmazonIvschatConfig()) { } /// /// Constructs AmazonIvschatClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonIvschatClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonIvschatConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonIvschatClient with AWS Credentials and an /// AmazonIvschatClient Configuration object. /// /// AWS Credentials /// The AmazonIvschatClient Configuration Object public AmazonIvschatClient(AWSCredentials credentials, AmazonIvschatConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonIvschatClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonIvschatClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonIvschatConfig()) { } /// /// Constructs AmazonIvschatClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonIvschatClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonIvschatConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonIvschatClient with AWS Access Key ID, AWS Secret Key and an /// AmazonIvschatClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonIvschatClient Configuration Object public AmazonIvschatClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonIvschatConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonIvschatClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonIvschatClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonIvschatConfig()) { } /// /// Constructs AmazonIvschatClient 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 AmazonIvschatClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonIvschatConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonIvschatClient with AWS Access Key ID, AWS Secret Key and an /// AmazonIvschatClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonIvschatClient Configuration Object public AmazonIvschatClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonIvschatConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customize the pipeline /// /// protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonIvschatEndpointResolver()); } /// /// 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 CreateChatToken /// /// Creates an encrypted token that is used by a chat participant to establish an individual /// WebSocket chat connection to a room. When the token is used to connect to chat, the /// connection is valid for the session duration specified in the request. The token becomes /// invalid at the token-expiration timestamp included in the response. /// /// /// /// Use the capabilities field to permit an end user to send messages or /// moderate a room. /// /// /// /// The attributes field securely attaches structured data to the chat session; /// the data is included within each message sent by the end user and received by other /// participants in the room. Common use cases for attributes include passing end-user /// profile data like an icon, display name, colors, badges, and other display features. /// /// /// /// Encryption keys are owned by Amazon IVS Chat and never used directly by your application. /// /// /// Container for the necessary parameters to execute the CreateChatToken service method. /// /// The response from the CreateChatToken service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for CreateChatToken Operation public virtual CreateChatTokenResponse CreateChatToken(CreateChatTokenRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateChatTokenRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateChatTokenResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates an encrypted token that is used by a chat participant to establish an individual /// WebSocket chat connection to a room. When the token is used to connect to chat, the /// connection is valid for the session duration specified in the request. The token becomes /// invalid at the token-expiration timestamp included in the response. /// /// /// /// Use the capabilities field to permit an end user to send messages or /// moderate a room. /// /// /// /// The attributes field securely attaches structured data to the chat session; /// the data is included within each message sent by the end user and received by other /// participants in the room. Common use cases for attributes include passing end-user /// profile data like an icon, display name, colors, badges, and other display features. /// /// /// /// Encryption keys are owned by Amazon IVS Chat and never used directly by your application. /// /// /// Container for the necessary parameters to execute the CreateChatToken service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateChatToken service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for CreateChatToken Operation public virtual Task CreateChatTokenAsync(CreateChatTokenRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateChatTokenRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateChatTokenResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateLoggingConfiguration /// /// Creates a logging configuration that allows clients to store and record sent messages. /// /// Container for the necessary parameters to execute the CreateLoggingConfiguration service method. /// /// The response from the CreateLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for CreateLoggingConfiguration Operation public virtual CreateLoggingConfigurationResponse CreateLoggingConfiguration(CreateLoggingConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateLoggingConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates a logging configuration that allows clients to store and record sent messages. /// /// Container for the necessary parameters to execute the CreateLoggingConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for CreateLoggingConfiguration Operation public virtual Task CreateLoggingConfigurationAsync(CreateLoggingConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateLoggingConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateRoom /// /// Creates a room that allows clients to connect and pass messages. /// /// Container for the necessary parameters to execute the CreateRoom service method. /// /// The response from the CreateRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for CreateRoom Operation public virtual CreateRoomResponse CreateRoom(CreateRoomRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRoomResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates a room that allows clients to connect and pass messages. /// /// Container for the necessary parameters to execute the CreateRoom service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for CreateRoom Operation public virtual Task CreateRoomAsync(CreateRoomRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRoomResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteLoggingConfiguration /// /// Deletes the specified logging configuration. /// /// Container for the necessary parameters to execute the DeleteLoggingConfiguration service method. /// /// The response from the DeleteLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DeleteLoggingConfiguration Operation public virtual DeleteLoggingConfigurationResponse DeleteLoggingConfiguration(DeleteLoggingConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLoggingConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the specified logging configuration. /// /// Container for the necessary parameters to execute the DeleteLoggingConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DeleteLoggingConfiguration Operation public virtual Task DeleteLoggingConfigurationAsync(DeleteLoggingConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLoggingConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteMessage /// /// Sends an event to a specific room which directs clients to delete a specific message; /// that is, unrender it from view and delete it from the client’s chat history. This /// event’s EventName is aws:DELETE_MESSAGE. This replicates /// the /// DeleteMessage WebSocket operation in the Amazon IVS Chat Messaging API. /// /// Container for the necessary parameters to execute the DeleteMessage service method. /// /// The response from the DeleteMessage service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DeleteMessage Operation public virtual DeleteMessageResponse DeleteMessage(DeleteMessageRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteMessageRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteMessageResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Sends an event to a specific room which directs clients to delete a specific message; /// that is, unrender it from view and delete it from the client’s chat history. This /// event’s EventName is aws:DELETE_MESSAGE. This replicates /// the /// DeleteMessage WebSocket operation in the Amazon IVS Chat Messaging API. /// /// Container for the necessary parameters to execute the DeleteMessage service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteMessage service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DeleteMessage Operation public virtual Task DeleteMessageAsync(DeleteMessageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteMessageRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteMessageResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteRoom /// /// Deletes the specified room. /// /// Container for the necessary parameters to execute the DeleteRoom service method. /// /// The response from the DeleteRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DeleteRoom Operation public virtual DeleteRoomResponse DeleteRoom(DeleteRoomRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRoomResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the specified room. /// /// Container for the necessary parameters to execute the DeleteRoom service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DeleteRoom Operation public virtual Task DeleteRoomAsync(DeleteRoomRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRoomResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DisconnectUser /// /// Disconnects all connections using a specified user ID from a room. This replicates /// the /// DisconnectUser WebSocket operation in the Amazon IVS Chat Messaging API. /// /// Container for the necessary parameters to execute the DisconnectUser service method. /// /// The response from the DisconnectUser service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DisconnectUser Operation public virtual DisconnectUserResponse DisconnectUser(DisconnectUserRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DisconnectUserRequestMarshaller.Instance; options.ResponseUnmarshaller = DisconnectUserResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Disconnects all connections using a specified user ID from a room. This replicates /// the /// DisconnectUser WebSocket operation in the Amazon IVS Chat Messaging API. /// /// Container for the necessary parameters to execute the DisconnectUser service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DisconnectUser service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for DisconnectUser Operation public virtual Task DisconnectUserAsync(DisconnectUserRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DisconnectUserRequestMarshaller.Instance; options.ResponseUnmarshaller = DisconnectUserResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetLoggingConfiguration /// /// Gets the specified logging configuration. /// /// Container for the necessary parameters to execute the GetLoggingConfiguration service method. /// /// The response from the GetLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for GetLoggingConfiguration Operation public virtual GetLoggingConfigurationResponse GetLoggingConfiguration(GetLoggingConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLoggingConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets the specified logging configuration. /// /// Container for the necessary parameters to execute the GetLoggingConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for GetLoggingConfiguration Operation public virtual Task GetLoggingConfigurationAsync(GetLoggingConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLoggingConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetRoom /// /// Gets the specified room. /// /// Container for the necessary parameters to execute the GetRoom service method. /// /// The response from the GetRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for GetRoom Operation public virtual GetRoomResponse GetRoom(GetRoomRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRoomResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets the specified room. /// /// Container for the necessary parameters to execute the GetRoom service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for GetRoom Operation public virtual Task GetRoomAsync(GetRoomRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRoomResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListLoggingConfigurations /// /// Gets summary information about all your logging configurations in the AWS region where /// the API request is processed. /// /// Container for the necessary parameters to execute the ListLoggingConfigurations service method. /// /// The response from the ListLoggingConfigurations service method, as returned by Ivschat. /// /// /// /// /// /// /// REST API Reference for ListLoggingConfigurations Operation public virtual ListLoggingConfigurationsResponse ListLoggingConfigurations(ListLoggingConfigurationsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListLoggingConfigurationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListLoggingConfigurationsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets summary information about all your logging configurations in the AWS region where /// the API request is processed. /// /// Container for the necessary parameters to execute the ListLoggingConfigurations service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListLoggingConfigurations service method, as returned by Ivschat. /// /// /// /// /// /// /// REST API Reference for ListLoggingConfigurations Operation public virtual Task ListLoggingConfigurationsAsync(ListLoggingConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListLoggingConfigurationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListLoggingConfigurationsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListRooms /// /// Gets summary information about all your rooms in the AWS region where the API request /// is processed. Results are sorted in descending order of updateTime. /// /// Container for the necessary parameters to execute the ListRooms service method. /// /// The response from the ListRooms service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for ListRooms Operation public virtual ListRoomsResponse ListRooms(ListRoomsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListRoomsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRoomsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets summary information about all your rooms in the AWS region where the API request /// is processed. Results are sorted in descending order of updateTime. /// /// Container for the necessary parameters to execute the ListRooms service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListRooms service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for ListRooms Operation public virtual Task ListRoomsAsync(ListRoomsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListRoomsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRoomsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource /// /// Gets information about AWS tags for the specified ARN. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// The response from the ListTagsForResource service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for ListTagsForResource Operation public virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets information about AWS tags for the specified ARN. /// /// 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 Ivschat. /// /// /// /// /// /// /// /// /// /// 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 SendEvent /// /// Sends an event to a room. Use this within your application’s business logic to send /// events to clients of a room; e.g., to notify clients to change the way the chat UI /// is rendered. /// /// Container for the necessary parameters to execute the SendEvent service method. /// /// The response from the SendEvent service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for SendEvent Operation public virtual SendEventResponse SendEvent(SendEventRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SendEventRequestMarshaller.Instance; options.ResponseUnmarshaller = SendEventResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Sends an event to a room. Use this within your application’s business logic to send /// events to clients of a room; e.g., to notify clients to change the way the chat UI /// is rendered. /// /// Container for the necessary parameters to execute the SendEvent service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the SendEvent service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for SendEvent Operation public virtual Task SendEventAsync(SendEventRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = SendEventRequestMarshaller.Instance; options.ResponseUnmarshaller = SendEventResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource /// /// Adds or updates tags for the AWS resource with the specified ARN. /// /// Container for the necessary parameters to execute the TagResource service method. /// /// The response from the TagResource service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for TagResource Operation public virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Adds or updates tags for the AWS resource with the specified ARN. /// /// 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 Ivschat. /// /// /// /// /// /// /// /// /// /// 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 /// /// Removes tags from the resource with the specified ARN. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// The response from the UntagResource service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// REST API Reference for UntagResource Operation public virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Removes tags from the resource with the specified ARN. /// /// 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 Ivschat. /// /// /// /// /// /// /// /// /// /// 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 UpdateLoggingConfiguration /// /// Updates a specified logging configuration. /// /// Container for the necessary parameters to execute the UpdateLoggingConfiguration service method. /// /// The response from the UpdateLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for UpdateLoggingConfiguration Operation public virtual UpdateLoggingConfigurationResponse UpdateLoggingConfiguration(UpdateLoggingConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateLoggingConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Updates a specified logging configuration. /// /// Container for the necessary parameters to execute the UpdateLoggingConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateLoggingConfiguration service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for UpdateLoggingConfiguration Operation public virtual Task UpdateLoggingConfigurationAsync(UpdateLoggingConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateLoggingConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateLoggingConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateRoom /// /// Updates a room’s configuration. /// /// Container for the necessary parameters to execute the UpdateRoom service method. /// /// The response from the UpdateRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for UpdateRoom Operation public virtual UpdateRoomResponse UpdateRoom(UpdateRoomRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRoomResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Updates a room’s configuration. /// /// Container for the necessary parameters to execute the UpdateRoom service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateRoom service method, as returned by Ivschat. /// /// /// /// /// /// /// /// /// /// /// /// /// REST API Reference for UpdateRoom Operation public virtual Task UpdateRoomAsync(UpdateRoomRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRoomRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRoomResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }