DirectoryArgs

data class DirectoryArgs(val alias: Output<String>? = null, val connectSettings: Output<DirectoryConnectSettingsArgs>? = null, val description: Output<String>? = null, val desiredNumberOfDomainControllers: Output<Int>? = null, val edition: Output<String>? = null, val enableSso: Output<Boolean>? = null, val name: Output<String>? = null, val password: Output<String>? = null, val shortName: Output<String>? = null, val size: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val type: Output<String>? = null, val vpcSettings: Output<DirectoryVpcSettingsArgs>? = null) : ConvertibleToJava<DirectoryArgs>

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

Example Usage

SimpleAD

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());
}
}

Microsoft Active Directory (MicrosoftAD)

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());
}
}

Microsoft Active Directory Connector (ADConnector)

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

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

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

Constructors

Link copied to clipboard
constructor(alias: Output<String>? = null, connectSettings: Output<DirectoryConnectSettingsArgs>? = null, description: Output<String>? = null, desiredNumberOfDomainControllers: Output<Int>? = null, edition: Output<String>? = null, enableSso: Output<Boolean>? = null, name: Output<String>? = null, password: Output<String>? = null, shortName: Output<String>? = null, size: Output<String>? = null, tags: Output<Map<String, String>>? = null, type: Output<String>? = null, vpcSettings: Output<DirectoryVpcSettingsArgs>? = null)

Properties

Link copied to clipboard
val alias: Output<String>? = null

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

Link copied to clipboard

Connector related information about the directory. Fields documented below.

Link copied to clipboard
val description: Output<String>? = null

A textual description for the directory.

Link copied to clipboard

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

Link copied to clipboard
val edition: Output<String>? = null

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

Link copied to clipboard
val enableSso: Output<Boolean>? = null

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

Link copied to clipboard
val name: Output<String>? = null

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

Link copied to clipboard
val password: Output<String>? = null

The password for the directory administrator or connector user.

Link copied to clipboard
val shortName: Output<String>? = null

The short name of the directory, such as CORP.

Link copied to clipboard
val size: Output<String>? = null

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

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

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.

Link copied to clipboard
val type: Output<String>? = null

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

Link copied to clipboard

VPC related information about the directory. Fields documented below.

Functions

Link copied to clipboard
open override fun toJava(): DirectoryArgs