Package com.pulumi.aws.directoryservice
Class Directory
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.directoryservice.Directory
-
public class Directory extends com.pulumi.resources.CustomResourceProvides a Simple or Managed Microsoft directory in AWS Directory Service. ## Example Usage ### SimpleAD
### 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.ArrayList; import java.util.Arrays; 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 bar = new Directory("bar", DirectoryArgs.builder() .vpcSettings(DirectoryVpcSettingsArgs.builder() .vpcId(main.id()) .subnetIds( foo.id(), barSubnet.id()) .build()) .name("corp.notexample.com") .password("SuperSecretPassw0rd") .size("Small") .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.DirectoryVpcSettingsArgs; import java.util.ArrayList; import java.util.Arrays; 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 bar = new Directory("bar", DirectoryArgs.builder() .vpcSettings(DirectoryVpcSettingsArgs.builder() .vpcId(main.id()) .subnetIds( foo.id(), barSubnet.id()) .build()) .name("corp.notexample.com") .password("SuperSecretPassw0rd") .edition("Standard") .type("MicrosoftAD") .tags(Map.of("Project", "foo")) .build()); } }
## Import Using `pulumi import`, import DirectoryService directories using the directory `id`. For example: ```sh $ pulumi import aws:directoryservice/directory:Directory sample d-926724cf57 ```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.ArrayList; import java.util.Arrays; 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() .connectSettings(DirectoryConnectSettingsArgs.builder() .customerDnsIps("A.B.C.D") .customerUsername("Admin") .subnetIds( foo.id(), bar.id()) .vpcId(main.id()) .build()) .name("corp.notexample.com") .password("SuperSecretPassw0rd") .size("Small") .type("ADConnector") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Directory(java.lang.String name)Directory(java.lang.String name, DirectoryArgs args)Directory(java.lang.String name, DirectoryArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>accessUrl()com.pulumi.core.Output<java.lang.String>alias()com.pulumi.core.Output<java.util.Optional<DirectoryConnectSettings>>connectSettings()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.lang.Integer>desiredNumberOfDomainControllers()com.pulumi.core.Output<java.util.List<java.lang.String>>dnsIpAddresses()com.pulumi.core.Output<java.lang.String>edition()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>enableDirectoryDataAccess()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>enableSso()static Directoryget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DirectoryState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>password()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.lang.String>securityGroupId()com.pulumi.core.Output<java.lang.String>shortName()com.pulumi.core.Output<java.lang.String>size()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<java.lang.String>>type()com.pulumi.core.Output<java.util.Optional<DirectoryVpcSettings>>vpcSettings()
-
-
-
Constructor Detail
-
Directory
public Directory(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Directory
public Directory(java.lang.String name, DirectoryArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Directory
public Directory(java.lang.String name, DirectoryArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
accessUrl
public com.pulumi.core.Output<java.lang.String> accessUrl()
- Returns:
- The access URL for the directory, such as `http://alias.awsapps.com`.
-
alias
public com.pulumi.core.Output<java.lang.String> alias()
- Returns:
- The alias for the directory (must be unique amongst all aliases in AWS). Required for `enableSso`.
-
connectSettings
public com.pulumi.core.Output<java.util.Optional<DirectoryConnectSettings>> connectSettings()
- Returns:
- Connector related information about the directory. Fields documented below.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- A textual description for the directory.
-
desiredNumberOfDomainControllers
public com.pulumi.core.Output<java.lang.Integer> desiredNumberOfDomainControllers()
- Returns:
- The number of domain controllers desired in the directory. Minimum value of `2`. Scaling of domain controllers is only supported for `MicrosoftAD` directories.
-
dnsIpAddresses
public com.pulumi.core.Output<java.util.List<java.lang.String>> dnsIpAddresses()
- Returns:
- A list of IP addresses of the DNS servers for the directory or connector.
-
edition
public com.pulumi.core.Output<java.lang.String> edition()
- Returns:
- The MicrosoftAD edition (`Standard` or `Enterprise`). Defaults to `Enterprise`.
-
enableDirectoryDataAccess
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableDirectoryDataAccess()
- Returns:
- Enables access to directory data via the Directory Service Data API for the specified directory. For more information, see [Directory Service Data API Reference](https://docs.aws.amazon.com/directoryservicedata/latest/DirectoryServiceDataAPIReference/Welcome.html).
-
enableSso
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableSso()
- Returns:
- Whether to enable single-sign on for the directory. Requires `alias`. Defaults to `false`.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- The fully qualified name for the directory, such as `corp.example.com`
-
password
public com.pulumi.core.Output<java.lang.String> password()
- Returns:
- The password for the directory administrator or connector user.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
securityGroupId
public com.pulumi.core.Output<java.lang.String> securityGroupId()
- Returns:
- The ID of the security group created by the directory.
-
shortName
public com.pulumi.core.Output<java.lang.String> shortName()
- Returns:
- The short name of the directory, such as `CORP`.
-
size
public com.pulumi.core.Output<java.lang.String> size()
- Returns:
- (For `SimpleAD` and `ADConnector` types) The size of the directory (`Small` or `Large` are accepted values). `Large` by default.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
type
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> type()
- Returns:
- The directory type (`SimpleAD`, `ADConnector` or `MicrosoftAD` are accepted values). Defaults to `SimpleAD`.
-
vpcSettings
public com.pulumi.core.Output<java.util.Optional<DirectoryVpcSettings>> vpcSettings()
- Returns:
- VPC related information about the directory. Fields documented below.
-
get
public static Directory get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable DirectoryState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-