/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace 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:
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.
*/
class AWS_WORKMAIL_API WorkMailClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef WorkMailClientConfiguration ClientConfigurationType;
typedef WorkMailEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WorkMailClient(const Aws::WorkMail::WorkMailClientConfiguration& clientConfiguration = Aws::WorkMail::WorkMailClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WorkMailClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::WorkMail::WorkMailClientConfiguration& clientConfiguration = Aws::WorkMail::WorkMailClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
WorkMailClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::WorkMail::WorkMailClientConfiguration& clientConfiguration = Aws::WorkMail::WorkMailClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WorkMailClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WorkMailClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
WorkMailClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~WorkMailClient();
/**
* Adds a member (user or group) to the resource's set of
* delegates.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateDelegateToResourceOutcome AssociateDelegateToResource(const Model::AssociateDelegateToResourceRequest& request) const;
/**
* A Callable wrapper for AssociateDelegateToResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateDelegateToResourceOutcomeCallable AssociateDelegateToResourceCallable(const AssociateDelegateToResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::AssociateDelegateToResource, request);
}
/**
* An Async wrapper for AssociateDelegateToResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateDelegateToResourceAsync(const AssociateDelegateToResourceRequestT& request, const AssociateDelegateToResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::AssociateDelegateToResource, request, handler, context);
}
/**
* Adds a member (user or group) to the group's set.
See Also:
* AWS
* API Reference
*/
virtual Model::AssociateMemberToGroupOutcome AssociateMemberToGroup(const Model::AssociateMemberToGroupRequest& request) const;
/**
* A Callable wrapper for AssociateMemberToGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateMemberToGroupOutcomeCallable AssociateMemberToGroupCallable(const AssociateMemberToGroupRequestT& request) const
{
return SubmitCallable(&WorkMailClient::AssociateMemberToGroup, request);
}
/**
* An Async wrapper for AssociateMemberToGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateMemberToGroupAsync(const AssociateMemberToGroupRequestT& request, const AssociateMemberToGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::AssociateMemberToGroup, request, handler, context);
}
/**
* Assumes an impersonation role for the given WorkMail organization. This
* method returns an authentication token you can use to make impersonated
* calls.
See Also:
AWS
* API Reference
*/
virtual Model::AssumeImpersonationRoleOutcome AssumeImpersonationRole(const Model::AssumeImpersonationRoleRequest& request) const;
/**
* A Callable wrapper for AssumeImpersonationRole that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssumeImpersonationRoleOutcomeCallable AssumeImpersonationRoleCallable(const AssumeImpersonationRoleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::AssumeImpersonationRole, request);
}
/**
* An Async wrapper for AssumeImpersonationRole that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssumeImpersonationRoleAsync(const AssumeImpersonationRoleRequestT& request, const AssumeImpersonationRoleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::AssumeImpersonationRole, request, handler, context);
}
/**
* Cancels a mailbox export job.
If the mailbox export job is near
* completion, it might not be possible to cancel it.
See
* Also:
AWS
* API Reference
*/
virtual Model::CancelMailboxExportJobOutcome CancelMailboxExportJob(const Model::CancelMailboxExportJobRequest& request) const;
/**
* A Callable wrapper for CancelMailboxExportJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelMailboxExportJobOutcomeCallable CancelMailboxExportJobCallable(const CancelMailboxExportJobRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CancelMailboxExportJob, request);
}
/**
* An Async wrapper for CancelMailboxExportJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelMailboxExportJobAsync(const CancelMailboxExportJobRequestT& request, const CancelMailboxExportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CancelMailboxExportJob, request, handler, context);
}
/**
* Adds an alias to the set of a given member (user or group) of
* WorkMail.
See Also:
AWS
* API Reference
*/
virtual Model::CreateAliasOutcome CreateAlias(const Model::CreateAliasRequest& request) const;
/**
* A Callable wrapper for CreateAlias that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateAliasOutcomeCallable CreateAliasCallable(const CreateAliasRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateAlias, request);
}
/**
* An Async wrapper for CreateAlias that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateAliasAsync(const CreateAliasRequestT& request, const CreateAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateAlias, request, handler, context);
}
/**
* Creates an AvailabilityConfiguration
for the given WorkMail
* organization and domain.
See Also:
AWS
* API Reference
*/
virtual Model::CreateAvailabilityConfigurationOutcome CreateAvailabilityConfiguration(const Model::CreateAvailabilityConfigurationRequest& request) const;
/**
* A Callable wrapper for CreateAvailabilityConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateAvailabilityConfigurationOutcomeCallable CreateAvailabilityConfigurationCallable(const CreateAvailabilityConfigurationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateAvailabilityConfiguration, request);
}
/**
* An Async wrapper for CreateAvailabilityConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateAvailabilityConfigurationAsync(const CreateAvailabilityConfigurationRequestT& request, const CreateAvailabilityConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateAvailabilityConfiguration, request, handler, context);
}
/**
* Creates a group that can be used in WorkMail by calling the
* RegisterToWorkMail operation.
See Also:
AWS
* API Reference
*/
virtual Model::CreateGroupOutcome CreateGroup(const Model::CreateGroupRequest& request) const;
/**
* A Callable wrapper for CreateGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateGroupOutcomeCallable CreateGroupCallable(const CreateGroupRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateGroup, request);
}
/**
* An Async wrapper for CreateGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateGroupAsync(const CreateGroupRequestT& request, const CreateGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateGroup, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateImpersonationRoleOutcome CreateImpersonationRole(const Model::CreateImpersonationRoleRequest& request) const;
/**
* A Callable wrapper for CreateImpersonationRole that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateImpersonationRoleOutcomeCallable CreateImpersonationRoleCallable(const CreateImpersonationRoleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateImpersonationRole, request);
}
/**
* An Async wrapper for CreateImpersonationRole that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateImpersonationRoleAsync(const CreateImpersonationRoleRequestT& request, const CreateImpersonationRoleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateImpersonationRole, request, handler, context);
}
/**
* Creates a new mobile device access rule for the specified WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::CreateMobileDeviceAccessRuleOutcome CreateMobileDeviceAccessRule(const Model::CreateMobileDeviceAccessRuleRequest& request) const;
/**
* A Callable wrapper for CreateMobileDeviceAccessRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateMobileDeviceAccessRuleOutcomeCallable CreateMobileDeviceAccessRuleCallable(const CreateMobileDeviceAccessRuleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateMobileDeviceAccessRule, request);
}
/**
* An Async wrapper for CreateMobileDeviceAccessRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateMobileDeviceAccessRuleAsync(const CreateMobileDeviceAccessRuleRequestT& request, const CreateMobileDeviceAccessRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateMobileDeviceAccessRule, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateOrganizationOutcome CreateOrganization(const Model::CreateOrganizationRequest& request) const;
/**
* A Callable wrapper for CreateOrganization that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateOrganizationOutcomeCallable CreateOrganizationCallable(const CreateOrganizationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateOrganization, request);
}
/**
* An Async wrapper for CreateOrganization that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateOrganizationAsync(const CreateOrganizationRequestT& request, const CreateOrganizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateOrganization, request, handler, context);
}
/**
* Creates a new WorkMail resource.
See Also:
AWS
* API Reference
*/
virtual Model::CreateResourceOutcome CreateResource(const Model::CreateResourceRequest& request) const;
/**
* A Callable wrapper for CreateResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateResourceOutcomeCallable CreateResourceCallable(const CreateResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateResource, request);
}
/**
* An Async wrapper for CreateResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateResourceAsync(const CreateResourceRequestT& request, const CreateResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateResource, request, handler, context);
}
/**
* Creates a user who can be used in WorkMail by calling the
* RegisterToWorkMail operation.
See Also:
AWS
* API Reference
*/
virtual Model::CreateUserOutcome CreateUser(const Model::CreateUserRequest& request) const;
/**
* A Callable wrapper for CreateUser that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateUserOutcomeCallable CreateUserCallable(const CreateUserRequestT& request) const
{
return SubmitCallable(&WorkMailClient::CreateUser, request);
}
/**
* An Async wrapper for CreateUser that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateUserAsync(const CreateUserRequestT& request, const CreateUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::CreateUser, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteAccessControlRuleOutcome DeleteAccessControlRule(const Model::DeleteAccessControlRuleRequest& request) const;
/**
* A Callable wrapper for DeleteAccessControlRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteAccessControlRuleOutcomeCallable DeleteAccessControlRuleCallable(const DeleteAccessControlRuleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteAccessControlRule, request);
}
/**
* An Async wrapper for DeleteAccessControlRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteAccessControlRuleAsync(const DeleteAccessControlRuleRequestT& request, const DeleteAccessControlRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteAccessControlRule, request, handler, context);
}
/**
* Remove one or more specified aliases from a set of aliases for a given
* user.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteAliasOutcome DeleteAlias(const Model::DeleteAliasRequest& request) const;
/**
* A Callable wrapper for DeleteAlias that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteAliasOutcomeCallable DeleteAliasCallable(const DeleteAliasRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteAlias, request);
}
/**
* An Async wrapper for DeleteAlias that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteAliasAsync(const DeleteAliasRequestT& request, const DeleteAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteAlias, request, handler, context);
}
/**
* Deletes the AvailabilityConfiguration
for the given WorkMail
* organization and domain.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteAvailabilityConfigurationOutcome DeleteAvailabilityConfiguration(const Model::DeleteAvailabilityConfigurationRequest& request) const;
/**
* A Callable wrapper for DeleteAvailabilityConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteAvailabilityConfigurationOutcomeCallable DeleteAvailabilityConfigurationCallable(const DeleteAvailabilityConfigurationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteAvailabilityConfiguration, request);
}
/**
* An Async wrapper for DeleteAvailabilityConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteAvailabilityConfigurationAsync(const DeleteAvailabilityConfigurationRequestT& request, const DeleteAvailabilityConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteAvailabilityConfiguration, request, handler, context);
}
/**
* Deletes the email monitoring configuration for a specified
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteEmailMonitoringConfigurationOutcome DeleteEmailMonitoringConfiguration(const Model::DeleteEmailMonitoringConfigurationRequest& request) const;
/**
* A Callable wrapper for DeleteEmailMonitoringConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteEmailMonitoringConfigurationOutcomeCallable DeleteEmailMonitoringConfigurationCallable(const DeleteEmailMonitoringConfigurationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteEmailMonitoringConfiguration, request);
}
/**
* An Async wrapper for DeleteEmailMonitoringConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteEmailMonitoringConfigurationAsync(const DeleteEmailMonitoringConfigurationRequestT& request, const DeleteEmailMonitoringConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteEmailMonitoringConfiguration, request, handler, context);
}
/**
* Deletes a group from WorkMail.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteGroupOutcome DeleteGroup(const Model::DeleteGroupRequest& request) const;
/**
* A Callable wrapper for DeleteGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteGroupOutcomeCallable DeleteGroupCallable(const DeleteGroupRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteGroup, request);
}
/**
* An Async wrapper for DeleteGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteGroupAsync(const DeleteGroupRequestT& request, const DeleteGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteGroup, request, handler, context);
}
/**
* Deletes an impersonation role for the given WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteImpersonationRoleOutcome DeleteImpersonationRole(const Model::DeleteImpersonationRoleRequest& request) const;
/**
* A Callable wrapper for DeleteImpersonationRole that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteImpersonationRoleOutcomeCallable DeleteImpersonationRoleCallable(const DeleteImpersonationRoleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteImpersonationRole, request);
}
/**
* An Async wrapper for DeleteImpersonationRole that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteImpersonationRoleAsync(const DeleteImpersonationRoleRequestT& request, const DeleteImpersonationRoleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteImpersonationRole, request, handler, context);
}
/**
* Deletes permissions granted to a member (user or group).
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteMailboxPermissionsOutcome DeleteMailboxPermissions(const Model::DeleteMailboxPermissionsRequest& request) const;
/**
* A Callable wrapper for DeleteMailboxPermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteMailboxPermissionsOutcomeCallable DeleteMailboxPermissionsCallable(const DeleteMailboxPermissionsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteMailboxPermissions, request);
}
/**
* An Async wrapper for DeleteMailboxPermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteMailboxPermissionsAsync(const DeleteMailboxPermissionsRequestT& request, const DeleteMailboxPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteMailboxPermissions, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteMobileDeviceAccessOverrideOutcome DeleteMobileDeviceAccessOverride(const Model::DeleteMobileDeviceAccessOverrideRequest& request) const;
/**
* A Callable wrapper for DeleteMobileDeviceAccessOverride that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteMobileDeviceAccessOverrideOutcomeCallable DeleteMobileDeviceAccessOverrideCallable(const DeleteMobileDeviceAccessOverrideRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteMobileDeviceAccessOverride, request);
}
/**
* An Async wrapper for DeleteMobileDeviceAccessOverride that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteMobileDeviceAccessOverrideAsync(const DeleteMobileDeviceAccessOverrideRequestT& request, const DeleteMobileDeviceAccessOverrideResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteMobileDeviceAccessOverride, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteMobileDeviceAccessRuleOutcome DeleteMobileDeviceAccessRule(const Model::DeleteMobileDeviceAccessRuleRequest& request) const;
/**
* A Callable wrapper for DeleteMobileDeviceAccessRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteMobileDeviceAccessRuleOutcomeCallable DeleteMobileDeviceAccessRuleCallable(const DeleteMobileDeviceAccessRuleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteMobileDeviceAccessRule, request);
}
/**
* An Async wrapper for DeleteMobileDeviceAccessRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteMobileDeviceAccessRuleAsync(const DeleteMobileDeviceAccessRuleRequestT& request, const DeleteMobileDeviceAccessRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteMobileDeviceAccessRule, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteOrganizationOutcome DeleteOrganization(const Model::DeleteOrganizationRequest& request) const;
/**
* A Callable wrapper for DeleteOrganization that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteOrganizationOutcomeCallable DeleteOrganizationCallable(const DeleteOrganizationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteOrganization, request);
}
/**
* An Async wrapper for DeleteOrganization that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteOrganizationAsync(const DeleteOrganizationRequestT& request, const DeleteOrganizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteOrganization, request, handler, context);
}
/**
* Deletes the specified resource.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteResourceOutcome DeleteResource(const Model::DeleteResourceRequest& request) const;
/**
* A Callable wrapper for DeleteResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteResourceOutcomeCallable DeleteResourceCallable(const DeleteResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteResource, request);
}
/**
* An Async wrapper for DeleteResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteResourceAsync(const DeleteResourceRequestT& request, const DeleteResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteResource, request, handler, context);
}
/**
* Deletes the specified retention policy from the specified
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRetentionPolicyOutcome DeleteRetentionPolicy(const Model::DeleteRetentionPolicyRequest& request) const;
/**
* A Callable wrapper for DeleteRetentionPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRetentionPolicyOutcomeCallable DeleteRetentionPolicyCallable(const DeleteRetentionPolicyRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteRetentionPolicy, request);
}
/**
* An Async wrapper for DeleteRetentionPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRetentionPolicyAsync(const DeleteRetentionPolicyRequestT& request, const DeleteRetentionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteRetentionPolicy, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteUserOutcome DeleteUser(const Model::DeleteUserRequest& request) const;
/**
* A Callable wrapper for DeleteUser that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteUserOutcomeCallable DeleteUserCallable(const DeleteUserRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeleteUser, request);
}
/**
* An Async wrapper for DeleteUser that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteUserAsync(const DeleteUserRequestT& request, const DeleteUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeleteUser, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeregisterFromWorkMailOutcome DeregisterFromWorkMail(const Model::DeregisterFromWorkMailRequest& request) const;
/**
* A Callable wrapper for DeregisterFromWorkMail that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeregisterFromWorkMailOutcomeCallable DeregisterFromWorkMailCallable(const DeregisterFromWorkMailRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeregisterFromWorkMail, request);
}
/**
* An Async wrapper for DeregisterFromWorkMail that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeregisterFromWorkMailAsync(const DeregisterFromWorkMailRequestT& request, const DeregisterFromWorkMailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeregisterFromWorkMail, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeregisterMailDomainOutcome DeregisterMailDomain(const Model::DeregisterMailDomainRequest& request) const;
/**
* A Callable wrapper for DeregisterMailDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeregisterMailDomainOutcomeCallable DeregisterMailDomainCallable(const DeregisterMailDomainRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DeregisterMailDomain, request);
}
/**
* An Async wrapper for DeregisterMailDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeregisterMailDomainAsync(const DeregisterMailDomainRequestT& request, const DeregisterMailDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DeregisterMailDomain, request, handler, context);
}
/**
* Describes the current email monitoring configuration for a specified
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeEmailMonitoringConfigurationOutcome DescribeEmailMonitoringConfiguration(const Model::DescribeEmailMonitoringConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeEmailMonitoringConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeEmailMonitoringConfigurationOutcomeCallable DescribeEmailMonitoringConfigurationCallable(const DescribeEmailMonitoringConfigurationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DescribeEmailMonitoringConfiguration, request);
}
/**
* An Async wrapper for DescribeEmailMonitoringConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeEmailMonitoringConfigurationAsync(const DescribeEmailMonitoringConfigurationRequestT& request, const DescribeEmailMonitoringConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DescribeEmailMonitoringConfiguration, request, handler, context);
}
/**
* Returns the data available for the group.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeGroupOutcome DescribeGroup(const Model::DescribeGroupRequest& request) const;
/**
* A Callable wrapper for DescribeGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeGroupOutcomeCallable DescribeGroupCallable(const DescribeGroupRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DescribeGroup, request);
}
/**
* An Async wrapper for DescribeGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeGroupAsync(const DescribeGroupRequestT& request, const DescribeGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DescribeGroup, request, handler, context);
}
/**
* Lists the settings in a DMARC policy for a specified
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeInboundDmarcSettingsOutcome DescribeInboundDmarcSettings(const Model::DescribeInboundDmarcSettingsRequest& request) const;
/**
* A Callable wrapper for DescribeInboundDmarcSettings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeInboundDmarcSettingsOutcomeCallable DescribeInboundDmarcSettingsCallable(const DescribeInboundDmarcSettingsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DescribeInboundDmarcSettings, request);
}
/**
* An Async wrapper for DescribeInboundDmarcSettings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeInboundDmarcSettingsAsync(const DescribeInboundDmarcSettingsRequestT& request, const DescribeInboundDmarcSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DescribeInboundDmarcSettings, request, handler, context);
}
/**
* Describes the current status of a mailbox export job.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeMailboxExportJobOutcome DescribeMailboxExportJob(const Model::DescribeMailboxExportJobRequest& request) const;
/**
* A Callable wrapper for DescribeMailboxExportJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeMailboxExportJobOutcomeCallable DescribeMailboxExportJobCallable(const DescribeMailboxExportJobRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DescribeMailboxExportJob, request);
}
/**
* An Async wrapper for DescribeMailboxExportJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeMailboxExportJobAsync(const DescribeMailboxExportJobRequestT& request, const DescribeMailboxExportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DescribeMailboxExportJob, request, handler, context);
}
/**
* Provides more information regarding a given organization based on its
* identifier.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeOrganizationOutcome DescribeOrganization(const Model::DescribeOrganizationRequest& request) const;
/**
* A Callable wrapper for DescribeOrganization that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeOrganizationOutcomeCallable DescribeOrganizationCallable(const DescribeOrganizationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DescribeOrganization, request);
}
/**
* An Async wrapper for DescribeOrganization that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeOrganizationAsync(const DescribeOrganizationRequestT& request, const DescribeOrganizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DescribeOrganization, request, handler, context);
}
/**
* Returns the data available for the resource.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeResourceOutcome DescribeResource(const Model::DescribeResourceRequest& request) const;
/**
* A Callable wrapper for DescribeResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeResourceOutcomeCallable DescribeResourceCallable(const DescribeResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DescribeResource, request);
}
/**
* An Async wrapper for DescribeResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeResourceAsync(const DescribeResourceRequestT& request, const DescribeResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DescribeResource, request, handler, context);
}
/**
* Provides information regarding the user.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeUserOutcome DescribeUser(const Model::DescribeUserRequest& request) const;
/**
* A Callable wrapper for DescribeUser that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeUserOutcomeCallable DescribeUserCallable(const DescribeUserRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DescribeUser, request);
}
/**
* An Async wrapper for DescribeUser that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeUserAsync(const DescribeUserRequestT& request, const DescribeUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DescribeUser, request, handler, context);
}
/**
* Removes a member from the resource's set of delegates.
See
* Also:
AWS
* API Reference
*/
virtual Model::DisassociateDelegateFromResourceOutcome DisassociateDelegateFromResource(const Model::DisassociateDelegateFromResourceRequest& request) const;
/**
* A Callable wrapper for DisassociateDelegateFromResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateDelegateFromResourceOutcomeCallable DisassociateDelegateFromResourceCallable(const DisassociateDelegateFromResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DisassociateDelegateFromResource, request);
}
/**
* An Async wrapper for DisassociateDelegateFromResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateDelegateFromResourceAsync(const DisassociateDelegateFromResourceRequestT& request, const DisassociateDelegateFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DisassociateDelegateFromResource, request, handler, context);
}
/**
* Removes a member from a group.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateMemberFromGroupOutcome DisassociateMemberFromGroup(const Model::DisassociateMemberFromGroupRequest& request) const;
/**
* A Callable wrapper for DisassociateMemberFromGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateMemberFromGroupOutcomeCallable DisassociateMemberFromGroupCallable(const DisassociateMemberFromGroupRequestT& request) const
{
return SubmitCallable(&WorkMailClient::DisassociateMemberFromGroup, request);
}
/**
* An Async wrapper for DisassociateMemberFromGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateMemberFromGroupAsync(const DisassociateMemberFromGroupRequestT& request, const DisassociateMemberFromGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::DisassociateMemberFromGroup, request, handler, context);
}
/**
* 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.
See Also:
* AWS
* API Reference
*/
virtual Model::GetAccessControlEffectOutcome GetAccessControlEffect(const Model::GetAccessControlEffectRequest& request) const;
/**
* A Callable wrapper for GetAccessControlEffect that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAccessControlEffectOutcomeCallable GetAccessControlEffectCallable(const GetAccessControlEffectRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetAccessControlEffect, request);
}
/**
* An Async wrapper for GetAccessControlEffect that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAccessControlEffectAsync(const GetAccessControlEffectRequestT& request, const GetAccessControlEffectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetAccessControlEffect, request, handler, context);
}
/**
* Gets the default retention policy details for the specified
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::GetDefaultRetentionPolicyOutcome GetDefaultRetentionPolicy(const Model::GetDefaultRetentionPolicyRequest& request) const;
/**
* A Callable wrapper for GetDefaultRetentionPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDefaultRetentionPolicyOutcomeCallable GetDefaultRetentionPolicyCallable(const GetDefaultRetentionPolicyRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetDefaultRetentionPolicy, request);
}
/**
* An Async wrapper for GetDefaultRetentionPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDefaultRetentionPolicyAsync(const GetDefaultRetentionPolicyRequestT& request, const GetDefaultRetentionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetDefaultRetentionPolicy, request, handler, context);
}
/**
* Gets the impersonation role details for the given WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::GetImpersonationRoleOutcome GetImpersonationRole(const Model::GetImpersonationRoleRequest& request) const;
/**
* A Callable wrapper for GetImpersonationRole that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetImpersonationRoleOutcomeCallable GetImpersonationRoleCallable(const GetImpersonationRoleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetImpersonationRole, request);
}
/**
* An Async wrapper for GetImpersonationRole that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetImpersonationRoleAsync(const GetImpersonationRoleRequestT& request, const GetImpersonationRoleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetImpersonationRole, request, handler, context);
}
/**
* Tests whether the given impersonation role can impersonate a target
* user.
See Also:
AWS
* API Reference
*/
virtual Model::GetImpersonationRoleEffectOutcome GetImpersonationRoleEffect(const Model::GetImpersonationRoleEffectRequest& request) const;
/**
* A Callable wrapper for GetImpersonationRoleEffect that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetImpersonationRoleEffectOutcomeCallable GetImpersonationRoleEffectCallable(const GetImpersonationRoleEffectRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetImpersonationRoleEffect, request);
}
/**
* An Async wrapper for GetImpersonationRoleEffect that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetImpersonationRoleEffectAsync(const GetImpersonationRoleEffectRequestT& request, const GetImpersonationRoleEffectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetImpersonationRoleEffect, request, handler, context);
}
/**
* Gets details for a mail domain, including domain records required to
* configure your domain with recommended security.
See Also:
AWS
* API Reference
*/
virtual Model::GetMailDomainOutcome GetMailDomain(const Model::GetMailDomainRequest& request) const;
/**
* A Callable wrapper for GetMailDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMailDomainOutcomeCallable GetMailDomainCallable(const GetMailDomainRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetMailDomain, request);
}
/**
* An Async wrapper for GetMailDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMailDomainAsync(const GetMailDomainRequestT& request, const GetMailDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetMailDomain, request, handler, context);
}
/**
* Requests a user's mailbox details for a specified organization and
* user.
See Also:
AWS
* API Reference
*/
virtual Model::GetMailboxDetailsOutcome GetMailboxDetails(const Model::GetMailboxDetailsRequest& request) const;
/**
* A Callable wrapper for GetMailboxDetails that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMailboxDetailsOutcomeCallable GetMailboxDetailsCallable(const GetMailboxDetailsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetMailboxDetails, request);
}
/**
* An Async wrapper for GetMailboxDetails that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMailboxDetailsAsync(const GetMailboxDetailsRequestT& request, const GetMailboxDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetMailboxDetails, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetMobileDeviceAccessEffectOutcome GetMobileDeviceAccessEffect(const Model::GetMobileDeviceAccessEffectRequest& request) const;
/**
* A Callable wrapper for GetMobileDeviceAccessEffect that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMobileDeviceAccessEffectOutcomeCallable GetMobileDeviceAccessEffectCallable(const GetMobileDeviceAccessEffectRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetMobileDeviceAccessEffect, request);
}
/**
* An Async wrapper for GetMobileDeviceAccessEffect that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMobileDeviceAccessEffectAsync(const GetMobileDeviceAccessEffectRequestT& request, const GetMobileDeviceAccessEffectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetMobileDeviceAccessEffect, request, handler, context);
}
/**
* Gets the mobile device access override for the given WorkMail organization,
* user, and device.
See Also:
AWS
* API Reference
*/
virtual Model::GetMobileDeviceAccessOverrideOutcome GetMobileDeviceAccessOverride(const Model::GetMobileDeviceAccessOverrideRequest& request) const;
/**
* A Callable wrapper for GetMobileDeviceAccessOverride that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMobileDeviceAccessOverrideOutcomeCallable GetMobileDeviceAccessOverrideCallable(const GetMobileDeviceAccessOverrideRequestT& request) const
{
return SubmitCallable(&WorkMailClient::GetMobileDeviceAccessOverride, request);
}
/**
* An Async wrapper for GetMobileDeviceAccessOverride that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMobileDeviceAccessOverrideAsync(const GetMobileDeviceAccessOverrideRequestT& request, const GetMobileDeviceAccessOverrideResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::GetMobileDeviceAccessOverride, request, handler, context);
}
/**
* Lists the access control rules for the specified organization.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListAccessControlRulesOutcome ListAccessControlRules(const Model::ListAccessControlRulesRequest& request) const;
/**
* A Callable wrapper for ListAccessControlRules that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAccessControlRulesOutcomeCallable ListAccessControlRulesCallable(const ListAccessControlRulesRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListAccessControlRules, request);
}
/**
* An Async wrapper for ListAccessControlRules that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAccessControlRulesAsync(const ListAccessControlRulesRequestT& request, const ListAccessControlRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListAccessControlRules, request, handler, context);
}
/**
* Creates a paginated call to list the aliases associated with a given
* entity.
See Also:
AWS
* API Reference
*/
virtual Model::ListAliasesOutcome ListAliases(const Model::ListAliasesRequest& request) const;
/**
* A Callable wrapper for ListAliases that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAliasesOutcomeCallable ListAliasesCallable(const ListAliasesRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListAliases, request);
}
/**
* An Async wrapper for ListAliases that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAliasesAsync(const ListAliasesRequestT& request, const ListAliasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListAliases, request, handler, context);
}
/**
* List all the AvailabilityConfiguration
's for the given WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::ListAvailabilityConfigurationsOutcome ListAvailabilityConfigurations(const Model::ListAvailabilityConfigurationsRequest& request) const;
/**
* A Callable wrapper for ListAvailabilityConfigurations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAvailabilityConfigurationsOutcomeCallable ListAvailabilityConfigurationsCallable(const ListAvailabilityConfigurationsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListAvailabilityConfigurations, request);
}
/**
* An Async wrapper for ListAvailabilityConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAvailabilityConfigurationsAsync(const ListAvailabilityConfigurationsRequestT& request, const ListAvailabilityConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListAvailabilityConfigurations, request, handler, context);
}
/**
* Returns an overview of the members of a group. Users and groups can be
* members of a group.
See Also:
AWS
* API Reference
*/
virtual Model::ListGroupMembersOutcome ListGroupMembers(const Model::ListGroupMembersRequest& request) const;
/**
* A Callable wrapper for ListGroupMembers that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListGroupMembersOutcomeCallable ListGroupMembersCallable(const ListGroupMembersRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListGroupMembers, request);
}
/**
* An Async wrapper for ListGroupMembers that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListGroupMembersAsync(const ListGroupMembersRequestT& request, const ListGroupMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListGroupMembers, request, handler, context);
}
/**
* Returns summaries of the organization's groups.
See Also:
AWS
* API Reference
*/
virtual Model::ListGroupsOutcome ListGroups(const Model::ListGroupsRequest& request) const;
/**
* A Callable wrapper for ListGroups that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListGroupsOutcomeCallable ListGroupsCallable(const ListGroupsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListGroups, request);
}
/**
* An Async wrapper for ListGroups that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListGroupsAsync(const ListGroupsRequestT& request, const ListGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListGroups, request, handler, context);
}
/**
* Lists all the impersonation roles for the given WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::ListImpersonationRolesOutcome ListImpersonationRoles(const Model::ListImpersonationRolesRequest& request) const;
/**
* A Callable wrapper for ListImpersonationRoles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListImpersonationRolesOutcomeCallable ListImpersonationRolesCallable(const ListImpersonationRolesRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListImpersonationRoles, request);
}
/**
* An Async wrapper for ListImpersonationRoles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListImpersonationRolesAsync(const ListImpersonationRolesRequestT& request, const ListImpersonationRolesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListImpersonationRoles, request, handler, context);
}
/**
* Lists the mail domains in a given WorkMail organization.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListMailDomainsOutcome ListMailDomains(const Model::ListMailDomainsRequest& request) const;
/**
* A Callable wrapper for ListMailDomains that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMailDomainsOutcomeCallable ListMailDomainsCallable(const ListMailDomainsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListMailDomains, request);
}
/**
* An Async wrapper for ListMailDomains that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMailDomainsAsync(const ListMailDomainsRequestT& request, const ListMailDomainsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListMailDomains, request, handler, context);
}
/**
* Lists the mailbox export jobs started for the specified organization within
* the last seven days.
See Also:
AWS
* API Reference
*/
virtual Model::ListMailboxExportJobsOutcome ListMailboxExportJobs(const Model::ListMailboxExportJobsRequest& request) const;
/**
* A Callable wrapper for ListMailboxExportJobs that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMailboxExportJobsOutcomeCallable ListMailboxExportJobsCallable(const ListMailboxExportJobsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListMailboxExportJobs, request);
}
/**
* An Async wrapper for ListMailboxExportJobs that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMailboxExportJobsAsync(const ListMailboxExportJobsRequestT& request, const ListMailboxExportJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListMailboxExportJobs, request, handler, context);
}
/**
* Lists the mailbox permissions associated with a user, group, or resource
* mailbox.
See Also:
AWS
* API Reference
*/
virtual Model::ListMailboxPermissionsOutcome ListMailboxPermissions(const Model::ListMailboxPermissionsRequest& request) const;
/**
* A Callable wrapper for ListMailboxPermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMailboxPermissionsOutcomeCallable ListMailboxPermissionsCallable(const ListMailboxPermissionsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListMailboxPermissions, request);
}
/**
* An Async wrapper for ListMailboxPermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMailboxPermissionsAsync(const ListMailboxPermissionsRequestT& request, const ListMailboxPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListMailboxPermissions, request, handler, context);
}
/**
* Lists all the mobile device access overrides for any given combination of
* WorkMail organization, user, or device.
See Also:
AWS
* API Reference
*/
virtual Model::ListMobileDeviceAccessOverridesOutcome ListMobileDeviceAccessOverrides(const Model::ListMobileDeviceAccessOverridesRequest& request) const;
/**
* A Callable wrapper for ListMobileDeviceAccessOverrides that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMobileDeviceAccessOverridesOutcomeCallable ListMobileDeviceAccessOverridesCallable(const ListMobileDeviceAccessOverridesRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListMobileDeviceAccessOverrides, request);
}
/**
* An Async wrapper for ListMobileDeviceAccessOverrides that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMobileDeviceAccessOverridesAsync(const ListMobileDeviceAccessOverridesRequestT& request, const ListMobileDeviceAccessOverridesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListMobileDeviceAccessOverrides, request, handler, context);
}
/**
* Lists the mobile device access rules for the specified WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::ListMobileDeviceAccessRulesOutcome ListMobileDeviceAccessRules(const Model::ListMobileDeviceAccessRulesRequest& request) const;
/**
* A Callable wrapper for ListMobileDeviceAccessRules that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMobileDeviceAccessRulesOutcomeCallable ListMobileDeviceAccessRulesCallable(const ListMobileDeviceAccessRulesRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListMobileDeviceAccessRules, request);
}
/**
* An Async wrapper for ListMobileDeviceAccessRules that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMobileDeviceAccessRulesAsync(const ListMobileDeviceAccessRulesRequestT& request, const ListMobileDeviceAccessRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListMobileDeviceAccessRules, request, handler, context);
}
/**
* Returns summaries of the customer's organizations.
See Also:
* AWS
* API Reference
*/
virtual Model::ListOrganizationsOutcome ListOrganizations(const Model::ListOrganizationsRequest& request) const;
/**
* A Callable wrapper for ListOrganizations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListOrganizationsOutcomeCallable ListOrganizationsCallable(const ListOrganizationsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListOrganizations, request);
}
/**
* An Async wrapper for ListOrganizations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListOrganizationsAsync(const ListOrganizationsRequestT& request, const ListOrganizationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListOrganizations, request, handler, context);
}
/**
* Lists the delegates associated with a resource. Users and groups can be
* resource delegates and answer requests on behalf of the resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListResourceDelegatesOutcome ListResourceDelegates(const Model::ListResourceDelegatesRequest& request) const;
/**
* A Callable wrapper for ListResourceDelegates that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListResourceDelegatesOutcomeCallable ListResourceDelegatesCallable(const ListResourceDelegatesRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListResourceDelegates, request);
}
/**
* An Async wrapper for ListResourceDelegates that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListResourceDelegatesAsync(const ListResourceDelegatesRequestT& request, const ListResourceDelegatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListResourceDelegates, request, handler, context);
}
/**
* Returns summaries of the organization's resources.
See Also:
* AWS
* API Reference
*/
virtual Model::ListResourcesOutcome ListResources(const Model::ListResourcesRequest& request) const;
/**
* A Callable wrapper for ListResources that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListResourcesOutcomeCallable ListResourcesCallable(const ListResourcesRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListResources, request);
}
/**
* An Async wrapper for ListResources that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListResourcesAsync(const ListResourcesRequestT& request, const ListResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListResources, request, handler, context);
}
/**
* Lists the tags applied to an WorkMail organization resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListTagsForResource, request, handler, context);
}
/**
* Returns summaries of the organization's users.
See Also:
AWS
* API Reference
*/
virtual Model::ListUsersOutcome ListUsers(const Model::ListUsersRequest& request) const;
/**
* A Callable wrapper for ListUsers that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListUsersOutcomeCallable ListUsersCallable(const ListUsersRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ListUsers, request);
}
/**
* An Async wrapper for ListUsers that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListUsersAsync(const ListUsersRequestT& request, const ListUsersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ListUsers, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutAccessControlRuleOutcome PutAccessControlRule(const Model::PutAccessControlRuleRequest& request) const;
/**
* A Callable wrapper for PutAccessControlRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutAccessControlRuleOutcomeCallable PutAccessControlRuleCallable(const PutAccessControlRuleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::PutAccessControlRule, request);
}
/**
* An Async wrapper for PutAccessControlRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutAccessControlRuleAsync(const PutAccessControlRuleRequestT& request, const PutAccessControlRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::PutAccessControlRule, request, handler, context);
}
/**
* Creates or updates the email monitoring configuration for a specified
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::PutEmailMonitoringConfigurationOutcome PutEmailMonitoringConfiguration(const Model::PutEmailMonitoringConfigurationRequest& request) const;
/**
* A Callable wrapper for PutEmailMonitoringConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutEmailMonitoringConfigurationOutcomeCallable PutEmailMonitoringConfigurationCallable(const PutEmailMonitoringConfigurationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::PutEmailMonitoringConfiguration, request);
}
/**
* An Async wrapper for PutEmailMonitoringConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutEmailMonitoringConfigurationAsync(const PutEmailMonitoringConfigurationRequestT& request, const PutEmailMonitoringConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::PutEmailMonitoringConfiguration, request, handler, context);
}
/**
* Enables or disables a DMARC policy for a given organization.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutInboundDmarcSettingsOutcome PutInboundDmarcSettings(const Model::PutInboundDmarcSettingsRequest& request) const;
/**
* A Callable wrapper for PutInboundDmarcSettings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutInboundDmarcSettingsOutcomeCallable PutInboundDmarcSettingsCallable(const PutInboundDmarcSettingsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::PutInboundDmarcSettings, request);
}
/**
* An Async wrapper for PutInboundDmarcSettings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutInboundDmarcSettingsAsync(const PutInboundDmarcSettingsRequestT& request, const PutInboundDmarcSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::PutInboundDmarcSettings, request, handler, context);
}
/**
* Sets permissions for a user, group, or resource. This replaces any
* pre-existing permissions.
See Also:
AWS
* API Reference
*/
virtual Model::PutMailboxPermissionsOutcome PutMailboxPermissions(const Model::PutMailboxPermissionsRequest& request) const;
/**
* A Callable wrapper for PutMailboxPermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutMailboxPermissionsOutcomeCallable PutMailboxPermissionsCallable(const PutMailboxPermissionsRequestT& request) const
{
return SubmitCallable(&WorkMailClient::PutMailboxPermissions, request);
}
/**
* An Async wrapper for PutMailboxPermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutMailboxPermissionsAsync(const PutMailboxPermissionsRequestT& request, const PutMailboxPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::PutMailboxPermissions, request, handler, context);
}
/**
* Creates or updates a mobile device access override for the given WorkMail
* organization, user, and device.
See Also:
AWS
* API Reference
*/
virtual Model::PutMobileDeviceAccessOverrideOutcome PutMobileDeviceAccessOverride(const Model::PutMobileDeviceAccessOverrideRequest& request) const;
/**
* A Callable wrapper for PutMobileDeviceAccessOverride that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutMobileDeviceAccessOverrideOutcomeCallable PutMobileDeviceAccessOverrideCallable(const PutMobileDeviceAccessOverrideRequestT& request) const
{
return SubmitCallable(&WorkMailClient::PutMobileDeviceAccessOverride, request);
}
/**
* An Async wrapper for PutMobileDeviceAccessOverride that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutMobileDeviceAccessOverrideAsync(const PutMobileDeviceAccessOverrideRequestT& request, const PutMobileDeviceAccessOverrideResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::PutMobileDeviceAccessOverride, request, handler, context);
}
/**
* Puts a retention policy to the specified organization.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutRetentionPolicyOutcome PutRetentionPolicy(const Model::PutRetentionPolicyRequest& request) const;
/**
* A Callable wrapper for PutRetentionPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutRetentionPolicyOutcomeCallable PutRetentionPolicyCallable(const PutRetentionPolicyRequestT& request) const
{
return SubmitCallable(&WorkMailClient::PutRetentionPolicy, request);
}
/**
* An Async wrapper for PutRetentionPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutRetentionPolicyAsync(const PutRetentionPolicyRequestT& request, const PutRetentionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::PutRetentionPolicy, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::RegisterMailDomainOutcome RegisterMailDomain(const Model::RegisterMailDomainRequest& request) const;
/**
* A Callable wrapper for RegisterMailDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RegisterMailDomainOutcomeCallable RegisterMailDomainCallable(const RegisterMailDomainRequestT& request) const
{
return SubmitCallable(&WorkMailClient::RegisterMailDomain, request);
}
/**
* An Async wrapper for RegisterMailDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RegisterMailDomainAsync(const RegisterMailDomainRequestT& request, const RegisterMailDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::RegisterMailDomain, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::RegisterToWorkMailOutcome RegisterToWorkMail(const Model::RegisterToWorkMailRequest& request) const;
/**
* A Callable wrapper for RegisterToWorkMail that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RegisterToWorkMailOutcomeCallable RegisterToWorkMailCallable(const RegisterToWorkMailRequestT& request) const
{
return SubmitCallable(&WorkMailClient::RegisterToWorkMail, request);
}
/**
* An Async wrapper for RegisterToWorkMail that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RegisterToWorkMailAsync(const RegisterToWorkMailRequestT& request, const RegisterToWorkMailResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::RegisterToWorkMail, request, handler, context);
}
/**
* Allows the administrator to reset the password for a user.
See
* Also:
AWS
* API Reference
*/
virtual Model::ResetPasswordOutcome ResetPassword(const Model::ResetPasswordRequest& request) const;
/**
* A Callable wrapper for ResetPassword that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ResetPasswordOutcomeCallable ResetPasswordCallable(const ResetPasswordRequestT& request) const
{
return SubmitCallable(&WorkMailClient::ResetPassword, request);
}
/**
* An Async wrapper for ResetPassword that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ResetPasswordAsync(const ResetPasswordRequestT& request, const ResetPasswordResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::ResetPassword, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::StartMailboxExportJobOutcome StartMailboxExportJob(const Model::StartMailboxExportJobRequest& request) const;
/**
* A Callable wrapper for StartMailboxExportJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartMailboxExportJobOutcomeCallable StartMailboxExportJobCallable(const StartMailboxExportJobRequestT& request) const
{
return SubmitCallable(&WorkMailClient::StartMailboxExportJob, request);
}
/**
* An Async wrapper for StartMailboxExportJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartMailboxExportJobAsync(const StartMailboxExportJobRequestT& request, const StartMailboxExportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::StartMailboxExportJob, request, handler, context);
}
/**
* Applies the specified tags to the specified WorkMailorganization
* resource.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::TagResource, request, handler, context);
}
/**
* 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.
See Also:
* AWS
* API Reference
*/
virtual Model::TestAvailabilityConfigurationOutcome TestAvailabilityConfiguration(const Model::TestAvailabilityConfigurationRequest& request) const;
/**
* A Callable wrapper for TestAvailabilityConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TestAvailabilityConfigurationOutcomeCallable TestAvailabilityConfigurationCallable(const TestAvailabilityConfigurationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::TestAvailabilityConfiguration, request);
}
/**
* An Async wrapper for TestAvailabilityConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TestAvailabilityConfigurationAsync(const TestAvailabilityConfigurationRequestT& request, const TestAvailabilityConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::TestAvailabilityConfiguration, request, handler, context);
}
/**
* Untags the specified tags from the specified WorkMail organization
* resource.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UntagResource, request, handler, context);
}
/**
* Updates an existing AvailabilityConfiguration
for the given
* WorkMail organization and domain.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateAvailabilityConfigurationOutcome UpdateAvailabilityConfiguration(const Model::UpdateAvailabilityConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateAvailabilityConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateAvailabilityConfigurationOutcomeCallable UpdateAvailabilityConfigurationCallable(const UpdateAvailabilityConfigurationRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UpdateAvailabilityConfiguration, request);
}
/**
* An Async wrapper for UpdateAvailabilityConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateAvailabilityConfigurationAsync(const UpdateAvailabilityConfigurationRequestT& request, const UpdateAvailabilityConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UpdateAvailabilityConfiguration, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateDefaultMailDomainOutcome UpdateDefaultMailDomain(const Model::UpdateDefaultMailDomainRequest& request) const;
/**
* A Callable wrapper for UpdateDefaultMailDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateDefaultMailDomainOutcomeCallable UpdateDefaultMailDomainCallable(const UpdateDefaultMailDomainRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UpdateDefaultMailDomain, request);
}
/**
* An Async wrapper for UpdateDefaultMailDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateDefaultMailDomainAsync(const UpdateDefaultMailDomainRequestT& request, const UpdateDefaultMailDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UpdateDefaultMailDomain, request, handler, context);
}
/**
* Updates an impersonation role for the given WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateImpersonationRoleOutcome UpdateImpersonationRole(const Model::UpdateImpersonationRoleRequest& request) const;
/**
* A Callable wrapper for UpdateImpersonationRole that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateImpersonationRoleOutcomeCallable UpdateImpersonationRoleCallable(const UpdateImpersonationRoleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UpdateImpersonationRole, request);
}
/**
* An Async wrapper for UpdateImpersonationRole that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateImpersonationRoleAsync(const UpdateImpersonationRoleRequestT& request, const UpdateImpersonationRoleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UpdateImpersonationRole, request, handler, context);
}
/**
* Updates a user's current mailbox quota for a specified organization and
* user.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateMailboxQuotaOutcome UpdateMailboxQuota(const Model::UpdateMailboxQuotaRequest& request) const;
/**
* A Callable wrapper for UpdateMailboxQuota that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateMailboxQuotaOutcomeCallable UpdateMailboxQuotaCallable(const UpdateMailboxQuotaRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UpdateMailboxQuota, request);
}
/**
* An Async wrapper for UpdateMailboxQuota that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateMailboxQuotaAsync(const UpdateMailboxQuotaRequestT& request, const UpdateMailboxQuotaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UpdateMailboxQuota, request, handler, context);
}
/**
* Updates a mobile device access rule for the specified WorkMail
* organization.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateMobileDeviceAccessRuleOutcome UpdateMobileDeviceAccessRule(const Model::UpdateMobileDeviceAccessRuleRequest& request) const;
/**
* A Callable wrapper for UpdateMobileDeviceAccessRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateMobileDeviceAccessRuleOutcomeCallable UpdateMobileDeviceAccessRuleCallable(const UpdateMobileDeviceAccessRuleRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UpdateMobileDeviceAccessRule, request);
}
/**
* An Async wrapper for UpdateMobileDeviceAccessRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateMobileDeviceAccessRuleAsync(const UpdateMobileDeviceAccessRuleRequestT& request, const UpdateMobileDeviceAccessRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UpdateMobileDeviceAccessRule, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdatePrimaryEmailAddressOutcome UpdatePrimaryEmailAddress(const Model::UpdatePrimaryEmailAddressRequest& request) const;
/**
* A Callable wrapper for UpdatePrimaryEmailAddress that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdatePrimaryEmailAddressOutcomeCallable UpdatePrimaryEmailAddressCallable(const UpdatePrimaryEmailAddressRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UpdatePrimaryEmailAddress, request);
}
/**
* An Async wrapper for UpdatePrimaryEmailAddress that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdatePrimaryEmailAddressAsync(const UpdatePrimaryEmailAddressRequestT& request, const UpdatePrimaryEmailAddressResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UpdatePrimaryEmailAddress, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateResourceOutcome UpdateResource(const Model::UpdateResourceRequest& request) const;
/**
* A Callable wrapper for UpdateResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateResourceOutcomeCallable UpdateResourceCallable(const UpdateResourceRequestT& request) const
{
return SubmitCallable(&WorkMailClient::UpdateResource, request);
}
/**
* An Async wrapper for UpdateResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateResourceAsync(const UpdateResourceRequestT& request, const UpdateResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WorkMailClient::UpdateResource, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const WorkMailClientConfiguration& clientConfiguration);
WorkMailClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace WorkMail
} // namespace Aws