/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace DirectoryService { namespace Model { class AcceptSharedDirectoryRequest; class AddIpRoutesRequest; class AddTagsToResourceRequest; class CancelSchemaExtensionRequest; class ConnectDirectoryRequest; class CreateAliasRequest; class CreateComputerRequest; class CreateConditionalForwarderRequest; class CreateDirectoryRequest; class CreateLogSubscriptionRequest; class CreateMicrosoftADRequest; class CreateSnapshotRequest; class CreateTrustRequest; class DeleteConditionalForwarderRequest; class DeleteDirectoryRequest; class DeleteLogSubscriptionRequest; class DeleteSnapshotRequest; class DeleteTrustRequest; class DeregisterCertificateRequest; class DeregisterEventTopicRequest; class DescribeCertificateRequest; class DescribeConditionalForwardersRequest; class DescribeDirectoriesRequest; class DescribeDomainControllersRequest; class DescribeEventTopicsRequest; class DescribeLDAPSSettingsRequest; class DescribeSharedDirectoriesRequest; class DescribeSnapshotsRequest; class DescribeTrustsRequest; class DisableLDAPSRequest; class DisableRadiusRequest; class DisableSsoRequest; class EnableLDAPSRequest; class EnableRadiusRequest; class EnableSsoRequest; class GetDirectoryLimitsRequest; class GetSnapshotLimitsRequest; class ListCertificatesRequest; class ListIpRoutesRequest; class ListLogSubscriptionsRequest; class ListSchemaExtensionsRequest; class ListTagsForResourceRequest; class RegisterCertificateRequest; class RegisterEventTopicRequest; class RejectSharedDirectoryRequest; class RemoveIpRoutesRequest; class RemoveTagsFromResourceRequest; class ResetUserPasswordRequest; class RestoreFromSnapshotRequest; class ShareDirectoryRequest; class StartSchemaExtensionRequest; class UnshareDirectoryRequest; class UpdateConditionalForwarderRequest; class UpdateNumberOfDomainControllersRequest; class UpdateRadiusRequest; class UpdateTrustRequest; class VerifyTrustRequest; typedef Aws::Utils::Outcome AcceptSharedDirectoryOutcome; typedef Aws::Utils::Outcome AddIpRoutesOutcome; typedef Aws::Utils::Outcome AddTagsToResourceOutcome; typedef Aws::Utils::Outcome CancelSchemaExtensionOutcome; typedef Aws::Utils::Outcome ConnectDirectoryOutcome; typedef Aws::Utils::Outcome CreateAliasOutcome; typedef Aws::Utils::Outcome CreateComputerOutcome; typedef Aws::Utils::Outcome CreateConditionalForwarderOutcome; typedef Aws::Utils::Outcome CreateDirectoryOutcome; typedef Aws::Utils::Outcome CreateLogSubscriptionOutcome; typedef Aws::Utils::Outcome CreateMicrosoftADOutcome; typedef Aws::Utils::Outcome CreateSnapshotOutcome; typedef Aws::Utils::Outcome CreateTrustOutcome; typedef Aws::Utils::Outcome DeleteConditionalForwarderOutcome; typedef Aws::Utils::Outcome DeleteDirectoryOutcome; typedef Aws::Utils::Outcome DeleteLogSubscriptionOutcome; typedef Aws::Utils::Outcome DeleteSnapshotOutcome; typedef Aws::Utils::Outcome DeleteTrustOutcome; typedef Aws::Utils::Outcome DeregisterCertificateOutcome; typedef Aws::Utils::Outcome DeregisterEventTopicOutcome; typedef Aws::Utils::Outcome DescribeCertificateOutcome; typedef Aws::Utils::Outcome DescribeConditionalForwardersOutcome; typedef Aws::Utils::Outcome DescribeDirectoriesOutcome; typedef Aws::Utils::Outcome DescribeDomainControllersOutcome; typedef Aws::Utils::Outcome DescribeEventTopicsOutcome; typedef Aws::Utils::Outcome DescribeLDAPSSettingsOutcome; typedef Aws::Utils::Outcome DescribeSharedDirectoriesOutcome; typedef Aws::Utils::Outcome DescribeSnapshotsOutcome; typedef Aws::Utils::Outcome DescribeTrustsOutcome; typedef Aws::Utils::Outcome DisableLDAPSOutcome; typedef Aws::Utils::Outcome DisableRadiusOutcome; typedef Aws::Utils::Outcome DisableSsoOutcome; typedef Aws::Utils::Outcome EnableLDAPSOutcome; typedef Aws::Utils::Outcome EnableRadiusOutcome; typedef Aws::Utils::Outcome EnableSsoOutcome; typedef Aws::Utils::Outcome GetDirectoryLimitsOutcome; typedef Aws::Utils::Outcome GetSnapshotLimitsOutcome; typedef Aws::Utils::Outcome ListCertificatesOutcome; typedef Aws::Utils::Outcome ListIpRoutesOutcome; typedef Aws::Utils::Outcome ListLogSubscriptionsOutcome; typedef Aws::Utils::Outcome ListSchemaExtensionsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome RegisterCertificateOutcome; typedef Aws::Utils::Outcome RegisterEventTopicOutcome; typedef Aws::Utils::Outcome RejectSharedDirectoryOutcome; typedef Aws::Utils::Outcome RemoveIpRoutesOutcome; typedef Aws::Utils::Outcome RemoveTagsFromResourceOutcome; typedef Aws::Utils::Outcome ResetUserPasswordOutcome; typedef Aws::Utils::Outcome RestoreFromSnapshotOutcome; typedef Aws::Utils::Outcome ShareDirectoryOutcome; typedef Aws::Utils::Outcome StartSchemaExtensionOutcome; typedef Aws::Utils::Outcome UnshareDirectoryOutcome; typedef Aws::Utils::Outcome UpdateConditionalForwarderOutcome; typedef Aws::Utils::Outcome UpdateNumberOfDomainControllersOutcome; typedef Aws::Utils::Outcome UpdateRadiusOutcome; typedef Aws::Utils::Outcome UpdateTrustOutcome; typedef Aws::Utils::Outcome VerifyTrustOutcome; typedef std::future AcceptSharedDirectoryOutcomeCallable; typedef std::future AddIpRoutesOutcomeCallable; typedef std::future AddTagsToResourceOutcomeCallable; typedef std::future CancelSchemaExtensionOutcomeCallable; typedef std::future ConnectDirectoryOutcomeCallable; typedef std::future CreateAliasOutcomeCallable; typedef std::future CreateComputerOutcomeCallable; typedef std::future CreateConditionalForwarderOutcomeCallable; typedef std::future CreateDirectoryOutcomeCallable; typedef std::future CreateLogSubscriptionOutcomeCallable; typedef std::future CreateMicrosoftADOutcomeCallable; typedef std::future CreateSnapshotOutcomeCallable; typedef std::future CreateTrustOutcomeCallable; typedef std::future DeleteConditionalForwarderOutcomeCallable; typedef std::future DeleteDirectoryOutcomeCallable; typedef std::future DeleteLogSubscriptionOutcomeCallable; typedef std::future DeleteSnapshotOutcomeCallable; typedef std::future DeleteTrustOutcomeCallable; typedef std::future DeregisterCertificateOutcomeCallable; typedef std::future DeregisterEventTopicOutcomeCallable; typedef std::future DescribeCertificateOutcomeCallable; typedef std::future DescribeConditionalForwardersOutcomeCallable; typedef std::future DescribeDirectoriesOutcomeCallable; typedef std::future DescribeDomainControllersOutcomeCallable; typedef std::future DescribeEventTopicsOutcomeCallable; typedef std::future DescribeLDAPSSettingsOutcomeCallable; typedef std::future DescribeSharedDirectoriesOutcomeCallable; typedef std::future DescribeSnapshotsOutcomeCallable; typedef std::future DescribeTrustsOutcomeCallable; typedef std::future DisableLDAPSOutcomeCallable; typedef std::future DisableRadiusOutcomeCallable; typedef std::future DisableSsoOutcomeCallable; typedef std::future EnableLDAPSOutcomeCallable; typedef std::future EnableRadiusOutcomeCallable; typedef std::future EnableSsoOutcomeCallable; typedef std::future GetDirectoryLimitsOutcomeCallable; typedef std::future GetSnapshotLimitsOutcomeCallable; typedef std::future ListCertificatesOutcomeCallable; typedef std::future ListIpRoutesOutcomeCallable; typedef std::future ListLogSubscriptionsOutcomeCallable; typedef std::future ListSchemaExtensionsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future RegisterCertificateOutcomeCallable; typedef std::future RegisterEventTopicOutcomeCallable; typedef std::future RejectSharedDirectoryOutcomeCallable; typedef std::future RemoveIpRoutesOutcomeCallable; typedef std::future RemoveTagsFromResourceOutcomeCallable; typedef std::future ResetUserPasswordOutcomeCallable; typedef std::future RestoreFromSnapshotOutcomeCallable; typedef std::future ShareDirectoryOutcomeCallable; typedef std::future StartSchemaExtensionOutcomeCallable; typedef std::future UnshareDirectoryOutcomeCallable; typedef std::future UpdateConditionalForwarderOutcomeCallable; typedef std::future UpdateNumberOfDomainControllersOutcomeCallable; typedef std::future UpdateRadiusOutcomeCallable; typedef std::future UpdateTrustOutcomeCallable; typedef std::future VerifyTrustOutcomeCallable; } // namespace Model class DirectoryServiceClient; typedef std::function&) > AcceptSharedDirectoryResponseReceivedHandler; typedef std::function&) > AddIpRoutesResponseReceivedHandler; typedef std::function&) > AddTagsToResourceResponseReceivedHandler; typedef std::function&) > CancelSchemaExtensionResponseReceivedHandler; typedef std::function&) > ConnectDirectoryResponseReceivedHandler; typedef std::function&) > CreateAliasResponseReceivedHandler; typedef std::function&) > CreateComputerResponseReceivedHandler; typedef std::function&) > CreateConditionalForwarderResponseReceivedHandler; typedef std::function&) > CreateDirectoryResponseReceivedHandler; typedef std::function&) > CreateLogSubscriptionResponseReceivedHandler; typedef std::function&) > CreateMicrosoftADResponseReceivedHandler; typedef std::function&) > CreateSnapshotResponseReceivedHandler; typedef std::function&) > CreateTrustResponseReceivedHandler; typedef std::function&) > DeleteConditionalForwarderResponseReceivedHandler; typedef std::function&) > DeleteDirectoryResponseReceivedHandler; typedef std::function&) > DeleteLogSubscriptionResponseReceivedHandler; typedef std::function&) > DeleteSnapshotResponseReceivedHandler; typedef std::function&) > DeleteTrustResponseReceivedHandler; typedef std::function&) > DeregisterCertificateResponseReceivedHandler; typedef std::function&) > DeregisterEventTopicResponseReceivedHandler; typedef std::function&) > DescribeCertificateResponseReceivedHandler; typedef std::function&) > DescribeConditionalForwardersResponseReceivedHandler; typedef std::function&) > DescribeDirectoriesResponseReceivedHandler; typedef std::function&) > DescribeDomainControllersResponseReceivedHandler; typedef std::function&) > DescribeEventTopicsResponseReceivedHandler; typedef std::function&) > DescribeLDAPSSettingsResponseReceivedHandler; typedef std::function&) > DescribeSharedDirectoriesResponseReceivedHandler; typedef std::function&) > DescribeSnapshotsResponseReceivedHandler; typedef std::function&) > DescribeTrustsResponseReceivedHandler; typedef std::function&) > DisableLDAPSResponseReceivedHandler; typedef std::function&) > DisableRadiusResponseReceivedHandler; typedef std::function&) > DisableSsoResponseReceivedHandler; typedef std::function&) > EnableLDAPSResponseReceivedHandler; typedef std::function&) > EnableRadiusResponseReceivedHandler; typedef std::function&) > EnableSsoResponseReceivedHandler; typedef std::function&) > GetDirectoryLimitsResponseReceivedHandler; typedef std::function&) > GetSnapshotLimitsResponseReceivedHandler; typedef std::function&) > ListCertificatesResponseReceivedHandler; typedef std::function&) > ListIpRoutesResponseReceivedHandler; typedef std::function&) > ListLogSubscriptionsResponseReceivedHandler; typedef std::function&) > ListSchemaExtensionsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > RegisterCertificateResponseReceivedHandler; typedef std::function&) > RegisterEventTopicResponseReceivedHandler; typedef std::function&) > RejectSharedDirectoryResponseReceivedHandler; typedef std::function&) > RemoveIpRoutesResponseReceivedHandler; typedef std::function&) > RemoveTagsFromResourceResponseReceivedHandler; typedef std::function&) > ResetUserPasswordResponseReceivedHandler; typedef std::function&) > RestoreFromSnapshotResponseReceivedHandler; typedef std::function&) > ShareDirectoryResponseReceivedHandler; typedef std::function&) > StartSchemaExtensionResponseReceivedHandler; typedef std::function&) > UnshareDirectoryResponseReceivedHandler; typedef std::function&) > UpdateConditionalForwarderResponseReceivedHandler; typedef std::function&) > UpdateNumberOfDomainControllersResponseReceivedHandler; typedef std::function&) > UpdateRadiusResponseReceivedHandler; typedef std::function&) > UpdateTrustResponseReceivedHandler; typedef std::function&) > VerifyTrustResponseReceivedHandler; /** * AWS Directory Service

AWS Directory Service is a web * service that makes it easy for you to setup and run directories in the AWS * cloud, or connect your AWS resources with an existing on-premises Microsoft * Active Directory. This guide provides detailed information about AWS Directory * Service operations, data types, parameters, and errors. For information about * AWS Directory Services features, see AWS Directory Service and * the AWS * Directory Service Administration Guide.

AWS provides SDKs that * consist of libraries and sample code for various programming languages and * platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient * way to create programmatic access to AWS Directory Service and other AWS * services. For more information about the AWS SDKs, including how to download and * install them, see Tools for Amazon Web * Services.

*/ class AWS_DIRECTORYSERVICE_API DirectoryServiceClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * 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. */ DirectoryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::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. */ DirectoryServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::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 */ DirectoryServiceClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~DirectoryServiceClient(); /** *

Accepts a directory sharing request that was sent from the directory owner * account.

See Also:

AWS * API Reference

*/ virtual Model::AcceptSharedDirectoryOutcome AcceptSharedDirectory(const Model::AcceptSharedDirectoryRequest& request) const; /** *

Accepts a directory sharing request that was sent from the directory owner * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AcceptSharedDirectoryOutcomeCallable AcceptSharedDirectoryCallable(const Model::AcceptSharedDirectoryRequest& request) const; /** *

Accepts a directory sharing request that was sent from the directory owner * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AcceptSharedDirectoryAsync(const Model::AcceptSharedDirectoryRequest& request, const AcceptSharedDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

If the DNS server for your on-premises domain uses a publicly addressable IP * address, you must add a CIDR address block to correctly route traffic to and * from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this * address block. You can also use AddIpRoutes to facilitate routing traffic * that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

*

Before you call AddIpRoutes, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the AddIpRoutes operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS API * Reference

*/ virtual Model::AddIpRoutesOutcome AddIpRoutes(const Model::AddIpRoutesRequest& request) const; /** *

If the DNS server for your on-premises domain uses a publicly addressable IP * address, you must add a CIDR address block to correctly route traffic to and * from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this * address block. You can also use AddIpRoutes to facilitate routing traffic * that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

*

Before you call AddIpRoutes, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the AddIpRoutes operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AddIpRoutesOutcomeCallable AddIpRoutesCallable(const Model::AddIpRoutesRequest& request) const; /** *

If the DNS server for your on-premises domain uses a publicly addressable IP * address, you must add a CIDR address block to correctly route traffic to and * from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this * address block. You can also use AddIpRoutes to facilitate routing traffic * that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

*

Before you call AddIpRoutes, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the AddIpRoutes operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AddIpRoutesAsync(const Model::AddIpRoutesRequest& request, const AddIpRoutesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds or overwrites one or more tags for the specified directory. Each * directory can have a maximum of 50 tags. Each tag consists of a key and optional * value. Tag keys must be unique to each resource.

See Also:

AWS * API Reference

*/ virtual Model::AddTagsToResourceOutcome AddTagsToResource(const Model::AddTagsToResourceRequest& request) const; /** *

Adds or overwrites one or more tags for the specified directory. Each * directory can have a maximum of 50 tags. Each tag consists of a key and optional * value. Tag keys must be unique to each resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AddTagsToResourceOutcomeCallable AddTagsToResourceCallable(const Model::AddTagsToResourceRequest& request) const; /** *

Adds or overwrites one or more tags for the specified directory. Each * directory can have a maximum of 50 tags. Each tag consists of a key and optional * value. Tag keys must be unique to each resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AddTagsToResourceAsync(const Model::AddTagsToResourceRequest& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Cancels an in-progress schema extension to a Microsoft AD directory. Once a * schema extension has started replicating to all domain controllers, the task can * no longer be canceled. A schema extension can be canceled during any of the * following states; Initializing, CreatingSnapshot, and * UpdatingSchema.

See Also:

AWS * API Reference

*/ virtual Model::CancelSchemaExtensionOutcome CancelSchemaExtension(const Model::CancelSchemaExtensionRequest& request) const; /** *

Cancels an in-progress schema extension to a Microsoft AD directory. Once a * schema extension has started replicating to all domain controllers, the task can * no longer be canceled. A schema extension can be canceled during any of the * following states; Initializing, CreatingSnapshot, and * UpdatingSchema.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CancelSchemaExtensionOutcomeCallable CancelSchemaExtensionCallable(const Model::CancelSchemaExtensionRequest& request) const; /** *

Cancels an in-progress schema extension to a Microsoft AD directory. Once a * schema extension has started replicating to all domain controllers, the task can * no longer be canceled. A schema extension can be canceled during any of the * following states; Initializing, CreatingSnapshot, and * UpdatingSchema.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CancelSchemaExtensionAsync(const Model::CancelSchemaExtensionRequest& request, const CancelSchemaExtensionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an AD Connector to connect to an on-premises directory.

Before * you call ConnectDirectory, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the ConnectDirectory * operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

*/ virtual Model::ConnectDirectoryOutcome ConnectDirectory(const Model::ConnectDirectoryRequest& request) const; /** *

Creates an AD Connector to connect to an on-premises directory.

Before * you call ConnectDirectory, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the ConnectDirectory * operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ConnectDirectoryOutcomeCallable ConnectDirectoryCallable(const Model::ConnectDirectoryRequest& request) const; /** *

Creates an AD Connector to connect to an on-premises directory.

Before * you call ConnectDirectory, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the ConnectDirectory * operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ConnectDirectoryAsync(const Model::ConnectDirectoryRequest& request, const ConnectDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an alias for a directory and assigns the alias to the directory. The * alias is used to construct the access URL for the directory, such as * http://<alias>.awsapps.com.

After an alias * has been created, it cannot be deleted or reused, so this operation should only * be used when absolutely necessary.

See Also:

AWS API * Reference

*/ virtual Model::CreateAliasOutcome CreateAlias(const Model::CreateAliasRequest& request) const; /** *

Creates an alias for a directory and assigns the alias to the directory. The * alias is used to construct the access URL for the directory, such as * http://<alias>.awsapps.com.

After an alias * has been created, it cannot be deleted or reused, so this operation should only * be used when absolutely necessary.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateAliasOutcomeCallable CreateAliasCallable(const Model::CreateAliasRequest& request) const; /** *

Creates an alias for a directory and assigns the alias to the directory. The * alias is used to construct the access URL for the directory, such as * http://<alias>.awsapps.com.

After an alias * has been created, it cannot be deleted or reused, so this operation should only * be used when absolutely necessary.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateAliasAsync(const Model::CreateAliasRequest& request, const CreateAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a computer account in the specified directory, and joins the computer * to the directory.

See Also:

AWS * API Reference

*/ virtual Model::CreateComputerOutcome CreateComputer(const Model::CreateComputerRequest& request) const; /** *

Creates a computer account in the specified directory, and joins the computer * to the directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateComputerOutcomeCallable CreateComputerCallable(const Model::CreateComputerRequest& request) const; /** *

Creates a computer account in the specified directory, and joins the computer * to the directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateComputerAsync(const Model::CreateComputerRequest& request, const CreateComputerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a conditional forwarder associated with your AWS directory. * Conditional forwarders are required in order to set up a trust relationship with * another domain. The conditional forwarder points to the trusted * domain.

See Also:

AWS * API Reference

*/ virtual Model::CreateConditionalForwarderOutcome CreateConditionalForwarder(const Model::CreateConditionalForwarderRequest& request) const; /** *

Creates a conditional forwarder associated with your AWS directory. * Conditional forwarders are required in order to set up a trust relationship with * another domain. The conditional forwarder points to the trusted * domain.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateConditionalForwarderOutcomeCallable CreateConditionalForwarderCallable(const Model::CreateConditionalForwarderRequest& request) const; /** *

Creates a conditional forwarder associated with your AWS directory. * Conditional forwarders are required in order to set up a trust relationship with * another domain. The conditional forwarder points to the trusted * domain.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateConditionalForwarderAsync(const Model::CreateConditionalForwarderRequest& request, const CreateConditionalForwarderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a Simple AD directory. For more information, see Simple * Active Directory in the AWS Directory Service Admin Guide.

*

Before you call CreateDirectory, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the CreateDirectory operation, * see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

*/ virtual Model::CreateDirectoryOutcome CreateDirectory(const Model::CreateDirectoryRequest& request) const; /** *

Creates a Simple AD directory. For more information, see Simple * Active Directory in the AWS Directory Service Admin Guide.

*

Before you call CreateDirectory, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the CreateDirectory operation, * see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateDirectoryOutcomeCallable CreateDirectoryCallable(const Model::CreateDirectoryRequest& request) const; /** *

Creates a Simple AD directory. For more information, see Simple * Active Directory in the AWS Directory Service Admin Guide.

*

Before you call CreateDirectory, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the CreateDirectory operation, * see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateDirectoryAsync(const Model::CreateDirectoryRequest& request, const CreateDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a subscription to forward real-time Directory Service domain * controller security logs to the specified Amazon CloudWatch log group in your * AWS account.

See Also:

AWS * API Reference

*/ virtual Model::CreateLogSubscriptionOutcome CreateLogSubscription(const Model::CreateLogSubscriptionRequest& request) const; /** *

Creates a subscription to forward real-time Directory Service domain * controller security logs to the specified Amazon CloudWatch log group in your * AWS account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateLogSubscriptionOutcomeCallable CreateLogSubscriptionCallable(const Model::CreateLogSubscriptionRequest& request) const; /** *

Creates a subscription to forward real-time Directory Service domain * controller security logs to the specified Amazon CloudWatch log group in your * AWS account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateLogSubscriptionAsync(const Model::CreateLogSubscriptionRequest& request, const CreateLogSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a Microsoft AD directory in the AWS Cloud. For more information, see * AWS * Managed Microsoft AD in the AWS Directory Service Admin Guide.

*

Before you call CreateMicrosoftAD, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the CreateMicrosoftAD operation, see * AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

*/ virtual Model::CreateMicrosoftADOutcome CreateMicrosoftAD(const Model::CreateMicrosoftADRequest& request) const; /** *

Creates a Microsoft AD directory in the AWS Cloud. For more information, see * AWS * Managed Microsoft AD in the AWS Directory Service Admin Guide.

*

Before you call CreateMicrosoftAD, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the CreateMicrosoftAD operation, see * AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateMicrosoftADOutcomeCallable CreateMicrosoftADCallable(const Model::CreateMicrosoftADRequest& request) const; /** *

Creates a Microsoft AD directory in the AWS Cloud. For more information, see * AWS * Managed Microsoft AD in the AWS Directory Service Admin Guide.

*

Before you call CreateMicrosoftAD, ensure that all of the required * permissions have been explicitly granted through a policy. For details about * what permissions are required to run the CreateMicrosoftAD operation, see * AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateMicrosoftADAsync(const Model::CreateMicrosoftADRequest& request, const CreateMicrosoftADResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS * cloud.

You cannot take snapshots of AD Connector directories.

*

See Also:

AWS * API Reference

*/ virtual Model::CreateSnapshotOutcome CreateSnapshot(const Model::CreateSnapshotRequest& request) const; /** *

Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS * cloud.

You cannot take snapshots of AD Connector directories.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSnapshotOutcomeCallable CreateSnapshotCallable(const Model::CreateSnapshotRequest& request) const; /** *

Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS * cloud.

You cannot take snapshots of AD Connector directories.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSnapshotAsync(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

AWS Directory Service for Microsoft Active Directory allows you to configure * trust relationships. For example, you can establish a trust between your AWS * Managed Microsoft AD directory, and your existing on-premises Microsoft Active * Directory. This would allow you to provide users and groups access to resources * in either domain, with a single set of credentials.

This action initiates * the creation of the AWS side of a trust relationship between an AWS Managed * Microsoft AD directory and an external domain. You can create either a forest * trust or an external trust.

See Also:

AWS API * Reference

*/ virtual Model::CreateTrustOutcome CreateTrust(const Model::CreateTrustRequest& request) const; /** *

AWS Directory Service for Microsoft Active Directory allows you to configure * trust relationships. For example, you can establish a trust between your AWS * Managed Microsoft AD directory, and your existing on-premises Microsoft Active * Directory. This would allow you to provide users and groups access to resources * in either domain, with a single set of credentials.

This action initiates * the creation of the AWS side of a trust relationship between an AWS Managed * Microsoft AD directory and an external domain. You can create either a forest * trust or an external trust.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateTrustOutcomeCallable CreateTrustCallable(const Model::CreateTrustRequest& request) const; /** *

AWS Directory Service for Microsoft Active Directory allows you to configure * trust relationships. For example, you can establish a trust between your AWS * Managed Microsoft AD directory, and your existing on-premises Microsoft Active * Directory. This would allow you to provide users and groups access to resources * in either domain, with a single set of credentials.

This action initiates * the creation of the AWS side of a trust relationship between an AWS Managed * Microsoft AD directory and an external domain. You can create either a forest * trust or an external trust.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateTrustAsync(const Model::CreateTrustRequest& request, const CreateTrustResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a conditional forwarder that has been set up for your AWS * directory.

See Also:

AWS * API Reference

*/ virtual Model::DeleteConditionalForwarderOutcome DeleteConditionalForwarder(const Model::DeleteConditionalForwarderRequest& request) const; /** *

Deletes a conditional forwarder that has been set up for your AWS * directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteConditionalForwarderOutcomeCallable DeleteConditionalForwarderCallable(const Model::DeleteConditionalForwarderRequest& request) const; /** *

Deletes a conditional forwarder that has been set up for your AWS * directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteConditionalForwarderAsync(const Model::DeleteConditionalForwarderRequest& request, const DeleteConditionalForwarderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes an AWS Directory Service directory.

Before you call * DeleteDirectory, ensure that all of the required permissions have * been explicitly granted through a policy. For details about what permissions are * required to run the DeleteDirectory operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDirectoryOutcome DeleteDirectory(const Model::DeleteDirectoryRequest& request) const; /** *

Deletes an AWS Directory Service directory.

Before you call * DeleteDirectory, ensure that all of the required permissions have * been explicitly granted through a policy. For details about what permissions are * required to run the DeleteDirectory operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteDirectoryOutcomeCallable DeleteDirectoryCallable(const Model::DeleteDirectoryRequest& request) const; /** *

Deletes an AWS Directory Service directory.

Before you call * DeleteDirectory, ensure that all of the required permissions have * been explicitly granted through a policy. For details about what permissions are * required to run the DeleteDirectory operation, see AWS * Directory Service API Permissions: Actions, Resources, and Conditions * Reference.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteDirectoryAsync(const Model::DeleteDirectoryRequest& request, const DeleteDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified log subscription.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLogSubscriptionOutcome DeleteLogSubscription(const Model::DeleteLogSubscriptionRequest& request) const; /** *

Deletes the specified log subscription.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLogSubscriptionOutcomeCallable DeleteLogSubscriptionCallable(const Model::DeleteLogSubscriptionRequest& request) const; /** *

Deletes the specified log subscription.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLogSubscriptionAsync(const Model::DeleteLogSubscriptionRequest& request, const DeleteLogSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a directory snapshot.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSnapshotOutcome DeleteSnapshot(const Model::DeleteSnapshotRequest& request) const; /** *

Deletes a directory snapshot.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSnapshotOutcomeCallable DeleteSnapshotCallable(const Model::DeleteSnapshotRequest& request) const; /** *

Deletes a directory snapshot.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSnapshotAsync(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes an existing trust relationship between your AWS Managed Microsoft AD * directory and an external domain.

See Also:

AWS API * Reference

*/ virtual Model::DeleteTrustOutcome DeleteTrust(const Model::DeleteTrustRequest& request) const; /** *

Deletes an existing trust relationship between your AWS Managed Microsoft AD * directory and an external domain.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteTrustOutcomeCallable DeleteTrustCallable(const Model::DeleteTrustRequest& request) const; /** *

Deletes an existing trust relationship between your AWS Managed Microsoft AD * directory and an external domain.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteTrustAsync(const Model::DeleteTrustRequest& request, const DeleteTrustResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes from the system the certificate that was registered for a secured * LDAP connection.

See Also:

AWS * API Reference

*/ virtual Model::DeregisterCertificateOutcome DeregisterCertificate(const Model::DeregisterCertificateRequest& request) const; /** *

Deletes from the system the certificate that was registered for a secured * LDAP connection.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeregisterCertificateOutcomeCallable DeregisterCertificateCallable(const Model::DeregisterCertificateRequest& request) const; /** *

Deletes from the system the certificate that was registered for a secured * LDAP connection.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeregisterCertificateAsync(const Model::DeregisterCertificateRequest& request, const DeregisterCertificateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes the specified directory as a publisher to the specified SNS * topic.

See Also:

AWS * API Reference

*/ virtual Model::DeregisterEventTopicOutcome DeregisterEventTopic(const Model::DeregisterEventTopicRequest& request) const; /** *

Removes the specified directory as a publisher to the specified SNS * topic.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeregisterEventTopicOutcomeCallable DeregisterEventTopicCallable(const Model::DeregisterEventTopicRequest& request) const; /** *

Removes the specified directory as a publisher to the specified SNS * topic.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeregisterEventTopicAsync(const Model::DeregisterEventTopicRequest& request, const DeregisterEventTopicResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Displays information about the certificate registered for a secured LDAP * connection.

See Also:

AWS * API Reference

*/ virtual Model::DescribeCertificateOutcome DescribeCertificate(const Model::DescribeCertificateRequest& request) const; /** *

Displays information about the certificate registered for a secured LDAP * connection.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeCertificateOutcomeCallable DescribeCertificateCallable(const Model::DescribeCertificateRequest& request) const; /** *

Displays information about the certificate registered for a secured LDAP * connection.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeCertificateAsync(const Model::DescribeCertificateRequest& request, const DescribeCertificateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Obtains information about the conditional forwarders for this account.

*

If no input parameters are provided for RemoteDomainNames, this request * describes all conditional forwarders for the specified directory * ID.

See Also:

AWS * API Reference

*/ virtual Model::DescribeConditionalForwardersOutcome DescribeConditionalForwarders(const Model::DescribeConditionalForwardersRequest& request) const; /** *

Obtains information about the conditional forwarders for this account.

*

If no input parameters are provided for RemoteDomainNames, this request * describes all conditional forwarders for the specified directory * ID.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeConditionalForwardersOutcomeCallable DescribeConditionalForwardersCallable(const Model::DescribeConditionalForwardersRequest& request) const; /** *

Obtains information about the conditional forwarders for this account.

*

If no input parameters are provided for RemoteDomainNames, this request * describes all conditional forwarders for the specified directory * ID.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeConditionalForwardersAsync(const Model::DescribeConditionalForwardersRequest& request, const DescribeConditionalForwardersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Obtains information about the directories that belong to this account.

*

You can retrieve information about specific directories by passing the * directory identifiers in the DirectoryIds parameter. Otherwise, all * directories that belong to the current account are returned.

This * operation supports pagination with the use of the NextToken request * and response parameters. If more results are available, the * DescribeDirectoriesResult.NextToken member contains a token that * you pass in the next call to DescribeDirectories to retrieve the next set * of items.

You can also specify a maximum number of return results with * the Limit parameter.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDirectoriesOutcome DescribeDirectories(const Model::DescribeDirectoriesRequest& request) const; /** *

Obtains information about the directories that belong to this account.

*

You can retrieve information about specific directories by passing the * directory identifiers in the DirectoryIds parameter. Otherwise, all * directories that belong to the current account are returned.

This * operation supports pagination with the use of the NextToken request * and response parameters. If more results are available, the * DescribeDirectoriesResult.NextToken member contains a token that * you pass in the next call to DescribeDirectories to retrieve the next set * of items.

You can also specify a maximum number of return results with * the Limit parameter.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeDirectoriesOutcomeCallable DescribeDirectoriesCallable(const Model::DescribeDirectoriesRequest& request) const; /** *

Obtains information about the directories that belong to this account.

*

You can retrieve information about specific directories by passing the * directory identifiers in the DirectoryIds parameter. Otherwise, all * directories that belong to the current account are returned.

This * operation supports pagination with the use of the NextToken request * and response parameters. If more results are available, the * DescribeDirectoriesResult.NextToken member contains a token that * you pass in the next call to DescribeDirectories to retrieve the next set * of items.

You can also specify a maximum number of return results with * the Limit parameter.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeDirectoriesAsync(const Model::DescribeDirectoriesRequest& request, const DescribeDirectoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Provides information about any domain controllers in your * directory.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDomainControllersOutcome DescribeDomainControllers(const Model::DescribeDomainControllersRequest& request) const; /** *

Provides information about any domain controllers in your * directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeDomainControllersOutcomeCallable DescribeDomainControllersCallable(const Model::DescribeDomainControllersRequest& request) const; /** *

Provides information about any domain controllers in your * directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeDomainControllersAsync(const Model::DescribeDomainControllersRequest& request, const DescribeDomainControllersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Obtains information about which SNS topics receive status messages from the * specified directory.

If no input parameters are provided, such as * DirectoryId or TopicName, this request describes all of the associations in the * account.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEventTopicsOutcome DescribeEventTopics(const Model::DescribeEventTopicsRequest& request) const; /** *

Obtains information about which SNS topics receive status messages from the * specified directory.

If no input parameters are provided, such as * DirectoryId or TopicName, this request describes all of the associations in the * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeEventTopicsOutcomeCallable DescribeEventTopicsCallable(const Model::DescribeEventTopicsRequest& request) const; /** *

Obtains information about which SNS topics receive status messages from the * specified directory.

If no input parameters are provided, such as * DirectoryId or TopicName, this request describes all of the associations in the * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeEventTopicsAsync(const Model::DescribeEventTopicsRequest& request, const DescribeEventTopicsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the status of LDAP security for the specified * directory.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLDAPSSettingsOutcome DescribeLDAPSSettings(const Model::DescribeLDAPSSettingsRequest& request) const; /** *

Describes the status of LDAP security for the specified * directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeLDAPSSettingsOutcomeCallable DescribeLDAPSSettingsCallable(const Model::DescribeLDAPSSettingsRequest& request) const; /** *

Describes the status of LDAP security for the specified * directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeLDAPSSettingsAsync(const Model::DescribeLDAPSSettingsRequest& request, const DescribeLDAPSSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the shared directories in your account.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeSharedDirectoriesOutcome DescribeSharedDirectories(const Model::DescribeSharedDirectoriesRequest& request) const; /** *

Returns the shared directories in your account.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeSharedDirectoriesOutcomeCallable DescribeSharedDirectoriesCallable(const Model::DescribeSharedDirectoriesRequest& request) const; /** *

Returns the shared directories in your account.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeSharedDirectoriesAsync(const Model::DescribeSharedDirectoriesRequest& request, const DescribeSharedDirectoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Obtains information about the directory snapshots that belong to this * account.

This operation supports pagination with the use of the * NextToken request and response parameters. If more results are available, * the DescribeSnapshots.NextToken member contains a token that you pass in * the next call to DescribeSnapshots to retrieve the next set of items.

*

You can also specify a maximum number of return results with the Limit * parameter.

See Also:

AWS * API Reference

*/ virtual Model::DescribeSnapshotsOutcome DescribeSnapshots(const Model::DescribeSnapshotsRequest& request) const; /** *

Obtains information about the directory snapshots that belong to this * account.

This operation supports pagination with the use of the * NextToken request and response parameters. If more results are available, * the DescribeSnapshots.NextToken member contains a token that you pass in * the next call to DescribeSnapshots to retrieve the next set of items.

*

You can also specify a maximum number of return results with the Limit * parameter.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeSnapshotsOutcomeCallable DescribeSnapshotsCallable(const Model::DescribeSnapshotsRequest& request) const; /** *

Obtains information about the directory snapshots that belong to this * account.

This operation supports pagination with the use of the * NextToken request and response parameters. If more results are available, * the DescribeSnapshots.NextToken member contains a token that you pass in * the next call to DescribeSnapshots to retrieve the next set of items.

*

You can also specify a maximum number of return results with the Limit * parameter.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeSnapshotsAsync(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Obtains information about the trust relationships for this account.

If * no input parameters are provided, such as DirectoryId or TrustIds, this request * describes all the trust relationships belonging to the account.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeTrustsOutcome DescribeTrusts(const Model::DescribeTrustsRequest& request) const; /** *

Obtains information about the trust relationships for this account.

If * no input parameters are provided, such as DirectoryId or TrustIds, this request * describes all the trust relationships belonging to the account.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeTrustsOutcomeCallable DescribeTrustsCallable(const Model::DescribeTrustsRequest& request) const; /** *

Obtains information about the trust relationships for this account.

If * no input parameters are provided, such as DirectoryId or TrustIds, this request * describes all the trust relationships belonging to the account.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeTrustsAsync(const Model::DescribeTrustsRequest& request, const DescribeTrustsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deactivates LDAP secure calls for the specified directory.

See * Also:

AWS API * Reference

*/ virtual Model::DisableLDAPSOutcome DisableLDAPS(const Model::DisableLDAPSRequest& request) const; /** *

Deactivates LDAP secure calls for the specified directory.

See * Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisableLDAPSOutcomeCallable DisableLDAPSCallable(const Model::DisableLDAPSRequest& request) const; /** *

Deactivates LDAP secure calls for the specified directory.

See * Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisableLDAPSAsync(const Model::DisableLDAPSRequest& request, const DisableLDAPSResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disables multi-factor authentication (MFA) with the Remote Authentication * Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD * directory.

See Also:

AWS * API Reference

*/ virtual Model::DisableRadiusOutcome DisableRadius(const Model::DisableRadiusRequest& request) const; /** *

Disables multi-factor authentication (MFA) with the Remote Authentication * Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD * directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisableRadiusOutcomeCallable DisableRadiusCallable(const Model::DisableRadiusRequest& request) const; /** *

Disables multi-factor authentication (MFA) with the Remote Authentication * Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD * directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisableRadiusAsync(const Model::DisableRadiusRequest& request, const DisableRadiusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disables single-sign on for a directory.

See Also:

AWS API * Reference

*/ virtual Model::DisableSsoOutcome DisableSso(const Model::DisableSsoRequest& request) const; /** *

Disables single-sign on for a directory.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisableSsoOutcomeCallable DisableSsoCallable(const Model::DisableSsoRequest& request) const; /** *

Disables single-sign on for a directory.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisableSsoAsync(const Model::DisableSsoRequest& request, const DisableSsoResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Activates the switch for the specific directory to always use LDAP secure * calls.

See Also:

AWS API * Reference

*/ virtual Model::EnableLDAPSOutcome EnableLDAPS(const Model::EnableLDAPSRequest& request) const; /** *

Activates the switch for the specific directory to always use LDAP secure * calls.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::EnableLDAPSOutcomeCallable EnableLDAPSCallable(const Model::EnableLDAPSRequest& request) const; /** *

Activates the switch for the specific directory to always use LDAP secure * calls.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void EnableLDAPSAsync(const Model::EnableLDAPSRequest& request, const EnableLDAPSResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Enables multi-factor authentication (MFA) with the Remote Authentication Dial * In User Service (RADIUS) server for an AD Connector or Microsoft AD * directory.

See Also:

AWS API * Reference

*/ virtual Model::EnableRadiusOutcome EnableRadius(const Model::EnableRadiusRequest& request) const; /** *

Enables multi-factor authentication (MFA) with the Remote Authentication Dial * In User Service (RADIUS) server for an AD Connector or Microsoft AD * directory.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::EnableRadiusOutcomeCallable EnableRadiusCallable(const Model::EnableRadiusRequest& request) const; /** *

Enables multi-factor authentication (MFA) with the Remote Authentication Dial * In User Service (RADIUS) server for an AD Connector or Microsoft AD * directory.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void EnableRadiusAsync(const Model::EnableRadiusRequest& request, const EnableRadiusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Enables single sign-on for a directory. Single sign-on allows users in your * directory to access certain AWS services from a computer joined to the directory * without having to enter their credentials separately.

See Also:

* AWS API * Reference

*/ virtual Model::EnableSsoOutcome EnableSso(const Model::EnableSsoRequest& request) const; /** *

Enables single sign-on for a directory. Single sign-on allows users in your * directory to access certain AWS services from a computer joined to the directory * without having to enter their credentials separately.

See Also:

* AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::EnableSsoOutcomeCallable EnableSsoCallable(const Model::EnableSsoRequest& request) const; /** *

Enables single sign-on for a directory. Single sign-on allows users in your * directory to access certain AWS services from a computer joined to the directory * without having to enter their credentials separately.

See Also:

* AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void EnableSsoAsync(const Model::EnableSsoRequest& request, const EnableSsoResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Obtains directory limit information for the current Region.

See * Also:

AWS * API Reference

*/ virtual Model::GetDirectoryLimitsOutcome GetDirectoryLimits(const Model::GetDirectoryLimitsRequest& request) const; /** *

Obtains directory limit information for the current Region.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetDirectoryLimitsOutcomeCallable GetDirectoryLimitsCallable(const Model::GetDirectoryLimitsRequest& request) const; /** *

Obtains directory limit information for the current Region.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetDirectoryLimitsAsync(const Model::GetDirectoryLimitsRequest& request, const GetDirectoryLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Obtains the manual snapshot limits for a directory.

See Also:

* AWS * API Reference

*/ virtual Model::GetSnapshotLimitsOutcome GetSnapshotLimits(const Model::GetSnapshotLimitsRequest& request) const; /** *

Obtains the manual snapshot limits for a directory.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSnapshotLimitsOutcomeCallable GetSnapshotLimitsCallable(const Model::GetSnapshotLimitsRequest& request) const; /** *

Obtains the manual snapshot limits for a directory.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSnapshotLimitsAsync(const Model::GetSnapshotLimitsRequest& request, const GetSnapshotLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

For the specified directory, lists all the certificates registered for a * secured LDAP connection.

See Also:

AWS * API Reference

*/ virtual Model::ListCertificatesOutcome ListCertificates(const Model::ListCertificatesRequest& request) const; /** *

For the specified directory, lists all the certificates registered for a * secured LDAP connection.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListCertificatesOutcomeCallable ListCertificatesCallable(const Model::ListCertificatesRequest& request) const; /** *

For the specified directory, lists all the certificates registered for a * secured LDAP connection.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListCertificatesAsync(const Model::ListCertificatesRequest& request, const ListCertificatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the address blocks that you have added to a directory.

See * Also:

AWS API * Reference

*/ virtual Model::ListIpRoutesOutcome ListIpRoutes(const Model::ListIpRoutesRequest& request) const; /** *

Lists the address blocks that you have added to a directory.

See * Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListIpRoutesOutcomeCallable ListIpRoutesCallable(const Model::ListIpRoutesRequest& request) const; /** *

Lists the address blocks that you have added to a directory.

See * Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListIpRoutesAsync(const Model::ListIpRoutesRequest& request, const ListIpRoutesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the active log subscriptions for the AWS account.

See * Also:

AWS * API Reference

*/ virtual Model::ListLogSubscriptionsOutcome ListLogSubscriptions(const Model::ListLogSubscriptionsRequest& request) const; /** *

Lists the active log subscriptions for the AWS account.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListLogSubscriptionsOutcomeCallable ListLogSubscriptionsCallable(const Model::ListLogSubscriptionsRequest& request) const; /** *

Lists the active log subscriptions for the AWS account.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListLogSubscriptionsAsync(const Model::ListLogSubscriptionsRequest& request, const ListLogSubscriptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all schema extensions applied to a Microsoft AD * Directory.

See Also:

AWS * API Reference

*/ virtual Model::ListSchemaExtensionsOutcome ListSchemaExtensions(const Model::ListSchemaExtensionsRequest& request) const; /** *

Lists all schema extensions applied to a Microsoft AD * Directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListSchemaExtensionsOutcomeCallable ListSchemaExtensionsCallable(const Model::ListSchemaExtensionsRequest& request) const; /** *

Lists all schema extensions applied to a Microsoft AD * Directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListSchemaExtensionsAsync(const Model::ListSchemaExtensionsRequest& request, const ListSchemaExtensionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all tags on a directory.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all tags on a directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all tags on a directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Registers a certificate for secured LDAP connection.

See Also:

* AWS * API Reference

*/ virtual Model::RegisterCertificateOutcome RegisterCertificate(const Model::RegisterCertificateRequest& request) const; /** *

Registers a certificate for secured LDAP connection.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RegisterCertificateOutcomeCallable RegisterCertificateCallable(const Model::RegisterCertificateRequest& request) const; /** *

Registers a certificate for secured LDAP connection.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RegisterCertificateAsync(const Model::RegisterCertificateRequest& request, const RegisterCertificateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Associates a directory with an SNS topic. This establishes the directory as a * publisher to the specified SNS topic. You can then receive email or text (SMS) * messages when the status of your directory changes. You get notified if your * directory goes from an Active status to an Impaired or Inoperable status. You * also receive a notification when the directory returns to an Active * status.

See Also:

AWS * API Reference

*/ virtual Model::RegisterEventTopicOutcome RegisterEventTopic(const Model::RegisterEventTopicRequest& request) const; /** *

Associates a directory with an SNS topic. This establishes the directory as a * publisher to the specified SNS topic. You can then receive email or text (SMS) * messages when the status of your directory changes. You get notified if your * directory goes from an Active status to an Impaired or Inoperable status. You * also receive a notification when the directory returns to an Active * status.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RegisterEventTopicOutcomeCallable RegisterEventTopicCallable(const Model::RegisterEventTopicRequest& request) const; /** *

Associates a directory with an SNS topic. This establishes the directory as a * publisher to the specified SNS topic. You can then receive email or text (SMS) * messages when the status of your directory changes. You get notified if your * directory goes from an Active status to an Impaired or Inoperable status. You * also receive a notification when the directory returns to an Active * status.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RegisterEventTopicAsync(const Model::RegisterEventTopicRequest& request, const RegisterEventTopicResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Rejects a directory sharing request that was sent from the directory owner * account.

See Also:

AWS * API Reference

*/ virtual Model::RejectSharedDirectoryOutcome RejectSharedDirectory(const Model::RejectSharedDirectoryRequest& request) const; /** *

Rejects a directory sharing request that was sent from the directory owner * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RejectSharedDirectoryOutcomeCallable RejectSharedDirectoryCallable(const Model::RejectSharedDirectoryRequest& request) const; /** *

Rejects a directory sharing request that was sent from the directory owner * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RejectSharedDirectoryAsync(const Model::RejectSharedDirectoryRequest& request, const RejectSharedDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes IP address blocks from a directory.

See Also:

AWS * API Reference

*/ virtual Model::RemoveIpRoutesOutcome RemoveIpRoutes(const Model::RemoveIpRoutesRequest& request) const; /** *

Removes IP address blocks from a directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemoveIpRoutesOutcomeCallable RemoveIpRoutesCallable(const Model::RemoveIpRoutesRequest& request) const; /** *

Removes IP address blocks from a directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemoveIpRoutesAsync(const Model::RemoveIpRoutesRequest& request, const RemoveIpRoutesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes tags from a directory.

See Also:

AWS * API Reference

*/ virtual Model::RemoveTagsFromResourceOutcome RemoveTagsFromResource(const Model::RemoveTagsFromResourceRequest& request) const; /** *

Removes tags from a directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemoveTagsFromResourceOutcomeCallable RemoveTagsFromResourceCallable(const Model::RemoveTagsFromResourceRequest& request) const; /** *

Removes tags from a directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemoveTagsFromResourceAsync(const Model::RemoveTagsFromResourceRequest& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Resets the password for any user in your AWS Managed Microsoft AD or Simple * AD directory.

You can reset the password for any user in your directory * with the following exceptions:

  • For Simple AD, you cannot reset * the password for any user that is a member of either the Domain Admins or * Enterprise Admins group except for the administrator user.

  • *

    For AWS Managed Microsoft AD, you can only reset the password for a user that * is in an OU based off of the NetBIOS name that you typed when you created your * directory. For example, you cannot reset the password for a user in the AWS * Reserved OU. For more information about the OU structure for an AWS Managed * Microsoft AD directory, see What * Gets Created in the AWS Directory Service Administration Guide.

    *

See Also:

AWS * API Reference

*/ virtual Model::ResetUserPasswordOutcome ResetUserPassword(const Model::ResetUserPasswordRequest& request) const; /** *

Resets the password for any user in your AWS Managed Microsoft AD or Simple * AD directory.

You can reset the password for any user in your directory * with the following exceptions:

  • For Simple AD, you cannot reset * the password for any user that is a member of either the Domain Admins or * Enterprise Admins group except for the administrator user.

  • *

    For AWS Managed Microsoft AD, you can only reset the password for a user that * is in an OU based off of the NetBIOS name that you typed when you created your * directory. For example, you cannot reset the password for a user in the AWS * Reserved OU. For more information about the OU structure for an AWS Managed * Microsoft AD directory, see What * Gets Created in the AWS Directory Service Administration Guide.

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ResetUserPasswordOutcomeCallable ResetUserPasswordCallable(const Model::ResetUserPasswordRequest& request) const; /** *

Resets the password for any user in your AWS Managed Microsoft AD or Simple * AD directory.

You can reset the password for any user in your directory * with the following exceptions:

  • For Simple AD, you cannot reset * the password for any user that is a member of either the Domain Admins or * Enterprise Admins group except for the administrator user.

  • *

    For AWS Managed Microsoft AD, you can only reset the password for a user that * is in an OU based off of the NetBIOS name that you typed when you created your * directory. For example, you cannot reset the password for a user in the AWS * Reserved OU. For more information about the OU structure for an AWS Managed * Microsoft AD directory, see What * Gets Created in the AWS Directory Service Administration Guide.

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ResetUserPasswordAsync(const Model::ResetUserPasswordRequest& request, const ResetUserPasswordResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Restores a directory using an existing directory snapshot.

When you * restore a directory from a snapshot, any changes made to the directory after the * snapshot date are overwritten.

This action returns as soon as the restore * operation is initiated. You can monitor the progress of the restore operation by * calling the DescribeDirectories operation with the directory identifier. * When the DirectoryDescription.Stage value changes to Active, * the restore operation is complete.

See Also:

AWS * API Reference

*/ virtual Model::RestoreFromSnapshotOutcome RestoreFromSnapshot(const Model::RestoreFromSnapshotRequest& request) const; /** *

Restores a directory using an existing directory snapshot.

When you * restore a directory from a snapshot, any changes made to the directory after the * snapshot date are overwritten.

This action returns as soon as the restore * operation is initiated. You can monitor the progress of the restore operation by * calling the DescribeDirectories operation with the directory identifier. * When the DirectoryDescription.Stage value changes to Active, * the restore operation is complete.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RestoreFromSnapshotOutcomeCallable RestoreFromSnapshotCallable(const Model::RestoreFromSnapshotRequest& request) const; /** *

Restores a directory using an existing directory snapshot.

When you * restore a directory from a snapshot, any changes made to the directory after the * snapshot date are overwritten.

This action returns as soon as the restore * operation is initiated. You can monitor the progress of the restore operation by * calling the DescribeDirectories operation with the directory identifier. * When the DirectoryDescription.Stage value changes to Active, * the restore operation is complete.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RestoreFromSnapshotAsync(const Model::RestoreFromSnapshotRequest& request, const RestoreFromSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Shares a specified directory (DirectoryId) in your AWS account * (directory owner) with another AWS account (directory consumer). With this * operation you can use your directory from any AWS account and from any Amazon * VPC within an AWS Region.

When you share your AWS Managed Microsoft AD * directory, AWS Directory Service creates a shared directory in the directory * consumer account. This shared directory contains the metadata to provide access * to the directory within the directory owner account. The shared directory is * visible in all VPCs in the directory consumer account.

The * ShareMethod parameter determines whether the specified directory * can be shared between AWS accounts inside the same AWS organization * (ORGANIZATIONS). It also determines whether you can share the * directory with any other AWS account either inside or outside of the * organization (HANDSHAKE).

The ShareNotes * parameter is only used when HANDSHAKE is called, which sends a * directory sharing request to the directory consumer.

See Also:

* AWS * API Reference

*/ virtual Model::ShareDirectoryOutcome ShareDirectory(const Model::ShareDirectoryRequest& request) const; /** *

Shares a specified directory (DirectoryId) in your AWS account * (directory owner) with another AWS account (directory consumer). With this * operation you can use your directory from any AWS account and from any Amazon * VPC within an AWS Region.

When you share your AWS Managed Microsoft AD * directory, AWS Directory Service creates a shared directory in the directory * consumer account. This shared directory contains the metadata to provide access * to the directory within the directory owner account. The shared directory is * visible in all VPCs in the directory consumer account.

The * ShareMethod parameter determines whether the specified directory * can be shared between AWS accounts inside the same AWS organization * (ORGANIZATIONS). It also determines whether you can share the * directory with any other AWS account either inside or outside of the * organization (HANDSHAKE).

The ShareNotes * parameter is only used when HANDSHAKE is called, which sends a * directory sharing request to the directory consumer.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ShareDirectoryOutcomeCallable ShareDirectoryCallable(const Model::ShareDirectoryRequest& request) const; /** *

Shares a specified directory (DirectoryId) in your AWS account * (directory owner) with another AWS account (directory consumer). With this * operation you can use your directory from any AWS account and from any Amazon * VPC within an AWS Region.

When you share your AWS Managed Microsoft AD * directory, AWS Directory Service creates a shared directory in the directory * consumer account. This shared directory contains the metadata to provide access * to the directory within the directory owner account. The shared directory is * visible in all VPCs in the directory consumer account.

The * ShareMethod parameter determines whether the specified directory * can be shared between AWS accounts inside the same AWS organization * (ORGANIZATIONS). It also determines whether you can share the * directory with any other AWS account either inside or outside of the * organization (HANDSHAKE).

The ShareNotes * parameter is only used when HANDSHAKE is called, which sends a * directory sharing request to the directory consumer.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ShareDirectoryAsync(const Model::ShareDirectoryRequest& request, const ShareDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Applies a schema extension to a Microsoft AD directory.

See * Also:

AWS * API Reference

*/ virtual Model::StartSchemaExtensionOutcome StartSchemaExtension(const Model::StartSchemaExtensionRequest& request) const; /** *

Applies a schema extension to a Microsoft AD directory.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartSchemaExtensionOutcomeCallable StartSchemaExtensionCallable(const Model::StartSchemaExtensionRequest& request) const; /** *

Applies a schema extension to a Microsoft AD directory.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartSchemaExtensionAsync(const Model::StartSchemaExtensionRequest& request, const StartSchemaExtensionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Stops the directory sharing between the directory owner and consumer * accounts.

See Also:

AWS * API Reference

*/ virtual Model::UnshareDirectoryOutcome UnshareDirectory(const Model::UnshareDirectoryRequest& request) const; /** *

Stops the directory sharing between the directory owner and consumer * accounts.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UnshareDirectoryOutcomeCallable UnshareDirectoryCallable(const Model::UnshareDirectoryRequest& request) const; /** *

Stops the directory sharing between the directory owner and consumer * accounts.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UnshareDirectoryAsync(const Model::UnshareDirectoryRequest& request, const UnshareDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates a conditional forwarder that has been set up for your AWS * directory.

See Also:

AWS * API Reference

*/ virtual Model::UpdateConditionalForwarderOutcome UpdateConditionalForwarder(const Model::UpdateConditionalForwarderRequest& request) const; /** *

Updates a conditional forwarder that has been set up for your AWS * directory.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateConditionalForwarderOutcomeCallable UpdateConditionalForwarderCallable(const Model::UpdateConditionalForwarderRequest& request) const; /** *

Updates a conditional forwarder that has been set up for your AWS * directory.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateConditionalForwarderAsync(const Model::UpdateConditionalForwarderRequest& request, const UpdateConditionalForwarderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds or removes domain controllers to or from the directory. Based on the * difference between current value and new value (provided through this API call), * domain controllers will be added or removed. It may take up to 45 minutes for * any new domain controllers to become fully active once the requested number of * domain controllers is updated. During this time, you cannot make another update * request.

See Also:

AWS * API Reference

*/ virtual Model::UpdateNumberOfDomainControllersOutcome UpdateNumberOfDomainControllers(const Model::UpdateNumberOfDomainControllersRequest& request) const; /** *

Adds or removes domain controllers to or from the directory. Based on the * difference between current value and new value (provided through this API call), * domain controllers will be added or removed. It may take up to 45 minutes for * any new domain controllers to become fully active once the requested number of * domain controllers is updated. During this time, you cannot make another update * request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateNumberOfDomainControllersOutcomeCallable UpdateNumberOfDomainControllersCallable(const Model::UpdateNumberOfDomainControllersRequest& request) const; /** *

Adds or removes domain controllers to or from the directory. Based on the * difference between current value and new value (provided through this API call), * domain controllers will be added or removed. It may take up to 45 minutes for * any new domain controllers to become fully active once the requested number of * domain controllers is updated. During this time, you cannot make another update * request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateNumberOfDomainControllersAsync(const Model::UpdateNumberOfDomainControllersRequest& request, const UpdateNumberOfDomainControllersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the Remote Authentication Dial In User Service (RADIUS) server * information for an AD Connector or Microsoft AD directory.

See * Also:

AWS API * Reference

*/ virtual Model::UpdateRadiusOutcome UpdateRadius(const Model::UpdateRadiusRequest& request) const; /** *

Updates the Remote Authentication Dial In User Service (RADIUS) server * information for an AD Connector or Microsoft AD directory.

See * Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRadiusOutcomeCallable UpdateRadiusCallable(const Model::UpdateRadiusRequest& request) const; /** *

Updates the Remote Authentication Dial In User Service (RADIUS) server * information for an AD Connector or Microsoft AD directory.

See * Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRadiusAsync(const Model::UpdateRadiusRequest& request, const UpdateRadiusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the trust that has been set up between your AWS Managed Microsoft AD * directory and an on-premises Active Directory.

See Also:

AWS API * Reference

*/ virtual Model::UpdateTrustOutcome UpdateTrust(const Model::UpdateTrustRequest& request) const; /** *

Updates the trust that has been set up between your AWS Managed Microsoft AD * directory and an on-premises Active Directory.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateTrustOutcomeCallable UpdateTrustCallable(const Model::UpdateTrustRequest& request) const; /** *

Updates the trust that has been set up between your AWS Managed Microsoft AD * directory and an on-premises Active Directory.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateTrustAsync(const Model::UpdateTrustRequest& request, const UpdateTrustResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

AWS Directory Service for Microsoft Active Directory allows you to configure * and verify trust relationships.

This action verifies a trust relationship * between your AWS Managed Microsoft AD directory and an external * domain.

See Also:

AWS API * Reference

*/ virtual Model::VerifyTrustOutcome VerifyTrust(const Model::VerifyTrustRequest& request) const; /** *

AWS Directory Service for Microsoft Active Directory allows you to configure * and verify trust relationships.

This action verifies a trust relationship * between your AWS Managed Microsoft AD directory and an external * domain.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::VerifyTrustOutcomeCallable VerifyTrustCallable(const Model::VerifyTrustRequest& request) const; /** *

AWS Directory Service for Microsoft Active Directory allows you to configure * and verify trust relationships.

This action verifies a trust relationship * between your AWS Managed Microsoft AD directory and an external * domain.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void VerifyTrustAsync(const Model::VerifyTrustRequest& request, const VerifyTrustResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AcceptSharedDirectoryAsyncHelper(const Model::AcceptSharedDirectoryRequest& request, const AcceptSharedDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void AddIpRoutesAsyncHelper(const Model::AddIpRoutesRequest& request, const AddIpRoutesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void AddTagsToResourceAsyncHelper(const Model::AddTagsToResourceRequest& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CancelSchemaExtensionAsyncHelper(const Model::CancelSchemaExtensionRequest& request, const CancelSchemaExtensionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ConnectDirectoryAsyncHelper(const Model::ConnectDirectoryRequest& request, const ConnectDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateAliasAsyncHelper(const Model::CreateAliasRequest& request, const CreateAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateComputerAsyncHelper(const Model::CreateComputerRequest& request, const CreateComputerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateConditionalForwarderAsyncHelper(const Model::CreateConditionalForwarderRequest& request, const CreateConditionalForwarderResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateDirectoryAsyncHelper(const Model::CreateDirectoryRequest& request, const CreateDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLogSubscriptionAsyncHelper(const Model::CreateLogSubscriptionRequest& request, const CreateLogSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateMicrosoftADAsyncHelper(const Model::CreateMicrosoftADRequest& request, const CreateMicrosoftADResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSnapshotAsyncHelper(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateTrustAsyncHelper(const Model::CreateTrustRequest& request, const CreateTrustResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteConditionalForwarderAsyncHelper(const Model::DeleteConditionalForwarderRequest& request, const DeleteConditionalForwarderResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteDirectoryAsyncHelper(const Model::DeleteDirectoryRequest& request, const DeleteDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLogSubscriptionAsyncHelper(const Model::DeleteLogSubscriptionRequest& request, const DeleteLogSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSnapshotAsyncHelper(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteTrustAsyncHelper(const Model::DeleteTrustRequest& request, const DeleteTrustResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeregisterCertificateAsyncHelper(const Model::DeregisterCertificateRequest& request, const DeregisterCertificateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeregisterEventTopicAsyncHelper(const Model::DeregisterEventTopicRequest& request, const DeregisterEventTopicResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeCertificateAsyncHelper(const Model::DescribeCertificateRequest& request, const DescribeCertificateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeConditionalForwardersAsyncHelper(const Model::DescribeConditionalForwardersRequest& request, const DescribeConditionalForwardersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeDirectoriesAsyncHelper(const Model::DescribeDirectoriesRequest& request, const DescribeDirectoriesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeDomainControllersAsyncHelper(const Model::DescribeDomainControllersRequest& request, const DescribeDomainControllersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeEventTopicsAsyncHelper(const Model::DescribeEventTopicsRequest& request, const DescribeEventTopicsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLDAPSSettingsAsyncHelper(const Model::DescribeLDAPSSettingsRequest& request, const DescribeLDAPSSettingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeSharedDirectoriesAsyncHelper(const Model::DescribeSharedDirectoriesRequest& request, const DescribeSharedDirectoriesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeSnapshotsAsyncHelper(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeTrustsAsyncHelper(const Model::DescribeTrustsRequest& request, const DescribeTrustsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisableLDAPSAsyncHelper(const Model::DisableLDAPSRequest& request, const DisableLDAPSResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisableRadiusAsyncHelper(const Model::DisableRadiusRequest& request, const DisableRadiusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisableSsoAsyncHelper(const Model::DisableSsoRequest& request, const DisableSsoResponseReceivedHandler& handler, const std::shared_ptr& context) const; void EnableLDAPSAsyncHelper(const Model::EnableLDAPSRequest& request, const EnableLDAPSResponseReceivedHandler& handler, const std::shared_ptr& context) const; void EnableRadiusAsyncHelper(const Model::EnableRadiusRequest& request, const EnableRadiusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void EnableSsoAsyncHelper(const Model::EnableSsoRequest& request, const EnableSsoResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetDirectoryLimitsAsyncHelper(const Model::GetDirectoryLimitsRequest& request, const GetDirectoryLimitsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSnapshotLimitsAsyncHelper(const Model::GetSnapshotLimitsRequest& request, const GetSnapshotLimitsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListCertificatesAsyncHelper(const Model::ListCertificatesRequest& request, const ListCertificatesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListIpRoutesAsyncHelper(const Model::ListIpRoutesRequest& request, const ListIpRoutesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListLogSubscriptionsAsyncHelper(const Model::ListLogSubscriptionsRequest& request, const ListLogSubscriptionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListSchemaExtensionsAsyncHelper(const Model::ListSchemaExtensionsRequest& request, const ListSchemaExtensionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RegisterCertificateAsyncHelper(const Model::RegisterCertificateRequest& request, const RegisterCertificateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RegisterEventTopicAsyncHelper(const Model::RegisterEventTopicRequest& request, const RegisterEventTopicResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RejectSharedDirectoryAsyncHelper(const Model::RejectSharedDirectoryRequest& request, const RejectSharedDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemoveIpRoutesAsyncHelper(const Model::RemoveIpRoutesRequest& request, const RemoveIpRoutesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemoveTagsFromResourceAsyncHelper(const Model::RemoveTagsFromResourceRequest& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ResetUserPasswordAsyncHelper(const Model::ResetUserPasswordRequest& request, const ResetUserPasswordResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RestoreFromSnapshotAsyncHelper(const Model::RestoreFromSnapshotRequest& request, const RestoreFromSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ShareDirectoryAsyncHelper(const Model::ShareDirectoryRequest& request, const ShareDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartSchemaExtensionAsyncHelper(const Model::StartSchemaExtensionRequest& request, const StartSchemaExtensionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UnshareDirectoryAsyncHelper(const Model::UnshareDirectoryRequest& request, const UnshareDirectoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateConditionalForwarderAsyncHelper(const Model::UpdateConditionalForwarderRequest& request, const UpdateConditionalForwarderResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateNumberOfDomainControllersAsyncHelper(const Model::UpdateNumberOfDomainControllersRequest& request, const UpdateNumberOfDomainControllersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRadiusAsyncHelper(const Model::UpdateRadiusRequest& request, const UpdateRadiusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateTrustAsyncHelper(const Model::UpdateTrustRequest& request, const UpdateTrustResponseReceivedHandler& handler, const std::shared_ptr& context) const; void VerifyTrustAsyncHelper(const Model::VerifyTrustRequest& request, const VerifyTrustResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace DirectoryService } // namespace Aws