/*
* 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.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
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
{
///
/// Implementation for accessing SupportApp
///
/// Amazon Web Services Support App in Slack
///
/// 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:
///
/// -
///
/// Create, search, update, and resolve your support cases
///
///
-
///
/// Request service quota increases for your account
///
///
-
///
/// Invite Amazon Web Services Support agents to your channel so that you can chat directly
/// about your support cases
///
///
///
/// For more information about how to perform these actions in Slack, see the following
/// documentation in the Amazon Web Services Support User Guide:
///
///
///
/// 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 Authorize
/// a Slack workspace to enable the Amazon Web Services Support App.
///
/// -
///
/// You must have a Business or Enterprise Support plan to use the Amazon Web Services
/// Support App API.
///
///
-
///
/// For more information about the Amazon Web Services Support App endpoints, see the
/// Amazon
/// Web Services Support App in Slack endpoints in the Amazon Web Services General
/// Reference.
///
///
///
///
public partial class AmazonSupportAppClient : AmazonServiceClient, IAmazonSupportApp
{
private static IServiceMetadata serviceMetadata = new AmazonSupportAppMetadata();
private ISupportAppPaginatorFactory _paginators;
///
/// Paginators for the service
///
public ISupportAppPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new SupportAppPaginatorFactory(this);
}
return this._paginators;
}
}
#region Constructors
///
/// 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.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonSupportAppClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonSupportAppConfig()) { }
///
/// 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.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonSupportAppClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonSupportAppConfig{RegionEndpoint = region}) { }
///
/// 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.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonSupportAppClient Configuration Object
public AmazonSupportAppClient(AmazonSupportAppConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonSupportAppClient with AWS Credentials
///
/// AWS Credentials
public AmazonSupportAppClient(AWSCredentials credentials)
: this(credentials, new AmazonSupportAppConfig())
{
}
///
/// Constructs AmazonSupportAppClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonSupportAppClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonSupportAppConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonSupportAppClient with AWS Credentials and an
/// AmazonSupportAppClient Configuration object.
///
/// AWS Credentials
/// The AmazonSupportAppClient Configuration Object
public AmazonSupportAppClient(AWSCredentials credentials, AmazonSupportAppConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonSupportAppClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonSupportAppConfig())
{
}
///
/// Constructs AmazonSupportAppClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonSupportAppConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonSupportAppClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonSupportAppClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonSupportAppClient Configuration Object
public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSupportAppConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonSupportAppClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSupportAppConfig())
{
}
///
/// Constructs AmazonSupportAppClient 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 AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSupportAppConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonSupportAppClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonSupportAppClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonSupportAppClient Configuration Object
public AmazonSupportAppClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSupportAppConfig 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 AmazonSupportAppEndpointResolver());
}
///
/// 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 CreateSlackChannelConfiguration
///
/// Creates a Slack channel configuration for your Amazon Web Services account.
///
/// -
///
/// You can add up to 5 Slack workspaces for your account.
///
///
-
///
/// You can add up to 20 Slack channels for your account.
///
///
///
/// 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.
///
///
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the CreateSlackChannelConfiguration service method.
///
/// The response from the CreateSlackChannelConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// 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.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for CreateSlackChannelConfiguration Operation
public virtual CreateSlackChannelConfigurationResponse CreateSlackChannelConfiguration(CreateSlackChannelConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateSlackChannelConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateSlackChannelConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates a Slack channel configuration for your Amazon Web Services account.
///
/// -
///
/// You can add up to 5 Slack workspaces for your account.
///
///
-
///
/// You can add up to 20 Slack channels for your account.
///
///
///
/// 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.
///
///
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the CreateSlackChannelConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateSlackChannelConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// 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.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for CreateSlackChannelConfiguration Operation
public virtual Task CreateSlackChannelConfigurationAsync(CreateSlackChannelConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateSlackChannelConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateSlackChannelConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteAccountAlias
///
/// 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.
///
/// Container for the necessary parameters to execute the DeleteAccountAlias service method.
///
/// The response from the DeleteAccountAlias service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
/// REST API Reference for DeleteAccountAlias Operation
public virtual DeleteAccountAliasResponse DeleteAccountAlias(DeleteAccountAliasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAccountAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAccountAliasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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.
///
/// Container for the necessary parameters to execute the DeleteAccountAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAccountAlias service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
/// REST API Reference for DeleteAccountAlias Operation
public virtual Task DeleteAccountAliasAsync(DeleteAccountAliasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAccountAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAccountAliasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteSlackChannelConfiguration
///
/// Deletes a Slack channel configuration from your Amazon Web Services account. This
/// operation doesn't delete your Slack channel.
///
/// Container for the necessary parameters to execute the DeleteSlackChannelConfiguration service method.
///
/// The response from the DeleteSlackChannelConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for DeleteSlackChannelConfiguration Operation
public virtual DeleteSlackChannelConfigurationResponse DeleteSlackChannelConfiguration(DeleteSlackChannelConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteSlackChannelConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteSlackChannelConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes a Slack channel configuration from your Amazon Web Services account. This
/// operation doesn't delete your Slack channel.
///
/// Container for the necessary parameters to execute the DeleteSlackChannelConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteSlackChannelConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for DeleteSlackChannelConfiguration Operation
public virtual Task DeleteSlackChannelConfigurationAsync(DeleteSlackChannelConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteSlackChannelConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteSlackChannelConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteSlackWorkspaceConfiguration
///
/// Deletes a Slack workspace configuration from your Amazon Web Services account. This
/// operation doesn't delete your Slack workspace.
///
/// Container for the necessary parameters to execute the DeleteSlackWorkspaceConfiguration service method.
///
/// The response from the DeleteSlackWorkspaceConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for DeleteSlackWorkspaceConfiguration Operation
public virtual DeleteSlackWorkspaceConfigurationResponse DeleteSlackWorkspaceConfiguration(DeleteSlackWorkspaceConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteSlackWorkspaceConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteSlackWorkspaceConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes a Slack workspace configuration from your Amazon Web Services account. This
/// operation doesn't delete your Slack workspace.
///
/// Container for the necessary parameters to execute the DeleteSlackWorkspaceConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteSlackWorkspaceConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for DeleteSlackWorkspaceConfiguration Operation
public virtual Task DeleteSlackWorkspaceConfigurationAsync(DeleteSlackWorkspaceConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteSlackWorkspaceConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteSlackWorkspaceConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetAccountAlias
///
/// 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.
///
/// Container for the necessary parameters to execute the GetAccountAlias service method.
///
/// The response from the GetAccountAlias service method, as returned by SupportApp.
///
/// We can’t process your request right now because of a server issue. Try again later.
///
/// REST API Reference for GetAccountAlias Operation
public virtual GetAccountAliasResponse GetAccountAlias(GetAccountAliasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAccountAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAccountAliasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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.
///
/// Container for the necessary parameters to execute the GetAccountAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAccountAlias service method, as returned by SupportApp.
///
/// We can’t process your request right now because of a server issue. Try again later.
///
/// REST API Reference for GetAccountAlias Operation
public virtual Task GetAccountAliasAsync(GetAccountAliasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAccountAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAccountAliasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListSlackChannelConfigurations
///
/// Lists the Slack channel configurations for an Amazon Web Services account.
///
/// Container for the necessary parameters to execute the ListSlackChannelConfigurations service method.
///
/// The response from the ListSlackChannelConfigurations service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
/// REST API Reference for ListSlackChannelConfigurations Operation
public virtual ListSlackChannelConfigurationsResponse ListSlackChannelConfigurations(ListSlackChannelConfigurationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSlackChannelConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSlackChannelConfigurationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Lists the Slack channel configurations for an Amazon Web Services account.
///
/// Container for the necessary parameters to execute the ListSlackChannelConfigurations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListSlackChannelConfigurations service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
/// REST API Reference for ListSlackChannelConfigurations Operation
public virtual Task ListSlackChannelConfigurationsAsync(ListSlackChannelConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSlackChannelConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSlackChannelConfigurationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListSlackWorkspaceConfigurations
///
/// Lists the Slack workspace configurations for an Amazon Web Services account.
///
/// Container for the necessary parameters to execute the ListSlackWorkspaceConfigurations service method.
///
/// The response from the ListSlackWorkspaceConfigurations service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
/// REST API Reference for ListSlackWorkspaceConfigurations Operation
public virtual ListSlackWorkspaceConfigurationsResponse ListSlackWorkspaceConfigurations(ListSlackWorkspaceConfigurationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSlackWorkspaceConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSlackWorkspaceConfigurationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Lists the Slack workspace configurations for an Amazon Web Services account.
///
/// Container for the necessary parameters to execute the ListSlackWorkspaceConfigurations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListSlackWorkspaceConfigurations service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
/// REST API Reference for ListSlackWorkspaceConfigurations Operation
public virtual Task ListSlackWorkspaceConfigurationsAsync(ListSlackWorkspaceConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSlackWorkspaceConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSlackWorkspaceConfigurationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutAccountAlias
///
/// 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.
///
/// Container for the necessary parameters to execute the PutAccountAlias service method.
///
/// The response from the PutAccountAlias service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for PutAccountAlias Operation
public virtual PutAccountAliasResponse PutAccountAlias(PutAccountAliasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutAccountAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutAccountAliasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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.
///
/// Container for the necessary parameters to execute the PutAccountAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutAccountAlias service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for PutAccountAlias Operation
public virtual Task PutAccountAliasAsync(PutAccountAliasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutAccountAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutAccountAliasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region RegisterSlackWorkspaceForOrganization
///
/// Registers a Slack workspace for your Amazon Web Services account. To call this API,
/// your account must be part of an organization in Organizations.
///
///
///
/// If you're the management account and you want to register Slack workspaces
/// for your organization, you must complete the following tasks:
///
/// -
///
/// Sign in to the Amazon Web Services
/// Support Center and authorize the Slack workspaces where you want your organization
/// to have access to. See Authorize
/// a Slack workspace in the Amazon Web Services Support User Guide.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API to authorize each
/// Slack workspace for the organization.
///
///
///
/// 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 Amazon
/// Web Services Support Center.
///
///
///
/// To use the Amazon Web Services Support App, each account must then complete the following
/// tasks:
///
///
///
/// Container for the necessary parameters to execute the RegisterSlackWorkspaceForOrganization service method.
///
/// The response from the RegisterSlackWorkspaceForOrganization service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for RegisterSlackWorkspaceForOrganization Operation
public virtual RegisterSlackWorkspaceForOrganizationResponse RegisterSlackWorkspaceForOrganization(RegisterSlackWorkspaceForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = RegisterSlackWorkspaceForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = RegisterSlackWorkspaceForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Registers a Slack workspace for your Amazon Web Services account. To call this API,
/// your account must be part of an organization in Organizations.
///
///
///
/// If you're the management account and you want to register Slack workspaces
/// for your organization, you must complete the following tasks:
///
/// -
///
/// Sign in to the Amazon Web Services
/// Support Center and authorize the Slack workspaces where you want your organization
/// to have access to. See Authorize
/// a Slack workspace in the Amazon Web Services Support User Guide.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API to authorize each
/// Slack workspace for the organization.
///
///
///
/// 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 Amazon
/// Web Services Support Center.
///
///
///
/// To use the Amazon Web Services Support App, each account must then complete the following
/// tasks:
///
///
///
/// Container for the necessary parameters to execute the RegisterSlackWorkspaceForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RegisterSlackWorkspaceForOrganization service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for RegisterSlackWorkspaceForOrganization Operation
public virtual Task RegisterSlackWorkspaceForOrganizationAsync(RegisterSlackWorkspaceForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = RegisterSlackWorkspaceForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = RegisterSlackWorkspaceForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateSlackChannelConfiguration
///
/// Updates the configuration for a Slack channel, such as case update notifications.
///
/// Container for the necessary parameters to execute the UpdateSlackChannelConfiguration service method.
///
/// The response from the UpdateSlackChannelConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for UpdateSlackChannelConfiguration Operation
public virtual UpdateSlackChannelConfigurationResponse UpdateSlackChannelConfiguration(UpdateSlackChannelConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateSlackChannelConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateSlackChannelConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates the configuration for a Slack channel, such as case update notifications.
///
/// Container for the necessary parameters to execute the UpdateSlackChannelConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateSlackChannelConfiguration service method, as returned by SupportApp.
///
/// You don't have sufficient permission to perform this action.
///
///
/// Your request has a conflict. For example, you might receive this error if you try
/// the following:
///
/// -
///
/// Add, update, or delete a Slack channel configuration before you add a Slack workspace
/// to your Amazon Web Services account.
///
///
-
///
/// Add a Slack channel configuration that already exists in your Amazon Web Services
/// account.
///
///
-
///
/// Delete a Slack channel configuration for a live chat channel.
///
///
-
///
/// Delete a Slack workspace from your Amazon Web Services account that has an active
/// live chat channel.
///
///
-
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from an Amazon Web
/// Services account that doesn't belong to an organization.
///
/// -
///
/// Call the
RegisterSlackWorkspaceForOrganization
API from a member account,
/// but the management account hasn't registered that workspace yet for the organization.
///
///
///
///
/// We can’t process your request right now because of a server issue. Try again later.
///
///
/// The specified resource is missing or doesn't exist, such as an account alias, Slack
/// channel configuration, or Slack workspace configuration.
///
///
/// Your request input doesn't meet the constraints that the Amazon Web Services Support
/// App specifies.
///
/// REST API Reference for UpdateSlackChannelConfiguration Operation
public virtual Task UpdateSlackChannelConfigurationAsync(UpdateSlackChannelConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateSlackChannelConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateSlackChannelConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}