CreateDirectory - Amazon Directory Service
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).


Creates a Simple AD directory. For more information, see Simple Active Directory in the Amazon 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 Amazon Directory Service API Permissions: Actions, Resources, and Conditions Reference.

Request Syntax

{ "Description": "string", "Name": "string", "Password": "string", "ShortName": "string", "Size": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "VpcSettings": { "SubnetIds": [ "string" ], "VpcId": "string" } }

Request Parameters

The request accepts the following data in JSON format.


A description for the directory.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 128.

Pattern: ^([a-zA-Z0-9_])[\\a-zA-Z0-9_@#%*+=:?./!\s-]*$

Required: No


The fully qualified name for the directory, such as

Type: String

Pattern: ^([a-zA-Z0-9]+[\\.-])+([a-zA-Z0-9])+$

Required: Yes


The password for the directory administrator. The directory creation process creates a directory administrator account with the user name Administrator and this password.

If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

The regex pattern for this string is made up of the following conditions:

  • Length (?=^.{8,64}$) – Must be between 8 and 64 characters

AND any 3 of the following password complexity rules required by Active Directory:

  • Numbers and upper case and lowercase (?=.*\d)(?=.*[A-Z])(?=.*[a-z])

  • Numbers and special characters and lower case (?=.*\d)(?=.*[^A-Za-z0-9\s])(?=.*[a-z])

  • Special characters and upper case and lower case (?=.*[^A-Za-z0-9\s])(?=.*[A-Z])(?=.*[a-z])

  • Numbers and upper case and special characters (?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\s])

For additional information about how Active Directory passwords are enforced, see Password must meet complexity requirements on the Microsoft website.

Type: String

Pattern: (?=^.{8,64}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\s]))^.*

Required: Yes


The NetBIOS name of the directory, such as CORP.

Type: String

Pattern: ^[^\\/:*?"<>|.]+[^\\/:*?"<>|]*$

Required: No


The size of the directory.

Type: String

Valid Values: Small | Large

Required: Yes


The tags to be assigned to the Simple AD directory.

Type: Array of Tag objects

Required: No


A DirectoryVpcSettings object that contains additional information for the operation.

Type: DirectoryVpcSettings object

Required: No

Response Syntax

{ "DirectoryId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


The identifier of the directory that was created.

Type: String

Pattern: ^d-[0-9a-f]{10}$


For information about the errors that are common to all actions, see Common Errors.


A client exception has occurred.

HTTP Status Code: 400


The maximum number of directories in the region has been reached. You can use the GetDirectoryLimits operation to determine your directory limits in the region.

HTTP Status Code: 400


One or more parameters are not valid.

HTTP Status Code: 400


An exception has occurred in Amazon Directory Service.

HTTP Status Code: 500


The following examples are formatted for legibility.

Example Request

This example illustrates one usage of CreateDirectory.

POST / HTTP/1.1 Host: Accept-Encoding: identity Content-Length: 245 X-Amz-Target: DirectoryService_20150416.CreateDirectory X-Amz-Date: 20161213T222613Z User-Agent: aws-cli/1.11.24 Python/2.7.9 Windows/7 botocore/1.4.81 Content-Type: application/x-amz-json-1.1 Authorization: AWS4-HMAC-SHA256 Credential=AKIAI7E3BYXS3example/20161213/us-west-2/ds/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=e0bf599277231d294b0ebb1c7ad7a68aafdfc49db016adbee32a167954c53d54 { "Description":"Regional directory for", "VpcSettings":{ "SubnetIds":[ "subnet-ba0146de", "subnet-bef46bc8" ], "VpcId":"vpc-45025421" }, "Name":"", "ShortName":"seattle", "Password":"Str0ngP@ssw0rd", "Size":"Small" }

Example Response

This example illustrates one usage of CreateDirectory.

HTTP/1.1 200 OK x-amzn-RequestId: 298112b6-c183-11e6-9b49-eff49203d13b Content-Type: application/x-amz-json-1.1 Content-Length: 30 Date: Tue, 13 Dec 2016 22:26:17 GMT { "DirectoryId":"d-926example" }

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: