AWS Directory Service

2020/11/19 - AWS Directory Service - 3 new 1 updated api methods

Changes  Adding multi-region replication feature for AWS Managed Microsoft AD

AddRegion (new) Link ¶

Adds two domain controllers in the specified Region for the specified directory.

See also: AWS API Documentation

Request Syntax

client.add_region(
    DirectoryId='string',
    RegionName='string',
    VPCSettings={
        'VpcId': 'string',
        'SubnetIds': [
            'string',
        ]
    }
)
type DirectoryId

string

param DirectoryId

[REQUIRED]

The identifier of the directory to which you want to add Region replication.

type RegionName

string

param RegionName

[REQUIRED]

The name of the Region where you want to add domain controllers for replication. For example, us-east-1 .

type VPCSettings

dict

param VPCSettings

[REQUIRED]

Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

  • VpcId (string) -- [REQUIRED]

    The identifier of the VPC in which to create the directory.

  • SubnetIds (list) -- [REQUIRED]

    The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. AWS Directory Service creates a directory server and a DNS server in each of these subnets.

    • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

RemoveRegion (new) Link ¶

Stops 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.

See also: AWS API Documentation

Request Syntax

client.remove_region(
    DirectoryId='string'
)
type DirectoryId

string

param DirectoryId

[REQUIRED]

The identifier of the directory for which you want to remove Region replication.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

DescribeRegions (new) Link ¶

Provides information about the Regions that are configured for multi-Region replication.

See also: AWS API Documentation

Request Syntax

client.describe_regions(
    DirectoryId='string',
    RegionName='string',
    NextToken='string'
)
type DirectoryId

string

param DirectoryId

[REQUIRED]

The identifier of the directory.

type RegionName

string

param RegionName

The name of the Region. For example, us-east-1 .

type NextToken

string

param NextToken

The DescribeRegionsResult.NextToken value from a previous call to DescribeRegions. Pass null if this is the first call.

rtype

dict

returns

Response Syntax

{
    'RegionsDescription': [
        {
            'DirectoryId': 'string',
            'RegionName': 'string',
            'RegionType': 'Primary'|'Additional',
            'Status': 'Requested'|'Creating'|'Created'|'Active'|'Inoperable'|'Impaired'|'Restoring'|'RestoreFailed'|'Deleting'|'Deleted'|'Failed',
            'VpcSettings': {
                'VpcId': 'string',
                'SubnetIds': [
                    'string',
                ]
            },
            'DesiredNumberOfDomainControllers': 123,
            'LaunchTime': datetime(2015, 1, 1),
            'StatusLastUpdatedDateTime': datetime(2015, 1, 1),
            'LastUpdatedDateTime': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • RegionsDescription (list) --

      List of regional information related to the directory per replicated Region.

      • (dict) --

        The replicated regional information for a directory.

        • DirectoryId (string) --

          The identifier of the directory.

        • RegionName (string) --

          The name of the Region. For example, us-east-1 .

        • RegionType (string) --

          Specifies if the Region is the primary Region or an additional Region.

        • Status (string) --

          The status of the replication process for the specified Region.

        • VpcSettings (dict) --

          Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

          • VpcId (string) --

            The identifier of the VPC in which to create the directory.

          • SubnetIds (list) --

            The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. AWS Directory Service creates a directory server and a DNS server in each of these subnets.

            • (string) --

        • DesiredNumberOfDomainControllers (integer) --

          The desired number of domain controllers in the specified Region for the specified directory.

        • LaunchTime (datetime) --

          Specifies when the Region replication began.

        • StatusLastUpdatedDateTime (datetime) --

          The date and time that the Region status was last updated.

        • LastUpdatedDateTime (datetime) --

          The date and time that the Region description was last updated.

    • NextToken (string) --

      If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeRegions to retrieve the next set of items.

DescribeDirectories (updated) Link ¶
Changes (response)
{'DirectoryDescriptions': {'RegionsInfo': {'AdditionalRegions': ['string'],
                                           'PrimaryRegion': 'string'}}}

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 Documentation

Request Syntax

client.describe_directories(
    DirectoryIds=[
        'string',
    ],
    NextToken='string',
    Limit=123
)
type DirectoryIds

list

param DirectoryIds

A list of identifiers of the directories for which to obtain the information. If this member is null, all directories that belong to the current account are returned.

An empty list results in an InvalidParameterException being thrown.

  • (string) --

type NextToken

string

param NextToken

The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories. Pass null if this is the first call.

type Limit

integer

param Limit

The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

rtype

dict

returns

Response Syntax

{
    'DirectoryDescriptions': [
        {
            'DirectoryId': 'string',
            'Name': 'string',
            'ShortName': 'string',
            'Size': 'Small'|'Large',
            'Edition': 'Enterprise'|'Standard',
            'Alias': 'string',
            'AccessUrl': 'string',
            'Description': 'string',
            'DnsIpAddrs': [
                'string',
            ],
            'Stage': 'Requested'|'Creating'|'Created'|'Active'|'Inoperable'|'Impaired'|'Restoring'|'RestoreFailed'|'Deleting'|'Deleted'|'Failed',
            'ShareStatus': 'Shared'|'PendingAcceptance'|'Rejected'|'Rejecting'|'RejectFailed'|'Sharing'|'ShareFailed'|'Deleted'|'Deleting',
            'ShareMethod': 'ORGANIZATIONS'|'HANDSHAKE',
            'ShareNotes': 'string',
            'LaunchTime': datetime(2015, 1, 1),
            'StageLastUpdatedDateTime': datetime(2015, 1, 1),
            'Type': 'SimpleAD'|'ADConnector'|'MicrosoftAD'|'SharedMicrosoftAD',
            'VpcSettings': {
                'VpcId': 'string',
                'SubnetIds': [
                    'string',
                ],
                'SecurityGroupId': 'string',
                'AvailabilityZones': [
                    'string',
                ]
            },
            'ConnectSettings': {
                'VpcId': 'string',
                'SubnetIds': [
                    'string',
                ],
                'CustomerUserName': 'string',
                'SecurityGroupId': 'string',
                'AvailabilityZones': [
                    'string',
                ],
                'ConnectIps': [
                    'string',
                ]
            },
            'RadiusSettings': {
                'RadiusServers': [
                    'string',
                ],
                'RadiusPort': 123,
                'RadiusTimeout': 123,
                'RadiusRetries': 123,
                'SharedSecret': 'string',
                'AuthenticationProtocol': 'PAP'|'CHAP'|'MS-CHAPv1'|'MS-CHAPv2',
                'DisplayLabel': 'string',
                'UseSameUsername': True|False
            },
            'RadiusStatus': 'Creating'|'Completed'|'Failed',
            'StageReason': 'string',
            'SsoEnabled': True|False,
            'DesiredNumberOfDomainControllers': 123,
            'OwnerDirectoryDescription': {
                'DirectoryId': 'string',
                'AccountId': 'string',
                'DnsIpAddrs': [
                    'string',
                ],
                'VpcSettings': {
                    'VpcId': 'string',
                    'SubnetIds': [
                        'string',
                    ],
                    'SecurityGroupId': 'string',
                    'AvailabilityZones': [
                        'string',
                    ]
                },
                'RadiusSettings': {
                    'RadiusServers': [
                        'string',
                    ],
                    'RadiusPort': 123,
                    'RadiusTimeout': 123,
                    'RadiusRetries': 123,
                    'SharedSecret': 'string',
                    'AuthenticationProtocol': 'PAP'|'CHAP'|'MS-CHAPv1'|'MS-CHAPv2',
                    'DisplayLabel': 'string',
                    'UseSameUsername': True|False
                },
                'RadiusStatus': 'Creating'|'Completed'|'Failed'
            },
            'RegionsInfo': {
                'PrimaryRegion': 'string',
                'AdditionalRegions': [
                    'string',
                ]
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    Contains the results of the DescribeDirectories operation.

    • DirectoryDescriptions (list) --

      The list of DirectoryDescription objects that were retrieved.

      It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

      • (dict) --

        Contains information about an AWS Directory Service directory.

        • DirectoryId (string) --

          The directory identifier.

        • Name (string) --

          The fully qualified name of the directory.

        • ShortName (string) --

          The short name of the directory.

        • Size (string) --

          The directory size.

        • Edition (string) --

          The edition associated with this directory.

        • Alias (string) --

          The alias for the directory. If no alias has been created for the directory, the alias is the directory identifier, such as d-XXXXXXXXXX .

        • AccessUrl (string) --

          The access URL for the directory, such as http://<alias>.awsapps.com . If no alias has been created for the directory, <alias> is the directory identifier, such as d-XXXXXXXXXX .

        • Description (string) --

          The description for the directory.

        • DnsIpAddrs (list) --

          The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is connected.

          • (string) --

        • Stage (string) --

          The current stage of the directory.

        • ShareStatus (string) --

          Current directory status of the shared AWS Managed Microsoft AD directory.

        • ShareMethod (string) --

          The method used when sharing a directory to determine whether the directory should be shared within your AWS organization ( ORGANIZATIONS ) or with any AWS account by sending a shared directory request ( HANDSHAKE ).

        • ShareNotes (string) --

          A directory share request that is sent by the directory owner to the directory consumer. The request includes a typed message to help the directory consumer administrator determine whether to approve or reject the share invitation.

        • LaunchTime (datetime) --

          Specifies when the directory was created.

        • StageLastUpdatedDateTime (datetime) --

          The date and time that the stage was last updated.

        • Type (string) --

          The directory size.

        • VpcSettings (dict) --

          A DirectoryVpcSettingsDescription object that contains additional information about a directory. This member is only present if the directory is a Simple AD or Managed AD directory.

          • VpcId (string) --

            The identifier of the VPC that the directory is in.

          • SubnetIds (list) --

            The identifiers of the subnets for the directory servers.

            • (string) --

          • SecurityGroupId (string) --

            The domain controller security group identifier for the directory.

          • AvailabilityZones (list) --

            The list of Availability Zones that the directory is in.

            • (string) --

        • ConnectSettings (dict) --

          A DirectoryConnectSettingsDescription object that contains additional information about an AD Connector directory. This member is only present if the directory is an AD Connector directory.

          • VpcId (string) --

            The identifier of the VPC that the AD Connector is in.

          • SubnetIds (list) --

            A list of subnet identifiers in the VPC that the AD Connector is in.

            • (string) --

          • CustomerUserName (string) --

            The user name of the service account in the on-premises directory.

          • SecurityGroupId (string) --

            The security group identifier for the AD Connector directory.

          • AvailabilityZones (list) --

            A list of the Availability Zones that the directory is in.

            • (string) --

          • ConnectIps (list) --

            The IP addresses of the AD Connector servers.

            • (string) --

        • RadiusSettings (dict) --

          A RadiusSettings object that contains information about the RADIUS server configured for this directory.

          • RadiusServers (list) --

            An array of strings that contains the fully qualified domain name (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer.

            • (string) --

          • RadiusPort (integer) --

            The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

          • RadiusTimeout (integer) --

            The amount of time, in seconds, to wait for the RADIUS server to respond.

          • RadiusRetries (integer) --

            The maximum number of times that communication with the RADIUS server is attempted.

          • SharedSecret (string) --

            Required for enabling RADIUS on the directory.

          • AuthenticationProtocol (string) --

            The protocol specified for your RADIUS endpoints.

          • DisplayLabel (string) --

            Not currently used.

          • UseSameUsername (boolean) --

            Not currently used.

        • RadiusStatus (string) --

          The status of the RADIUS MFA server connection.

        • StageReason (string) --

          Additional information about the directory stage.

        • SsoEnabled (boolean) --

          Indicates if single sign-on is enabled for the directory. For more information, see EnableSso and DisableSso.

        • DesiredNumberOfDomainControllers (integer) --

          The desired number of domain controllers in the directory if the directory is Microsoft AD.

        • OwnerDirectoryDescription (dict) --

          Describes the AWS Managed Microsoft AD directory in the directory owner account.

          • DirectoryId (string) --

            Identifier of the AWS Managed Microsoft AD directory in the directory owner account.

          • AccountId (string) --

            Identifier of the directory owner account.

          • DnsIpAddrs (list) --

            IP address of the directory’s domain controllers.

            • (string) --

          • VpcSettings (dict) --

            Information about the VPC settings for the directory.

            • VpcId (string) --

              The identifier of the VPC that the directory is in.

            • SubnetIds (list) --

              The identifiers of the subnets for the directory servers.

              • (string) --

            • SecurityGroupId (string) --

              The domain controller security group identifier for the directory.

            • AvailabilityZones (list) --

              The list of Availability Zones that the directory is in.

              • (string) --

          • RadiusSettings (dict) --

            A RadiusSettings object that contains information about the RADIUS server.

            • RadiusServers (list) --

              An array of strings that contains the fully qualified domain name (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer.

              • (string) --

            • RadiusPort (integer) --

              The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

            • RadiusTimeout (integer) --

              The amount of time, in seconds, to wait for the RADIUS server to respond.

            • RadiusRetries (integer) --

              The maximum number of times that communication with the RADIUS server is attempted.

            • SharedSecret (string) --

              Required for enabling RADIUS on the directory.

            • AuthenticationProtocol (string) --

              The protocol specified for your RADIUS endpoints.

            • DisplayLabel (string) --

              Not currently used.

            • UseSameUsername (boolean) --

              Not currently used.

          • RadiusStatus (string) --

            Information about the status of the RADIUS server.

        • RegionsInfo (dict) --

          Lists the Regions where the directory has replicated.

          • PrimaryRegion (string) --

            The Region from where the AWS Managed Microsoft AD directory was originally created.

          • AdditionalRegions (list) --

            Lists the Regions where the directory has been replicated, excluding the primary Region.

            • (string) --

    • NextToken (string) --

      If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDirectories to retrieve the next set of items.