/*
* 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 workmail-2017-10-01.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.WorkMail.Model;
namespace Amazon.WorkMail
{
///
/// Interface for accessing WorkMail
///
/// WorkMail is a secure, managed business email and calendaring service with support
/// for existing desktop and mobile email clients. You can access your email, contacts,
/// and calendars using Microsoft Outlook, your browser, or other native iOS and Android
/// email applications. You can integrate WorkMail with your existing corporate directory
/// and control both the keys that encrypt your data and the location in which your data
/// is stored.
///
///
///
/// The WorkMail API is designed for the following scenarios:
///
/// -
///
/// Listing and describing organizations
///
///
-
///
/// Managing users
///
///
-
///
/// Managing groups
///
///
-
///
/// Managing resources
///
///
///
/// All WorkMail API operations are Amazon-authenticated and certificate-signed. They
/// not only require the use of the AWS SDK, but also allow for the exclusive use of AWS
/// Identity and Access Management users and roles to help facilitate access, trust, and
/// permission policies. By creating a role and allowing an IAM user to access the WorkMail
/// site, the IAM user gains full administrative visibility into the entire WorkMail organization
/// (or as set in the IAM policy). This includes, but is not limited to, the ability to
/// create, update, and delete users, groups, and resources. This allows developers to
/// perform the scenarios listed above, as well as give users the ability to grant access
/// on a selective basis using the IAM model.
///
///
public partial interface IAmazonWorkMail : IAmazonService, IDisposable
{
///
/// Paginators for the service
///
IWorkMailPaginatorFactory Paginators { get; }
#region AssociateDelegateToResource
///
/// Adds a member (user or group) to the resource's set of delegates.
///
/// Container for the necessary parameters to execute the AssociateDelegateToResource service method.
///
/// The response from the AssociateDelegateToResource service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for AssociateDelegateToResource Operation
AssociateDelegateToResourceResponse AssociateDelegateToResource(AssociateDelegateToResourceRequest request);
///
/// Adds a member (user or group) to the resource's set of delegates.
///
/// Container for the necessary parameters to execute the AssociateDelegateToResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AssociateDelegateToResource service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for AssociateDelegateToResource Operation
Task AssociateDelegateToResourceAsync(AssociateDelegateToResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region AssociateMemberToGroup
///
/// Adds a member (user or group) to the group's set.
///
/// Container for the necessary parameters to execute the AssociateMemberToGroup service method.
///
/// The response from the AssociateMemberToGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for AssociateMemberToGroup Operation
AssociateMemberToGroupResponse AssociateMemberToGroup(AssociateMemberToGroupRequest request);
///
/// Adds a member (user or group) to the group's set.
///
/// Container for the necessary parameters to execute the AssociateMemberToGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AssociateMemberToGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for AssociateMemberToGroup Operation
Task AssociateMemberToGroupAsync(AssociateMemberToGroupRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region AssumeImpersonationRole
///
/// Assumes an impersonation role for the given WorkMail organization. This method returns
/// an authentication token you can use to make impersonated calls.
///
/// Container for the necessary parameters to execute the AssumeImpersonationRole service method.
///
/// The response from the AssumeImpersonationRole service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for AssumeImpersonationRole Operation
AssumeImpersonationRoleResponse AssumeImpersonationRole(AssumeImpersonationRoleRequest request);
///
/// Assumes an impersonation role for the given WorkMail organization. This method returns
/// an authentication token you can use to make impersonated calls.
///
/// Container for the necessary parameters to execute the AssumeImpersonationRole service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AssumeImpersonationRole service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for AssumeImpersonationRole Operation
Task AssumeImpersonationRoleAsync(AssumeImpersonationRoleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CancelMailboxExportJob
///
/// Cancels a mailbox export job.
///
///
///
/// If the mailbox export job is near completion, it might not be possible to cancel it.
///
///
///
/// Container for the necessary parameters to execute the CancelMailboxExportJob service method.
///
/// The response from the CancelMailboxExportJob service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CancelMailboxExportJob Operation
CancelMailboxExportJobResponse CancelMailboxExportJob(CancelMailboxExportJobRequest request);
///
/// Cancels a mailbox export job.
///
///
///
/// If the mailbox export job is near completion, it might not be possible to cancel it.
///
///
///
/// Container for the necessary parameters to execute the CancelMailboxExportJob service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CancelMailboxExportJob service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CancelMailboxExportJob Operation
Task CancelMailboxExportJobAsync(CancelMailboxExportJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateAlias
///
/// Adds an alias to the set of a given member (user or group) of WorkMail.
///
/// Container for the necessary parameters to execute the CreateAlias service method.
///
/// The response from the CreateAlias service method, as returned by WorkMail.
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateAlias Operation
CreateAliasResponse CreateAlias(CreateAliasRequest request);
///
/// Adds an alias to the set of a given member (user or group) of WorkMail.
///
/// Container for the necessary parameters to execute the CreateAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAlias service method, as returned by WorkMail.
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateAlias Operation
Task CreateAliasAsync(CreateAliasRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateAvailabilityConfiguration
///
/// Creates an AvailabilityConfiguration
for the given WorkMail organization
/// and domain.
///
/// Container for the necessary parameters to execute the CreateAvailabilityConfiguration service method.
///
/// The response from the CreateAvailabilityConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateAvailabilityConfiguration Operation
CreateAvailabilityConfigurationResponse CreateAvailabilityConfiguration(CreateAvailabilityConfigurationRequest request);
///
/// Creates an AvailabilityConfiguration
for the given WorkMail organization
/// and domain.
///
/// Container for the necessary parameters to execute the CreateAvailabilityConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAvailabilityConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateAvailabilityConfiguration Operation
Task CreateAvailabilityConfigurationAsync(CreateAvailabilityConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateGroup
///
/// Creates a group that can be used in WorkMail by calling the RegisterToWorkMail
/// operation.
///
/// Container for the necessary parameters to execute the CreateGroup service method.
///
/// The response from the CreateGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// This user, group, or resource name is not allowed in WorkMail.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for CreateGroup Operation
CreateGroupResponse CreateGroup(CreateGroupRequest request);
///
/// Creates a group that can be used in WorkMail by calling the RegisterToWorkMail
/// operation.
///
/// Container for the necessary parameters to execute the CreateGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// This user, group, or resource name is not allowed in WorkMail.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for CreateGroup Operation
Task CreateGroupAsync(CreateGroupRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateImpersonationRole
///
/// Creates an impersonation role for the given WorkMail organization.
///
///
///
/// Idempotency ensures that an API request completes no more than one time. With
/// an idempotent request, if the original request completes successfully, any subsequent
/// retries also complete successfully without performing any further actions.
///
///
/// Container for the necessary parameters to execute the CreateImpersonationRole service method.
///
/// The response from the CreateImpersonationRole service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateImpersonationRole Operation
CreateImpersonationRoleResponse CreateImpersonationRole(CreateImpersonationRoleRequest request);
///
/// Creates an impersonation role for the given WorkMail organization.
///
///
///
/// Idempotency ensures that an API request completes no more than one time. With
/// an idempotent request, if the original request completes successfully, any subsequent
/// retries also complete successfully without performing any further actions.
///
///
/// Container for the necessary parameters to execute the CreateImpersonationRole service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateImpersonationRole service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateImpersonationRole Operation
Task CreateImpersonationRoleAsync(CreateImpersonationRoleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateMobileDeviceAccessRule
///
/// Creates a new mobile device access rule for the specified WorkMail organization.
///
/// Container for the necessary parameters to execute the CreateMobileDeviceAccessRule service method.
///
/// The response from the CreateMobileDeviceAccessRule service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateMobileDeviceAccessRule Operation
CreateMobileDeviceAccessRuleResponse CreateMobileDeviceAccessRule(CreateMobileDeviceAccessRuleRequest request);
///
/// Creates a new mobile device access rule for the specified WorkMail organization.
///
/// Container for the necessary parameters to execute the CreateMobileDeviceAccessRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateMobileDeviceAccessRule service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for CreateMobileDeviceAccessRule Operation
Task CreateMobileDeviceAccessRuleAsync(CreateMobileDeviceAccessRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateOrganization
///
/// Creates a new WorkMail organization. Optionally, you can choose to associate an existing
/// AWS Directory Service directory with your organization. If an AWS Directory Service
/// directory ID is specified, the organization alias must match the directory alias.
/// If you choose not to associate an existing directory with your organization, then
/// we create a new WorkMail directory for you. For more information, see Adding
/// an organization in the WorkMail Administrator Guide.
///
///
///
/// You can associate multiple email domains with an organization, then choose your default
/// email domain from the WorkMail console. You can also associate a domain that is managed
/// in an Amazon Route 53 public hosted zone. For more information, see Adding
/// a domain and Choosing
/// the default domain in the WorkMail Administrator Guide.
///
///
///
/// Optionally, you can use a customer managed key from AWS Key Management Service (AWS
/// KMS) to encrypt email for your organization. If you don't associate an AWS KMS key,
/// WorkMail creates a default, AWS managed key for you.
///
///
/// Container for the necessary parameters to execute the CreateOrganization service method.
///
/// The response from the CreateOrganization service method, as returned by WorkMail.
///
/// The directory is already in use by another WorkMail organization in the same account
/// and Region.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
/// REST API Reference for CreateOrganization Operation
CreateOrganizationResponse CreateOrganization(CreateOrganizationRequest request);
///
/// Creates a new WorkMail organization. Optionally, you can choose to associate an existing
/// AWS Directory Service directory with your organization. If an AWS Directory Service
/// directory ID is specified, the organization alias must match the directory alias.
/// If you choose not to associate an existing directory with your organization, then
/// we create a new WorkMail directory for you. For more information, see Adding
/// an organization in the WorkMail Administrator Guide.
///
///
///
/// You can associate multiple email domains with an organization, then choose your default
/// email domain from the WorkMail console. You can also associate a domain that is managed
/// in an Amazon Route 53 public hosted zone. For more information, see Adding
/// a domain and Choosing
/// the default domain in the WorkMail Administrator Guide.
///
///
///
/// Optionally, you can use a customer managed key from AWS Key Management Service (AWS
/// KMS) to encrypt email for your organization. If you don't associate an AWS KMS key,
/// WorkMail creates a default, AWS managed key for you.
///
///
/// Container for the necessary parameters to execute the CreateOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateOrganization service method, as returned by WorkMail.
///
/// The directory is already in use by another WorkMail organization in the same account
/// and Region.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
/// REST API Reference for CreateOrganization Operation
Task CreateOrganizationAsync(CreateOrganizationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateResource
///
/// Creates a new WorkMail resource.
///
/// Container for the necessary parameters to execute the CreateResource service method.
///
/// The response from the CreateResource service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// This user, group, or resource name is not allowed in WorkMail.
///
/// REST API Reference for CreateResource Operation
CreateResourceResponse CreateResource(CreateResourceRequest request);
///
/// Creates a new WorkMail resource.
///
/// Container for the necessary parameters to execute the CreateResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateResource service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// This user, group, or resource name is not allowed in WorkMail.
///
/// REST API Reference for CreateResource Operation
Task CreateResourceAsync(CreateResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateUser
///
/// Creates a user who can be used in WorkMail by calling the RegisterToWorkMail
/// operation.
///
/// Container for the necessary parameters to execute the CreateUser service method.
///
/// The response from the CreateUser service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The supplied password doesn't match the minimum security constraints, such as length
/// or use of special characters.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// This user, group, or resource name is not allowed in WorkMail.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for CreateUser Operation
CreateUserResponse CreateUser(CreateUserRequest request);
///
/// Creates a user who can be used in WorkMail by calling the RegisterToWorkMail
/// operation.
///
/// Container for the necessary parameters to execute the CreateUser service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateUser service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The supplied password doesn't match the minimum security constraints, such as length
/// or use of special characters.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// This user, group, or resource name is not allowed in WorkMail.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for CreateUser Operation
Task CreateUserAsync(CreateUserRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteAccessControlRule
///
/// Deletes an access control rule for the specified WorkMail organization.
///
///
///
/// Deleting already deleted and non-existing rules does not produce an error. In those
/// cases, the service sends back an HTTP 200 response with an empty HTTP body.
///
///
///
/// Container for the necessary parameters to execute the DeleteAccessControlRule service method.
///
/// The response from the DeleteAccessControlRule service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteAccessControlRule Operation
DeleteAccessControlRuleResponse DeleteAccessControlRule(DeleteAccessControlRuleRequest request);
///
/// Deletes an access control rule for the specified WorkMail organization.
///
///
///
/// Deleting already deleted and non-existing rules does not produce an error. In those
/// cases, the service sends back an HTTP 200 response with an empty HTTP body.
///
///
///
/// Container for the necessary parameters to execute the DeleteAccessControlRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAccessControlRule service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteAccessControlRule Operation
Task DeleteAccessControlRuleAsync(DeleteAccessControlRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteAlias
///
/// Remove one or more specified aliases from a set of aliases for a given user.
///
/// Container for the necessary parameters to execute the DeleteAlias service method.
///
/// The response from the DeleteAlias service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteAlias Operation
DeleteAliasResponse DeleteAlias(DeleteAliasRequest request);
///
/// Remove one or more specified aliases from a set of aliases for a given user.
///
/// Container for the necessary parameters to execute the DeleteAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAlias service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteAlias Operation
Task DeleteAliasAsync(DeleteAliasRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteAvailabilityConfiguration
///
/// Deletes the AvailabilityConfiguration
for the given WorkMail organization
/// and domain.
///
/// Container for the necessary parameters to execute the DeleteAvailabilityConfiguration service method.
///
/// The response from the DeleteAvailabilityConfiguration service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteAvailabilityConfiguration Operation
DeleteAvailabilityConfigurationResponse DeleteAvailabilityConfiguration(DeleteAvailabilityConfigurationRequest request);
///
/// Deletes the AvailabilityConfiguration
for the given WorkMail organization
/// and domain.
///
/// Container for the necessary parameters to execute the DeleteAvailabilityConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAvailabilityConfiguration service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteAvailabilityConfiguration Operation
Task DeleteAvailabilityConfigurationAsync(DeleteAvailabilityConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteEmailMonitoringConfiguration
///
/// Deletes the email monitoring configuration for a specified organization.
///
/// Container for the necessary parameters to execute the DeleteEmailMonitoringConfiguration service method.
///
/// The response from the DeleteEmailMonitoringConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteEmailMonitoringConfiguration Operation
DeleteEmailMonitoringConfigurationResponse DeleteEmailMonitoringConfiguration(DeleteEmailMonitoringConfigurationRequest request);
///
/// Deletes the email monitoring configuration for a specified organization.
///
/// Container for the necessary parameters to execute the DeleteEmailMonitoringConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteEmailMonitoringConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteEmailMonitoringConfiguration Operation
Task DeleteEmailMonitoringConfigurationAsync(DeleteEmailMonitoringConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteGroup
///
/// Deletes a group from WorkMail.
///
/// Container for the necessary parameters to execute the DeleteGroup service method.
///
/// The response from the DeleteGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for DeleteGroup Operation
DeleteGroupResponse DeleteGroup(DeleteGroupRequest request);
///
/// Deletes a group from WorkMail.
///
/// Container for the necessary parameters to execute the DeleteGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for DeleteGroup Operation
Task DeleteGroupAsync(DeleteGroupRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteImpersonationRole
///
/// Deletes an impersonation role for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the DeleteImpersonationRole service method.
///
/// The response from the DeleteImpersonationRole service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteImpersonationRole Operation
DeleteImpersonationRoleResponse DeleteImpersonationRole(DeleteImpersonationRoleRequest request);
///
/// Deletes an impersonation role for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the DeleteImpersonationRole service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteImpersonationRole service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteImpersonationRole Operation
Task DeleteImpersonationRoleAsync(DeleteImpersonationRoleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteMailboxPermissions
///
/// Deletes permissions granted to a member (user or group).
///
/// Container for the necessary parameters to execute the DeleteMailboxPermissions service method.
///
/// The response from the DeleteMailboxPermissions service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteMailboxPermissions Operation
DeleteMailboxPermissionsResponse DeleteMailboxPermissions(DeleteMailboxPermissionsRequest request);
///
/// Deletes permissions granted to a member (user or group).
///
/// Container for the necessary parameters to execute the DeleteMailboxPermissions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteMailboxPermissions service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteMailboxPermissions Operation
Task DeleteMailboxPermissionsAsync(DeleteMailboxPermissionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteMobileDeviceAccessOverride
///
/// Deletes the mobile device access override for the given WorkMail organization, user,
/// and device.
///
///
///
/// Deleting already deleted and non-existing overrides does not produce an error. In
/// those cases, the service sends back an HTTP 200 response with an empty HTTP body.
///
///
///
/// Container for the necessary parameters to execute the DeleteMobileDeviceAccessOverride service method.
///
/// The response from the DeleteMobileDeviceAccessOverride service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteMobileDeviceAccessOverride Operation
DeleteMobileDeviceAccessOverrideResponse DeleteMobileDeviceAccessOverride(DeleteMobileDeviceAccessOverrideRequest request);
///
/// Deletes the mobile device access override for the given WorkMail organization, user,
/// and device.
///
///
///
/// Deleting already deleted and non-existing overrides does not produce an error. In
/// those cases, the service sends back an HTTP 200 response with an empty HTTP body.
///
///
///
/// Container for the necessary parameters to execute the DeleteMobileDeviceAccessOverride service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteMobileDeviceAccessOverride service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteMobileDeviceAccessOverride Operation
Task DeleteMobileDeviceAccessOverrideAsync(DeleteMobileDeviceAccessOverrideRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteMobileDeviceAccessRule
///
/// Deletes a mobile device access rule for the specified WorkMail organization.
///
///
///
/// Deleting already deleted and non-existing rules does not produce an error. In those
/// cases, the service sends back an HTTP 200 response with an empty HTTP body.
///
///
///
/// Container for the necessary parameters to execute the DeleteMobileDeviceAccessRule service method.
///
/// The response from the DeleteMobileDeviceAccessRule service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteMobileDeviceAccessRule Operation
DeleteMobileDeviceAccessRuleResponse DeleteMobileDeviceAccessRule(DeleteMobileDeviceAccessRuleRequest request);
///
/// Deletes a mobile device access rule for the specified WorkMail organization.
///
///
///
/// Deleting already deleted and non-existing rules does not produce an error. In those
/// cases, the service sends back an HTTP 200 response with an empty HTTP body.
///
///
///
/// Container for the necessary parameters to execute the DeleteMobileDeviceAccessRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteMobileDeviceAccessRule service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteMobileDeviceAccessRule Operation
Task DeleteMobileDeviceAccessRuleAsync(DeleteMobileDeviceAccessRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteOrganization
///
/// Deletes an WorkMail organization and all underlying AWS resources managed by WorkMail
/// as part of the organization. You can choose whether to delete the associated directory.
/// For more information, see Removing
/// an organization in the WorkMail Administrator Guide.
///
/// Container for the necessary parameters to execute the DeleteOrganization service method.
///
/// The response from the DeleteOrganization service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteOrganization Operation
DeleteOrganizationResponse DeleteOrganization(DeleteOrganizationRequest request);
///
/// Deletes an WorkMail organization and all underlying AWS resources managed by WorkMail
/// as part of the organization. You can choose whether to delete the associated directory.
/// For more information, see Removing
/// an organization in the WorkMail Administrator Guide.
///
/// Container for the necessary parameters to execute the DeleteOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteOrganization service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteOrganization Operation
Task DeleteOrganizationAsync(DeleteOrganizationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteResource
///
/// Deletes the specified resource.
///
/// Container for the necessary parameters to execute the DeleteResource service method.
///
/// The response from the DeleteResource service method, as returned by WorkMail.
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteResource Operation
DeleteResourceResponse DeleteResource(DeleteResourceRequest request);
///
/// Deletes the specified resource.
///
/// Container for the necessary parameters to execute the DeleteResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteResource service method, as returned by WorkMail.
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteResource Operation
Task DeleteResourceAsync(DeleteResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteRetentionPolicy
///
/// Deletes the specified retention policy from the specified organization.
///
/// Container for the necessary parameters to execute the DeleteRetentionPolicy service method.
///
/// The response from the DeleteRetentionPolicy service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteRetentionPolicy Operation
DeleteRetentionPolicyResponse DeleteRetentionPolicy(DeleteRetentionPolicyRequest request);
///
/// Deletes the specified retention policy from the specified organization.
///
/// Container for the necessary parameters to execute the DeleteRetentionPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteRetentionPolicy service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeleteRetentionPolicy Operation
Task DeleteRetentionPolicyAsync(DeleteRetentionPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteUser
///
/// Deletes a user from WorkMail and all subsequent systems. Before you can delete a user,
/// the user state must be DISABLED
. Use the DescribeUser action to
/// confirm the user state.
///
///
///
/// Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes
/// for 30 days before they are permanently removed.
///
///
/// Container for the necessary parameters to execute the DeleteUser service method.
///
/// The response from the DeleteUser service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for DeleteUser Operation
DeleteUserResponse DeleteUser(DeleteUserRequest request);
///
/// Deletes a user from WorkMail and all subsequent systems. Before you can delete a user,
/// the user state must be DISABLED
. Use the DescribeUser action to
/// confirm the user state.
///
///
///
/// Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes
/// for 30 days before they are permanently removed.
///
///
/// Container for the necessary parameters to execute the DeleteUser service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteUser service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for DeleteUser Operation
Task DeleteUserAsync(DeleteUserRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeregisterFromWorkMail
///
/// Mark a user, group, or resource as no longer used in WorkMail. This action disassociates
/// the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before
/// they are permanently removed. The functionality in the console is Disable.
///
/// Container for the necessary parameters to execute the DeregisterFromWorkMail service method.
///
/// The response from the DeregisterFromWorkMail service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeregisterFromWorkMail Operation
DeregisterFromWorkMailResponse DeregisterFromWorkMail(DeregisterFromWorkMailRequest request);
///
/// Mark a user, group, or resource as no longer used in WorkMail. This action disassociates
/// the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before
/// they are permanently removed. The functionality in the console is Disable.
///
/// Container for the necessary parameters to execute the DeregisterFromWorkMail service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeregisterFromWorkMail service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeregisterFromWorkMail Operation
Task DeregisterFromWorkMailAsync(DeregisterFromWorkMailRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeregisterMailDomain
///
/// Removes a domain from WorkMail, stops email routing to WorkMail, and removes the authorization
/// allowing WorkMail use. SES keeps the domain because other applications may use it.
/// You must first remove any email address used by WorkMail entities before you remove
/// the domain.
///
/// Container for the necessary parameters to execute the DeregisterMailDomain service method.
///
/// The response from the DeregisterMailDomain service method, as returned by WorkMail.
///
/// You SES configuration has customizations that WorkMail cannot save. The error message
/// lists the invalid setting. For examples of invalid settings, refer to CreateReceiptRule.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain you're trying to change is in use by another user or organization in your
/// account. See the error message for details.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeregisterMailDomain Operation
DeregisterMailDomainResponse DeregisterMailDomain(DeregisterMailDomainRequest request);
///
/// Removes a domain from WorkMail, stops email routing to WorkMail, and removes the authorization
/// allowing WorkMail use. SES keeps the domain because other applications may use it.
/// You must first remove any email address used by WorkMail entities before you remove
/// the domain.
///
/// Container for the necessary parameters to execute the DeregisterMailDomain service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeregisterMailDomain service method, as returned by WorkMail.
///
/// You SES configuration has customizations that WorkMail cannot save. The error message
/// lists the invalid setting. For examples of invalid settings, refer to CreateReceiptRule.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain you're trying to change is in use by another user or organization in your
/// account. See the error message for details.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DeregisterMailDomain Operation
Task DeregisterMailDomainAsync(DeregisterMailDomainRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeEmailMonitoringConfiguration
///
/// Describes the current email monitoring configuration for a specified organization.
///
/// Container for the necessary parameters to execute the DescribeEmailMonitoringConfiguration service method.
///
/// The response from the DescribeEmailMonitoringConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for DescribeEmailMonitoringConfiguration Operation
DescribeEmailMonitoringConfigurationResponse DescribeEmailMonitoringConfiguration(DescribeEmailMonitoringConfigurationRequest request);
///
/// Describes the current email monitoring configuration for a specified organization.
///
/// Container for the necessary parameters to execute the DescribeEmailMonitoringConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEmailMonitoringConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for DescribeEmailMonitoringConfiguration Operation
Task DescribeEmailMonitoringConfigurationAsync(DescribeEmailMonitoringConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeGroup
///
/// Returns the data available for the group.
///
/// Container for the necessary parameters to execute the DescribeGroup service method.
///
/// The response from the DescribeGroup service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeGroup Operation
DescribeGroupResponse DescribeGroup(DescribeGroupRequest request);
///
/// Returns the data available for the group.
///
/// Container for the necessary parameters to execute the DescribeGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeGroup service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeGroup Operation
Task DescribeGroupAsync(DescribeGroupRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeInboundDmarcSettings
///
/// Lists the settings in a DMARC policy for a specified organization.
///
/// Container for the necessary parameters to execute the DescribeInboundDmarcSettings service method.
///
/// The response from the DescribeInboundDmarcSettings service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeInboundDmarcSettings Operation
DescribeInboundDmarcSettingsResponse DescribeInboundDmarcSettings(DescribeInboundDmarcSettingsRequest request);
///
/// Lists the settings in a DMARC policy for a specified organization.
///
/// Container for the necessary parameters to execute the DescribeInboundDmarcSettings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeInboundDmarcSettings service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeInboundDmarcSettings Operation
Task DescribeInboundDmarcSettingsAsync(DescribeInboundDmarcSettingsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeMailboxExportJob
///
/// Describes the current status of a mailbox export job.
///
/// Container for the necessary parameters to execute the DescribeMailboxExportJob service method.
///
/// The response from the DescribeMailboxExportJob service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeMailboxExportJob Operation
DescribeMailboxExportJobResponse DescribeMailboxExportJob(DescribeMailboxExportJobRequest request);
///
/// Describes the current status of a mailbox export job.
///
/// Container for the necessary parameters to execute the DescribeMailboxExportJob service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeMailboxExportJob service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeMailboxExportJob Operation
Task DescribeMailboxExportJobAsync(DescribeMailboxExportJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeOrganization
///
/// Provides more information regarding a given organization based on its identifier.
///
/// Container for the necessary parameters to execute the DescribeOrganization service method.
///
/// The response from the DescribeOrganization service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
/// REST API Reference for DescribeOrganization Operation
DescribeOrganizationResponse DescribeOrganization(DescribeOrganizationRequest request);
///
/// Provides more information regarding a given organization based on its identifier.
///
/// Container for the necessary parameters to execute the DescribeOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeOrganization service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
/// REST API Reference for DescribeOrganization Operation
Task DescribeOrganizationAsync(DescribeOrganizationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeResource
///
/// Returns the data available for the resource.
///
/// Container for the necessary parameters to execute the DescribeResource service method.
///
/// The response from the DescribeResource service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeResource Operation
DescribeResourceResponse DescribeResource(DescribeResourceRequest request);
///
/// Returns the data available for the resource.
///
/// Container for the necessary parameters to execute the DescribeResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeResource service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeResource Operation
Task DescribeResourceAsync(DescribeResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeUser
///
/// Provides information regarding the user.
///
/// Container for the necessary parameters to execute the DescribeUser service method.
///
/// The response from the DescribeUser service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeUser Operation
DescribeUserResponse DescribeUser(DescribeUserRequest request);
///
/// Provides information regarding the user.
///
/// Container for the necessary parameters to execute the DescribeUser service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeUser service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DescribeUser Operation
Task DescribeUserAsync(DescribeUserRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisassociateDelegateFromResource
///
/// Removes a member from the resource's set of delegates.
///
/// Container for the necessary parameters to execute the DisassociateDelegateFromResource service method.
///
/// The response from the DisassociateDelegateFromResource service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DisassociateDelegateFromResource Operation
DisassociateDelegateFromResourceResponse DisassociateDelegateFromResource(DisassociateDelegateFromResourceRequest request);
///
/// Removes a member from the resource's set of delegates.
///
/// Container for the necessary parameters to execute the DisassociateDelegateFromResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisassociateDelegateFromResource service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for DisassociateDelegateFromResource Operation
Task DisassociateDelegateFromResourceAsync(DisassociateDelegateFromResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisassociateMemberFromGroup
///
/// Removes a member from a group.
///
/// Container for the necessary parameters to execute the DisassociateMemberFromGroup service method.
///
/// The response from the DisassociateMemberFromGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for DisassociateMemberFromGroup Operation
DisassociateMemberFromGroupResponse DisassociateMemberFromGroup(DisassociateMemberFromGroupRequest request);
///
/// Removes a member from a group.
///
/// Container for the necessary parameters to execute the DisassociateMemberFromGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisassociateMemberFromGroup service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for DisassociateMemberFromGroup Operation
Task DisassociateMemberFromGroupAsync(DisassociateMemberFromGroupRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAccessControlEffect
///
/// Gets the effects of an organization's access control rules as they apply to a specified
/// IPv4 address, access protocol action, and user ID or impersonation role ID. You must
/// provide either the user ID or impersonation role ID. Impersonation role ID can only
/// be used with Action EWS.
///
/// Container for the necessary parameters to execute the GetAccessControlEffect service method.
///
/// The response from the GetAccessControlEffect service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetAccessControlEffect Operation
GetAccessControlEffectResponse GetAccessControlEffect(GetAccessControlEffectRequest request);
///
/// Gets the effects of an organization's access control rules as they apply to a specified
/// IPv4 address, access protocol action, and user ID or impersonation role ID. You must
/// provide either the user ID or impersonation role ID. Impersonation role ID can only
/// be used with Action EWS.
///
/// Container for the necessary parameters to execute the GetAccessControlEffect service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAccessControlEffect service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetAccessControlEffect Operation
Task GetAccessControlEffectAsync(GetAccessControlEffectRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetDefaultRetentionPolicy
///
/// Gets the default retention policy details for the specified organization.
///
/// Container for the necessary parameters to execute the GetDefaultRetentionPolicy service method.
///
/// The response from the GetDefaultRetentionPolicy service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetDefaultRetentionPolicy Operation
GetDefaultRetentionPolicyResponse GetDefaultRetentionPolicy(GetDefaultRetentionPolicyRequest request);
///
/// Gets the default retention policy details for the specified organization.
///
/// Container for the necessary parameters to execute the GetDefaultRetentionPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetDefaultRetentionPolicy service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetDefaultRetentionPolicy Operation
Task GetDefaultRetentionPolicyAsync(GetDefaultRetentionPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetImpersonationRole
///
/// Gets the impersonation role details for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the GetImpersonationRole service method.
///
/// The response from the GetImpersonationRole service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetImpersonationRole Operation
GetImpersonationRoleResponse GetImpersonationRole(GetImpersonationRoleRequest request);
///
/// Gets the impersonation role details for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the GetImpersonationRole service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetImpersonationRole service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetImpersonationRole Operation
Task GetImpersonationRoleAsync(GetImpersonationRoleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetImpersonationRoleEffect
///
/// Tests whether the given impersonation role can impersonate a target user.
///
/// Container for the necessary parameters to execute the GetImpersonationRoleEffect service method.
///
/// The response from the GetImpersonationRoleEffect service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetImpersonationRoleEffect Operation
GetImpersonationRoleEffectResponse GetImpersonationRoleEffect(GetImpersonationRoleEffectRequest request);
///
/// Tests whether the given impersonation role can impersonate a target user.
///
/// Container for the necessary parameters to execute the GetImpersonationRoleEffect service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetImpersonationRoleEffect service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetImpersonationRoleEffect Operation
Task GetImpersonationRoleEffectAsync(GetImpersonationRoleEffectRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetMailboxDetails
///
/// Requests a user's mailbox details for a specified organization and user.
///
/// Container for the necessary parameters to execute the GetMailboxDetails service method.
///
/// The response from the GetMailboxDetails service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetMailboxDetails Operation
GetMailboxDetailsResponse GetMailboxDetails(GetMailboxDetailsRequest request);
///
/// Requests a user's mailbox details for a specified organization and user.
///
/// Container for the necessary parameters to execute the GetMailboxDetails service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetMailboxDetails service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetMailboxDetails Operation
Task GetMailboxDetailsAsync(GetMailboxDetailsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetMailDomain
///
/// Gets details for a mail domain, including domain records required to configure your
/// domain with recommended security.
///
/// Container for the necessary parameters to execute the GetMailDomain service method.
///
/// The response from the GetMailDomain service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetMailDomain Operation
GetMailDomainResponse GetMailDomain(GetMailDomainRequest request);
///
/// Gets details for a mail domain, including domain records required to configure your
/// domain with recommended security.
///
/// Container for the necessary parameters to execute the GetMailDomain service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetMailDomain service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetMailDomain Operation
Task GetMailDomainAsync(GetMailDomainRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetMobileDeviceAccessEffect
///
/// Simulates the effect of the mobile device access rules for the given attributes of
/// a sample access event. Use this method to test the effects of the current set of mobile
/// device access rules for the WorkMail organization for a particular user's attributes.
///
/// Container for the necessary parameters to execute the GetMobileDeviceAccessEffect service method.
///
/// The response from the GetMobileDeviceAccessEffect service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetMobileDeviceAccessEffect Operation
GetMobileDeviceAccessEffectResponse GetMobileDeviceAccessEffect(GetMobileDeviceAccessEffectRequest request);
///
/// Simulates the effect of the mobile device access rules for the given attributes of
/// a sample access event. Use this method to test the effects of the current set of mobile
/// device access rules for the WorkMail organization for a particular user's attributes.
///
/// Container for the necessary parameters to execute the GetMobileDeviceAccessEffect service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetMobileDeviceAccessEffect service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for GetMobileDeviceAccessEffect Operation
Task GetMobileDeviceAccessEffectAsync(GetMobileDeviceAccessEffectRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetMobileDeviceAccessOverride
///
/// Gets the mobile device access override for the given WorkMail organization, user,
/// and device.
///
/// Container for the necessary parameters to execute the GetMobileDeviceAccessOverride service method.
///
/// The response from the GetMobileDeviceAccessOverride service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetMobileDeviceAccessOverride Operation
GetMobileDeviceAccessOverrideResponse GetMobileDeviceAccessOverride(GetMobileDeviceAccessOverrideRequest request);
///
/// Gets the mobile device access override for the given WorkMail organization, user,
/// and device.
///
/// Container for the necessary parameters to execute the GetMobileDeviceAccessOverride service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetMobileDeviceAccessOverride service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for GetMobileDeviceAccessOverride Operation
Task GetMobileDeviceAccessOverrideAsync(GetMobileDeviceAccessOverrideRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAccessControlRules
///
/// Lists the access control rules for the specified organization.
///
/// Container for the necessary parameters to execute the ListAccessControlRules service method.
///
/// The response from the ListAccessControlRules service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListAccessControlRules Operation
ListAccessControlRulesResponse ListAccessControlRules(ListAccessControlRulesRequest request);
///
/// Lists the access control rules for the specified organization.
///
/// Container for the necessary parameters to execute the ListAccessControlRules service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAccessControlRules service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListAccessControlRules Operation
Task ListAccessControlRulesAsync(ListAccessControlRulesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAliases
///
/// Creates a paginated call to list the aliases associated with a given entity.
///
/// Container for the necessary parameters to execute the ListAliases service method.
///
/// The response from the ListAliases service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListAliases Operation
ListAliasesResponse ListAliases(ListAliasesRequest request);
///
/// Creates a paginated call to list the aliases associated with a given entity.
///
/// Container for the necessary parameters to execute the ListAliases service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAliases service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListAliases Operation
Task ListAliasesAsync(ListAliasesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAvailabilityConfigurations
///
/// List all the AvailabilityConfiguration
's for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the ListAvailabilityConfigurations service method.
///
/// The response from the ListAvailabilityConfigurations service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListAvailabilityConfigurations Operation
ListAvailabilityConfigurationsResponse ListAvailabilityConfigurations(ListAvailabilityConfigurationsRequest request);
///
/// List all the AvailabilityConfiguration
's for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the ListAvailabilityConfigurations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAvailabilityConfigurations service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListAvailabilityConfigurations Operation
Task ListAvailabilityConfigurationsAsync(ListAvailabilityConfigurationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListGroupMembers
///
/// Returns an overview of the members of a group. Users and groups can be members of
/// a group.
///
/// Container for the necessary parameters to execute the ListGroupMembers service method.
///
/// The response from the ListGroupMembers service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListGroupMembers Operation
ListGroupMembersResponse ListGroupMembers(ListGroupMembersRequest request);
///
/// Returns an overview of the members of a group. Users and groups can be members of
/// a group.
///
/// Container for the necessary parameters to execute the ListGroupMembers service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListGroupMembers service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListGroupMembers Operation
Task ListGroupMembersAsync(ListGroupMembersRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListGroups
///
/// Returns summaries of the organization's groups.
///
/// Container for the necessary parameters to execute the ListGroups service method.
///
/// The response from the ListGroups service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListGroups Operation
ListGroupsResponse ListGroups(ListGroupsRequest request);
///
/// Returns summaries of the organization's groups.
///
/// Container for the necessary parameters to execute the ListGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListGroups service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListGroups Operation
Task ListGroupsAsync(ListGroupsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListImpersonationRoles
///
/// Lists all the impersonation roles for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the ListImpersonationRoles service method.
///
/// The response from the ListImpersonationRoles service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListImpersonationRoles Operation
ListImpersonationRolesResponse ListImpersonationRoles(ListImpersonationRolesRequest request);
///
/// Lists all the impersonation roles for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the ListImpersonationRoles service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListImpersonationRoles service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListImpersonationRoles Operation
Task ListImpersonationRolesAsync(ListImpersonationRolesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListMailboxExportJobs
///
/// Lists the mailbox export jobs started for the specified organization within the last
/// seven days.
///
/// Container for the necessary parameters to execute the ListMailboxExportJobs service method.
///
/// The response from the ListMailboxExportJobs service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMailboxExportJobs Operation
ListMailboxExportJobsResponse ListMailboxExportJobs(ListMailboxExportJobsRequest request);
///
/// Lists the mailbox export jobs started for the specified organization within the last
/// seven days.
///
/// Container for the necessary parameters to execute the ListMailboxExportJobs service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListMailboxExportJobs service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMailboxExportJobs Operation
Task ListMailboxExportJobsAsync(ListMailboxExportJobsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListMailboxPermissions
///
/// Lists the mailbox permissions associated with a user, group, or resource mailbox.
///
/// Container for the necessary parameters to execute the ListMailboxPermissions service method.
///
/// The response from the ListMailboxPermissions service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMailboxPermissions Operation
ListMailboxPermissionsResponse ListMailboxPermissions(ListMailboxPermissionsRequest request);
///
/// Lists the mailbox permissions associated with a user, group, or resource mailbox.
///
/// Container for the necessary parameters to execute the ListMailboxPermissions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListMailboxPermissions service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMailboxPermissions Operation
Task ListMailboxPermissionsAsync(ListMailboxPermissionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListMailDomains
///
/// Lists the mail domains in a given WorkMail organization.
///
/// Container for the necessary parameters to execute the ListMailDomains service method.
///
/// The response from the ListMailDomains service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMailDomains Operation
ListMailDomainsResponse ListMailDomains(ListMailDomainsRequest request);
///
/// Lists the mail domains in a given WorkMail organization.
///
/// Container for the necessary parameters to execute the ListMailDomains service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListMailDomains service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMailDomains Operation
Task ListMailDomainsAsync(ListMailDomainsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListMobileDeviceAccessOverrides
///
/// Lists all the mobile device access overrides for any given combination of WorkMail
/// organization, user, or device.
///
/// Container for the necessary parameters to execute the ListMobileDeviceAccessOverrides service method.
///
/// The response from the ListMobileDeviceAccessOverrides service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMobileDeviceAccessOverrides Operation
ListMobileDeviceAccessOverridesResponse ListMobileDeviceAccessOverrides(ListMobileDeviceAccessOverridesRequest request);
///
/// Lists all the mobile device access overrides for any given combination of WorkMail
/// organization, user, or device.
///
/// Container for the necessary parameters to execute the ListMobileDeviceAccessOverrides service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListMobileDeviceAccessOverrides service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMobileDeviceAccessOverrides Operation
Task ListMobileDeviceAccessOverridesAsync(ListMobileDeviceAccessOverridesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListMobileDeviceAccessRules
///
/// Lists the mobile device access rules for the specified WorkMail organization.
///
/// Container for the necessary parameters to execute the ListMobileDeviceAccessRules service method.
///
/// The response from the ListMobileDeviceAccessRules service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMobileDeviceAccessRules Operation
ListMobileDeviceAccessRulesResponse ListMobileDeviceAccessRules(ListMobileDeviceAccessRulesRequest request);
///
/// Lists the mobile device access rules for the specified WorkMail organization.
///
/// Container for the necessary parameters to execute the ListMobileDeviceAccessRules service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListMobileDeviceAccessRules service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListMobileDeviceAccessRules Operation
Task ListMobileDeviceAccessRulesAsync(ListMobileDeviceAccessRulesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListOrganizations
///
/// Returns summaries of the customer's organizations.
///
/// Container for the necessary parameters to execute the ListOrganizations service method.
///
/// The response from the ListOrganizations service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
/// REST API Reference for ListOrganizations Operation
ListOrganizationsResponse ListOrganizations(ListOrganizationsRequest request);
///
/// Returns summaries of the customer's organizations.
///
/// Container for the necessary parameters to execute the ListOrganizations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListOrganizations service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
/// REST API Reference for ListOrganizations Operation
Task ListOrganizationsAsync(ListOrganizationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListResourceDelegates
///
/// Lists the delegates associated with a resource. Users and groups can be resource delegates
/// and answer requests on behalf of the resource.
///
/// Container for the necessary parameters to execute the ListResourceDelegates service method.
///
/// The response from the ListResourceDelegates service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListResourceDelegates Operation
ListResourceDelegatesResponse ListResourceDelegates(ListResourceDelegatesRequest request);
///
/// Lists the delegates associated with a resource. Users and groups can be resource delegates
/// and answer requests on behalf of the resource.
///
/// Container for the necessary parameters to execute the ListResourceDelegates service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListResourceDelegates service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListResourceDelegates Operation
Task ListResourceDelegatesAsync(ListResourceDelegatesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListResources
///
/// Returns summaries of the organization's resources.
///
/// Container for the necessary parameters to execute the ListResources service method.
///
/// The response from the ListResources service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListResources Operation
ListResourcesResponse ListResources(ListResourcesRequest request);
///
/// Returns summaries of the organization's resources.
///
/// Container for the necessary parameters to execute the ListResources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListResources service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListResources Operation
Task ListResourcesAsync(ListResourcesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists the tags applied to an WorkMail organization resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by WorkMail.
///
/// The resource cannot be found.
///
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
///
/// Lists the tags applied to an WorkMail organization resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by WorkMail.
///
/// The resource cannot be found.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListUsers
///
/// Returns summaries of the organization's users.
///
/// Container for the necessary parameters to execute the ListUsers service method.
///
/// The response from the ListUsers service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListUsers Operation
ListUsersResponse ListUsers(ListUsersRequest request);
///
/// Returns summaries of the organization's users.
///
/// Container for the necessary parameters to execute the ListUsers service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListUsers service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for ListUsers Operation
Task ListUsersAsync(ListUsersRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutAccessControlRule
///
/// Adds a new access control rule for the specified organization. The rule allows or
/// denies access to the organization for the specified IPv4 addresses, access protocol
/// actions, user IDs and impersonation IDs. Adding a new rule with the same name as an
/// existing rule replaces the older rule.
///
/// Container for the necessary parameters to execute the PutAccessControlRule service method.
///
/// The response from the PutAccessControlRule service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for PutAccessControlRule Operation
PutAccessControlRuleResponse PutAccessControlRule(PutAccessControlRuleRequest request);
///
/// Adds a new access control rule for the specified organization. The rule allows or
/// denies access to the organization for the specified IPv4 addresses, access protocol
/// actions, user IDs and impersonation IDs. Adding a new rule with the same name as an
/// existing rule replaces the older rule.
///
/// Container for the necessary parameters to execute the PutAccessControlRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutAccessControlRule service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for PutAccessControlRule Operation
Task PutAccessControlRuleAsync(PutAccessControlRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutEmailMonitoringConfiguration
///
/// Creates or updates the email monitoring configuration for a specified organization.
///
/// Container for the necessary parameters to execute the PutEmailMonitoringConfiguration service method.
///
/// The response from the PutEmailMonitoringConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for PutEmailMonitoringConfiguration Operation
PutEmailMonitoringConfigurationResponse PutEmailMonitoringConfiguration(PutEmailMonitoringConfigurationRequest request);
///
/// Creates or updates the email monitoring configuration for a specified organization.
///
/// Container for the necessary parameters to execute the PutEmailMonitoringConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutEmailMonitoringConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for PutEmailMonitoringConfiguration Operation
Task PutEmailMonitoringConfigurationAsync(PutEmailMonitoringConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutInboundDmarcSettings
///
/// Enables or disables a DMARC policy for a given organization.
///
/// Container for the necessary parameters to execute the PutInboundDmarcSettings service method.
///
/// The response from the PutInboundDmarcSettings service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutInboundDmarcSettings Operation
PutInboundDmarcSettingsResponse PutInboundDmarcSettings(PutInboundDmarcSettingsRequest request);
///
/// Enables or disables a DMARC policy for a given organization.
///
/// Container for the necessary parameters to execute the PutInboundDmarcSettings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutInboundDmarcSettings service method, as returned by WorkMail.
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutInboundDmarcSettings Operation
Task PutInboundDmarcSettingsAsync(PutInboundDmarcSettingsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutMailboxPermissions
///
/// Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.
///
/// Container for the necessary parameters to execute the PutMailboxPermissions service method.
///
/// The response from the PutMailboxPermissions service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutMailboxPermissions Operation
PutMailboxPermissionsResponse PutMailboxPermissions(PutMailboxPermissionsRequest request);
///
/// Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.
///
/// Container for the necessary parameters to execute the PutMailboxPermissions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutMailboxPermissions service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutMailboxPermissions Operation
Task PutMailboxPermissionsAsync(PutMailboxPermissionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutMobileDeviceAccessOverride
///
/// Creates or updates a mobile device access override for the given WorkMail organization,
/// user, and device.
///
/// Container for the necessary parameters to execute the PutMobileDeviceAccessOverride service method.
///
/// The response from the PutMobileDeviceAccessOverride service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutMobileDeviceAccessOverride Operation
PutMobileDeviceAccessOverrideResponse PutMobileDeviceAccessOverride(PutMobileDeviceAccessOverrideRequest request);
///
/// Creates or updates a mobile device access override for the given WorkMail organization,
/// user, and device.
///
/// Container for the necessary parameters to execute the PutMobileDeviceAccessOverride service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutMobileDeviceAccessOverride service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutMobileDeviceAccessOverride Operation
Task PutMobileDeviceAccessOverrideAsync(PutMobileDeviceAccessOverrideRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutRetentionPolicy
///
/// Puts a retention policy to the specified organization.
///
/// Container for the necessary parameters to execute the PutRetentionPolicy service method.
///
/// The response from the PutRetentionPolicy service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutRetentionPolicy Operation
PutRetentionPolicyResponse PutRetentionPolicy(PutRetentionPolicyRequest request);
///
/// Puts a retention policy to the specified organization.
///
/// Container for the necessary parameters to execute the PutRetentionPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutRetentionPolicy service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for PutRetentionPolicy Operation
Task PutRetentionPolicyAsync(PutRetentionPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region RegisterMailDomain
///
/// Registers a new domain in WorkMail and SES, and configures it for use by WorkMail.
/// Emails received by SES for this domain are routed to the specified WorkMail organization,
/// and WorkMail has permanent permission to use the specified domain for sending your
/// users' emails.
///
/// Container for the necessary parameters to execute the RegisterMailDomain service method.
///
/// The response from the RegisterMailDomain service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The domain you're trying to change is in use by another user or organization in your
/// account. See the error message for details.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for RegisterMailDomain Operation
RegisterMailDomainResponse RegisterMailDomain(RegisterMailDomainRequest request);
///
/// Registers a new domain in WorkMail and SES, and configures it for use by WorkMail.
/// Emails received by SES for this domain are routed to the specified WorkMail organization,
/// and WorkMail has permanent permission to use the specified domain for sending your
/// users' emails.
///
/// Container for the necessary parameters to execute the RegisterMailDomain service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RegisterMailDomain service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// The domain you're trying to change is in use by another user or organization in your
/// account. See the error message for details.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for RegisterMailDomain Operation
Task RegisterMailDomainAsync(RegisterMailDomainRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region RegisterToWorkMail
///
/// Registers an existing and disabled user, group, or resource for WorkMail use by associating
/// a mailbox and calendaring capabilities. It performs no change if the user, group,
/// or resource is enabled and fails if the user, group, or resource is deleted. This
/// operation results in the accumulation of costs. For more information, see Pricing.
/// The equivalent console functionality for this operation is Enable.
///
///
///
/// Users can either be created by calling the CreateUser API operation or they
/// can be synchronized from your directory. For more information, see DeregisterFromWorkMail.
///
///
/// Container for the necessary parameters to execute the RegisterToWorkMail service method.
///
/// The response from the RegisterToWorkMail service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The user, group, or resource that you're trying to register is already registered.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for RegisterToWorkMail Operation
RegisterToWorkMailResponse RegisterToWorkMail(RegisterToWorkMailRequest request);
///
/// Registers an existing and disabled user, group, or resource for WorkMail use by associating
/// a mailbox and calendaring capabilities. It performs no change if the user, group,
/// or resource is enabled and fails if the user, group, or resource is deleted. This
/// operation results in the accumulation of costs. For more information, see Pricing.
/// The equivalent console functionality for this operation is Enable.
///
///
///
/// Users can either be created by calling the CreateUser API operation or they
/// can be synchronized from your directory. For more information, see DeregisterFromWorkMail.
///
///
/// Container for the necessary parameters to execute the RegisterToWorkMail service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RegisterToWorkMail service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The user, group, or resource that you're trying to register is already registered.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for RegisterToWorkMail Operation
Task RegisterToWorkMailAsync(RegisterToWorkMailRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ResetPassword
///
/// Allows the administrator to reset the password for a user.
///
/// Container for the necessary parameters to execute the ResetPassword service method.
///
/// The response from the ResetPassword service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The supplied password doesn't match the minimum security constraints, such as length
/// or use of special characters.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for ResetPassword Operation
ResetPasswordResponse ResetPassword(ResetPasswordRequest request);
///
/// Allows the administrator to reset the password for a user.
///
/// Container for the necessary parameters to execute the ResetPassword service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ResetPassword service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The supplied password doesn't match the minimum security constraints, such as length
/// or use of special characters.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for ResetPassword Operation
Task ResetPasswordAsync(ResetPasswordRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region StartMailboxExportJob
///
/// Starts a mailbox export job to export MIME-format email messages and calendar items
/// from the specified mailbox to the specified Amazon Simple Storage Service (Amazon
/// S3) bucket. For more information, see Exporting
/// mailbox content in the WorkMail Administrator Guide.
///
/// Container for the necessary parameters to execute the StartMailboxExportJob service method.
///
/// The response from the StartMailboxExportJob service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for StartMailboxExportJob Operation
StartMailboxExportJobResponse StartMailboxExportJob(StartMailboxExportJobRequest request);
///
/// Starts a mailbox export job to export MIME-format email messages and calendar items
/// from the specified mailbox to the specified Amazon Simple Storage Service (Amazon
/// S3) bucket. For more information, see Exporting
/// mailbox content in the WorkMail Administrator Guide.
///
/// Container for the necessary parameters to execute the StartMailboxExportJob service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartMailboxExportJob service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for StartMailboxExportJob Operation
Task StartMailboxExportJobAsync(StartMailboxExportJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Applies the specified tags to the specified WorkMailorganization resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by WorkMail.
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
///
/// The resource can have up to 50 user-applied tags.
///
/// REST API Reference for TagResource Operation
TagResourceResponse TagResource(TagResourceRequest request);
///
/// Applies the specified tags to the specified WorkMailorganization resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by WorkMail.
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
///
/// The resource can have up to 50 user-applied tags.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TestAvailabilityConfiguration
///
/// Performs a test on an availability provider to ensure that access is allowed. For
/// EWS, it verifies the provided credentials can be used to successfully log in. For
/// Lambda, it verifies that the Lambda function can be invoked and that the resource
/// access policy was configured to deny anonymous access. An anonymous invocation is
/// one done without providing either a SourceArn
or SourceAccount
/// header.
///
///
///
/// The request must contain either one provider definition (EwsProvider
/// or LambdaProvider
) or the DomainName
parameter. If the DomainName
/// parameter is provided, the configuration stored under the DomainName
/// will be tested.
///
///
///
/// Container for the necessary parameters to execute the TestAvailabilityConfiguration service method.
///
/// The response from the TestAvailabilityConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for TestAvailabilityConfiguration Operation
TestAvailabilityConfigurationResponse TestAvailabilityConfiguration(TestAvailabilityConfigurationRequest request);
///
/// Performs a test on an availability provider to ensure that access is allowed. For
/// EWS, it verifies the provided credentials can be used to successfully log in. For
/// Lambda, it verifies that the Lambda function can be invoked and that the resource
/// access policy was configured to deny anonymous access. An anonymous invocation is
/// one done without providing either a SourceArn
or SourceAccount
/// header.
///
///
///
/// The request must contain either one provider definition (EwsProvider
/// or LambdaProvider
) or the DomainName
parameter. If the DomainName
/// parameter is provided, the configuration stored under the DomainName
/// will be tested.
///
///
///
/// Container for the necessary parameters to execute the TestAvailabilityConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TestAvailabilityConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for TestAvailabilityConfiguration Operation
Task TestAvailabilityConfigurationAsync(TestAvailabilityConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Untags the specified tags from the specified WorkMail organization resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by WorkMail.
///
/// The resource cannot be found.
///
/// REST API Reference for UntagResource Operation
UntagResourceResponse UntagResource(UntagResourceRequest request);
///
/// Untags the specified tags from the specified WorkMail organization resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by WorkMail.
///
/// The resource cannot be found.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateAvailabilityConfiguration
///
/// Updates an existing AvailabilityConfiguration
for the given WorkMail
/// organization and domain.
///
/// Container for the necessary parameters to execute the UpdateAvailabilityConfiguration service method.
///
/// The response from the UpdateAvailabilityConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for UpdateAvailabilityConfiguration Operation
UpdateAvailabilityConfigurationResponse UpdateAvailabilityConfiguration(UpdateAvailabilityConfigurationRequest request);
///
/// Updates an existing AvailabilityConfiguration
for the given WorkMail
/// organization and domain.
///
/// Container for the necessary parameters to execute the UpdateAvailabilityConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateAvailabilityConfiguration service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for UpdateAvailabilityConfiguration Operation
Task UpdateAvailabilityConfigurationAsync(UpdateAvailabilityConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateDefaultMailDomain
///
/// Updates the default mail domain for an organization. The default mail domain is used
/// by the WorkMail AWS Console to suggest an email address when enabling a mail user.
/// You can only have one default domain.
///
/// Container for the necessary parameters to execute the UpdateDefaultMailDomain service method.
///
/// The response from the UpdateDefaultMailDomain service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateDefaultMailDomain Operation
UpdateDefaultMailDomainResponse UpdateDefaultMailDomain(UpdateDefaultMailDomainRequest request);
///
/// Updates the default mail domain for an organization. The default mail domain is used
/// by the WorkMail AWS Console to suggest an email address when enabling a mail user.
/// You can only have one default domain.
///
/// Container for the necessary parameters to execute the UpdateDefaultMailDomain service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateDefaultMailDomain service method, as returned by WorkMail.
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateDefaultMailDomain Operation
Task UpdateDefaultMailDomainAsync(UpdateDefaultMailDomainRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateImpersonationRole
///
/// Updates an impersonation role for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the UpdateImpersonationRole service method.
///
/// The response from the UpdateImpersonationRole service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for UpdateImpersonationRole Operation
UpdateImpersonationRoleResponse UpdateImpersonationRole(UpdateImpersonationRoleRequest request);
///
/// Updates an impersonation role for the given WorkMail organization.
///
/// Container for the necessary parameters to execute the UpdateImpersonationRole service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateImpersonationRole service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The request exceeds the limit of the resource.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// The resource cannot be found.
///
/// REST API Reference for UpdateImpersonationRole Operation
Task UpdateImpersonationRoleAsync(UpdateImpersonationRoleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateMailboxQuota
///
/// Updates a user's current mailbox quota for a specified organization and user.
///
/// Container for the necessary parameters to execute the UpdateMailboxQuota service method.
///
/// The response from the UpdateMailboxQuota service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateMailboxQuota Operation
UpdateMailboxQuotaResponse UpdateMailboxQuota(UpdateMailboxQuotaRequest request);
///
/// Updates a user's current mailbox quota for a specified organization and user.
///
/// Container for the necessary parameters to execute the UpdateMailboxQuota service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateMailboxQuota service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateMailboxQuota Operation
Task UpdateMailboxQuotaAsync(UpdateMailboxQuotaRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateMobileDeviceAccessRule
///
/// Updates a mobile device access rule for the specified WorkMail organization.
///
/// Container for the necessary parameters to execute the UpdateMobileDeviceAccessRule service method.
///
/// The response from the UpdateMobileDeviceAccessRule service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateMobileDeviceAccessRule Operation
UpdateMobileDeviceAccessRuleResponse UpdateMobileDeviceAccessRule(UpdateMobileDeviceAccessRuleRequest request);
///
/// Updates a mobile device access rule for the specified WorkMail organization.
///
/// Container for the necessary parameters to execute the UpdateMobileDeviceAccessRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateMobileDeviceAccessRule service method, as returned by WorkMail.
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateMobileDeviceAccessRule Operation
Task UpdateMobileDeviceAccessRuleAsync(UpdateMobileDeviceAccessRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdatePrimaryEmailAddress
///
/// Updates the primary email for a user, group, or resource. The current email is moved
/// into the list of aliases (or swapped between an existing alias and the current primary
/// email), and the email provided in the input is promoted as the primary.
///
/// Container for the necessary parameters to execute the UpdatePrimaryEmailAddress service method.
///
/// The response from the UpdatePrimaryEmailAddress service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for UpdatePrimaryEmailAddress Operation
UpdatePrimaryEmailAddressResponse UpdatePrimaryEmailAddress(UpdatePrimaryEmailAddressRequest request);
///
/// Updates the primary email for a user, group, or resource. The current email is moved
/// into the list of aliases (or swapped between an existing alias and the current primary
/// email), and the email provided in the input is promoted as the primary.
///
/// Container for the necessary parameters to execute the UpdatePrimaryEmailAddress service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdatePrimaryEmailAddress service method, as returned by WorkMail.
///
/// The directory service doesn't recognize the credentials supplied by WorkMail.
///
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// One or more of the input parameters don't match the service's restrictions.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
///
/// You can't perform a write operation against a read-only directory.
///
/// REST API Reference for UpdatePrimaryEmailAddress Operation
Task UpdatePrimaryEmailAddressAsync(UpdatePrimaryEmailAddressRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateResource
///
/// Updates data for the resource. To have the latest information, it must be preceded
/// by a DescribeResource call. The dataset in the request should be the one expected
/// when performing another DescribeResource
call.
///
/// Container for the necessary parameters to execute the UpdateResource service method.
///
/// The response from the UpdateResource service method, as returned by WorkMail.
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// The configuration for a resource isn't valid. A resource must either be able to auto-respond
/// to requests or have at least one delegate associated that can do so on its behalf.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateResource Operation
UpdateResourceResponse UpdateResource(UpdateResourceRequest request);
///
/// Updates data for the resource. To have the latest information, it must be preceded
/// by a DescribeResource call. The dataset in the request should be the one expected
/// when performing another DescribeResource
call.
///
/// Container for the necessary parameters to execute the UpdateResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateResource service method, as returned by WorkMail.
///
/// The directory is unavailable. It might be located in another Region or deleted.
///
///
/// The email address that you're trying to assign is already created for a different
/// user, group, or resource.
///
///
/// The identifier supplied for the user, group, or resource does not exist in your organization.
///
///
/// You are performing an operation on a user, group, or resource that isn't in the expected
/// state, such as trying to delete an active user.
///
///
/// The configuration for a resource isn't valid. A resource must either be able to auto-respond
/// to requests or have at least one delegate associated that can do so on its behalf.
///
///
/// The domain specified is not found in your organization.
///
///
/// After a domain has been added to the organization, it must be verified. The domain
/// is not yet verified.
///
///
/// The user, group, or resource name isn't unique in WorkMail.
///
///
/// An operation received a valid organization identifier that either doesn't belong or
/// exist in the system.
///
///
/// The organization must have a valid state to perform certain operations on the organization
/// or its members.
///
/// REST API Reference for UpdateResource Operation
Task UpdateResourceAsync(UpdateResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}