An API client for AWS Directory Service. To construct a client, you need to configure a :region
and :credentials
.
directoryservice = Aws::DirectoryService::Client.new(
region: region_name,
credentials: credentials,
)
See #initialize for a full list of supported configuration options.
RegionYou can configure a default region in the following locations:
ENV['AWS_REGION']
Aws.config[:region]
Go here for a list of supported regions.
CredentialsDefault credentials are loaded automatically from the following locations:
ENV['AWS_ACCESS_KEY_ID']
and ENV['AWS_SECRET_ACCESS_KEY']
Aws.config[:credentials]
~/.aws/credentials
(more information)You can also construct a credentials object from one of the following classes:
Alternatively, you configure credentials with :access_key_id
and :secret_access_key
:
creds = YAML.load(File.read('/path/to/secrets'))
Aws::DirectoryService::Client.new(
access_key_id: creds['access_key_id'],
secret_access_key: creds['secret_access_key']
)
Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.
Instance Method DetailsAccepts a directory sharing request that was sent from the directory owner account.
#add_ip_routes(options = {}) ⇒ StructIf 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.
#add_region(options = {}) ⇒ StructAdds two domain controllers in the specified Region for the specified directory.
#add_tags_to_resource(options = {}) ⇒ StructAdds 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.
#cancel_schema_extension(options = {}) ⇒ StructCancels 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
.
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.
#create_conditional_forwarder(options = {}) ⇒ StructCreates 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.
#create_log_subscription(options = {}) ⇒ StructCreates a subscription to forward real-time Directory Service domain controller security logs to the specified Amazon CloudWatch log group in your AWS account.
#create_snapshot(options = {}) ⇒ Types::CreateSnapshotResultCreates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.
You cannot take snapshots of AD Connector directories.
#create_trust(options = {}) ⇒ Types::CreateTrustResultAWS 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.
#delete_conditional_forwarder(options = {}) ⇒ StructDeletes a conditional forwarder that has been set up for your AWS directory.
#delete_log_subscription(options = {}) ⇒ StructDeletes the specified log subscription.
#delete_trust(options = {}) ⇒ Types::DeleteTrustResultDeletes an existing trust relationship between your AWS Managed Microsoft AD directory and an external domain.
#deregister_certificate(options = {}) ⇒ StructDeletes from the system the certificate that was registered for a secured LDAP connection.
#deregister_event_topic(options = {}) ⇒ StructRemoves the specified directory as a publisher to the specified SNS topic.
#describe_conditional_forwarders(options = {}) ⇒ Types::DescribeConditionalForwardersResultObtains 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.
#describe_directories(options = {}) ⇒ Types::DescribeDirectoriesResultObtains 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.
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.
#describe_regions(options = {}) ⇒ Types::DescribeRegionsResultProvides information about the Regions that are configured for multi-Region replication.
Returns the shared directories in your account.
#describe_snapshots(options = {}) ⇒ Types::DescribeSnapshotsResultObtains 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.
#describe_trusts(options = {}) ⇒ Types::DescribeTrustsResultObtains 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.
#disable_ldaps(options = {}) ⇒ StructDeactivates LDAP secure calls for the specified directory.
#disable_radius(options = {}) ⇒ StructDisables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.
#disable_sso(options = {}) ⇒ StructDisables single-sign on for a directory.
#enable_ldaps(options = {}) ⇒ StructActivates the switch for the specific directory to always use LDAP secure calls.
#enable_radius(options = {}) ⇒ StructEnables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.
#enable_sso(options = {}) ⇒ StructEnables 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.
#list_certificates(options = {}) ⇒ Types::ListCertificatesResultFor the specified directory, lists all the certificates registered for a secured LDAP connection.
#register_event_topic(options = {}) ⇒ StructAssociates 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.
Rejects a directory sharing request that was sent from the directory owner account.
#remove_ip_routes(options = {}) ⇒ StructRemoves IP address blocks from a directory.
#remove_region(options = {}) ⇒ StructStops all replication and removes the domain controllers from the specified Region. You cannot remove the primary Region with this operation. Instead, use the DeleteDirectory
API.
Removes tags from a directory.
#reset_user_password(options = {}) ⇒ StructResets 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.
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.
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.
Stops the directory sharing between the directory owner and consumer accounts.
#update_conditional_forwarder(options = {}) ⇒ StructUpdates a conditional forwarder that has been set up for your AWS directory.
#update_number_of_domain_controllers(options = {}) ⇒ StructAdds 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.
#update_radius(options = {}) ⇒ StructUpdates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector or Microsoft AD directory.
#update_trust(options = {}) ⇒ Types::UpdateTrustResultUpdates the trust that has been set up between your AWS Managed Microsoft AD directory and an on-premises Active Directory.
#verify_trust(options = {}) ⇒ Types::VerifyTrustResultAWS 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.
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ BooleanWaiters polls an API operation until a resource enters a desired state.
Basic UsageWaiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)
ConfigurationYou can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:
# poll for ~25 seconds
client.wait_until(...) do |w|
w.max_attempts = 5
w.delay = 5
end
Callbacks
You can be notified before each polling attempt and before each delay. If you throw :success
or :failure
from these callbacks, it will terminate the waiter.
started_at = Time.now
client.wait_until(...) do |w|
# disable max attempts
w.max_attempts = nil
# poll for 1 hour, instead of a number of attempts
w.before_wait do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
end
Handling Errors
When a waiter is successful, it returns true
. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:
Waiter Name Client Method Default Delay: Default Max Attempts:RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4