/* * 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 support-app-2021-08-20.normal.json service model. */ using System; using System.Collections.Generic; using System.Net; using Amazon.SupportApp.Model; using Amazon.SupportApp.Model.Internal.MarshallTransformations; using Amazon.SupportApp.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.SupportApp { /// <summary> /// Implementation for accessing SupportApp /// /// Amazon Web Services Support App in Slack /// <para> /// You can use the Amazon Web Services Support App in Slack API to manage your support /// cases in Slack for your Amazon Web Services account. After you configure your Slack /// workspace and channel with the Amazon Web Services Support App, you can perform the /// following tasks directly in your Slack channel: /// /// <ul> <li> /// <para> /// Create, search, update, and resolve your support cases /// </para> /// </li> <li> /// <para> /// Request service quota increases for your account /// </para> /// </li> <li> /// <para> /// Invite Amazon Web Services Support agents to your channel so that you can chat directly /// about your support cases /// </para> /// </li> </ul> /// <para> /// For more information about how to perform these actions in Slack, see the following /// documentation in the <i>Amazon Web Services Support User Guide</i>: /// </para> /// <ul> <li> /// <para> /// <a href="https://docs.aws.amazon.com/awssupport/latest/user/aws-support-app-for-slack.html">Amazon /// Web Services Support App in Slack</a> /// </para> /// </li> <li> /// <para> /// <a href="https://docs.aws.amazon.com/awssupport/latest/user/joining-a-live-chat-session.html">Joining /// a live chat session with Amazon Web Services Support</a> /// </para> /// </li> <li> /// <para> /// <a href="https://docs.aws.amazon.com/awssupport/latest/user/service-quota-increase.html">Requesting /// service quota increases</a> /// </para> /// </li> <li> /// <para> /// <a href="https://docs.aws.amazon.com/awssupport/latest/user/support-app-commands.html">Amazon /// Web Services Support App commands in Slack</a> /// </para> /// </li> </ul> /// <para> /// You can also use the Amazon Web Services Management Console instead of the Amazon /// Web Services Support App API to manage your Slack configurations. For more information, /// see <a href="https://docs.aws.amazon.com/awssupport/latest/user/authorize-slack-workspace.html">Authorize /// a Slack workspace to enable the Amazon Web Services Support App</a>. /// </para> /// <note> <ul> <li> /// <para> /// You must have a Business or Enterprise Support plan to use the Amazon Web Services /// Support App API. /// </para> /// </li> <li> /// <para> /// For more information about the Amazon Web Services Support App endpoints, see the /// <a href="https://docs.aws.amazon.com/general/latest/gr/awssupport.html#awssupport_app_region">Amazon /// Web Services Support App in Slack endpoints</a> in the <i>Amazon Web Services General /// Reference</i>. /// </para> /// </li> </ul> </note> /// </para> /// </summary> public partial class AmazonSupportAppClient : AmazonServiceClient, IAmazonSupportApp { private static IServiceMetadata serviceMetadata = new AmazonSupportAppMetadata(); #if BCL45 || AWS_ASYNC_ENUMERABLES_API private ISupportAppPaginatorFactory _paginators; /// <summary> /// Paginators for the service /// </summary> public ISupportAppPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new SupportAppPaginatorFactory(this); } return this._paginators; } } #endif #region Constructors /// <summary> /// Constructs AmazonSupportAppClient 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. /// <code> /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// </code> /// /// </summary> public AmazonSupportAppClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSupportAppConfig()) { } /// <summary> /// Constructs AmazonSupportAppClient 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. /// <code> /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// </code> /// /// </summary> /// <param name="region">The region to connect.</param> public AmazonSupportAppClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSupportAppConfig{RegionEndpoint = region}) { } /// <summary> /// Constructs AmazonSupportAppClient 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. /// <code> /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// </code> /// /// </summary> /// <param name="config">The AmazonSupportAppClient Configuration Object</param> public AmazonSupportAppClient(AmazonSupportAppConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// <summary> /// Constructs AmazonSupportAppClient with AWS Credentials /// </summary> /// <param name="credentials">AWS Credentials</param> public AmazonSupportAppClient(AWSCredentials credentials) : this(credentials, new AmazonSupportAppConfig()) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Credentials /// </summary> /// <param name="credentials">AWS Credentials</param> /// <param name="region">The region to connect.</param> public AmazonSupportAppClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonSupportAppConfig{RegionEndpoint = region}) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Credentials and an /// AmazonSupportAppClient Configuration object. /// </summary> /// <param name="credentials">AWS Credentials</param> /// <param name="clientConfig">The AmazonSupportAppClient Configuration Object</param> public AmazonSupportAppClient(AWSCredentials credentials, AmazonSupportAppConfig clientConfig) : base(credentials, clientConfig) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Access Key ID and AWS Secret Key /// </summary> /// <param name="awsAccessKeyId">AWS Access Key ID</param> /// <param name="awsSecretAccessKey">AWS Secret Access Key</param> public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSupportAppConfig()) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Access Key ID and AWS Secret Key /// </summary> /// <param name="awsAccessKeyId">AWS Access Key ID</param> /// <param name="awsSecretAccessKey">AWS Secret Access Key</param> /// <param name="region">The region to connect.</param> public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSupportAppConfig() {RegionEndpoint=region}) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSupportAppClient Configuration object. /// </summary> /// <param name="awsAccessKeyId">AWS Access Key ID</param> /// <param name="awsSecretAccessKey">AWS Secret Access Key</param> /// <param name="clientConfig">The AmazonSupportAppClient Configuration Object</param> public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSupportAppConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Access Key ID and AWS Secret Key /// </summary> /// <param name="awsAccessKeyId">AWS Access Key ID</param> /// <param name="awsSecretAccessKey">AWS Secret Access Key</param> /// <param name="awsSessionToken">AWS Session Token</param> public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSupportAppConfig()) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Access Key ID and AWS Secret Key /// </summary> /// <param name="awsAccessKeyId">AWS Access Key ID</param> /// <param name="awsSecretAccessKey">AWS Secret Access Key</param> /// <param name="awsSessionToken">AWS Session Token</param> /// <param name="region">The region to connect.</param> public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSupportAppConfig{RegionEndpoint = region}) { } /// <summary> /// Constructs AmazonSupportAppClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSupportAppClient Configuration object. /// </summary> /// <param name="awsAccessKeyId">AWS Access Key ID</param> /// <param name="awsSecretAccessKey">AWS Secret Access Key</param> /// <param name="awsSessionToken">AWS Session Token</param> /// <param name="clientConfig">The AmazonSupportAppClient Configuration Object</param> public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSupportAppConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #region Overrides /// <summary> /// Creates the signer for the service. /// </summary> protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// <summary> /// Customize the pipeline /// </summary> /// <param name="pipeline"></param> protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler<Amazon.Runtime.Internal.EndpointResolver>(); pipeline.AddHandlerAfter<Amazon.Runtime.Internal.Marshaller>(new AmazonSupportAppEndpointResolver()); } /// <summary> /// Capture metadata for the service. /// </summary> protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// <summary> /// Disposes the service client. /// </summary> protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region CreateSlackChannelConfiguration /// <summary> /// Creates a Slack channel configuration for your Amazon Web Services account. /// /// <note> <ul> <li> /// <para> /// You can add up to 5 Slack workspaces for your account. /// </para> /// </li> <li> /// <para> /// You can add up to 20 Slack channels for your account. /// </para> /// </li> </ul> </note> /// <para> /// A Slack channel can have up to 100 Amazon Web Services accounts. This means that only /// 100 accounts can add the same Slack channel to the Amazon Web Services Support App. /// We recommend that you only add the accounts that you need to manage support cases /// for your organization. This can reduce the notifications about case updates that you /// receive in the Slack channel. /// </para> /// <note> /// <para> /// We recommend that you choose a private Slack channel so that only members in that /// channel have read and write access to your support cases. Anyone in your Slack channel /// can create, update, or resolve support cases for your account. Users require an invitation /// to join private channels. /// </para> /// </note> /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateSlackChannelConfiguration service method.</param> /// /// <returns>The response from the CreateSlackChannelConfiguration service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ConflictException"> /// Your request has a conflict. For example, you might receive this error if you try /// the following: /// /// <ul> <li> /// <para> /// Add, update, or delete a Slack channel configuration before you add a Slack workspace /// to your Amazon Web Services account. /// </para> /// </li> <li> /// <para> /// Add a Slack channel configuration that already exists in your Amazon Web Services /// account. /// </para> /// </li> <li> /// <para> /// Delete a Slack channel configuration for a live chat channel. /// </para> /// </li> <li> /// <para> /// Delete a Slack workspace from your Amazon Web Services account that has an active /// live chat channel. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from an Amazon Web /// Services account that doesn't belong to an organization. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from a member account, /// but the management account hasn't registered that workspace yet for the organization. /// </para> /// </li> </ul> /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ServiceQuotaExceededException"> /// Your Service Quotas request exceeds the quota for the service. For example, your Service /// Quotas request to Amazon Web Services Support App might exceed the maximum number /// of workspaces or channels per account, or the maximum number of accounts per Slack /// channel. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ValidationException"> /// Your request input doesn't meet the constraints that the Amazon Web Services Support /// App specifies. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/CreateSlackChannelConfiguration">REST API Reference for CreateSlackChannelConfiguration Operation</seealso> public virtual CreateSlackChannelConfigurationResponse CreateSlackChannelConfiguration(CreateSlackChannelConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSlackChannelConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSlackChannelConfigurationResponseUnmarshaller.Instance; return Invoke<CreateSlackChannelConfigurationResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the CreateSlackChannelConfiguration operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateSlackChannelConfiguration operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateSlackChannelConfiguration /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/CreateSlackChannelConfiguration">REST API Reference for CreateSlackChannelConfiguration Operation</seealso> public virtual IAsyncResult BeginCreateSlackChannelConfiguration(CreateSlackChannelConfigurationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSlackChannelConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSlackChannelConfigurationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the CreateSlackChannelConfiguration operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginCreateSlackChannelConfiguration.</param> /// /// <returns>Returns a CreateSlackChannelConfigurationResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/CreateSlackChannelConfiguration">REST API Reference for CreateSlackChannelConfiguration Operation</seealso> public virtual CreateSlackChannelConfigurationResponse EndCreateSlackChannelConfiguration(IAsyncResult asyncResult) { return EndInvoke<CreateSlackChannelConfigurationResponse>(asyncResult); } #endregion #region DeleteAccountAlias /// <summary> /// Deletes an alias for an Amazon Web Services account ID. The alias appears in the Amazon /// Web Services Support App page of the Amazon Web Services Support Center. The alias /// also appears in Slack messages from the Amazon Web Services Support App. /// </summary> /// <param name="request">Container for the necessary parameters to execute the DeleteAccountAlias service method.</param> /// /// <returns>The response from the DeleteAccountAlias service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ResourceNotFoundException"> /// The specified resource is missing or doesn't exist, such as an account alias, Slack /// channel configuration, or Slack workspace configuration. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteAccountAlias">REST API Reference for DeleteAccountAlias Operation</seealso> public virtual DeleteAccountAliasResponse DeleteAccountAlias(DeleteAccountAliasRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteAccountAliasRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteAccountAliasResponseUnmarshaller.Instance; return Invoke<DeleteAccountAliasResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the DeleteAccountAlias operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DeleteAccountAlias operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteAccountAlias /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteAccountAlias">REST API Reference for DeleteAccountAlias Operation</seealso> public virtual IAsyncResult BeginDeleteAccountAlias(DeleteAccountAliasRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteAccountAliasRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteAccountAliasResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the DeleteAccountAlias operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginDeleteAccountAlias.</param> /// /// <returns>Returns a DeleteAccountAliasResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteAccountAlias">REST API Reference for DeleteAccountAlias Operation</seealso> public virtual DeleteAccountAliasResponse EndDeleteAccountAlias(IAsyncResult asyncResult) { return EndInvoke<DeleteAccountAliasResponse>(asyncResult); } #endregion #region DeleteSlackChannelConfiguration /// <summary> /// Deletes a Slack channel configuration from your Amazon Web Services account. This /// operation doesn't delete your Slack channel. /// </summary> /// <param name="request">Container for the necessary parameters to execute the DeleteSlackChannelConfiguration service method.</param> /// /// <returns>The response from the DeleteSlackChannelConfiguration service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ConflictException"> /// Your request has a conflict. For example, you might receive this error if you try /// the following: /// /// <ul> <li> /// <para> /// Add, update, or delete a Slack channel configuration before you add a Slack workspace /// to your Amazon Web Services account. /// </para> /// </li> <li> /// <para> /// Add a Slack channel configuration that already exists in your Amazon Web Services /// account. /// </para> /// </li> <li> /// <para> /// Delete a Slack channel configuration for a live chat channel. /// </para> /// </li> <li> /// <para> /// Delete a Slack workspace from your Amazon Web Services account that has an active /// live chat channel. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from an Amazon Web /// Services account that doesn't belong to an organization. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from a member account, /// but the management account hasn't registered that workspace yet for the organization. /// </para> /// </li> </ul> /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ResourceNotFoundException"> /// The specified resource is missing or doesn't exist, such as an account alias, Slack /// channel configuration, or Slack workspace configuration. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ValidationException"> /// Your request input doesn't meet the constraints that the Amazon Web Services Support /// App specifies. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackChannelConfiguration">REST API Reference for DeleteSlackChannelConfiguration Operation</seealso> public virtual DeleteSlackChannelConfigurationResponse DeleteSlackChannelConfiguration(DeleteSlackChannelConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSlackChannelConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSlackChannelConfigurationResponseUnmarshaller.Instance; return Invoke<DeleteSlackChannelConfigurationResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the DeleteSlackChannelConfiguration operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DeleteSlackChannelConfiguration operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteSlackChannelConfiguration /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackChannelConfiguration">REST API Reference for DeleteSlackChannelConfiguration Operation</seealso> public virtual IAsyncResult BeginDeleteSlackChannelConfiguration(DeleteSlackChannelConfigurationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSlackChannelConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSlackChannelConfigurationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the DeleteSlackChannelConfiguration operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginDeleteSlackChannelConfiguration.</param> /// /// <returns>Returns a DeleteSlackChannelConfigurationResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackChannelConfiguration">REST API Reference for DeleteSlackChannelConfiguration Operation</seealso> public virtual DeleteSlackChannelConfigurationResponse EndDeleteSlackChannelConfiguration(IAsyncResult asyncResult) { return EndInvoke<DeleteSlackChannelConfigurationResponse>(asyncResult); } #endregion #region DeleteSlackWorkspaceConfiguration /// <summary> /// Deletes a Slack workspace configuration from your Amazon Web Services account. This /// operation doesn't delete your Slack workspace. /// </summary> /// <param name="request">Container for the necessary parameters to execute the DeleteSlackWorkspaceConfiguration service method.</param> /// /// <returns>The response from the DeleteSlackWorkspaceConfiguration service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ConflictException"> /// Your request has a conflict. For example, you might receive this error if you try /// the following: /// /// <ul> <li> /// <para> /// Add, update, or delete a Slack channel configuration before you add a Slack workspace /// to your Amazon Web Services account. /// </para> /// </li> <li> /// <para> /// Add a Slack channel configuration that already exists in your Amazon Web Services /// account. /// </para> /// </li> <li> /// <para> /// Delete a Slack channel configuration for a live chat channel. /// </para> /// </li> <li> /// <para> /// Delete a Slack workspace from your Amazon Web Services account that has an active /// live chat channel. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from an Amazon Web /// Services account that doesn't belong to an organization. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from a member account, /// but the management account hasn't registered that workspace yet for the organization. /// </para> /// </li> </ul> /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ResourceNotFoundException"> /// The specified resource is missing or doesn't exist, such as an account alias, Slack /// channel configuration, or Slack workspace configuration. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ValidationException"> /// Your request input doesn't meet the constraints that the Amazon Web Services Support /// App specifies. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackWorkspaceConfiguration">REST API Reference for DeleteSlackWorkspaceConfiguration Operation</seealso> public virtual DeleteSlackWorkspaceConfigurationResponse DeleteSlackWorkspaceConfiguration(DeleteSlackWorkspaceConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSlackWorkspaceConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSlackWorkspaceConfigurationResponseUnmarshaller.Instance; return Invoke<DeleteSlackWorkspaceConfigurationResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the DeleteSlackWorkspaceConfiguration operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DeleteSlackWorkspaceConfiguration operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteSlackWorkspaceConfiguration /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackWorkspaceConfiguration">REST API Reference for DeleteSlackWorkspaceConfiguration Operation</seealso> public virtual IAsyncResult BeginDeleteSlackWorkspaceConfiguration(DeleteSlackWorkspaceConfigurationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSlackWorkspaceConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSlackWorkspaceConfigurationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the DeleteSlackWorkspaceConfiguration operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginDeleteSlackWorkspaceConfiguration.</param> /// /// <returns>Returns a DeleteSlackWorkspaceConfigurationResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/DeleteSlackWorkspaceConfiguration">REST API Reference for DeleteSlackWorkspaceConfiguration Operation</seealso> public virtual DeleteSlackWorkspaceConfigurationResponse EndDeleteSlackWorkspaceConfiguration(IAsyncResult asyncResult) { return EndInvoke<DeleteSlackWorkspaceConfigurationResponse>(asyncResult); } #endregion #region GetAccountAlias /// <summary> /// Retrieves the alias from an Amazon Web Services account ID. The alias appears in the /// Amazon Web Services Support App page of the Amazon Web Services Support Center. The /// alias also appears in Slack messages from the Amazon Web Services Support App. /// </summary> /// <param name="request">Container for the necessary parameters to execute the GetAccountAlias service method.</param> /// /// <returns>The response from the GetAccountAlias service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/GetAccountAlias">REST API Reference for GetAccountAlias Operation</seealso> public virtual GetAccountAliasResponse GetAccountAlias(GetAccountAliasRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetAccountAliasRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAccountAliasResponseUnmarshaller.Instance; return Invoke<GetAccountAliasResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the GetAccountAlias operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetAccountAlias operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetAccountAlias /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/GetAccountAlias">REST API Reference for GetAccountAlias Operation</seealso> public virtual IAsyncResult BeginGetAccountAlias(GetAccountAliasRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetAccountAliasRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAccountAliasResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the GetAccountAlias operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginGetAccountAlias.</param> /// /// <returns>Returns a GetAccountAliasResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/GetAccountAlias">REST API Reference for GetAccountAlias Operation</seealso> public virtual GetAccountAliasResponse EndGetAccountAlias(IAsyncResult asyncResult) { return EndInvoke<GetAccountAliasResponse>(asyncResult); } #endregion #region ListSlackChannelConfigurations /// <summary> /// Lists the Slack channel configurations for an Amazon Web Services account. /// </summary> /// <param name="request">Container for the necessary parameters to execute the ListSlackChannelConfigurations service method.</param> /// /// <returns>The response from the ListSlackChannelConfigurations service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackChannelConfigurations">REST API Reference for ListSlackChannelConfigurations Operation</seealso> public virtual ListSlackChannelConfigurationsResponse ListSlackChannelConfigurations(ListSlackChannelConfigurationsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSlackChannelConfigurationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSlackChannelConfigurationsResponseUnmarshaller.Instance; return Invoke<ListSlackChannelConfigurationsResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the ListSlackChannelConfigurations operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ListSlackChannelConfigurations operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListSlackChannelConfigurations /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackChannelConfigurations">REST API Reference for ListSlackChannelConfigurations Operation</seealso> public virtual IAsyncResult BeginListSlackChannelConfigurations(ListSlackChannelConfigurationsRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListSlackChannelConfigurationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSlackChannelConfigurationsResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the ListSlackChannelConfigurations operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginListSlackChannelConfigurations.</param> /// /// <returns>Returns a ListSlackChannelConfigurationsResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackChannelConfigurations">REST API Reference for ListSlackChannelConfigurations Operation</seealso> public virtual ListSlackChannelConfigurationsResponse EndListSlackChannelConfigurations(IAsyncResult asyncResult) { return EndInvoke<ListSlackChannelConfigurationsResponse>(asyncResult); } #endregion #region ListSlackWorkspaceConfigurations /// <summary> /// Lists the Slack workspace configurations for an Amazon Web Services account. /// </summary> /// <param name="request">Container for the necessary parameters to execute the ListSlackWorkspaceConfigurations service method.</param> /// /// <returns>The response from the ListSlackWorkspaceConfigurations service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackWorkspaceConfigurations">REST API Reference for ListSlackWorkspaceConfigurations Operation</seealso> public virtual ListSlackWorkspaceConfigurationsResponse ListSlackWorkspaceConfigurations(ListSlackWorkspaceConfigurationsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSlackWorkspaceConfigurationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSlackWorkspaceConfigurationsResponseUnmarshaller.Instance; return Invoke<ListSlackWorkspaceConfigurationsResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the ListSlackWorkspaceConfigurations operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ListSlackWorkspaceConfigurations operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListSlackWorkspaceConfigurations /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackWorkspaceConfigurations">REST API Reference for ListSlackWorkspaceConfigurations Operation</seealso> public virtual IAsyncResult BeginListSlackWorkspaceConfigurations(ListSlackWorkspaceConfigurationsRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListSlackWorkspaceConfigurationsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSlackWorkspaceConfigurationsResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the ListSlackWorkspaceConfigurations operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginListSlackWorkspaceConfigurations.</param> /// /// <returns>Returns a ListSlackWorkspaceConfigurationsResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/ListSlackWorkspaceConfigurations">REST API Reference for ListSlackWorkspaceConfigurations Operation</seealso> public virtual ListSlackWorkspaceConfigurationsResponse EndListSlackWorkspaceConfigurations(IAsyncResult asyncResult) { return EndInvoke<ListSlackWorkspaceConfigurationsResponse>(asyncResult); } #endregion #region PutAccountAlias /// <summary> /// Creates or updates an individual alias for each Amazon Web Services account ID. The /// alias appears in the Amazon Web Services Support App page of the Amazon Web Services /// Support Center. The alias also appears in Slack messages from the Amazon Web Services /// Support App. /// </summary> /// <param name="request">Container for the necessary parameters to execute the PutAccountAlias service method.</param> /// /// <returns>The response from the PutAccountAlias service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ValidationException"> /// Your request input doesn't meet the constraints that the Amazon Web Services Support /// App specifies. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/PutAccountAlias">REST API Reference for PutAccountAlias Operation</seealso> public virtual PutAccountAliasResponse PutAccountAlias(PutAccountAliasRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutAccountAliasRequestMarshaller.Instance; options.ResponseUnmarshaller = PutAccountAliasResponseUnmarshaller.Instance; return Invoke<PutAccountAliasResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the PutAccountAlias operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the PutAccountAlias operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutAccountAlias /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/PutAccountAlias">REST API Reference for PutAccountAlias Operation</seealso> public virtual IAsyncResult BeginPutAccountAlias(PutAccountAliasRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = PutAccountAliasRequestMarshaller.Instance; options.ResponseUnmarshaller = PutAccountAliasResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the PutAccountAlias operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginPutAccountAlias.</param> /// /// <returns>Returns a PutAccountAliasResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/PutAccountAlias">REST API Reference for PutAccountAlias Operation</seealso> public virtual PutAccountAliasResponse EndPutAccountAlias(IAsyncResult asyncResult) { return EndInvoke<PutAccountAliasResponse>(asyncResult); } #endregion #region RegisterSlackWorkspaceForOrganization /// <summary> /// Registers a Slack workspace for your Amazon Web Services account. To call this API, /// your account must be part of an organization in Organizations. /// /// /// <para> /// If you're the <i>management account</i> and you want to register Slack workspaces /// for your organization, you must complete the following tasks: /// </para> /// <ol> <li> /// <para> /// Sign in to the <a href="https://console.aws.amazon.com/support/app">Amazon Web Services /// Support Center</a> and authorize the Slack workspaces where you want your organization /// to have access to. See <a href="https://docs.aws.amazon.com/awssupport/latest/user/authorize-slack-workspace.html">Authorize /// a Slack workspace</a> in the <i>Amazon Web Services Support User Guide</i>. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API to authorize each /// Slack workspace for the organization. /// </para> /// </li> </ol> /// <para> /// After the management account authorizes the Slack workspace, member accounts can call /// this API to authorize the same Slack workspace for their individual accounts. Member /// accounts don't need to authorize the Slack workspace manually through the <a href="https://console.aws.amazon.com/support/app">Amazon /// Web Services Support Center</a>. /// </para> /// /// <para> /// To use the Amazon Web Services Support App, each account must then complete the following /// tasks: /// </para> /// <ul> <li> /// <para> /// Create an Identity and Access Management (IAM) role with the required permission. /// For more information, see <a href="https://docs.aws.amazon.com/awssupport/latest/user/support-app-permissions.html">Managing /// access to the Amazon Web Services Support App</a>. /// </para> /// </li> <li> /// <para> /// Configure a Slack channel to use the Amazon Web Services Support App for support cases /// for that account. For more information, see <a href="https://docs.aws.amazon.com/awssupport/latest/user/add-your-slack-channel.html">Configuring /// a Slack channel</a>. /// </para> /// </li> </ul> /// </summary> /// <param name="request">Container for the necessary parameters to execute the RegisterSlackWorkspaceForOrganization service method.</param> /// /// <returns>The response from the RegisterSlackWorkspaceForOrganization service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ConflictException"> /// Your request has a conflict. For example, you might receive this error if you try /// the following: /// /// <ul> <li> /// <para> /// Add, update, or delete a Slack channel configuration before you add a Slack workspace /// to your Amazon Web Services account. /// </para> /// </li> <li> /// <para> /// Add a Slack channel configuration that already exists in your Amazon Web Services /// account. /// </para> /// </li> <li> /// <para> /// Delete a Slack channel configuration for a live chat channel. /// </para> /// </li> <li> /// <para> /// Delete a Slack workspace from your Amazon Web Services account that has an active /// live chat channel. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from an Amazon Web /// Services account that doesn't belong to an organization. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from a member account, /// but the management account hasn't registered that workspace yet for the organization. /// </para> /// </li> </ul> /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ResourceNotFoundException"> /// The specified resource is missing or doesn't exist, such as an account alias, Slack /// channel configuration, or Slack workspace configuration. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ValidationException"> /// Your request input doesn't meet the constraints that the Amazon Web Services Support /// App specifies. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/RegisterSlackWorkspaceForOrganization">REST API Reference for RegisterSlackWorkspaceForOrganization Operation</seealso> public virtual RegisterSlackWorkspaceForOrganizationResponse RegisterSlackWorkspaceForOrganization(RegisterSlackWorkspaceForOrganizationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = RegisterSlackWorkspaceForOrganizationRequestMarshaller.Instance; options.ResponseUnmarshaller = RegisterSlackWorkspaceForOrganizationResponseUnmarshaller.Instance; return Invoke<RegisterSlackWorkspaceForOrganizationResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the RegisterSlackWorkspaceForOrganization operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RegisterSlackWorkspaceForOrganization operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndRegisterSlackWorkspaceForOrganization /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/RegisterSlackWorkspaceForOrganization">REST API Reference for RegisterSlackWorkspaceForOrganization Operation</seealso> public virtual IAsyncResult BeginRegisterSlackWorkspaceForOrganization(RegisterSlackWorkspaceForOrganizationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = RegisterSlackWorkspaceForOrganizationRequestMarshaller.Instance; options.ResponseUnmarshaller = RegisterSlackWorkspaceForOrganizationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the RegisterSlackWorkspaceForOrganization operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginRegisterSlackWorkspaceForOrganization.</param> /// /// <returns>Returns a RegisterSlackWorkspaceForOrganizationResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/RegisterSlackWorkspaceForOrganization">REST API Reference for RegisterSlackWorkspaceForOrganization Operation</seealso> public virtual RegisterSlackWorkspaceForOrganizationResponse EndRegisterSlackWorkspaceForOrganization(IAsyncResult asyncResult) { return EndInvoke<RegisterSlackWorkspaceForOrganizationResponse>(asyncResult); } #endregion #region UpdateSlackChannelConfiguration /// <summary> /// Updates the configuration for a Slack channel, such as case update notifications. /// </summary> /// <param name="request">Container for the necessary parameters to execute the UpdateSlackChannelConfiguration service method.</param> /// /// <returns>The response from the UpdateSlackChannelConfiguration service method, as returned by SupportApp.</returns> /// <exception cref="Amazon.SupportApp.Model.AccessDeniedException"> /// You don't have sufficient permission to perform this action. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ConflictException"> /// Your request has a conflict. For example, you might receive this error if you try /// the following: /// /// <ul> <li> /// <para> /// Add, update, or delete a Slack channel configuration before you add a Slack workspace /// to your Amazon Web Services account. /// </para> /// </li> <li> /// <para> /// Add a Slack channel configuration that already exists in your Amazon Web Services /// account. /// </para> /// </li> <li> /// <para> /// Delete a Slack channel configuration for a live chat channel. /// </para> /// </li> <li> /// <para> /// Delete a Slack workspace from your Amazon Web Services account that has an active /// live chat channel. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from an Amazon Web /// Services account that doesn't belong to an organization. /// </para> /// </li> <li> /// <para> /// Call the <code>RegisterSlackWorkspaceForOrganization</code> API from a member account, /// but the management account hasn't registered that workspace yet for the organization. /// </para> /// </li> </ul> /// </exception> /// <exception cref="Amazon.SupportApp.Model.InternalServerException"> /// We can’t process your request right now because of a server issue. Try again later. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ResourceNotFoundException"> /// The specified resource is missing or doesn't exist, such as an account alias, Slack /// channel configuration, or Slack workspace configuration. /// </exception> /// <exception cref="Amazon.SupportApp.Model.ValidationException"> /// Your request input doesn't meet the constraints that the Amazon Web Services Support /// App specifies. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/UpdateSlackChannelConfiguration">REST API Reference for UpdateSlackChannelConfiguration Operation</seealso> public virtual UpdateSlackChannelConfigurationResponse UpdateSlackChannelConfiguration(UpdateSlackChannelConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSlackChannelConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSlackChannelConfigurationResponseUnmarshaller.Instance; return Invoke<UpdateSlackChannelConfigurationResponse>(request, options); } /// <summary> /// Initiates the asynchronous execution of the UpdateSlackChannelConfiguration operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the UpdateSlackChannelConfiguration operation on AmazonSupportAppClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateSlackChannelConfiguration /// operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/UpdateSlackChannelConfiguration">REST API Reference for UpdateSlackChannelConfiguration Operation</seealso> public virtual IAsyncResult BeginUpdateSlackChannelConfiguration(UpdateSlackChannelConfigurationRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSlackChannelConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSlackChannelConfigurationResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// <summary> /// Finishes the asynchronous execution of the UpdateSlackChannelConfiguration operation. /// </summary> /// /// <param name="asyncResult">The IAsyncResult returned by the call to BeginUpdateSlackChannelConfiguration.</param> /// /// <returns>Returns a UpdateSlackChannelConfigurationResult from SupportApp.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/support-app-2021-08-20/UpdateSlackChannelConfiguration">REST API Reference for UpdateSlackChannelConfiguration Operation</seealso> public virtual UpdateSlackChannelConfigurationResponse EndUpdateSlackChannelConfiguration(IAsyncResult asyncResult) { return EndInvoke<UpdateSlackChannelConfigurationResponse>(asyncResult); } #endregion } }