aws logo
AWS Classic v5.32.0, Mar 17 23

aws.directoryservice.Directory

Provides a Simple or Managed Microsoft directory in AWS Directory Service.

Example Usage

SimpleAD

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var main = new Aws.Ec2.Vpc("main", new()
    {
        CidrBlock = "10.0.0.0/16",
    });

    var foo = new Aws.Ec2.Subnet("foo", new()
    {
        VpcId = main.Id,
        AvailabilityZone = "us-west-2a",
        CidrBlock = "10.0.1.0/24",
    });

    var barSubnet = new Aws.Ec2.Subnet("barSubnet", new()
    {
        VpcId = main.Id,
        AvailabilityZone = "us-west-2b",
        CidrBlock = "10.0.2.0/24",
    });

    var barDirectory = new Aws.DirectoryService.Directory("barDirectory", new()
    {
        Name = "corp.notexample.com",
        Password = "SuperSecretPassw0rd",
        Size = "Small",
        VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs
        {
            VpcId = main.Id,
            SubnetIds = new[]
            {
                foo.Id,
                barSubnet.Id,
            },
        },
        Tags = 
        {
            { "Project", "foo" },
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directoryservice"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := ec2.NewVpc(ctx, "main", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.0.0.0/16"),
		})
		if err != nil {
			return err
		}
		foo, err := ec2.NewSubnet(ctx, "foo", &ec2.SubnetArgs{
			VpcId:            main.ID(),
			AvailabilityZone: pulumi.String("us-west-2a"),
			CidrBlock:        pulumi.String("10.0.1.0/24"),
		})
		if err != nil {
			return err
		}
		barSubnet, err := ec2.NewSubnet(ctx, "barSubnet", &ec2.SubnetArgs{
			VpcId:            main.ID(),
			AvailabilityZone: pulumi.String("us-west-2b"),
			CidrBlock:        pulumi.String("10.0.2.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewDirectory(ctx, "barDirectory", &directoryservice.DirectoryArgs{
			Name:     pulumi.String("corp.notexample.com"),
			Password: pulumi.String("SuperSecretPassw0rd"),
			Size:     pulumi.String("Small"),
			VpcSettings: &directoryservice.DirectoryVpcSettingsArgs{
				VpcId: main.ID(),
				SubnetIds: pulumi.StringArray{
					foo.ID(),
					barSubnet.ID(),
				},
			},
			Tags: pulumi.StringMap{
				"Project": pulumi.String("foo"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Vpc;
import com.pulumi.aws.ec2.VpcArgs;
import com.pulumi.aws.ec2.Subnet;
import com.pulumi.aws.ec2.SubnetArgs;
import com.pulumi.aws.directoryservice.Directory;
import com.pulumi.aws.directoryservice.DirectoryArgs;
import com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var main = new Vpc("main", VpcArgs.builder()        
            .cidrBlock("10.0.0.0/16")
            .build());

        var foo = new Subnet("foo", SubnetArgs.builder()        
            .vpcId(main.id())
            .availabilityZone("us-west-2a")
            .cidrBlock("10.0.1.0/24")
            .build());

        var barSubnet = new Subnet("barSubnet", SubnetArgs.builder()        
            .vpcId(main.id())
            .availabilityZone("us-west-2b")
            .cidrBlock("10.0.2.0/24")
            .build());

        var barDirectory = new Directory("barDirectory", DirectoryArgs.builder()        
            .name("corp.notexample.com")
            .password("SuperSecretPassw0rd")
            .size("Small")
            .vpcSettings(DirectoryVpcSettingsArgs.builder()
                .vpcId(main.id())
                .subnetIds(                
                    foo.id(),
                    barSubnet.id())
                .build())
            .tags(Map.of("Project", "foo"))
            .build());

    }
}
import pulumi
import pulumi_aws as aws

main = aws.ec2.Vpc("main", cidr_block="10.0.0.0/16")
foo = aws.ec2.Subnet("foo",
    vpc_id=main.id,
    availability_zone="us-west-2a",
    cidr_block="10.0.1.0/24")
bar_subnet = aws.ec2.Subnet("barSubnet",
    vpc_id=main.id,
    availability_zone="us-west-2b",
    cidr_block="10.0.2.0/24")
bar_directory = aws.directoryservice.Directory("barDirectory",
    name="corp.notexample.com",
    password="SuperSecretPassw0rd",
    size="Small",
    vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(
        vpc_id=main.id,
        subnet_ids=[
            foo.id,
            bar_subnet.id,
        ],
    ),
    tags={
        "Project": "foo",
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.Vpc("main", {cidrBlock: "10.0.0.0/16"});
const foo = new aws.ec2.Subnet("foo", {
    vpcId: main.id,
    availabilityZone: "us-west-2a",
    cidrBlock: "10.0.1.0/24",
});
const barSubnet = new aws.ec2.Subnet("barSubnet", {
    vpcId: main.id,
    availabilityZone: "us-west-2b",
    cidrBlock: "10.0.2.0/24",
});
const barDirectory = new aws.directoryservice.Directory("barDirectory", {
    name: "corp.notexample.com",
    password: "SuperSecretPassw0rd",
    size: "Small",
    vpcSettings: {
        vpcId: main.id,
        subnetIds: [
            foo.id,
            barSubnet.id,
        ],
    },
    tags: {
        Project: "foo",
    },
});
resources:
  barDirectory:
    type: aws:directoryservice:Directory
    properties:
      name: corp.notexample.com
      password: SuperSecretPassw0rd
      size: Small
      vpcSettings:
        vpcId: ${main.id}
        subnetIds:
          - ${foo.id}
          - ${barSubnet.id}
      tags:
        Project: foo
  main:
    type: aws:ec2:Vpc
    properties:
      cidrBlock: 10.0.0.0/16
  foo:
    type: aws:ec2:Subnet
    properties:
      vpcId: ${main.id}
      availabilityZone: us-west-2a
      cidrBlock: 10.0.1.0/24
  barSubnet:
    type: aws:ec2:Subnet
    properties:
      vpcId: ${main.id}
      availabilityZone: us-west-2b
      cidrBlock: 10.0.2.0/24

Microsoft Active Directory (MicrosoftAD)

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var main = new Aws.Ec2.Vpc("main", new()
    {
        CidrBlock = "10.0.0.0/16",
    });

    var foo = new Aws.Ec2.Subnet("foo", new()
    {
        VpcId = main.Id,
        AvailabilityZone = "us-west-2a",
        CidrBlock = "10.0.1.0/24",
    });

    var barSubnet = new Aws.Ec2.Subnet("barSubnet", new()
    {
        VpcId = main.Id,
        AvailabilityZone = "us-west-2b",
        CidrBlock = "10.0.2.0/24",
    });

    var barDirectory = new Aws.DirectoryService.Directory("barDirectory", new()
    {
        Name = "corp.notexample.com",
        Password = "SuperSecretPassw0rd",
        Edition = "Standard",
        Type = "MicrosoftAD",
        VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs
        {
            VpcId = main.Id,
            SubnetIds = new[]
            {
                foo.Id,
                barSubnet.Id,
            },
        },
        Tags = 
        {
            { "Project", "foo" },
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directoryservice"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := ec2.NewVpc(ctx, "main", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.0.0.0/16"),
		})
		if err != nil {
			return err
		}
		foo, err := ec2.NewSubnet(ctx, "foo", &ec2.SubnetArgs{
			VpcId:            main.ID(),
			AvailabilityZone: pulumi.String("us-west-2a"),
			CidrBlock:        pulumi.String("10.0.1.0/24"),
		})
		if err != nil {
			return err
		}
		barSubnet, err := ec2.NewSubnet(ctx, "barSubnet", &ec2.SubnetArgs{
			VpcId:            main.ID(),
			AvailabilityZone: pulumi.String("us-west-2b"),
			CidrBlock:        pulumi.String("10.0.2.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewDirectory(ctx, "barDirectory", &directoryservice.DirectoryArgs{
			Name:     pulumi.String("corp.notexample.com"),
			Password: pulumi.String("SuperSecretPassw0rd"),
			Edition:  pulumi.String("Standard"),
			Type:     pulumi.String("MicrosoftAD"),
			VpcSettings: &directoryservice.DirectoryVpcSettingsArgs{
				VpcId: main.ID(),
				SubnetIds: pulumi.StringArray{
					foo.ID(),
					barSubnet.ID(),
				},
			},
			Tags: pulumi.StringMap{
				"Project": pulumi.String("foo"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Vpc;
import com.pulumi.aws.ec2.VpcArgs;
import com.pulumi.aws.ec2.Subnet;
import com.pulumi.aws.ec2.SubnetArgs;
import com.pulumi.aws.directoryservice.Directory;
import com.pulumi.aws.directoryservice.DirectoryArgs;
import com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var main = new Vpc("main", VpcArgs.builder()        
            .cidrBlock("10.0.0.0/16")
            .build());

        var foo = new Subnet("foo", SubnetArgs.builder()        
            .vpcId(main.id())
            .availabilityZone("us-west-2a")
            .cidrBlock("10.0.1.0/24")
            .build());

        var barSubnet = new Subnet("barSubnet", SubnetArgs.builder()        
            .vpcId(main.id())
            .availabilityZone("us-west-2b")
            .cidrBlock("10.0.2.0/24")
            .build());

        var barDirectory = new Directory("barDirectory", DirectoryArgs.builder()        
            .name("corp.notexample.com")
            .password("SuperSecretPassw0rd")
            .edition("Standard")
            .type("MicrosoftAD")
            .vpcSettings(DirectoryVpcSettingsArgs.builder()
                .vpcId(main.id())
                .subnetIds(                
                    foo.id(),
                    barSubnet.id())
                .build())
            .tags(Map.of("Project", "foo"))
            .build());

    }
}
import pulumi
import pulumi_aws as aws

main = aws.ec2.Vpc("main", cidr_block="10.0.0.0/16")
foo = aws.ec2.Subnet("foo",
    vpc_id=main.id,
    availability_zone="us-west-2a",
    cidr_block="10.0.1.0/24")
bar_subnet = aws.ec2.Subnet("barSubnet",
    vpc_id=main.id,
    availability_zone="us-west-2b",
    cidr_block="10.0.2.0/24")
bar_directory = aws.directoryservice.Directory("barDirectory",
    name="corp.notexample.com",
    password="SuperSecretPassw0rd",
    edition="Standard",
    type="MicrosoftAD",
    vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(
        vpc_id=main.id,
        subnet_ids=[
            foo.id,
            bar_subnet.id,
        ],
    ),
    tags={
        "Project": "foo",
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.Vpc("main", {cidrBlock: "10.0.0.0/16"});
const foo = new aws.ec2.Subnet("foo", {
    vpcId: main.id,
    availabilityZone: "us-west-2a",
    cidrBlock: "10.0.1.0/24",
});
const barSubnet = new aws.ec2.Subnet("barSubnet", {
    vpcId: main.id,
    availabilityZone: "us-west-2b",
    cidrBlock: "10.0.2.0/24",
});
const barDirectory = new aws.directoryservice.Directory("barDirectory", {
    name: "corp.notexample.com",
    password: "SuperSecretPassw0rd",
    edition: "Standard",
    type: "MicrosoftAD",
    vpcSettings: {
        vpcId: main.id,
        subnetIds: [
            foo.id,
            barSubnet.id,
        ],
    },
    tags: {
        Project: "foo",
    },
});
resources:
  barDirectory:
    type: aws:directoryservice:Directory
    properties:
      name: corp.notexample.com
      password: SuperSecretPassw0rd
      edition: Standard
      type: MicrosoftAD
      vpcSettings:
        vpcId: ${main.id}
        subnetIds:
          - ${foo.id}
          - ${barSubnet.id}
      tags:
        Project: foo
  main:
    type: aws:ec2:Vpc
    properties:
      cidrBlock: 10.0.0.0/16
  foo:
    type: aws:ec2:Subnet
    properties:
      vpcId: ${main.id}
      availabilityZone: us-west-2a
      cidrBlock: 10.0.1.0/24
  barSubnet:
    type: aws:ec2:Subnet
    properties:
      vpcId: ${main.id}
      availabilityZone: us-west-2b
      cidrBlock: 10.0.2.0/24

Microsoft Active Directory Connector (ADConnector)

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var main = new Aws.Ec2.Vpc("main", new()
    {
        CidrBlock = "10.0.0.0/16",
    });

    var foo = new Aws.Ec2.Subnet("foo", new()
    {
        VpcId = main.Id,
        AvailabilityZone = "us-west-2a",
        CidrBlock = "10.0.1.0/24",
    });

    var bar = new Aws.Ec2.Subnet("bar", new()
    {
        VpcId = main.Id,
        AvailabilityZone = "us-west-2b",
        CidrBlock = "10.0.2.0/24",
    });

    var connector = new Aws.DirectoryService.Directory("connector", new()
    {
        Name = "corp.notexample.com",
        Password = "SuperSecretPassw0rd",
        Size = "Small",
        Type = "ADConnector",
        ConnectSettings = new Aws.DirectoryService.Inputs.DirectoryConnectSettingsArgs
        {
            CustomerDnsIps = new[]
            {
                "A.B.C.D",
            },
            CustomerUsername = "Admin",
            SubnetIds = new[]
            {
                foo.Id,
                bar.Id,
            },
            VpcId = main.Id,
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directoryservice"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := ec2.NewVpc(ctx, "main", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.0.0.0/16"),
		})
		if err != nil {
			return err
		}
		foo, err := ec2.NewSubnet(ctx, "foo", &ec2.SubnetArgs{
			VpcId:            main.ID(),
			AvailabilityZone: pulumi.String("us-west-2a"),
			CidrBlock:        pulumi.String("10.0.1.0/24"),
		})
		if err != nil {
			return err
		}
		bar, err := ec2.NewSubnet(ctx, "bar", &ec2.SubnetArgs{
			VpcId:            main.ID(),
			AvailabilityZone: pulumi.String("us-west-2b"),
			CidrBlock:        pulumi.String("10.0.2.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewDirectory(ctx, "connector", &directoryservice.DirectoryArgs{
			Name:     pulumi.String("corp.notexample.com"),
			Password: pulumi.String("SuperSecretPassw0rd"),
			Size:     pulumi.String("Small"),
			Type:     pulumi.String("ADConnector"),
			ConnectSettings: &directoryservice.DirectoryConnectSettingsArgs{
				CustomerDnsIps: pulumi.StringArray{
					pulumi.String("A.B.C.D"),
				},
				CustomerUsername: pulumi.String("Admin"),
				SubnetIds: pulumi.StringArray{
					foo.ID(),
					bar.ID(),
				},
				VpcId: main.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Vpc;
import com.pulumi.aws.ec2.VpcArgs;
import com.pulumi.aws.ec2.Subnet;
import com.pulumi.aws.ec2.SubnetArgs;
import com.pulumi.aws.directoryservice.Directory;
import com.pulumi.aws.directoryservice.DirectoryArgs;
import com.pulumi.aws.directoryservice.inputs.DirectoryConnectSettingsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var main = new Vpc("main", VpcArgs.builder()        
            .cidrBlock("10.0.0.0/16")
            .build());

        var foo = new Subnet("foo", SubnetArgs.builder()        
            .vpcId(main.id())
            .availabilityZone("us-west-2a")
            .cidrBlock("10.0.1.0/24")
            .build());

        var bar = new Subnet("bar", SubnetArgs.builder()        
            .vpcId(main.id())
            .availabilityZone("us-west-2b")
            .cidrBlock("10.0.2.0/24")
            .build());

        var connector = new Directory("connector", DirectoryArgs.builder()        
            .name("corp.notexample.com")
            .password("SuperSecretPassw0rd")
            .size("Small")
            .type("ADConnector")
            .connectSettings(DirectoryConnectSettingsArgs.builder()
                .customerDnsIps("A.B.C.D")
                .customerUsername("Admin")
                .subnetIds(                
                    foo.id(),
                    bar.id())
                .vpcId(main.id())
                .build())
            .build());

    }
}
import pulumi
import pulumi_aws as aws

main = aws.ec2.Vpc("main", cidr_block="10.0.0.0/16")
foo = aws.ec2.Subnet("foo",
    vpc_id=main.id,
    availability_zone="us-west-2a",
    cidr_block="10.0.1.0/24")
bar = aws.ec2.Subnet("bar",
    vpc_id=main.id,
    availability_zone="us-west-2b",
    cidr_block="10.0.2.0/24")
connector = aws.directoryservice.Directory("connector",
    name="corp.notexample.com",
    password="SuperSecretPassw0rd",
    size="Small",
    type="ADConnector",
    connect_settings=aws.directoryservice.DirectoryConnectSettingsArgs(
        customer_dns_ips=["A.B.C.D"],
        customer_username="Admin",
        subnet_ids=[
            foo.id,
            bar.id,
        ],
        vpc_id=main.id,
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.ec2.Vpc("main", {cidrBlock: "10.0.0.0/16"});
const foo = new aws.ec2.Subnet("foo", {
    vpcId: main.id,
    availabilityZone: "us-west-2a",
    cidrBlock: "10.0.1.0/24",
});
const bar = new aws.ec2.Subnet("bar", {
    vpcId: main.id,
    availabilityZone: "us-west-2b",
    cidrBlock: "10.0.2.0/24",
});
const connector = new aws.directoryservice.Directory("connector", {
    name: "corp.notexample.com",
    password: "SuperSecretPassw0rd",
    size: "Small",
    type: "ADConnector",
    connectSettings: {
        customerDnsIps: ["A.B.C.D"],
        customerUsername: "Admin",
        subnetIds: [
            foo.id,
            bar.id,
        ],
        vpcId: main.id,
    },
});
resources:
  connector:
    type: aws:directoryservice:Directory
    properties:
      name: corp.notexample.com
      password: SuperSecretPassw0rd
      size: Small
      type: ADConnector
      connectSettings:
        customerDnsIps:
          - A.B.C.D
        customerUsername: Admin
        subnetIds:
          - ${foo.id}
          - ${bar.id}
        vpcId: ${main.id}
  main:
    type: aws:ec2:Vpc
    properties:
      cidrBlock: 10.0.0.0/16
  foo:
    type: aws:ec2:Subnet
    properties:
      vpcId: ${main.id}
      availabilityZone: us-west-2a
      cidrBlock: 10.0.1.0/24
  bar:
    type: aws:ec2:Subnet
    properties:
      vpcId: ${main.id}
      availabilityZone: us-west-2b
      cidrBlock: 10.0.2.0/24

Create Directory Resource

new Directory(name: string, args: DirectoryArgs, opts?: CustomResourceOptions);
@overload
def Directory(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              alias: Optional[str] = None,
              connect_settings: Optional[DirectoryConnectSettingsArgs] = None,
              description: Optional[str] = None,
              desired_number_of_domain_controllers: Optional[int] = None,
              edition: Optional[str] = None,
              enable_sso: Optional[bool] = None,
              name: Optional[str] = None,
              password: Optional[str] = None,
              short_name: Optional[str] = None,
              size: Optional[str] = None,
              tags: Optional[Mapping[str, str]] = None,
              type: Optional[str] = None,
              vpc_settings: Optional[DirectoryVpcSettingsArgs] = None)
@overload
def Directory(resource_name: str,
              args: DirectoryArgs,
              opts: Optional[ResourceOptions] = None)
func NewDirectory(ctx *Context, name string, args DirectoryArgs, opts ...ResourceOption) (*Directory, error)
public Directory(string name, DirectoryArgs args, CustomResourceOptions? opts = null)
public Directory(String name, DirectoryArgs args)
public Directory(String name, DirectoryArgs args, CustomResourceOptions options)
type: aws:directoryservice:Directory
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Directory Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Directory resource accepts the following input properties:

Name string

The fully qualified name for the directory, such as corp.example.com

Password string

The password for the directory administrator or connector user.

Alias string

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

ConnectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

Description string

A textual description for the directory.

DesiredNumberOfDomainControllers int

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

Edition string

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

EnableSso bool

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

ShortName string

The short name of the directory, such as CORP.

Size string

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

Tags Dictionary<string, string>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Type string

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

VpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

Name string

The fully qualified name for the directory, such as corp.example.com

Password string

The password for the directory administrator or connector user.

Alias string

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

ConnectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

Description string

A textual description for the directory.

DesiredNumberOfDomainControllers int

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

Edition string

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

EnableSso bool

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

ShortName string

The short name of the directory, such as CORP.

Size string

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

Tags map[string]string

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Type string

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

VpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

name String

The fully qualified name for the directory, such as corp.example.com

password String

The password for the directory administrator or connector user.

alias String

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

description String

A textual description for the directory.

desiredNumberOfDomainControllers Integer

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

edition String

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enableSso Boolean

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

shortName String

The short name of the directory, such as CORP.

size String

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags Map<String,String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

type String

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

name string

The fully qualified name for the directory, such as corp.example.com

password string

The password for the directory administrator or connector user.

alias string

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

description string

A textual description for the directory.

desiredNumberOfDomainControllers number

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

edition string

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enableSso boolean

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

shortName string

The short name of the directory, such as CORP.

size string

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags {[key: string]: string}

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

type string

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

name str

The fully qualified name for the directory, such as corp.example.com

password str

The password for the directory administrator or connector user.

alias str

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connect_settings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

description str

A textual description for the directory.

desired_number_of_domain_controllers int

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

edition str

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enable_sso bool

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

short_name str

The short name of the directory, such as CORP.

size str

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags Mapping[str, str]

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

type str

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpc_settings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

name String

The fully qualified name for the directory, such as corp.example.com

password String

The password for the directory administrator or connector user.

alias String

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connectSettings Property Map

Connector related information about the directory. Fields documented below.

description String

A textual description for the directory.

desiredNumberOfDomainControllers Number

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

edition String

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enableSso Boolean

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

shortName String

The short name of the directory, such as CORP.

size String

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags Map<String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

type String

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpcSettings Property Map

VPC related information about the directory. Fields documented below.

Outputs

All input properties are implicitly available as output properties. Additionally, the Directory resource produces the following output properties:

AccessUrl string

The access URL for the directory, such as http://alias.awsapps.com.

DnsIpAddresses List<string>

A list of IP addresses of the DNS servers for the directory or connector.

Id string

The provider-assigned unique ID for this managed resource.

SecurityGroupId string

The ID of the security group created by the directory.

TagsAll Dictionary<string, string>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

AccessUrl string

The access URL for the directory, such as http://alias.awsapps.com.

DnsIpAddresses []string

A list of IP addresses of the DNS servers for the directory or connector.

Id string

The provider-assigned unique ID for this managed resource.

SecurityGroupId string

The ID of the security group created by the directory.

TagsAll map[string]string

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

accessUrl String

The access URL for the directory, such as http://alias.awsapps.com.

dnsIpAddresses List<String>

A list of IP addresses of the DNS servers for the directory or connector.

id String

The provider-assigned unique ID for this managed resource.

securityGroupId String

The ID of the security group created by the directory.

tagsAll Map<String,String>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

accessUrl string

The access URL for the directory, such as http://alias.awsapps.com.

dnsIpAddresses string[]

A list of IP addresses of the DNS servers for the directory or connector.

id string

The provider-assigned unique ID for this managed resource.

securityGroupId string

The ID of the security group created by the directory.

tagsAll {[key: string]: string}

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

access_url str

The access URL for the directory, such as http://alias.awsapps.com.

dns_ip_addresses Sequence[str]

A list of IP addresses of the DNS servers for the directory or connector.

id str

The provider-assigned unique ID for this managed resource.

security_group_id str

The ID of the security group created by the directory.

tags_all Mapping[str, str]

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

accessUrl String

The access URL for the directory, such as http://alias.awsapps.com.

dnsIpAddresses List<String>

A list of IP addresses of the DNS servers for the directory or connector.

id String

The provider-assigned unique ID for this managed resource.

securityGroupId String

The ID of the security group created by the directory.

tagsAll Map<String>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Look up Existing Directory Resource

Get an existing Directory resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: DirectoryState, opts?: CustomResourceOptions): Directory
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        access_url: Optional[str] = None,
        alias: Optional[str] = None,
        connect_settings: Optional[DirectoryConnectSettingsArgs] = None,
        description: Optional[str] = None,
        desired_number_of_domain_controllers: Optional[int] = None,
        dns_ip_addresses: Optional[Sequence[str]] = None,
        edition: Optional[str] = None,
        enable_sso: Optional[bool] = None,
        name: Optional[str] = None,
        password: Optional[str] = None,
        security_group_id: Optional[str] = None,
        short_name: Optional[str] = None,
        size: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        type: Optional[str] = None,
        vpc_settings: Optional[DirectoryVpcSettingsArgs] = None) -> Directory
func GetDirectory(ctx *Context, name string, id IDInput, state *DirectoryState, opts ...ResourceOption) (*Directory, error)
public static Directory Get(string name, Input<string> id, DirectoryState? state, CustomResourceOptions? opts = null)
public static Directory get(String name, Output<String> id, DirectoryState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccessUrl string

The access URL for the directory, such as http://alias.awsapps.com.

Alias string

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

ConnectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

Description string

A textual description for the directory.

DesiredNumberOfDomainControllers int

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

DnsIpAddresses List<string>

A list of IP addresses of the DNS servers for the directory or connector.

Edition string

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

EnableSso bool

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

Name string

The fully qualified name for the directory, such as corp.example.com

Password string

The password for the directory administrator or connector user.

SecurityGroupId string

The ID of the security group created by the directory.

ShortName string

The short name of the directory, such as CORP.

Size string

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

Tags Dictionary<string, string>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

TagsAll Dictionary<string, string>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Type string

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

VpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

AccessUrl string

The access URL for the directory, such as http://alias.awsapps.com.

Alias string

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

ConnectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

Description string

A textual description for the directory.

DesiredNumberOfDomainControllers int

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

DnsIpAddresses []string

A list of IP addresses of the DNS servers for the directory or connector.

Edition string

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

EnableSso bool

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

Name string

The fully qualified name for the directory, such as corp.example.com

Password string

The password for the directory administrator or connector user.

SecurityGroupId string

The ID of the security group created by the directory.

ShortName string

The short name of the directory, such as CORP.

Size string

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

Tags map[string]string

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

TagsAll map[string]string

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Type string

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

VpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

accessUrl String

The access URL for the directory, such as http://alias.awsapps.com.

alias String

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

description String

A textual description for the directory.

desiredNumberOfDomainControllers Integer

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

dnsIpAddresses List<String>

A list of IP addresses of the DNS servers for the directory or connector.

edition String

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enableSso Boolean

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

name String

The fully qualified name for the directory, such as corp.example.com

password String

The password for the directory administrator or connector user.

securityGroupId String

The ID of the security group created by the directory.

shortName String

The short name of the directory, such as CORP.

size String

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags Map<String,String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll Map<String,String>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

type String

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

accessUrl string

The access URL for the directory, such as http://alias.awsapps.com.

alias string

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connectSettings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

description string

A textual description for the directory.

desiredNumberOfDomainControllers number

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

dnsIpAddresses string[]

A list of IP addresses of the DNS servers for the directory or connector.

edition string

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enableSso boolean

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

name string

The fully qualified name for the directory, such as corp.example.com

password string

The password for the directory administrator or connector user.

securityGroupId string

The ID of the security group created by the directory.

shortName string

The short name of the directory, such as CORP.

size string

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags {[key: string]: string}

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll {[key: string]: string}

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

type string

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpcSettings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

access_url str

The access URL for the directory, such as http://alias.awsapps.com.

alias str

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connect_settings DirectoryConnectSettingsArgs

Connector related information about the directory. Fields documented below.

description str

A textual description for the directory.

desired_number_of_domain_controllers int

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

dns_ip_addresses Sequence[str]

A list of IP addresses of the DNS servers for the directory or connector.

edition str

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enable_sso bool

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

name str

The fully qualified name for the directory, such as corp.example.com

password str

The password for the directory administrator or connector user.

security_group_id str

The ID of the security group created by the directory.

short_name str

The short name of the directory, such as CORP.

size str

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags Mapping[str, str]

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tags_all Mapping[str, str]

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

type str

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpc_settings DirectoryVpcSettingsArgs

VPC related information about the directory. Fields documented below.

accessUrl String

The access URL for the directory, such as http://alias.awsapps.com.

alias String

The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.

connectSettings Property Map

Connector related information about the directory. Fields documented below.

description String

A textual description for the directory.

desiredNumberOfDomainControllers Number

The number of domain controllers desired in the directory. Minimum value of 2. Scaling of domain controllers is only supported for MicrosoftAD directories.

dnsIpAddresses List<String>

A list of IP addresses of the DNS servers for the directory or connector.

edition String

The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise.

enableSso Boolean

Whether to enable single-sign on for the directory. Requires alias. Defaults to false.

name String

The fully qualified name for the directory, such as corp.example.com

password String

The password for the directory administrator or connector user.

securityGroupId String

The ID of the security group created by the directory.

shortName String

The short name of the directory, such as CORP.

size String

(For SimpleAD and ADConnector types) The size of the directory (Small or Large are accepted values). Large by default.

tags Map<String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll Map<String>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

type String

The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.

vpcSettings Property Map

VPC related information about the directory. Fields documented below.

Supporting Types

DirectoryConnectSettings

CustomerDnsIps List<string>

The DNS IP addresses of the domain to connect to.

CustomerUsername string

The username corresponding to the password provided.

SubnetIds List<string>

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

VpcId string

The identifier of the VPC that the directory is in.

AvailabilityZones List<string>
ConnectIps List<string>

The IP addresses of the AD Connector servers.

CustomerDnsIps []string

The DNS IP addresses of the domain to connect to.

CustomerUsername string

The username corresponding to the password provided.

SubnetIds []string

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

VpcId string

The identifier of the VPC that the directory is in.

AvailabilityZones []string
ConnectIps []string

The IP addresses of the AD Connector servers.

customerDnsIps List<String>

The DNS IP addresses of the domain to connect to.

customerUsername String

The username corresponding to the password provided.

subnetIds List<String>

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpcId String

The identifier of the VPC that the directory is in.

availabilityZones List<String>
connectIps List<String>

The IP addresses of the AD Connector servers.

customerDnsIps string[]

The DNS IP addresses of the domain to connect to.

customerUsername string

The username corresponding to the password provided.

subnetIds string[]

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpcId string

The identifier of the VPC that the directory is in.

availabilityZones string[]
connectIps string[]

The IP addresses of the AD Connector servers.

customer_dns_ips Sequence[str]

The DNS IP addresses of the domain to connect to.

customer_username str

The username corresponding to the password provided.

subnet_ids Sequence[str]

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpc_id str

The identifier of the VPC that the directory is in.

availability_zones Sequence[str]
connect_ips Sequence[str]

The IP addresses of the AD Connector servers.

customerDnsIps List<String>

The DNS IP addresses of the domain to connect to.

customerUsername String

The username corresponding to the password provided.

subnetIds List<String>

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpcId String

The identifier of the VPC that the directory is in.

availabilityZones List<String>
connectIps List<String>

The IP addresses of the AD Connector servers.

DirectoryVpcSettings

SubnetIds List<string>

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

VpcId string

The identifier of the VPC that the directory is in.

AvailabilityZones List<string>
SubnetIds []string

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

VpcId string

The identifier of the VPC that the directory is in.

AvailabilityZones []string
subnetIds List<String>

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpcId String

The identifier of the VPC that the directory is in.

availabilityZones List<String>
subnetIds string[]

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpcId string

The identifier of the VPC that the directory is in.

availabilityZones string[]
subnet_ids Sequence[str]

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpc_id str

The identifier of the VPC that the directory is in.

availability_zones Sequence[str]
subnetIds List<String>

The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).

vpcId String

The identifier of the VPC that the directory is in.

availabilityZones List<String>

Import

DirectoryService directories can be imported using the directory id, e.g.,

 $ pulumi import aws:directoryservice/directory:Directory sample d-926724cf57

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.