directoryservice

package
v7.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConditionalForwarder

type ConditionalForwarder struct {
	pulumi.CustomResourceState

	// ID of directory.
	DirectoryId pulumi.StringOutput `pulumi:"directoryId"`
	// A list of forwarder IP addresses.
	DnsIps pulumi.StringArrayOutput `pulumi:"dnsIps"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// The fully qualified domain name of the remote domain for which forwarders will be used.
	RemoteDomainName pulumi.StringOutput `pulumi:"remoteDomainName"`
}

Provides a conditional forwarder for managed Microsoft AD in AWS Directory Service.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directoryservice.NewConditionalForwarder(ctx, "example", &directoryservice.ConditionalForwarderArgs{
			DirectoryId:      pulumi.Any(ad.Id),
			RemoteDomainName: pulumi.String("example.com"),
			DnsIps: pulumi.StringArray{
				pulumi.String("8.8.8.8"),
				pulumi.String("8.8.4.4"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import conditional forwarders using the directory id and remote_domain_name. For example:

```sh $ pulumi import aws:directoryservice/conditionalForwarder:ConditionalForwarder example d-1234567890:example.com ```

func GetConditionalForwarder

func GetConditionalForwarder(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConditionalForwarderState, opts ...pulumi.ResourceOption) (*ConditionalForwarder, error)

GetConditionalForwarder gets an existing ConditionalForwarder resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConditionalForwarder

func NewConditionalForwarder(ctx *pulumi.Context,
	name string, args *ConditionalForwarderArgs, opts ...pulumi.ResourceOption) (*ConditionalForwarder, error)

NewConditionalForwarder registers a new resource with the given unique name, arguments, and options.

func (*ConditionalForwarder) ElementType

func (*ConditionalForwarder) ElementType() reflect.Type

func (*ConditionalForwarder) ToConditionalForwarderOutput

func (i *ConditionalForwarder) ToConditionalForwarderOutput() ConditionalForwarderOutput

func (*ConditionalForwarder) ToConditionalForwarderOutputWithContext

func (i *ConditionalForwarder) ToConditionalForwarderOutputWithContext(ctx context.Context) ConditionalForwarderOutput

type ConditionalForwarderArgs

type ConditionalForwarderArgs struct {
	// ID of directory.
	DirectoryId pulumi.StringInput
	// A list of forwarder IP addresses.
	DnsIps pulumi.StringArrayInput
	// 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.
	Region pulumi.StringPtrInput
	// The fully qualified domain name of the remote domain for which forwarders will be used.
	RemoteDomainName pulumi.StringInput
}

The set of arguments for constructing a ConditionalForwarder resource.

func (ConditionalForwarderArgs) ElementType

func (ConditionalForwarderArgs) ElementType() reflect.Type

type ConditionalForwarderArray

type ConditionalForwarderArray []ConditionalForwarderInput

func (ConditionalForwarderArray) ElementType

func (ConditionalForwarderArray) ElementType() reflect.Type

func (ConditionalForwarderArray) ToConditionalForwarderArrayOutput

func (i ConditionalForwarderArray) ToConditionalForwarderArrayOutput() ConditionalForwarderArrayOutput

func (ConditionalForwarderArray) ToConditionalForwarderArrayOutputWithContext

func (i ConditionalForwarderArray) ToConditionalForwarderArrayOutputWithContext(ctx context.Context) ConditionalForwarderArrayOutput

type ConditionalForwarderArrayInput

type ConditionalForwarderArrayInput interface {
	pulumi.Input

	ToConditionalForwarderArrayOutput() ConditionalForwarderArrayOutput
	ToConditionalForwarderArrayOutputWithContext(context.Context) ConditionalForwarderArrayOutput
}

ConditionalForwarderArrayInput is an input type that accepts ConditionalForwarderArray and ConditionalForwarderArrayOutput values. You can construct a concrete instance of `ConditionalForwarderArrayInput` via:

ConditionalForwarderArray{ ConditionalForwarderArgs{...} }

type ConditionalForwarderArrayOutput

type ConditionalForwarderArrayOutput struct{ *pulumi.OutputState }

func (ConditionalForwarderArrayOutput) ElementType

func (ConditionalForwarderArrayOutput) Index

func (ConditionalForwarderArrayOutput) ToConditionalForwarderArrayOutput

func (o ConditionalForwarderArrayOutput) ToConditionalForwarderArrayOutput() ConditionalForwarderArrayOutput

func (ConditionalForwarderArrayOutput) ToConditionalForwarderArrayOutputWithContext

func (o ConditionalForwarderArrayOutput) ToConditionalForwarderArrayOutputWithContext(ctx context.Context) ConditionalForwarderArrayOutput

type ConditionalForwarderInput

type ConditionalForwarderInput interface {
	pulumi.Input

	ToConditionalForwarderOutput() ConditionalForwarderOutput
	ToConditionalForwarderOutputWithContext(ctx context.Context) ConditionalForwarderOutput
}

type ConditionalForwarderMap

type ConditionalForwarderMap map[string]ConditionalForwarderInput

func (ConditionalForwarderMap) ElementType

func (ConditionalForwarderMap) ElementType() reflect.Type

func (ConditionalForwarderMap) ToConditionalForwarderMapOutput

func (i ConditionalForwarderMap) ToConditionalForwarderMapOutput() ConditionalForwarderMapOutput

func (ConditionalForwarderMap) ToConditionalForwarderMapOutputWithContext

func (i ConditionalForwarderMap) ToConditionalForwarderMapOutputWithContext(ctx context.Context) ConditionalForwarderMapOutput

type ConditionalForwarderMapInput

type ConditionalForwarderMapInput interface {
	pulumi.Input

	ToConditionalForwarderMapOutput() ConditionalForwarderMapOutput
	ToConditionalForwarderMapOutputWithContext(context.Context) ConditionalForwarderMapOutput
}

ConditionalForwarderMapInput is an input type that accepts ConditionalForwarderMap and ConditionalForwarderMapOutput values. You can construct a concrete instance of `ConditionalForwarderMapInput` via:

ConditionalForwarderMap{ "key": ConditionalForwarderArgs{...} }

type ConditionalForwarderMapOutput

type ConditionalForwarderMapOutput struct{ *pulumi.OutputState }

func (ConditionalForwarderMapOutput) ElementType

func (ConditionalForwarderMapOutput) MapIndex

func (ConditionalForwarderMapOutput) ToConditionalForwarderMapOutput

func (o ConditionalForwarderMapOutput) ToConditionalForwarderMapOutput() ConditionalForwarderMapOutput

func (ConditionalForwarderMapOutput) ToConditionalForwarderMapOutputWithContext

func (o ConditionalForwarderMapOutput) ToConditionalForwarderMapOutputWithContext(ctx context.Context) ConditionalForwarderMapOutput

type ConditionalForwarderOutput

type ConditionalForwarderOutput struct{ *pulumi.OutputState }

func (ConditionalForwarderOutput) DirectoryId

ID of directory.

func (ConditionalForwarderOutput) DnsIps

A list of forwarder IP addresses.

func (ConditionalForwarderOutput) ElementType

func (ConditionalForwarderOutput) ElementType() reflect.Type

func (ConditionalForwarderOutput) Region

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.

func (ConditionalForwarderOutput) RemoteDomainName

func (o ConditionalForwarderOutput) RemoteDomainName() pulumi.StringOutput

The fully qualified domain name of the remote domain for which forwarders will be used.

func (ConditionalForwarderOutput) ToConditionalForwarderOutput

func (o ConditionalForwarderOutput) ToConditionalForwarderOutput() ConditionalForwarderOutput

func (ConditionalForwarderOutput) ToConditionalForwarderOutputWithContext

func (o ConditionalForwarderOutput) ToConditionalForwarderOutputWithContext(ctx context.Context) ConditionalForwarderOutput

type ConditionalForwarderState

type ConditionalForwarderState struct {
	// ID of directory.
	DirectoryId pulumi.StringPtrInput
	// A list of forwarder IP addresses.
	DnsIps pulumi.StringArrayInput
	// 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.
	Region pulumi.StringPtrInput
	// The fully qualified domain name of the remote domain for which forwarders will be used.
	RemoteDomainName pulumi.StringPtrInput
}

func (ConditionalForwarderState) ElementType

func (ConditionalForwarderState) ElementType() reflect.Type

type Directory

type Directory struct {
	pulumi.CustomResourceState

	// The access URL for the directory, such as `http://alias.awsapps.com`.
	AccessUrl pulumi.StringOutput `pulumi:"accessUrl"`
	// The alias for the directory (must be unique amongst all aliases in AWS). Required for `enableSso`.
	Alias pulumi.StringOutput `pulumi:"alias"`
	// Connector related information about the directory. Fields documented below.
	ConnectSettings DirectoryConnectSettingsPtrOutput `pulumi:"connectSettings"`
	// A textual description for the directory.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The number of domain controllers desired in the directory. Minimum value of `2`. Scaling of domain controllers is only supported for `MicrosoftAD` directories.
	DesiredNumberOfDomainControllers pulumi.IntOutput `pulumi:"desiredNumberOfDomainControllers"`
	// A list of IP addresses of the DNS servers for the directory or connector.
	DnsIpAddresses pulumi.StringArrayOutput `pulumi:"dnsIpAddresses"`
	// The MicrosoftAD edition (`Standard` or `Enterprise`). Defaults to `Enterprise`.
	Edition pulumi.StringOutput `pulumi:"edition"`
	// Whether to enable single-sign on for the directory. Requires `alias`. Defaults to `false`.
	EnableSso pulumi.BoolPtrOutput `pulumi:"enableSso"`
	// The fully qualified name for the directory, such as `corp.example.com`
	Name pulumi.StringOutput `pulumi:"name"`
	// The password for the directory administrator or connector user.
	Password pulumi.StringOutput `pulumi:"password"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// The ID of the security group created by the directory.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// The short name of the directory, such as `CORP`.
	ShortName pulumi.StringOutput `pulumi:"shortName"`
	// (For `SimpleAD` and `ADConnector` types) The size of the directory (`Small` or `Large` are accepted values). `Large` by default.
	Size pulumi.StringOutput `pulumi:"size"`
	// 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.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The directory type (`SimpleAD`, `ADConnector` or `MicrosoftAD` are accepted values). Defaults to `SimpleAD`.
	Type pulumi.StringPtrOutput `pulumi:"type"`
	// VPC related information about the directory. Fields documented below.
	VpcSettings DirectoryVpcSettingsPtrOutput `pulumi:"vpcSettings"`
}

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

## Example Usage

### SimpleAD

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi-aws/sdk/v7/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, "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, "bar", &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
	})
}

```

### Microsoft Active Directory (MicrosoftAD)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi-aws/sdk/v7/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, "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, "bar", &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
	})
}

```

### Microsoft Active Directory Connector (ADConnector)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi-aws/sdk/v7/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
	})
}

```

## Import

Using `pulumi import`, import DirectoryService directories using the directory `id`. For example:

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

func GetDirectory

func GetDirectory(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DirectoryState, opts ...pulumi.ResourceOption) (*Directory, error)

GetDirectory gets an existing Directory resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDirectory

func NewDirectory(ctx *pulumi.Context,
	name string, args *DirectoryArgs, opts ...pulumi.ResourceOption) (*Directory, error)

NewDirectory registers a new resource with the given unique name, arguments, and options.

func (*Directory) ElementType

func (*Directory) ElementType() reflect.Type

func (*Directory) ToDirectoryOutput

func (i *Directory) ToDirectoryOutput() DirectoryOutput

func (*Directory) ToDirectoryOutputWithContext

func (i *Directory) ToDirectoryOutputWithContext(ctx context.Context) DirectoryOutput

type DirectoryArgs

type DirectoryArgs struct {
	// The alias for the directory (must be unique amongst all aliases in AWS). Required for `enableSso`.
	Alias pulumi.StringPtrInput
	// Connector related information about the directory. Fields documented below.
	ConnectSettings DirectoryConnectSettingsPtrInput
	// A textual description for the directory.
	Description pulumi.StringPtrInput
	// The number of domain controllers desired in the directory. Minimum value of `2`. Scaling of domain controllers is only supported for `MicrosoftAD` directories.
	DesiredNumberOfDomainControllers pulumi.IntPtrInput
	// The MicrosoftAD edition (`Standard` or `Enterprise`). Defaults to `Enterprise`.
	Edition pulumi.StringPtrInput
	// Whether to enable single-sign on for the directory. Requires `alias`. Defaults to `false`.
	EnableSso pulumi.BoolPtrInput
	// The fully qualified name for the directory, such as `corp.example.com`
	Name pulumi.StringInput
	// The password for the directory administrator or connector user.
	Password pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// The short name of the directory, such as `CORP`.
	ShortName pulumi.StringPtrInput
	// (For `SimpleAD` and `ADConnector` types) The size of the directory (`Small` or `Large` are accepted values). `Large` by default.
	Size pulumi.StringPtrInput
	// 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.
	Tags pulumi.StringMapInput
	// The directory type (`SimpleAD`, `ADConnector` or `MicrosoftAD` are accepted values). Defaults to `SimpleAD`.
	Type pulumi.StringPtrInput
	// VPC related information about the directory. Fields documented below.
	VpcSettings DirectoryVpcSettingsPtrInput
}

The set of arguments for constructing a Directory resource.

func (DirectoryArgs) ElementType

func (DirectoryArgs) ElementType() reflect.Type

type DirectoryArray

type DirectoryArray []DirectoryInput

func (DirectoryArray) ElementType

func (DirectoryArray) ElementType() reflect.Type

func (DirectoryArray) ToDirectoryArrayOutput

func (i DirectoryArray) ToDirectoryArrayOutput() DirectoryArrayOutput

func (DirectoryArray) ToDirectoryArrayOutputWithContext

func (i DirectoryArray) ToDirectoryArrayOutputWithContext(ctx context.Context) DirectoryArrayOutput

type DirectoryArrayInput

type DirectoryArrayInput interface {
	pulumi.Input

	ToDirectoryArrayOutput() DirectoryArrayOutput
	ToDirectoryArrayOutputWithContext(context.Context) DirectoryArrayOutput
}

DirectoryArrayInput is an input type that accepts DirectoryArray and DirectoryArrayOutput values. You can construct a concrete instance of `DirectoryArrayInput` via:

DirectoryArray{ DirectoryArgs{...} }

type DirectoryArrayOutput

type DirectoryArrayOutput struct{ *pulumi.OutputState }

func (DirectoryArrayOutput) ElementType

func (DirectoryArrayOutput) ElementType() reflect.Type

func (DirectoryArrayOutput) Index

func (DirectoryArrayOutput) ToDirectoryArrayOutput

func (o DirectoryArrayOutput) ToDirectoryArrayOutput() DirectoryArrayOutput

func (DirectoryArrayOutput) ToDirectoryArrayOutputWithContext

func (o DirectoryArrayOutput) ToDirectoryArrayOutputWithContext(ctx context.Context) DirectoryArrayOutput

type DirectoryConnectSettings

type DirectoryConnectSettings struct {
	AvailabilityZones []string `pulumi:"availabilityZones"`
	// The IP addresses of the AD Connector servers.
	ConnectIps []string `pulumi:"connectIps"`
	// The DNS IP addresses of the domain to connect to.
	CustomerDnsIps []string `pulumi:"customerDnsIps"`
	// The username corresponding to the password provided.
	CustomerUsername string `pulumi:"customerUsername"`
	// The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).
	SubnetIds []string `pulumi:"subnetIds"`
	// The identifier of the VPC that the directory is in.
	VpcId string `pulumi:"vpcId"`
}

type DirectoryConnectSettingsArgs

type DirectoryConnectSettingsArgs struct {
	AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"`
	// The IP addresses of the AD Connector servers.
	ConnectIps pulumi.StringArrayInput `pulumi:"connectIps"`
	// The DNS IP addresses of the domain to connect to.
	CustomerDnsIps pulumi.StringArrayInput `pulumi:"customerDnsIps"`
	// The username corresponding to the password provided.
	CustomerUsername pulumi.StringInput `pulumi:"customerUsername"`
	// The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).
	SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"`
	// The identifier of the VPC that the directory is in.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (DirectoryConnectSettingsArgs) ElementType

func (DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsOutput

func (i DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsOutput() DirectoryConnectSettingsOutput

func (DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsOutputWithContext

func (i DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsOutputWithContext(ctx context.Context) DirectoryConnectSettingsOutput

func (DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsPtrOutput

func (i DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsPtrOutput() DirectoryConnectSettingsPtrOutput

func (DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsPtrOutputWithContext

func (i DirectoryConnectSettingsArgs) ToDirectoryConnectSettingsPtrOutputWithContext(ctx context.Context) DirectoryConnectSettingsPtrOutput

type DirectoryConnectSettingsInput

type DirectoryConnectSettingsInput interface {
	pulumi.Input

	ToDirectoryConnectSettingsOutput() DirectoryConnectSettingsOutput
	ToDirectoryConnectSettingsOutputWithContext(context.Context) DirectoryConnectSettingsOutput
}

DirectoryConnectSettingsInput is an input type that accepts DirectoryConnectSettingsArgs and DirectoryConnectSettingsOutput values. You can construct a concrete instance of `DirectoryConnectSettingsInput` via:

DirectoryConnectSettingsArgs{...}

type DirectoryConnectSettingsOutput

type DirectoryConnectSettingsOutput struct{ *pulumi.OutputState }

func (DirectoryConnectSettingsOutput) AvailabilityZones

func (DirectoryConnectSettingsOutput) ConnectIps

The IP addresses of the AD Connector servers.

func (DirectoryConnectSettingsOutput) CustomerDnsIps

The DNS IP addresses of the domain to connect to.

func (DirectoryConnectSettingsOutput) CustomerUsername

func (o DirectoryConnectSettingsOutput) CustomerUsername() pulumi.StringOutput

The username corresponding to the password provided.

func (DirectoryConnectSettingsOutput) ElementType

func (DirectoryConnectSettingsOutput) SubnetIds

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

func (DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsOutput

func (o DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsOutput() DirectoryConnectSettingsOutput

func (DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsOutputWithContext

func (o DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsOutputWithContext(ctx context.Context) DirectoryConnectSettingsOutput

func (DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsPtrOutput

func (o DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsPtrOutput() DirectoryConnectSettingsPtrOutput

func (DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsPtrOutputWithContext

func (o DirectoryConnectSettingsOutput) ToDirectoryConnectSettingsPtrOutputWithContext(ctx context.Context) DirectoryConnectSettingsPtrOutput

func (DirectoryConnectSettingsOutput) VpcId

The identifier of the VPC that the directory is in.

type DirectoryConnectSettingsPtrInput

type DirectoryConnectSettingsPtrInput interface {
	pulumi.Input

	ToDirectoryConnectSettingsPtrOutput() DirectoryConnectSettingsPtrOutput
	ToDirectoryConnectSettingsPtrOutputWithContext(context.Context) DirectoryConnectSettingsPtrOutput
}

DirectoryConnectSettingsPtrInput is an input type that accepts DirectoryConnectSettingsArgs, DirectoryConnectSettingsPtr and DirectoryConnectSettingsPtrOutput values. You can construct a concrete instance of `DirectoryConnectSettingsPtrInput` via:

        DirectoryConnectSettingsArgs{...}

or:

        nil

type DirectoryConnectSettingsPtrOutput

type DirectoryConnectSettingsPtrOutput struct{ *pulumi.OutputState }

func (DirectoryConnectSettingsPtrOutput) AvailabilityZones

func (DirectoryConnectSettingsPtrOutput) ConnectIps

The IP addresses of the AD Connector servers.

func (DirectoryConnectSettingsPtrOutput) CustomerDnsIps

The DNS IP addresses of the domain to connect to.

func (DirectoryConnectSettingsPtrOutput) CustomerUsername

The username corresponding to the password provided.

func (DirectoryConnectSettingsPtrOutput) Elem

func (DirectoryConnectSettingsPtrOutput) ElementType

func (DirectoryConnectSettingsPtrOutput) SubnetIds

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

func (DirectoryConnectSettingsPtrOutput) ToDirectoryConnectSettingsPtrOutput

func (o DirectoryConnectSettingsPtrOutput) ToDirectoryConnectSettingsPtrOutput() DirectoryConnectSettingsPtrOutput

func (DirectoryConnectSettingsPtrOutput) ToDirectoryConnectSettingsPtrOutputWithContext

func (o DirectoryConnectSettingsPtrOutput) ToDirectoryConnectSettingsPtrOutputWithContext(ctx context.Context) DirectoryConnectSettingsPtrOutput

func (DirectoryConnectSettingsPtrOutput) VpcId

The identifier of the VPC that the directory is in.

type DirectoryInput

type DirectoryInput interface {
	pulumi.Input

	ToDirectoryOutput() DirectoryOutput
	ToDirectoryOutputWithContext(ctx context.Context) DirectoryOutput
}

type DirectoryMap

type DirectoryMap map[string]DirectoryInput

func (DirectoryMap) ElementType

func (DirectoryMap) ElementType() reflect.Type

func (DirectoryMap) ToDirectoryMapOutput

func (i DirectoryMap) ToDirectoryMapOutput() DirectoryMapOutput

func (DirectoryMap) ToDirectoryMapOutputWithContext

func (i DirectoryMap) ToDirectoryMapOutputWithContext(ctx context.Context) DirectoryMapOutput

type DirectoryMapInput

type DirectoryMapInput interface {
	pulumi.Input

	ToDirectoryMapOutput() DirectoryMapOutput
	ToDirectoryMapOutputWithContext(context.Context) DirectoryMapOutput
}

DirectoryMapInput is an input type that accepts DirectoryMap and DirectoryMapOutput values. You can construct a concrete instance of `DirectoryMapInput` via:

DirectoryMap{ "key": DirectoryArgs{...} }

type DirectoryMapOutput

type DirectoryMapOutput struct{ *pulumi.OutputState }

func (DirectoryMapOutput) ElementType

func (DirectoryMapOutput) ElementType() reflect.Type

func (DirectoryMapOutput) MapIndex

func (DirectoryMapOutput) ToDirectoryMapOutput

func (o DirectoryMapOutput) ToDirectoryMapOutput() DirectoryMapOutput

func (DirectoryMapOutput) ToDirectoryMapOutputWithContext

func (o DirectoryMapOutput) ToDirectoryMapOutputWithContext(ctx context.Context) DirectoryMapOutput

type DirectoryOutput

type DirectoryOutput struct{ *pulumi.OutputState }

func (DirectoryOutput) AccessUrl

func (o DirectoryOutput) AccessUrl() pulumi.StringOutput

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

func (DirectoryOutput) Alias

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

func (DirectoryOutput) ConnectSettings

Connector related information about the directory. Fields documented below.

func (DirectoryOutput) Description

func (o DirectoryOutput) Description() pulumi.StringPtrOutput

A textual description for the directory.

func (DirectoryOutput) DesiredNumberOfDomainControllers

func (o DirectoryOutput) DesiredNumberOfDomainControllers() pulumi.IntOutput

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

func (DirectoryOutput) DnsIpAddresses

func (o DirectoryOutput) DnsIpAddresses() pulumi.StringArrayOutput

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

func (DirectoryOutput) Edition

func (o DirectoryOutput) Edition() pulumi.StringOutput

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

func (DirectoryOutput) ElementType

func (DirectoryOutput) ElementType() reflect.Type

func (DirectoryOutput) EnableSso

func (o DirectoryOutput) EnableSso() pulumi.BoolPtrOutput

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

func (DirectoryOutput) Name

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

func (DirectoryOutput) Password

func (o DirectoryOutput) Password() pulumi.StringOutput

The password for the directory administrator or connector user.

func (DirectoryOutput) Region

func (o DirectoryOutput) Region() pulumi.StringOutput

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.

func (DirectoryOutput) SecurityGroupId

func (o DirectoryOutput) SecurityGroupId() pulumi.StringOutput

The ID of the security group created by the directory.

func (DirectoryOutput) ShortName

func (o DirectoryOutput) ShortName() pulumi.StringOutput

The short name of the directory, such as `CORP`.

func (DirectoryOutput) Size

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

func (DirectoryOutput) Tags

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.

func (DirectoryOutput) TagsAll

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

func (DirectoryOutput) ToDirectoryOutput

func (o DirectoryOutput) ToDirectoryOutput() DirectoryOutput

func (DirectoryOutput) ToDirectoryOutputWithContext

func (o DirectoryOutput) ToDirectoryOutputWithContext(ctx context.Context) DirectoryOutput

func (DirectoryOutput) Type

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

func (DirectoryOutput) VpcSettings

VPC related information about the directory. Fields documented below.

type DirectoryState

type DirectoryState struct {
	// The access URL for the directory, such as `http://alias.awsapps.com`.
	AccessUrl pulumi.StringPtrInput
	// The alias for the directory (must be unique amongst all aliases in AWS). Required for `enableSso`.
	Alias pulumi.StringPtrInput
	// Connector related information about the directory. Fields documented below.
	ConnectSettings DirectoryConnectSettingsPtrInput
	// A textual description for the directory.
	Description pulumi.StringPtrInput
	// The number of domain controllers desired in the directory. Minimum value of `2`. Scaling of domain controllers is only supported for `MicrosoftAD` directories.
	DesiredNumberOfDomainControllers pulumi.IntPtrInput
	// A list of IP addresses of the DNS servers for the directory or connector.
	DnsIpAddresses pulumi.StringArrayInput
	// The MicrosoftAD edition (`Standard` or `Enterprise`). Defaults to `Enterprise`.
	Edition pulumi.StringPtrInput
	// Whether to enable single-sign on for the directory. Requires `alias`. Defaults to `false`.
	EnableSso pulumi.BoolPtrInput
	// The fully qualified name for the directory, such as `corp.example.com`
	Name pulumi.StringPtrInput
	// The password for the directory administrator or connector user.
	Password pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// The ID of the security group created by the directory.
	SecurityGroupId pulumi.StringPtrInput
	// The short name of the directory, such as `CORP`.
	ShortName pulumi.StringPtrInput
	// (For `SimpleAD` and `ADConnector` types) The size of the directory (`Small` or `Large` are accepted values). `Large` by default.
	Size pulumi.StringPtrInput
	// 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.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// The directory type (`SimpleAD`, `ADConnector` or `MicrosoftAD` are accepted values). Defaults to `SimpleAD`.
	Type pulumi.StringPtrInput
	// VPC related information about the directory. Fields documented below.
	VpcSettings DirectoryVpcSettingsPtrInput
}

func (DirectoryState) ElementType

func (DirectoryState) ElementType() reflect.Type

type DirectoryVpcSettings

type DirectoryVpcSettings struct {
	AvailabilityZones []string `pulumi:"availabilityZones"`
	// The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).
	SubnetIds []string `pulumi:"subnetIds"`
	// The identifier of the VPC that the directory is in.
	VpcId string `pulumi:"vpcId"`
}

type DirectoryVpcSettingsArgs

type DirectoryVpcSettingsArgs struct {
	AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"`
	// The identifiers of the subnets for the directory servers (2 subnets in 2 different AZs).
	SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"`
	// The identifier of the VPC that the directory is in.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (DirectoryVpcSettingsArgs) ElementType

func (DirectoryVpcSettingsArgs) ElementType() reflect.Type

func (DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsOutput

func (i DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsOutput() DirectoryVpcSettingsOutput

func (DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsOutputWithContext

func (i DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsOutputWithContext(ctx context.Context) DirectoryVpcSettingsOutput

func (DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsPtrOutput

func (i DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsPtrOutput() DirectoryVpcSettingsPtrOutput

func (DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsPtrOutputWithContext

func (i DirectoryVpcSettingsArgs) ToDirectoryVpcSettingsPtrOutputWithContext(ctx context.Context) DirectoryVpcSettingsPtrOutput

type DirectoryVpcSettingsInput

type DirectoryVpcSettingsInput interface {
	pulumi.Input

	ToDirectoryVpcSettingsOutput() DirectoryVpcSettingsOutput
	ToDirectoryVpcSettingsOutputWithContext(context.Context) DirectoryVpcSettingsOutput
}

DirectoryVpcSettingsInput is an input type that accepts DirectoryVpcSettingsArgs and DirectoryVpcSettingsOutput values. You can construct a concrete instance of `DirectoryVpcSettingsInput` via:

DirectoryVpcSettingsArgs{...}

type DirectoryVpcSettingsOutput

type DirectoryVpcSettingsOutput struct{ *pulumi.OutputState }

func (DirectoryVpcSettingsOutput) AvailabilityZones

func (o DirectoryVpcSettingsOutput) AvailabilityZones() pulumi.StringArrayOutput

func (DirectoryVpcSettingsOutput) ElementType

func (DirectoryVpcSettingsOutput) ElementType() reflect.Type

func (DirectoryVpcSettingsOutput) SubnetIds

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

func (DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsOutput

func (o DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsOutput() DirectoryVpcSettingsOutput

func (DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsOutputWithContext

func (o DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsOutputWithContext(ctx context.Context) DirectoryVpcSettingsOutput

func (DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsPtrOutput

func (o DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsPtrOutput() DirectoryVpcSettingsPtrOutput

func (DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsPtrOutputWithContext

func (o DirectoryVpcSettingsOutput) ToDirectoryVpcSettingsPtrOutputWithContext(ctx context.Context) DirectoryVpcSettingsPtrOutput

func (DirectoryVpcSettingsOutput) VpcId

The identifier of the VPC that the directory is in.

type DirectoryVpcSettingsPtrInput

type DirectoryVpcSettingsPtrInput interface {
	pulumi.Input

	ToDirectoryVpcSettingsPtrOutput() DirectoryVpcSettingsPtrOutput
	ToDirectoryVpcSettingsPtrOutputWithContext(context.Context) DirectoryVpcSettingsPtrOutput
}

DirectoryVpcSettingsPtrInput is an input type that accepts DirectoryVpcSettingsArgs, DirectoryVpcSettingsPtr and DirectoryVpcSettingsPtrOutput values. You can construct a concrete instance of `DirectoryVpcSettingsPtrInput` via:

        DirectoryVpcSettingsArgs{...}

or:

        nil

type DirectoryVpcSettingsPtrOutput

type DirectoryVpcSettingsPtrOutput struct{ *pulumi.OutputState }

func (DirectoryVpcSettingsPtrOutput) AvailabilityZones

func (DirectoryVpcSettingsPtrOutput) Elem

func (DirectoryVpcSettingsPtrOutput) ElementType

func (DirectoryVpcSettingsPtrOutput) SubnetIds

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

func (DirectoryVpcSettingsPtrOutput) ToDirectoryVpcSettingsPtrOutput

func (o DirectoryVpcSettingsPtrOutput) ToDirectoryVpcSettingsPtrOutput() DirectoryVpcSettingsPtrOutput

func (DirectoryVpcSettingsPtrOutput) ToDirectoryVpcSettingsPtrOutputWithContext

func (o DirectoryVpcSettingsPtrOutput) ToDirectoryVpcSettingsPtrOutputWithContext(ctx context.Context) DirectoryVpcSettingsPtrOutput

func (DirectoryVpcSettingsPtrOutput) VpcId

The identifier of the VPC that the directory is in.

type GetDirectoryConnectSetting

type GetDirectoryConnectSetting struct {
	AvailabilityZones []string `pulumi:"availabilityZones"`
	// IP addresses of the AD Connector servers.
	ConnectIps []string `pulumi:"connectIps"`
	// DNS IP addresses of the domain to connect to.
	CustomerDnsIps []string `pulumi:"customerDnsIps"`
	// Username corresponding to the password provided.
	CustomerUsername string `pulumi:"customerUsername"`
	// Identifiers of the subnets for the connector servers (2 subnets in 2 different AZs).
	SubnetIds []string `pulumi:"subnetIds"`
	// ID of the VPC that the connector is in.
	VpcId string `pulumi:"vpcId"`
}

type GetDirectoryConnectSettingArgs

type GetDirectoryConnectSettingArgs struct {
	AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"`
	// IP addresses of the AD Connector servers.
	ConnectIps pulumi.StringArrayInput `pulumi:"connectIps"`
	// DNS IP addresses of the domain to connect to.
	CustomerDnsIps pulumi.StringArrayInput `pulumi:"customerDnsIps"`
	// Username corresponding to the password provided.
	CustomerUsername pulumi.StringInput `pulumi:"customerUsername"`
	// Identifiers of the subnets for the connector servers (2 subnets in 2 different AZs).
	SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"`
	// ID of the VPC that the connector is in.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetDirectoryConnectSettingArgs) ElementType

func (GetDirectoryConnectSettingArgs) ToGetDirectoryConnectSettingOutput

func (i GetDirectoryConnectSettingArgs) ToGetDirectoryConnectSettingOutput() GetDirectoryConnectSettingOutput

func (GetDirectoryConnectSettingArgs) ToGetDirectoryConnectSettingOutputWithContext

func (i GetDirectoryConnectSettingArgs) ToGetDirectoryConnectSettingOutputWithContext(ctx context.Context) GetDirectoryConnectSettingOutput

type GetDirectoryConnectSettingArray

type GetDirectoryConnectSettingArray []GetDirectoryConnectSettingInput

func (GetDirectoryConnectSettingArray) ElementType

func (GetDirectoryConnectSettingArray) ToGetDirectoryConnectSettingArrayOutput

func (i GetDirectoryConnectSettingArray) ToGetDirectoryConnectSettingArrayOutput() GetDirectoryConnectSettingArrayOutput

func (GetDirectoryConnectSettingArray) ToGetDirectoryConnectSettingArrayOutputWithContext

func (i GetDirectoryConnectSettingArray) ToGetDirectoryConnectSettingArrayOutputWithContext(ctx context.Context) GetDirectoryConnectSettingArrayOutput

type GetDirectoryConnectSettingArrayInput

type GetDirectoryConnectSettingArrayInput interface {
	pulumi.Input

	ToGetDirectoryConnectSettingArrayOutput() GetDirectoryConnectSettingArrayOutput
	ToGetDirectoryConnectSettingArrayOutputWithContext(context.Context) GetDirectoryConnectSettingArrayOutput
}

GetDirectoryConnectSettingArrayInput is an input type that accepts GetDirectoryConnectSettingArray and GetDirectoryConnectSettingArrayOutput values. You can construct a concrete instance of `GetDirectoryConnectSettingArrayInput` via:

GetDirectoryConnectSettingArray{ GetDirectoryConnectSettingArgs{...} }

type GetDirectoryConnectSettingArrayOutput

type GetDirectoryConnectSettingArrayOutput struct{ *pulumi.OutputState }

func (GetDirectoryConnectSettingArrayOutput) ElementType

func (GetDirectoryConnectSettingArrayOutput) Index

func (GetDirectoryConnectSettingArrayOutput) ToGetDirectoryConnectSettingArrayOutput

func (o GetDirectoryConnectSettingArrayOutput) ToGetDirectoryConnectSettingArrayOutput() GetDirectoryConnectSettingArrayOutput

func (GetDirectoryConnectSettingArrayOutput) ToGetDirectoryConnectSettingArrayOutputWithContext

func (o GetDirectoryConnectSettingArrayOutput) ToGetDirectoryConnectSettingArrayOutputWithContext(ctx context.Context) GetDirectoryConnectSettingArrayOutput

type GetDirectoryConnectSettingInput

type GetDirectoryConnectSettingInput interface {
	pulumi.Input

	ToGetDirectoryConnectSettingOutput() GetDirectoryConnectSettingOutput
	ToGetDirectoryConnectSettingOutputWithContext(context.Context) GetDirectoryConnectSettingOutput
}

GetDirectoryConnectSettingInput is an input type that accepts GetDirectoryConnectSettingArgs and GetDirectoryConnectSettingOutput values. You can construct a concrete instance of `GetDirectoryConnectSettingInput` via:

GetDirectoryConnectSettingArgs{...}

type GetDirectoryConnectSettingOutput

type GetDirectoryConnectSettingOutput struct{ *pulumi.OutputState }

func (GetDirectoryConnectSettingOutput) AvailabilityZones

func (GetDirectoryConnectSettingOutput) ConnectIps

IP addresses of the AD Connector servers.

func (GetDirectoryConnectSettingOutput) CustomerDnsIps

DNS IP addresses of the domain to connect to.

func (GetDirectoryConnectSettingOutput) CustomerUsername

Username corresponding to the password provided.

func (GetDirectoryConnectSettingOutput) ElementType

func (GetDirectoryConnectSettingOutput) SubnetIds

Identifiers of the subnets for the connector servers (2 subnets in 2 different AZs).

func (GetDirectoryConnectSettingOutput) ToGetDirectoryConnectSettingOutput

func (o GetDirectoryConnectSettingOutput) ToGetDirectoryConnectSettingOutput() GetDirectoryConnectSettingOutput

func (GetDirectoryConnectSettingOutput) ToGetDirectoryConnectSettingOutputWithContext

func (o GetDirectoryConnectSettingOutput) ToGetDirectoryConnectSettingOutputWithContext(ctx context.Context) GetDirectoryConnectSettingOutput

func (GetDirectoryConnectSettingOutput) VpcId

ID of the VPC that the connector is in.

type GetDirectoryRadiusSetting

type GetDirectoryRadiusSetting struct {
	// The protocol specified for your RADIUS endpoints.
	AuthenticationProtocol string `pulumi:"authenticationProtocol"`
	// Display label.
	DisplayLabel string `pulumi:"displayLabel"`
	// Port that your RADIUS server is using for communications.
	RadiusPort int `pulumi:"radiusPort"`
	// Maximum number of times that communication with the RADIUS server is attempted.
	RadiusRetries int `pulumi:"radiusRetries"`
	// Set 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.
	RadiusServers []string `pulumi:"radiusServers"`
	// Amount of time, in seconds, to wait for the RADIUS server to respond.
	RadiusTimeout int `pulumi:"radiusTimeout"`
	// Not currently used.
	UseSameUsername bool `pulumi:"useSameUsername"`
}

type GetDirectoryRadiusSettingArgs

type GetDirectoryRadiusSettingArgs struct {
	// The protocol specified for your RADIUS endpoints.
	AuthenticationProtocol pulumi.StringInput `pulumi:"authenticationProtocol"`
	// Display label.
	DisplayLabel pulumi.StringInput `pulumi:"displayLabel"`
	// Port that your RADIUS server is using for communications.
	RadiusPort pulumi.IntInput `pulumi:"radiusPort"`
	// Maximum number of times that communication with the RADIUS server is attempted.
	RadiusRetries pulumi.IntInput `pulumi:"radiusRetries"`
	// Set 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.
	RadiusServers pulumi.StringArrayInput `pulumi:"radiusServers"`
	// Amount of time, in seconds, to wait for the RADIUS server to respond.
	RadiusTimeout pulumi.IntInput `pulumi:"radiusTimeout"`
	// Not currently used.
	UseSameUsername pulumi.BoolInput `pulumi:"useSameUsername"`
}

func (GetDirectoryRadiusSettingArgs) ElementType

func (GetDirectoryRadiusSettingArgs) ToGetDirectoryRadiusSettingOutput

func (i GetDirectoryRadiusSettingArgs) ToGetDirectoryRadiusSettingOutput() GetDirectoryRadiusSettingOutput

func (GetDirectoryRadiusSettingArgs) ToGetDirectoryRadiusSettingOutputWithContext

func (i GetDirectoryRadiusSettingArgs) ToGetDirectoryRadiusSettingOutputWithContext(ctx context.Context) GetDirectoryRadiusSettingOutput

type GetDirectoryRadiusSettingArray

type GetDirectoryRadiusSettingArray []GetDirectoryRadiusSettingInput

func (GetDirectoryRadiusSettingArray) ElementType

func (GetDirectoryRadiusSettingArray) ToGetDirectoryRadiusSettingArrayOutput

func (i GetDirectoryRadiusSettingArray) ToGetDirectoryRadiusSettingArrayOutput() GetDirectoryRadiusSettingArrayOutput

func (GetDirectoryRadiusSettingArray) ToGetDirectoryRadiusSettingArrayOutputWithContext

func (i GetDirectoryRadiusSettingArray) ToGetDirectoryRadiusSettingArrayOutputWithContext(ctx context.Context) GetDirectoryRadiusSettingArrayOutput

type GetDirectoryRadiusSettingArrayInput

type GetDirectoryRadiusSettingArrayInput interface {
	pulumi.Input

	ToGetDirectoryRadiusSettingArrayOutput() GetDirectoryRadiusSettingArrayOutput
	ToGetDirectoryRadiusSettingArrayOutputWithContext(context.Context) GetDirectoryRadiusSettingArrayOutput
}

GetDirectoryRadiusSettingArrayInput is an input type that accepts GetDirectoryRadiusSettingArray and GetDirectoryRadiusSettingArrayOutput values. You can construct a concrete instance of `GetDirectoryRadiusSettingArrayInput` via:

GetDirectoryRadiusSettingArray{ GetDirectoryRadiusSettingArgs{...} }

type GetDirectoryRadiusSettingArrayOutput

type GetDirectoryRadiusSettingArrayOutput struct{ *pulumi.OutputState }

func (GetDirectoryRadiusSettingArrayOutput) ElementType

func (GetDirectoryRadiusSettingArrayOutput) Index

func (GetDirectoryRadiusSettingArrayOutput) ToGetDirectoryRadiusSettingArrayOutput

func (o GetDirectoryRadiusSettingArrayOutput) ToGetDirectoryRadiusSettingArrayOutput() GetDirectoryRadiusSettingArrayOutput

func (GetDirectoryRadiusSettingArrayOutput) ToGetDirectoryRadiusSettingArrayOutputWithContext

func (o GetDirectoryRadiusSettingArrayOutput) ToGetDirectoryRadiusSettingArrayOutputWithContext(ctx context.Context) GetDirectoryRadiusSettingArrayOutput

type GetDirectoryRadiusSettingInput

type GetDirectoryRadiusSettingInput interface {
	pulumi.Input

	ToGetDirectoryRadiusSettingOutput() GetDirectoryRadiusSettingOutput
	ToGetDirectoryRadiusSettingOutputWithContext(context.Context) GetDirectoryRadiusSettingOutput
}

GetDirectoryRadiusSettingInput is an input type that accepts GetDirectoryRadiusSettingArgs and GetDirectoryRadiusSettingOutput values. You can construct a concrete instance of `GetDirectoryRadiusSettingInput` via:

GetDirectoryRadiusSettingArgs{...}

type GetDirectoryRadiusSettingOutput

type GetDirectoryRadiusSettingOutput struct{ *pulumi.OutputState }

func (GetDirectoryRadiusSettingOutput) AuthenticationProtocol

func (o GetDirectoryRadiusSettingOutput) AuthenticationProtocol() pulumi.StringOutput

The protocol specified for your RADIUS endpoints.

func (GetDirectoryRadiusSettingOutput) DisplayLabel

Display label.

func (GetDirectoryRadiusSettingOutput) ElementType

func (GetDirectoryRadiusSettingOutput) RadiusPort

Port that your RADIUS server is using for communications.

func (GetDirectoryRadiusSettingOutput) RadiusRetries

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

func (GetDirectoryRadiusSettingOutput) RadiusServers

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

func (GetDirectoryRadiusSettingOutput) RadiusTimeout

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

func (GetDirectoryRadiusSettingOutput) ToGetDirectoryRadiusSettingOutput

func (o GetDirectoryRadiusSettingOutput) ToGetDirectoryRadiusSettingOutput() GetDirectoryRadiusSettingOutput

func (GetDirectoryRadiusSettingOutput) ToGetDirectoryRadiusSettingOutputWithContext

func (o GetDirectoryRadiusSettingOutput) ToGetDirectoryRadiusSettingOutputWithContext(ctx context.Context) GetDirectoryRadiusSettingOutput

func (GetDirectoryRadiusSettingOutput) UseSameUsername

Not currently used.

type GetDirectoryVpcSetting

type GetDirectoryVpcSetting struct {
	AvailabilityZones []string `pulumi:"availabilityZones"`
	// Identifiers of the subnets for the connector servers (2 subnets in 2 different AZs).
	SubnetIds []string `pulumi:"subnetIds"`
	// ID of the VPC that the connector is in.
	VpcId string `pulumi:"vpcId"`
}

type GetDirectoryVpcSettingArgs

type GetDirectoryVpcSettingArgs struct {
	AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"`
	// Identifiers of the subnets for the connector servers (2 subnets in 2 different AZs).
	SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"`
	// ID of the VPC that the connector is in.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetDirectoryVpcSettingArgs) ElementType

func (GetDirectoryVpcSettingArgs) ElementType() reflect.Type

func (GetDirectoryVpcSettingArgs) ToGetDirectoryVpcSettingOutput

func (i GetDirectoryVpcSettingArgs) ToGetDirectoryVpcSettingOutput() GetDirectoryVpcSettingOutput

func (GetDirectoryVpcSettingArgs) ToGetDirectoryVpcSettingOutputWithContext

func (i GetDirectoryVpcSettingArgs) ToGetDirectoryVpcSettingOutputWithContext(ctx context.Context) GetDirectoryVpcSettingOutput

type GetDirectoryVpcSettingArray

type GetDirectoryVpcSettingArray []GetDirectoryVpcSettingInput

func (GetDirectoryVpcSettingArray) ElementType

func (GetDirectoryVpcSettingArray) ToGetDirectoryVpcSettingArrayOutput

func (i GetDirectoryVpcSettingArray) ToGetDirectoryVpcSettingArrayOutput() GetDirectoryVpcSettingArrayOutput

func (GetDirectoryVpcSettingArray) ToGetDirectoryVpcSettingArrayOutputWithContext

func (i GetDirectoryVpcSettingArray) ToGetDirectoryVpcSettingArrayOutputWithContext(ctx context.Context) GetDirectoryVpcSettingArrayOutput

type GetDirectoryVpcSettingArrayInput

type GetDirectoryVpcSettingArrayInput interface {
	pulumi.Input

	ToGetDirectoryVpcSettingArrayOutput() GetDirectoryVpcSettingArrayOutput
	ToGetDirectoryVpcSettingArrayOutputWithContext(context.Context) GetDirectoryVpcSettingArrayOutput
}

GetDirectoryVpcSettingArrayInput is an input type that accepts GetDirectoryVpcSettingArray and GetDirectoryVpcSettingArrayOutput values. You can construct a concrete instance of `GetDirectoryVpcSettingArrayInput` via:

GetDirectoryVpcSettingArray{ GetDirectoryVpcSettingArgs{...} }

type GetDirectoryVpcSettingArrayOutput

type GetDirectoryVpcSettingArrayOutput struct{ *pulumi.OutputState }

func (GetDirectoryVpcSettingArrayOutput) ElementType

func (GetDirectoryVpcSettingArrayOutput) Index

func (GetDirectoryVpcSettingArrayOutput) ToGetDirectoryVpcSettingArrayOutput

func (o GetDirectoryVpcSettingArrayOutput) ToGetDirectoryVpcSettingArrayOutput() GetDirectoryVpcSettingArrayOutput

func (GetDirectoryVpcSettingArrayOutput) ToGetDirectoryVpcSettingArrayOutputWithContext

func (o GetDirectoryVpcSettingArrayOutput) ToGetDirectoryVpcSettingArrayOutputWithContext(ctx context.Context) GetDirectoryVpcSettingArrayOutput

type GetDirectoryVpcSettingInput

type GetDirectoryVpcSettingInput interface {
	pulumi.Input

	ToGetDirectoryVpcSettingOutput() GetDirectoryVpcSettingOutput
	ToGetDirectoryVpcSettingOutputWithContext(context.Context) GetDirectoryVpcSettingOutput
}

GetDirectoryVpcSettingInput is an input type that accepts GetDirectoryVpcSettingArgs and GetDirectoryVpcSettingOutput values. You can construct a concrete instance of `GetDirectoryVpcSettingInput` via:

GetDirectoryVpcSettingArgs{...}

type GetDirectoryVpcSettingOutput

type GetDirectoryVpcSettingOutput struct{ *pulumi.OutputState }

func (GetDirectoryVpcSettingOutput) AvailabilityZones

func (GetDirectoryVpcSettingOutput) ElementType

func (GetDirectoryVpcSettingOutput) SubnetIds

Identifiers of the subnets for the connector servers (2 subnets in 2 different AZs).

func (GetDirectoryVpcSettingOutput) ToGetDirectoryVpcSettingOutput

func (o GetDirectoryVpcSettingOutput) ToGetDirectoryVpcSettingOutput() GetDirectoryVpcSettingOutput

func (GetDirectoryVpcSettingOutput) ToGetDirectoryVpcSettingOutputWithContext

func (o GetDirectoryVpcSettingOutput) ToGetDirectoryVpcSettingOutputWithContext(ctx context.Context) GetDirectoryVpcSettingOutput

func (GetDirectoryVpcSettingOutput) VpcId

ID of the VPC that the connector is in.

type LogSubscription

type LogSubscription struct {
	pulumi.CustomResourceState

	// ID of directory.
	DirectoryId pulumi.StringOutput `pulumi:"directoryId"`
	// Name of the cloudwatch log group to which the logs should be published. The log group should be already created and the directory service principal should be provided with required permission to create stream and publish logs. Changing this value would delete the current subscription and create a new one. A directory can only have one log subscription at a time.
	LogGroupName pulumi.StringOutput `pulumi:"logGroupName"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
}

Provides a Log subscription for AWS Directory Service that pushes logs to cloudwatch.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{
			Name:            pulumi.Sprintf("/aws/directoryservice/%v", exampleAwsDirectoryServiceDirectory.Id),
			RetentionInDays: pulumi.Int(14),
		})
		if err != nil {
			return err
		}
		ad_log_policy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Actions: pulumi.StringArray{
						pulumi.String("logs:CreateLogStream"),
						pulumi.String("logs:PutLogEvents"),
					},
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Identifiers: pulumi.StringArray{
								pulumi.String("ds.amazonaws.com"),
							},
							Type: pulumi.String("Service"),
						},
					},
					Resources: pulumi.StringArray{
						example.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v:*", arn), nil
						}).(pulumi.StringOutput),
					},
					Effect: pulumi.String("Allow"),
				},
			},
		}, nil)
		_, err = cloudwatch.NewLogResourcePolicy(ctx, "ad-log-policy", &cloudwatch.LogResourcePolicyArgs{
			PolicyDocument: pulumi.String(ad_log_policy.ApplyT(func(ad_log_policy iam.GetPolicyDocumentResult) (*string, error) {
				return &ad_log_policy.Json, nil
			}).(pulumi.StringPtrOutput)),
			PolicyName: pulumi.String("ad-log-policy"),
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewLogSubscription(ctx, "example", &directoryservice.LogSubscriptionArgs{
			DirectoryId:  pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),
			LogGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Directory Service Log Subscriptions using the directory id. For example:

```sh $ pulumi import aws:directoryservice/logSubscription:LogSubscription msad d-1234567890 ```

func GetLogSubscription

func GetLogSubscription(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogSubscriptionState, opts ...pulumi.ResourceOption) (*LogSubscription, error)

GetLogSubscription gets an existing LogSubscription resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogSubscription

func NewLogSubscription(ctx *pulumi.Context,
	name string, args *LogSubscriptionArgs, opts ...pulumi.ResourceOption) (*LogSubscription, error)

NewLogSubscription registers a new resource with the given unique name, arguments, and options.

func (*LogSubscription) ElementType

func (*LogSubscription) ElementType() reflect.Type

func (*LogSubscription) ToLogSubscriptionOutput

func (i *LogSubscription) ToLogSubscriptionOutput() LogSubscriptionOutput

func (*LogSubscription) ToLogSubscriptionOutputWithContext

func (i *LogSubscription) ToLogSubscriptionOutputWithContext(ctx context.Context) LogSubscriptionOutput

type LogSubscriptionArgs

type LogSubscriptionArgs struct {
	// ID of directory.
	DirectoryId pulumi.StringInput
	// Name of the cloudwatch log group to which the logs should be published. The log group should be already created and the directory service principal should be provided with required permission to create stream and publish logs. Changing this value would delete the current subscription and create a new one. A directory can only have one log subscription at a time.
	LogGroupName pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a LogSubscription resource.

func (LogSubscriptionArgs) ElementType

func (LogSubscriptionArgs) ElementType() reflect.Type

type LogSubscriptionArray

type LogSubscriptionArray []LogSubscriptionInput

func (LogSubscriptionArray) ElementType

func (LogSubscriptionArray) ElementType() reflect.Type

func (LogSubscriptionArray) ToLogSubscriptionArrayOutput

func (i LogSubscriptionArray) ToLogSubscriptionArrayOutput() LogSubscriptionArrayOutput

func (LogSubscriptionArray) ToLogSubscriptionArrayOutputWithContext

func (i LogSubscriptionArray) ToLogSubscriptionArrayOutputWithContext(ctx context.Context) LogSubscriptionArrayOutput

type LogSubscriptionArrayInput

type LogSubscriptionArrayInput interface {
	pulumi.Input

	ToLogSubscriptionArrayOutput() LogSubscriptionArrayOutput
	ToLogSubscriptionArrayOutputWithContext(context.Context) LogSubscriptionArrayOutput
}

LogSubscriptionArrayInput is an input type that accepts LogSubscriptionArray and LogSubscriptionArrayOutput values. You can construct a concrete instance of `LogSubscriptionArrayInput` via:

LogSubscriptionArray{ LogSubscriptionArgs{...} }

type LogSubscriptionArrayOutput

type LogSubscriptionArrayOutput struct{ *pulumi.OutputState }

func (LogSubscriptionArrayOutput) ElementType

func (LogSubscriptionArrayOutput) ElementType() reflect.Type

func (LogSubscriptionArrayOutput) Index

func (LogSubscriptionArrayOutput) ToLogSubscriptionArrayOutput

func (o LogSubscriptionArrayOutput) ToLogSubscriptionArrayOutput() LogSubscriptionArrayOutput

func (LogSubscriptionArrayOutput) ToLogSubscriptionArrayOutputWithContext

func (o LogSubscriptionArrayOutput) ToLogSubscriptionArrayOutputWithContext(ctx context.Context) LogSubscriptionArrayOutput

type LogSubscriptionInput

type LogSubscriptionInput interface {
	pulumi.Input

	ToLogSubscriptionOutput() LogSubscriptionOutput
	ToLogSubscriptionOutputWithContext(ctx context.Context) LogSubscriptionOutput
}

type LogSubscriptionMap

type LogSubscriptionMap map[string]LogSubscriptionInput

func (LogSubscriptionMap) ElementType

func (LogSubscriptionMap) ElementType() reflect.Type

func (LogSubscriptionMap) ToLogSubscriptionMapOutput

func (i LogSubscriptionMap) ToLogSubscriptionMapOutput() LogSubscriptionMapOutput

func (LogSubscriptionMap) ToLogSubscriptionMapOutputWithContext

func (i LogSubscriptionMap) ToLogSubscriptionMapOutputWithContext(ctx context.Context) LogSubscriptionMapOutput

type LogSubscriptionMapInput

type LogSubscriptionMapInput interface {
	pulumi.Input

	ToLogSubscriptionMapOutput() LogSubscriptionMapOutput
	ToLogSubscriptionMapOutputWithContext(context.Context) LogSubscriptionMapOutput
}

LogSubscriptionMapInput is an input type that accepts LogSubscriptionMap and LogSubscriptionMapOutput values. You can construct a concrete instance of `LogSubscriptionMapInput` via:

LogSubscriptionMap{ "key": LogSubscriptionArgs{...} }

type LogSubscriptionMapOutput

type LogSubscriptionMapOutput struct{ *pulumi.OutputState }

func (LogSubscriptionMapOutput) ElementType

func (LogSubscriptionMapOutput) ElementType() reflect.Type

func (LogSubscriptionMapOutput) MapIndex

func (LogSubscriptionMapOutput) ToLogSubscriptionMapOutput

func (o LogSubscriptionMapOutput) ToLogSubscriptionMapOutput() LogSubscriptionMapOutput

func (LogSubscriptionMapOutput) ToLogSubscriptionMapOutputWithContext

func (o LogSubscriptionMapOutput) ToLogSubscriptionMapOutputWithContext(ctx context.Context) LogSubscriptionMapOutput

type LogSubscriptionOutput

type LogSubscriptionOutput struct{ *pulumi.OutputState }

func (LogSubscriptionOutput) DirectoryId

func (o LogSubscriptionOutput) DirectoryId() pulumi.StringOutput

ID of directory.

func (LogSubscriptionOutput) ElementType

func (LogSubscriptionOutput) ElementType() reflect.Type

func (LogSubscriptionOutput) LogGroupName

func (o LogSubscriptionOutput) LogGroupName() pulumi.StringOutput

Name of the cloudwatch log group to which the logs should be published. The log group should be already created and the directory service principal should be provided with required permission to create stream and publish logs. Changing this value would delete the current subscription and create a new one. A directory can only have one log subscription at a time.

func (LogSubscriptionOutput) Region

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.

func (LogSubscriptionOutput) ToLogSubscriptionOutput

func (o LogSubscriptionOutput) ToLogSubscriptionOutput() LogSubscriptionOutput

func (LogSubscriptionOutput) ToLogSubscriptionOutputWithContext

func (o LogSubscriptionOutput) ToLogSubscriptionOutputWithContext(ctx context.Context) LogSubscriptionOutput

type LogSubscriptionState

type LogSubscriptionState struct {
	// ID of directory.
	DirectoryId pulumi.StringPtrInput
	// Name of the cloudwatch log group to which the logs should be published. The log group should be already created and the directory service principal should be provided with required permission to create stream and publish logs. Changing this value would delete the current subscription and create a new one. A directory can only have one log subscription at a time.
	LogGroupName pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

func (LogSubscriptionState) ElementType

func (LogSubscriptionState) ElementType() reflect.Type

type LookupDirectoryArgs

type LookupDirectoryArgs struct {
	// ID of the directory.
	DirectoryId string `pulumi:"directoryId"`
	// 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.
	Region *string `pulumi:"region"`
	// A map of tags assigned to the directory/connector.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getDirectory.

type LookupDirectoryOutputArgs

type LookupDirectoryOutputArgs struct {
	// ID of the directory.
	DirectoryId pulumi.StringInput `pulumi:"directoryId"`
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// A map of tags assigned to the directory/connector.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getDirectory.

func (LookupDirectoryOutputArgs) ElementType

func (LookupDirectoryOutputArgs) ElementType() reflect.Type

type LookupDirectoryResult

type LookupDirectoryResult struct {
	// Access URL for the directory/connector, such as http://alias.awsapps.com.
	AccessUrl string `pulumi:"accessUrl"`
	// Alias for the directory/connector, such as `d-991708b282.awsapps.com`.
	Alias           string                       `pulumi:"alias"`
	ConnectSettings []GetDirectoryConnectSetting `pulumi:"connectSettings"`
	// Textual description for the directory/connector.
	Description string `pulumi:"description"`
	DirectoryId string `pulumi:"directoryId"`
	// List of IP addresses of the DNS servers for the directory/connector.
	DnsIpAddresses []string `pulumi:"dnsIpAddresses"`
	// (for `MicrosoftAD`) Microsoft AD edition (`Standard` or `Enterprise`).
	Edition string `pulumi:"edition"`
	// Directory/connector single-sign on status.
	EnableSso bool `pulumi:"enableSso"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Fully qualified name for the directory/connector.
	Name           string                      `pulumi:"name"`
	RadiusSettings []GetDirectoryRadiusSetting `pulumi:"radiusSettings"`
	Region         string                      `pulumi:"region"`
	// ID of the security group created by the directory/connector.
	SecurityGroupId string `pulumi:"securityGroupId"`
	// Short name of the directory/connector, such as `CORP`.
	ShortName string `pulumi:"shortName"`
	// (for `SimpleAD` and `ADConnector`) Size of the directory/connector (`Small` or `Large`).
	Size string `pulumi:"size"`
	// A map of tags assigned to the directory/connector.
	Tags map[string]string `pulumi:"tags"`
	// Directory type (`SimpleAD`, `ADConnector` or `MicrosoftAD`).
	Type        string                   `pulumi:"type"`
	VpcSettings []GetDirectoryVpcSetting `pulumi:"vpcSettings"`
}

A collection of values returned by getDirectory.

func LookupDirectory

func LookupDirectory(ctx *pulumi.Context, args *LookupDirectoryArgs, opts ...pulumi.InvokeOption) (*LookupDirectoryResult, error)

Get attributes of AWS Directory Service directory (SimpleAD, Managed AD, AD Connector). It's especially useful to refer AWS Managed AD or on-premise AD in AD Connector configuration.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directoryservice.LookupDirectory(ctx, &directoryservice.LookupDirectoryArgs{
			DirectoryId: main.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDirectoryResultOutput

type LookupDirectoryResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDirectory.

func (LookupDirectoryResultOutput) AccessUrl

Access URL for the directory/connector, such as http://alias.awsapps.com.

func (LookupDirectoryResultOutput) Alias

Alias for the directory/connector, such as `d-991708b282.awsapps.com`.

func (LookupDirectoryResultOutput) ConnectSettings

func (LookupDirectoryResultOutput) Description

Textual description for the directory/connector.

func (LookupDirectoryResultOutput) DirectoryId

func (LookupDirectoryResultOutput) DnsIpAddresses

List of IP addresses of the DNS servers for the directory/connector.

func (LookupDirectoryResultOutput) Edition

(for `MicrosoftAD`) Microsoft AD edition (`Standard` or `Enterprise`).

func (LookupDirectoryResultOutput) ElementType

func (LookupDirectoryResultOutput) EnableSso

Directory/connector single-sign on status.

func (LookupDirectoryResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupDirectoryResultOutput) Name

Fully qualified name for the directory/connector.

func (LookupDirectoryResultOutput) RadiusSettings

func (LookupDirectoryResultOutput) Region

func (LookupDirectoryResultOutput) SecurityGroupId

func (o LookupDirectoryResultOutput) SecurityGroupId() pulumi.StringOutput

ID of the security group created by the directory/connector.

func (LookupDirectoryResultOutput) ShortName

Short name of the directory/connector, such as `CORP`.

func (LookupDirectoryResultOutput) Size

(for `SimpleAD` and `ADConnector`) Size of the directory/connector (`Small` or `Large`).

func (LookupDirectoryResultOutput) Tags

A map of tags assigned to the directory/connector.

func (LookupDirectoryResultOutput) ToLookupDirectoryResultOutput

func (o LookupDirectoryResultOutput) ToLookupDirectoryResultOutput() LookupDirectoryResultOutput

func (LookupDirectoryResultOutput) ToLookupDirectoryResultOutputWithContext

func (o LookupDirectoryResultOutput) ToLookupDirectoryResultOutputWithContext(ctx context.Context) LookupDirectoryResultOutput

func (LookupDirectoryResultOutput) Type

Directory type (`SimpleAD`, `ADConnector` or `MicrosoftAD`).

func (LookupDirectoryResultOutput) VpcSettings

type RadiusSettings

type RadiusSettings struct {
	pulumi.CustomResourceState

	// The protocol specified for your RADIUS endpoints. Valid values: `PAP`, `CHAP`, `MS-CHAPv1`, `MS-CHAPv2`.
	AuthenticationProtocol pulumi.StringOutput `pulumi:"authenticationProtocol"`
	// The identifier of the directory for which you want to manager RADIUS settings.
	DirectoryId pulumi.StringOutput `pulumi:"directoryId"`
	// Display label.
	DisplayLabel pulumi.StringOutput `pulumi:"displayLabel"`
	// The port that your RADIUS server is using for communications. Your self-managed network must allow inbound traffic over this port from the AWS Directory Service servers.
	RadiusPort pulumi.IntOutput `pulumi:"radiusPort"`
	// The maximum number of times that communication with the RADIUS server is attempted. Minimum value of `0`. Maximum value of `10`.
	RadiusRetries pulumi.IntOutput `pulumi:"radiusRetries"`
	// 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.
	RadiusServers pulumi.StringArrayOutput `pulumi:"radiusServers"`
	// The amount of time, in seconds, to wait for the RADIUS server to respond. Minimum value of `1`. Maximum value of `50`.
	RadiusTimeout pulumi.IntOutput `pulumi:"radiusTimeout"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Required for enabling RADIUS on the directory.
	SharedSecret pulumi.StringOutput `pulumi:"sharedSecret"`
	// Not currently used.
	UseSameUsername pulumi.BoolPtrOutput `pulumi:"useSameUsername"`
}

Manages a directory's multi-factor authentication (MFA) using a Remote Authentication Dial In User Service (RADIUS) server.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directoryservice.NewRadiusSettings(ctx, "example", &directoryservice.RadiusSettingsArgs{
			DirectoryId:            pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),
			AuthenticationProtocol: pulumi.String("PAP"),
			DisplayLabel:           pulumi.String("example"),
			RadiusPort:             pulumi.Int(1812),
			RadiusRetries:          pulumi.Int(4),
			RadiusServers: pulumi.StringArray{
				pulumi.String("10.0.1.5"),
			},
			RadiusTimeout: pulumi.Int(1),
			SharedSecret:  pulumi.String("12345678"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import RADIUS settings using the directory ID. For example:

```sh $ pulumi import aws:directoryservice/radiusSettings:RadiusSettings example d-926724cf57 ```

func GetRadiusSettings

func GetRadiusSettings(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RadiusSettingsState, opts ...pulumi.ResourceOption) (*RadiusSettings, error)

GetRadiusSettings gets an existing RadiusSettings resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRadiusSettings

func NewRadiusSettings(ctx *pulumi.Context,
	name string, args *RadiusSettingsArgs, opts ...pulumi.ResourceOption) (*RadiusSettings, error)

NewRadiusSettings registers a new resource with the given unique name, arguments, and options.

func (*RadiusSettings) ElementType

func (*RadiusSettings) ElementType() reflect.Type

func (*RadiusSettings) ToRadiusSettingsOutput

func (i *RadiusSettings) ToRadiusSettingsOutput() RadiusSettingsOutput

func (*RadiusSettings) ToRadiusSettingsOutputWithContext

func (i *RadiusSettings) ToRadiusSettingsOutputWithContext(ctx context.Context) RadiusSettingsOutput

type RadiusSettingsArgs

type RadiusSettingsArgs struct {
	// The protocol specified for your RADIUS endpoints. Valid values: `PAP`, `CHAP`, `MS-CHAPv1`, `MS-CHAPv2`.
	AuthenticationProtocol pulumi.StringInput
	// The identifier of the directory for which you want to manager RADIUS settings.
	DirectoryId pulumi.StringInput
	// Display label.
	DisplayLabel pulumi.StringInput
	// The port that your RADIUS server is using for communications. Your self-managed network must allow inbound traffic over this port from the AWS Directory Service servers.
	RadiusPort pulumi.IntInput
	// The maximum number of times that communication with the RADIUS server is attempted. Minimum value of `0`. Maximum value of `10`.
	RadiusRetries pulumi.IntInput
	// 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.
	RadiusServers pulumi.StringArrayInput
	// The amount of time, in seconds, to wait for the RADIUS server to respond. Minimum value of `1`. Maximum value of `50`.
	RadiusTimeout pulumi.IntInput
	// 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.
	Region pulumi.StringPtrInput
	// Required for enabling RADIUS on the directory.
	SharedSecret pulumi.StringInput
	// Not currently used.
	UseSameUsername pulumi.BoolPtrInput
}

The set of arguments for constructing a RadiusSettings resource.

func (RadiusSettingsArgs) ElementType

func (RadiusSettingsArgs) ElementType() reflect.Type

type RadiusSettingsArray

type RadiusSettingsArray []RadiusSettingsInput

func (RadiusSettingsArray) ElementType

func (RadiusSettingsArray) ElementType() reflect.Type

func (RadiusSettingsArray) ToRadiusSettingsArrayOutput

func (i RadiusSettingsArray) ToRadiusSettingsArrayOutput() RadiusSettingsArrayOutput

func (RadiusSettingsArray) ToRadiusSettingsArrayOutputWithContext

func (i RadiusSettingsArray) ToRadiusSettingsArrayOutputWithContext(ctx context.Context) RadiusSettingsArrayOutput

type RadiusSettingsArrayInput

type RadiusSettingsArrayInput interface {
	pulumi.Input

	ToRadiusSettingsArrayOutput() RadiusSettingsArrayOutput
	ToRadiusSettingsArrayOutputWithContext(context.Context) RadiusSettingsArrayOutput
}

RadiusSettingsArrayInput is an input type that accepts RadiusSettingsArray and RadiusSettingsArrayOutput values. You can construct a concrete instance of `RadiusSettingsArrayInput` via:

RadiusSettingsArray{ RadiusSettingsArgs{...} }

type RadiusSettingsArrayOutput

type RadiusSettingsArrayOutput struct{ *pulumi.OutputState }

func (RadiusSettingsArrayOutput) ElementType

func (RadiusSettingsArrayOutput) ElementType() reflect.Type

func (RadiusSettingsArrayOutput) Index

func (RadiusSettingsArrayOutput) ToRadiusSettingsArrayOutput

func (o RadiusSettingsArrayOutput) ToRadiusSettingsArrayOutput() RadiusSettingsArrayOutput

func (RadiusSettingsArrayOutput) ToRadiusSettingsArrayOutputWithContext

func (o RadiusSettingsArrayOutput) ToRadiusSettingsArrayOutputWithContext(ctx context.Context) RadiusSettingsArrayOutput

type RadiusSettingsInput

type RadiusSettingsInput interface {
	pulumi.Input

	ToRadiusSettingsOutput() RadiusSettingsOutput
	ToRadiusSettingsOutputWithContext(ctx context.Context) RadiusSettingsOutput
}

type RadiusSettingsMap

type RadiusSettingsMap map[string]RadiusSettingsInput

func (RadiusSettingsMap) ElementType

func (RadiusSettingsMap) ElementType() reflect.Type

func (RadiusSettingsMap) ToRadiusSettingsMapOutput

func (i RadiusSettingsMap) ToRadiusSettingsMapOutput() RadiusSettingsMapOutput

func (RadiusSettingsMap) ToRadiusSettingsMapOutputWithContext

func (i RadiusSettingsMap) ToRadiusSettingsMapOutputWithContext(ctx context.Context) RadiusSettingsMapOutput

type RadiusSettingsMapInput

type RadiusSettingsMapInput interface {
	pulumi.Input

	ToRadiusSettingsMapOutput() RadiusSettingsMapOutput
	ToRadiusSettingsMapOutputWithContext(context.Context) RadiusSettingsMapOutput
}

RadiusSettingsMapInput is an input type that accepts RadiusSettingsMap and RadiusSettingsMapOutput values. You can construct a concrete instance of `RadiusSettingsMapInput` via:

RadiusSettingsMap{ "key": RadiusSettingsArgs{...} }

type RadiusSettingsMapOutput

type RadiusSettingsMapOutput struct{ *pulumi.OutputState }

func (RadiusSettingsMapOutput) ElementType

func (RadiusSettingsMapOutput) ElementType() reflect.Type

func (RadiusSettingsMapOutput) MapIndex

func (RadiusSettingsMapOutput) ToRadiusSettingsMapOutput

func (o RadiusSettingsMapOutput) ToRadiusSettingsMapOutput() RadiusSettingsMapOutput

func (RadiusSettingsMapOutput) ToRadiusSettingsMapOutputWithContext

func (o RadiusSettingsMapOutput) ToRadiusSettingsMapOutputWithContext(ctx context.Context) RadiusSettingsMapOutput

type RadiusSettingsOutput

type RadiusSettingsOutput struct{ *pulumi.OutputState }

func (RadiusSettingsOutput) AuthenticationProtocol

func (o RadiusSettingsOutput) AuthenticationProtocol() pulumi.StringOutput

The protocol specified for your RADIUS endpoints. Valid values: `PAP`, `CHAP`, `MS-CHAPv1`, `MS-CHAPv2`.

func (RadiusSettingsOutput) DirectoryId

func (o RadiusSettingsOutput) DirectoryId() pulumi.StringOutput

The identifier of the directory for which you want to manager RADIUS settings.

func (RadiusSettingsOutput) DisplayLabel

func (o RadiusSettingsOutput) DisplayLabel() pulumi.StringOutput

Display label.

func (RadiusSettingsOutput) ElementType

func (RadiusSettingsOutput) ElementType() reflect.Type

func (RadiusSettingsOutput) RadiusPort

func (o RadiusSettingsOutput) RadiusPort() pulumi.IntOutput

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

func (RadiusSettingsOutput) RadiusRetries

func (o RadiusSettingsOutput) RadiusRetries() pulumi.IntOutput

The maximum number of times that communication with the RADIUS server is attempted. Minimum value of `0`. Maximum value of `10`.

func (RadiusSettingsOutput) RadiusServers

func (o RadiusSettingsOutput) RadiusServers() pulumi.StringArrayOutput

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.

func (RadiusSettingsOutput) RadiusTimeout

func (o RadiusSettingsOutput) RadiusTimeout() pulumi.IntOutput

The amount of time, in seconds, to wait for the RADIUS server to respond. Minimum value of `1`. Maximum value of `50`.

func (RadiusSettingsOutput) Region

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.

func (RadiusSettingsOutput) SharedSecret

func (o RadiusSettingsOutput) SharedSecret() pulumi.StringOutput

Required for enabling RADIUS on the directory.

func (RadiusSettingsOutput) ToRadiusSettingsOutput

func (o RadiusSettingsOutput) ToRadiusSettingsOutput() RadiusSettingsOutput

func (RadiusSettingsOutput) ToRadiusSettingsOutputWithContext

func (o RadiusSettingsOutput) ToRadiusSettingsOutputWithContext(ctx context.Context) RadiusSettingsOutput

func (RadiusSettingsOutput) UseSameUsername

func (o RadiusSettingsOutput) UseSameUsername() pulumi.BoolPtrOutput

Not currently used.

type RadiusSettingsState

type RadiusSettingsState struct {
	// The protocol specified for your RADIUS endpoints. Valid values: `PAP`, `CHAP`, `MS-CHAPv1`, `MS-CHAPv2`.
	AuthenticationProtocol pulumi.StringPtrInput
	// The identifier of the directory for which you want to manager RADIUS settings.
	DirectoryId pulumi.StringPtrInput
	// Display label.
	DisplayLabel pulumi.StringPtrInput
	// The port that your RADIUS server is using for communications. Your self-managed network must allow inbound traffic over this port from the AWS Directory Service servers.
	RadiusPort pulumi.IntPtrInput
	// The maximum number of times that communication with the RADIUS server is attempted. Minimum value of `0`. Maximum value of `10`.
	RadiusRetries pulumi.IntPtrInput
	// 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.
	RadiusServers pulumi.StringArrayInput
	// The amount of time, in seconds, to wait for the RADIUS server to respond. Minimum value of `1`. Maximum value of `50`.
	RadiusTimeout pulumi.IntPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Required for enabling RADIUS on the directory.
	SharedSecret pulumi.StringPtrInput
	// Not currently used.
	UseSameUsername pulumi.BoolPtrInput
}

func (RadiusSettingsState) ElementType

func (RadiusSettingsState) ElementType() reflect.Type

type ServiceRegion

type ServiceRegion struct {
	pulumi.CustomResourceState

	// The number of domain controllers desired in the replicated directory. Minimum value of `2`.
	DesiredNumberOfDomainControllers pulumi.IntOutput `pulumi:"desiredNumberOfDomainControllers"`
	// The identifier of the directory to which you want to add Region replication.
	DirectoryId pulumi.StringOutput `pulumi:"directoryId"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// The name of the Region where you want to add domain controllers for replication.
	RegionName pulumi.StringOutput `pulumi:"regionName"`
	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// VPC information in the replicated Region. Detailed below.
	VpcSettings ServiceRegionVpcSettingsOutput `pulumi:"vpcSettings"`
}

Manages a replicated Region and directory for Multi-Region replication. Multi-Region replication is only supported for the Enterprise Edition of AWS Managed Microsoft AD.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := aws.GetRegion(ctx, &aws.GetRegionArgs{ }, nil); if err != nil { return err } available, err := aws.GetAvailabilityZones(ctx, &aws.GetAvailabilityZonesArgs{ State: pulumi.StringRef("available"), Filters: []aws.GetAvailabilityZonesFilter{ { Name: "opt-in-status", Values: []string{ "opt-in-not-required", }, }, }, }, nil); if err != nil { return err } exampleVpc, err := ec2.NewVpc(ctx, "example", &ec2.VpcArgs{ CidrBlock: pulumi.String("10.0.0.0/16"), Tags: pulumi.StringMap{ "Name": pulumi.String("Primary"), }, }) if err != nil { return err } var exampleSubnet []*ec2.Subnet

for index := 0; index < 2; index++ {
    key0 := index
    val0 := index

__res, err := ec2.NewSubnet(ctx, fmt.Sprintf("example-%v", key0), &ec2.SubnetArgs{ VpcId: exampleVpc.ID(), AvailabilityZone: pulumi.String(available.Names[val0]), CidrBlock: pulumi.String(exampleVpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) { return std.CidrsubnetResult(interface{}(std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{ Input: cidrBlock, Newbits: 8, Netnum: val0, }, nil))), nil }).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) { return invoke.Result, nil }).(pulumi.StringPtrOutput)), Tags: pulumi.StringMap{ "Name": pulumi.String("Primary"), }, }) if err != nil { return err } exampleSubnet = append(exampleSubnet, __res) } exampleDirectory, err := directoryservice.NewDirectory(ctx, "example", &directoryservice.DirectoryArgs{ Name: pulumi.String("example.com"), Password: pulumi.String("SuperSecretPassw0rd"), Type: pulumi.String("MicrosoftAD"), VpcSettings: &directoryservice.DirectoryVpcSettingsArgs{ VpcId: exampleVpc.ID(), SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:44,17-36), }, }) if err != nil { return err } available_secondary, err := aws.GetAvailabilityZones(ctx, &aws.GetAvailabilityZonesArgs{ State: pulumi.StringRef("available"), Filters: []aws.GetAvailabilityZonesFilter{ { Name: "opt-in-status", Values: []string{ "opt-in-not-required", }, }, }, }, nil); if err != nil { return err } example_secondary, err := ec2.NewVpc(ctx, "example-secondary", &ec2.VpcArgs{ CidrBlock: pulumi.String("10.1.0.0/16"), Tags: pulumi.StringMap{ "Name": pulumi.String("Secondary"), }, }) if err != nil { return err } var example_secondarySubnet []*ec2.Subnet

for index := 0; index < 2; index++ {
    key0 := index
    val0 := index

__res, err := ec2.NewSubnet(ctx, fmt.Sprintf("example-secondary-%v", key0), &ec2.SubnetArgs{ VpcId: example_secondary.ID(), AvailabilityZone: pulumi.String(available_secondary.Names[val0]), CidrBlock: pulumi.String(example_secondary.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) { return std.CidrsubnetResult(interface{}(std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{ Input: cidrBlock, Newbits: 8, Netnum: val0, }, nil))), nil }).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) { return invoke.Result, nil }).(pulumi.StringPtrOutput)), Tags: pulumi.StringMap{ "Name": pulumi.String("Secondary"), }, }) if err != nil { return err } example_secondarySubnet = append(example_secondarySubnet, __res) } _, err = directoryservice.NewServiceRegion(ctx, "example", &directoryservice.ServiceRegionArgs{ DirectoryId: exampleDirectory.ID(), RegionName: pulumi.String(example.Name), VpcSettings: &directoryservice.ServiceRegionVpcSettingsArgs{ VpcId: example_secondary.ID(), SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:87,17-46), }, Tags: pulumi.StringMap{ "Name": pulumi.String("Secondary"), }, }) if err != nil { return err } return nil }) } ```

## Import

Using `pulumi import`, import Replicated Regions using directory ID,Region name. For example:

```sh $ pulumi import aws:directoryservice/serviceRegion:ServiceRegion example d-9267651497,us-east-2 ```

func GetServiceRegion

func GetServiceRegion(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServiceRegionState, opts ...pulumi.ResourceOption) (*ServiceRegion, error)

GetServiceRegion gets an existing ServiceRegion resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServiceRegion

func NewServiceRegion(ctx *pulumi.Context,
	name string, args *ServiceRegionArgs, opts ...pulumi.ResourceOption) (*ServiceRegion, error)

NewServiceRegion registers a new resource with the given unique name, arguments, and options.

func (*ServiceRegion) ElementType

func (*ServiceRegion) ElementType() reflect.Type

func (*ServiceRegion) ToServiceRegionOutput

func (i *ServiceRegion) ToServiceRegionOutput() ServiceRegionOutput

func (*ServiceRegion) ToServiceRegionOutputWithContext

func (i *ServiceRegion) ToServiceRegionOutputWithContext(ctx context.Context) ServiceRegionOutput

type ServiceRegionArgs

type ServiceRegionArgs struct {
	// The number of domain controllers desired in the replicated directory. Minimum value of `2`.
	DesiredNumberOfDomainControllers pulumi.IntPtrInput
	// The identifier of the directory to which you want to add Region replication.
	DirectoryId pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// The name of the Region where you want to add domain controllers for replication.
	RegionName pulumi.StringInput
	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// VPC information in the replicated Region. Detailed below.
	VpcSettings ServiceRegionVpcSettingsInput
}

The set of arguments for constructing a ServiceRegion resource.

func (ServiceRegionArgs) ElementType

func (ServiceRegionArgs) ElementType() reflect.Type

type ServiceRegionArray

type ServiceRegionArray []ServiceRegionInput

func (ServiceRegionArray) ElementType

func (ServiceRegionArray) ElementType() reflect.Type

func (ServiceRegionArray) ToServiceRegionArrayOutput

func (i ServiceRegionArray) ToServiceRegionArrayOutput() ServiceRegionArrayOutput

func (ServiceRegionArray) ToServiceRegionArrayOutputWithContext

func (i ServiceRegionArray) ToServiceRegionArrayOutputWithContext(ctx context.Context) ServiceRegionArrayOutput

type ServiceRegionArrayInput

type ServiceRegionArrayInput interface {
	pulumi.Input

	ToServiceRegionArrayOutput() ServiceRegionArrayOutput
	ToServiceRegionArrayOutputWithContext(context.Context) ServiceRegionArrayOutput
}

ServiceRegionArrayInput is an input type that accepts ServiceRegionArray and ServiceRegionArrayOutput values. You can construct a concrete instance of `ServiceRegionArrayInput` via:

ServiceRegionArray{ ServiceRegionArgs{...} }

type ServiceRegionArrayOutput

type ServiceRegionArrayOutput struct{ *pulumi.OutputState }

func (ServiceRegionArrayOutput) ElementType

func (ServiceRegionArrayOutput) ElementType() reflect.Type

func (ServiceRegionArrayOutput) Index

func (ServiceRegionArrayOutput) ToServiceRegionArrayOutput

func (o ServiceRegionArrayOutput) ToServiceRegionArrayOutput() ServiceRegionArrayOutput

func (ServiceRegionArrayOutput) ToServiceRegionArrayOutputWithContext

func (o ServiceRegionArrayOutput) ToServiceRegionArrayOutputWithContext(ctx context.Context) ServiceRegionArrayOutput

type ServiceRegionInput

type ServiceRegionInput interface {
	pulumi.Input

	ToServiceRegionOutput() ServiceRegionOutput
	ToServiceRegionOutputWithContext(ctx context.Context) ServiceRegionOutput
}

type ServiceRegionMap

type ServiceRegionMap map[string]ServiceRegionInput

func (ServiceRegionMap) ElementType

func (ServiceRegionMap) ElementType() reflect.Type

func (ServiceRegionMap) ToServiceRegionMapOutput

func (i ServiceRegionMap) ToServiceRegionMapOutput() ServiceRegionMapOutput

func (ServiceRegionMap) ToServiceRegionMapOutputWithContext

func (i ServiceRegionMap) ToServiceRegionMapOutputWithContext(ctx context.Context) ServiceRegionMapOutput

type ServiceRegionMapInput

type ServiceRegionMapInput interface {
	pulumi.Input

	ToServiceRegionMapOutput() ServiceRegionMapOutput
	ToServiceRegionMapOutputWithContext(context.Context) ServiceRegionMapOutput
}

ServiceRegionMapInput is an input type that accepts ServiceRegionMap and ServiceRegionMapOutput values. You can construct a concrete instance of `ServiceRegionMapInput` via:

ServiceRegionMap{ "key": ServiceRegionArgs{...} }

type ServiceRegionMapOutput

type ServiceRegionMapOutput struct{ *pulumi.OutputState }

func (ServiceRegionMapOutput) ElementType

func (ServiceRegionMapOutput) ElementType() reflect.Type

func (ServiceRegionMapOutput) MapIndex

func (ServiceRegionMapOutput) ToServiceRegionMapOutput

func (o ServiceRegionMapOutput) ToServiceRegionMapOutput() ServiceRegionMapOutput

func (ServiceRegionMapOutput) ToServiceRegionMapOutputWithContext

func (o ServiceRegionMapOutput) ToServiceRegionMapOutputWithContext(ctx context.Context) ServiceRegionMapOutput

type ServiceRegionOutput

type ServiceRegionOutput struct{ *pulumi.OutputState }

func (ServiceRegionOutput) DesiredNumberOfDomainControllers

func (o ServiceRegionOutput) DesiredNumberOfDomainControllers() pulumi.IntOutput

The number of domain controllers desired in the replicated directory. Minimum value of `2`.

func (ServiceRegionOutput) DirectoryId

func (o ServiceRegionOutput) DirectoryId() pulumi.StringOutput

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

func (ServiceRegionOutput) ElementType

func (ServiceRegionOutput) ElementType() reflect.Type

func (ServiceRegionOutput) Region

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.

func (ServiceRegionOutput) RegionName

func (o ServiceRegionOutput) RegionName() pulumi.StringOutput

The name of the Region where you want to add domain controllers for replication.

func (ServiceRegionOutput) Tags

Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ServiceRegionOutput) TagsAll

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

func (ServiceRegionOutput) ToServiceRegionOutput

func (o ServiceRegionOutput) ToServiceRegionOutput() ServiceRegionOutput

func (ServiceRegionOutput) ToServiceRegionOutputWithContext

func (o ServiceRegionOutput) ToServiceRegionOutputWithContext(ctx context.Context) ServiceRegionOutput

func (ServiceRegionOutput) VpcSettings

VPC information in the replicated Region. Detailed below.

type ServiceRegionState

type ServiceRegionState struct {
	// The number of domain controllers desired in the replicated directory. Minimum value of `2`.
	DesiredNumberOfDomainControllers pulumi.IntPtrInput
	// The identifier of the directory to which you want to add Region replication.
	DirectoryId pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// The name of the Region where you want to add domain controllers for replication.
	RegionName pulumi.StringPtrInput
	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// VPC information in the replicated Region. Detailed below.
	VpcSettings ServiceRegionVpcSettingsPtrInput
}

func (ServiceRegionState) ElementType

func (ServiceRegionState) ElementType() reflect.Type

type ServiceRegionVpcSettings

type ServiceRegionVpcSettings struct {
	// The identifiers of the subnets for the directory servers.
	SubnetIds []string `pulumi:"subnetIds"`
	// The identifier of the VPC in which to create the directory.
	VpcId string `pulumi:"vpcId"`
}

type ServiceRegionVpcSettingsArgs

type ServiceRegionVpcSettingsArgs struct {
	// The identifiers of the subnets for the directory servers.
	SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"`
	// The identifier of the VPC in which to create the directory.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (ServiceRegionVpcSettingsArgs) ElementType

func (ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsOutput

func (i ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsOutput() ServiceRegionVpcSettingsOutput

func (ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsOutputWithContext

func (i ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsOutputWithContext(ctx context.Context) ServiceRegionVpcSettingsOutput

func (ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsPtrOutput

func (i ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsPtrOutput() ServiceRegionVpcSettingsPtrOutput

func (ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsPtrOutputWithContext

func (i ServiceRegionVpcSettingsArgs) ToServiceRegionVpcSettingsPtrOutputWithContext(ctx context.Context) ServiceRegionVpcSettingsPtrOutput

type ServiceRegionVpcSettingsInput

type ServiceRegionVpcSettingsInput interface {
	pulumi.Input

	ToServiceRegionVpcSettingsOutput() ServiceRegionVpcSettingsOutput
	ToServiceRegionVpcSettingsOutputWithContext(context.Context) ServiceRegionVpcSettingsOutput
}

ServiceRegionVpcSettingsInput is an input type that accepts ServiceRegionVpcSettingsArgs and ServiceRegionVpcSettingsOutput values. You can construct a concrete instance of `ServiceRegionVpcSettingsInput` via:

ServiceRegionVpcSettingsArgs{...}

type ServiceRegionVpcSettingsOutput

type ServiceRegionVpcSettingsOutput struct{ *pulumi.OutputState }

func (ServiceRegionVpcSettingsOutput) ElementType

func (ServiceRegionVpcSettingsOutput) SubnetIds

The identifiers of the subnets for the directory servers.

func (ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsOutput

func (o ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsOutput() ServiceRegionVpcSettingsOutput

func (ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsOutputWithContext

func (o ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsOutputWithContext(ctx context.Context) ServiceRegionVpcSettingsOutput

func (ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsPtrOutput

func (o ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsPtrOutput() ServiceRegionVpcSettingsPtrOutput

func (ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsPtrOutputWithContext

func (o ServiceRegionVpcSettingsOutput) ToServiceRegionVpcSettingsPtrOutputWithContext(ctx context.Context) ServiceRegionVpcSettingsPtrOutput

func (ServiceRegionVpcSettingsOutput) VpcId

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

type ServiceRegionVpcSettingsPtrInput

type ServiceRegionVpcSettingsPtrInput interface {
	pulumi.Input

	ToServiceRegionVpcSettingsPtrOutput() ServiceRegionVpcSettingsPtrOutput
	ToServiceRegionVpcSettingsPtrOutputWithContext(context.Context) ServiceRegionVpcSettingsPtrOutput
}

ServiceRegionVpcSettingsPtrInput is an input type that accepts ServiceRegionVpcSettingsArgs, ServiceRegionVpcSettingsPtr and ServiceRegionVpcSettingsPtrOutput values. You can construct a concrete instance of `ServiceRegionVpcSettingsPtrInput` via:

        ServiceRegionVpcSettingsArgs{...}

or:

        nil

type ServiceRegionVpcSettingsPtrOutput

type ServiceRegionVpcSettingsPtrOutput struct{ *pulumi.OutputState }

func (ServiceRegionVpcSettingsPtrOutput) Elem

func (ServiceRegionVpcSettingsPtrOutput) ElementType

func (ServiceRegionVpcSettingsPtrOutput) SubnetIds

The identifiers of the subnets for the directory servers.

func (ServiceRegionVpcSettingsPtrOutput) ToServiceRegionVpcSettingsPtrOutput

func (o ServiceRegionVpcSettingsPtrOutput) ToServiceRegionVpcSettingsPtrOutput() ServiceRegionVpcSettingsPtrOutput

func (ServiceRegionVpcSettingsPtrOutput) ToServiceRegionVpcSettingsPtrOutputWithContext

func (o ServiceRegionVpcSettingsPtrOutput) ToServiceRegionVpcSettingsPtrOutputWithContext(ctx context.Context) ServiceRegionVpcSettingsPtrOutput

func (ServiceRegionVpcSettingsPtrOutput) VpcId

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

type SharedDirectory

type SharedDirectory struct {
	pulumi.CustomResourceState

	// Identifier of the Managed Microsoft AD directory that you want to share with other accounts.
	DirectoryId pulumi.StringOutput `pulumi:"directoryId"`
	// Method used when sharing a directory. Valid values are `ORGANIZATIONS` and `HANDSHAKE`. Default is `HANDSHAKE`.
	Method pulumi.StringPtrOutput `pulumi:"method"`
	// Message sent by the directory owner to the directory consumer to help the directory consumer administrator determine whether to approve or reject the share invitation.
	Notes pulumi.StringPtrOutput `pulumi:"notes"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.
	SharedDirectoryId pulumi.StringOutput `pulumi:"sharedDirectoryId"`
	// Identifier for the directory consumer account with whom the directory is to be shared. See below.
	//
	// The following arguments are optional:
	Target SharedDirectoryTargetOutput `pulumi:"target"`
}

Manages a directory in your account (directory owner) shared with another account (directory consumer).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := directoryservice.NewDirectory(ctx, "example", &directoryservice.DirectoryArgs{ Name: pulumi.String("tf-example"), Password: pulumi.String("SuperSecretPassw0rd"), Type: pulumi.String("MicrosoftAD"), Edition: pulumi.String("Standard"), VpcSettings: &directoryservice.DirectoryVpcSettingsArgs{ VpcId: pulumi.Any(exampleAwsVpc.Id), SubnetIds: []pulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:7,17-39)), }, }) if err != nil { return err } _, err = directoryservice.NewSharedDirectory(ctx, "example", &directoryservice.SharedDirectoryArgs{ DirectoryId: example.ID(), Notes: pulumi.String("You wanna have a catch?"), Target: &directoryservice.SharedDirectoryTargetArgs{ Id: pulumi.Any(receiver.AccountId), }, }) if err != nil { return err } return nil }) } ```

## Import

Using `pulumi import`, import Directory Service Shared Directories using the owner directory ID/shared directory ID. For example:

```sh $ pulumi import aws:directoryservice/sharedDirectory:SharedDirectory example d-1234567890/d-9267633ece ```

func GetSharedDirectory

func GetSharedDirectory(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SharedDirectoryState, opts ...pulumi.ResourceOption) (*SharedDirectory, error)

GetSharedDirectory gets an existing SharedDirectory resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSharedDirectory

func NewSharedDirectory(ctx *pulumi.Context,
	name string, args *SharedDirectoryArgs, opts ...pulumi.ResourceOption) (*SharedDirectory, error)

NewSharedDirectory registers a new resource with the given unique name, arguments, and options.

func (*SharedDirectory) ElementType

func (*SharedDirectory) ElementType() reflect.Type

func (*SharedDirectory) ToSharedDirectoryOutput

func (i *SharedDirectory) ToSharedDirectoryOutput() SharedDirectoryOutput

func (*SharedDirectory) ToSharedDirectoryOutputWithContext

func (i *SharedDirectory) ToSharedDirectoryOutputWithContext(ctx context.Context) SharedDirectoryOutput

type SharedDirectoryAccepter

type SharedDirectoryAccepter struct {
	pulumi.CustomResourceState

	// Method used when sharing a directory (i.e., `ORGANIZATIONS` or `HANDSHAKE`).
	Method pulumi.StringOutput `pulumi:"method"`
	// Message sent by the directory owner to the directory consumer to help the directory consumer administrator determine whether to approve or reject the share invitation.
	Notes pulumi.StringOutput `pulumi:"notes"`
	// Account identifier of the directory owner.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
	// Identifier of the Managed Microsoft AD directory from the perspective of the directory owner.
	OwnerDirectoryId pulumi.StringOutput `pulumi:"ownerDirectoryId"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.
	SharedDirectoryId pulumi.StringOutput `pulumi:"sharedDirectoryId"`
}

Accepts a shared directory in a consumer account.

> **NOTE:** Destroying this resource removes the shared directory from the consumer account only.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := directoryservice.NewSharedDirectory(ctx, "example", &directoryservice.SharedDirectoryArgs{
			DirectoryId: pulumi.Any(exampleAwsDirectoryServiceDirectory.Id),
			Notes:       pulumi.String("example"),
			Target: &directoryservice.SharedDirectoryTargetArgs{
				Id: pulumi.Any(receiver.AccountId),
			},
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewSharedDirectoryAccepter(ctx, "example", &directoryservice.SharedDirectoryAccepterArgs{
			SharedDirectoryId: example.SharedDirectoryId,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Directory Service Shared Directories using the shared directory ID. For example:

```sh $ pulumi import aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter example d-9267633ece ```

func GetSharedDirectoryAccepter

func GetSharedDirectoryAccepter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SharedDirectoryAccepterState, opts ...pulumi.ResourceOption) (*SharedDirectoryAccepter, error)

GetSharedDirectoryAccepter gets an existing SharedDirectoryAccepter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSharedDirectoryAccepter

func NewSharedDirectoryAccepter(ctx *pulumi.Context,
	name string, args *SharedDirectoryAccepterArgs, opts ...pulumi.ResourceOption) (*SharedDirectoryAccepter, error)

NewSharedDirectoryAccepter registers a new resource with the given unique name, arguments, and options.

func (*SharedDirectoryAccepter) ElementType

func (*SharedDirectoryAccepter) ElementType() reflect.Type

func (*SharedDirectoryAccepter) ToSharedDirectoryAccepterOutput

func (i *SharedDirectoryAccepter) ToSharedDirectoryAccepterOutput() SharedDirectoryAccepterOutput

func (*SharedDirectoryAccepter) ToSharedDirectoryAccepterOutputWithContext

func (i *SharedDirectoryAccepter) ToSharedDirectoryAccepterOutputWithContext(ctx context.Context) SharedDirectoryAccepterOutput

type SharedDirectoryAccepterArgs

type SharedDirectoryAccepterArgs struct {
	// 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.
	Region pulumi.StringPtrInput
	// Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.
	SharedDirectoryId pulumi.StringInput
}

The set of arguments for constructing a SharedDirectoryAccepter resource.

func (SharedDirectoryAccepterArgs) ElementType

type SharedDirectoryAccepterArray

type SharedDirectoryAccepterArray []SharedDirectoryAccepterInput

func (SharedDirectoryAccepterArray) ElementType

func (SharedDirectoryAccepterArray) ToSharedDirectoryAccepterArrayOutput

func (i SharedDirectoryAccepterArray) ToSharedDirectoryAccepterArrayOutput() SharedDirectoryAccepterArrayOutput

func (SharedDirectoryAccepterArray) ToSharedDirectoryAccepterArrayOutputWithContext

func (i SharedDirectoryAccepterArray) ToSharedDirectoryAccepterArrayOutputWithContext(ctx context.Context) SharedDirectoryAccepterArrayOutput

type SharedDirectoryAccepterArrayInput

type SharedDirectoryAccepterArrayInput interface {
	pulumi.Input

	ToSharedDirectoryAccepterArrayOutput() SharedDirectoryAccepterArrayOutput
	ToSharedDirectoryAccepterArrayOutputWithContext(context.Context) SharedDirectoryAccepterArrayOutput
}

SharedDirectoryAccepterArrayInput is an input type that accepts SharedDirectoryAccepterArray and SharedDirectoryAccepterArrayOutput values. You can construct a concrete instance of `SharedDirectoryAccepterArrayInput` via:

SharedDirectoryAccepterArray{ SharedDirectoryAccepterArgs{...} }

type SharedDirectoryAccepterArrayOutput

type SharedDirectoryAccepterArrayOutput struct{ *pulumi.OutputState }

func (SharedDirectoryAccepterArrayOutput) ElementType

func (SharedDirectoryAccepterArrayOutput) Index

func (SharedDirectoryAccepterArrayOutput) ToSharedDirectoryAccepterArrayOutput

func (o SharedDirectoryAccepterArrayOutput) ToSharedDirectoryAccepterArrayOutput() SharedDirectoryAccepterArrayOutput

func (SharedDirectoryAccepterArrayOutput) ToSharedDirectoryAccepterArrayOutputWithContext

func (o SharedDirectoryAccepterArrayOutput) ToSharedDirectoryAccepterArrayOutputWithContext(ctx context.Context) SharedDirectoryAccepterArrayOutput

type SharedDirectoryAccepterInput

type SharedDirectoryAccepterInput interface {
	pulumi.Input

	ToSharedDirectoryAccepterOutput() SharedDirectoryAccepterOutput
	ToSharedDirectoryAccepterOutputWithContext(ctx context.Context) SharedDirectoryAccepterOutput
}

type SharedDirectoryAccepterMap

type SharedDirectoryAccepterMap map[string]SharedDirectoryAccepterInput

func (SharedDirectoryAccepterMap) ElementType

func (SharedDirectoryAccepterMap) ElementType() reflect.Type

func (SharedDirectoryAccepterMap) ToSharedDirectoryAccepterMapOutput

func (i SharedDirectoryAccepterMap) ToSharedDirectoryAccepterMapOutput() SharedDirectoryAccepterMapOutput

func (SharedDirectoryAccepterMap) ToSharedDirectoryAccepterMapOutputWithContext

func (i SharedDirectoryAccepterMap) ToSharedDirectoryAccepterMapOutputWithContext(ctx context.Context) SharedDirectoryAccepterMapOutput

type SharedDirectoryAccepterMapInput

type SharedDirectoryAccepterMapInput interface {
	pulumi.Input

	ToSharedDirectoryAccepterMapOutput() SharedDirectoryAccepterMapOutput
	ToSharedDirectoryAccepterMapOutputWithContext(context.Context) SharedDirectoryAccepterMapOutput
}

SharedDirectoryAccepterMapInput is an input type that accepts SharedDirectoryAccepterMap and SharedDirectoryAccepterMapOutput values. You can construct a concrete instance of `SharedDirectoryAccepterMapInput` via:

SharedDirectoryAccepterMap{ "key": SharedDirectoryAccepterArgs{...} }

type SharedDirectoryAccepterMapOutput

type SharedDirectoryAccepterMapOutput struct{ *pulumi.OutputState }

func (SharedDirectoryAccepterMapOutput) ElementType

func (SharedDirectoryAccepterMapOutput) MapIndex

func (SharedDirectoryAccepterMapOutput) ToSharedDirectoryAccepterMapOutput

func (o SharedDirectoryAccepterMapOutput) ToSharedDirectoryAccepterMapOutput() SharedDirectoryAccepterMapOutput

func (SharedDirectoryAccepterMapOutput) ToSharedDirectoryAccepterMapOutputWithContext

func (o SharedDirectoryAccepterMapOutput) ToSharedDirectoryAccepterMapOutputWithContext(ctx context.Context) SharedDirectoryAccepterMapOutput

type SharedDirectoryAccepterOutput

type SharedDirectoryAccepterOutput struct{ *pulumi.OutputState }

func (SharedDirectoryAccepterOutput) ElementType

func (SharedDirectoryAccepterOutput) Method

Method used when sharing a directory (i.e., `ORGANIZATIONS` or `HANDSHAKE`).

func (SharedDirectoryAccepterOutput) Notes

Message sent by the directory owner to the directory consumer to help the directory consumer administrator determine whether to approve or reject the share invitation.

func (SharedDirectoryAccepterOutput) OwnerAccountId

Account identifier of the directory owner.

func (SharedDirectoryAccepterOutput) OwnerDirectoryId

func (o SharedDirectoryAccepterOutput) OwnerDirectoryId() pulumi.StringOutput

Identifier of the Managed Microsoft AD directory from the perspective of the directory owner.

func (SharedDirectoryAccepterOutput) Region

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.

func (SharedDirectoryAccepterOutput) SharedDirectoryId

func (o SharedDirectoryAccepterOutput) SharedDirectoryId() pulumi.StringOutput

Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.

func (SharedDirectoryAccepterOutput) ToSharedDirectoryAccepterOutput

func (o SharedDirectoryAccepterOutput) ToSharedDirectoryAccepterOutput() SharedDirectoryAccepterOutput

func (SharedDirectoryAccepterOutput) ToSharedDirectoryAccepterOutputWithContext

func (o SharedDirectoryAccepterOutput) ToSharedDirectoryAccepterOutputWithContext(ctx context.Context) SharedDirectoryAccepterOutput

type SharedDirectoryAccepterState

type SharedDirectoryAccepterState struct {
	// Method used when sharing a directory (i.e., `ORGANIZATIONS` or `HANDSHAKE`).
	Method pulumi.StringPtrInput
	// Message sent by the directory owner to the directory consumer to help the directory consumer administrator determine whether to approve or reject the share invitation.
	Notes pulumi.StringPtrInput
	// Account identifier of the directory owner.
	OwnerAccountId pulumi.StringPtrInput
	// Identifier of the Managed Microsoft AD directory from the perspective of the directory owner.
	OwnerDirectoryId pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.
	SharedDirectoryId pulumi.StringPtrInput
}

func (SharedDirectoryAccepterState) ElementType

type SharedDirectoryArgs

type SharedDirectoryArgs struct {
	// Identifier of the Managed Microsoft AD directory that you want to share with other accounts.
	DirectoryId pulumi.StringInput
	// Method used when sharing a directory. Valid values are `ORGANIZATIONS` and `HANDSHAKE`. Default is `HANDSHAKE`.
	Method pulumi.StringPtrInput
	// Message sent by the directory owner to the directory consumer to help the directory consumer administrator determine whether to approve or reject the share invitation.
	Notes pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Identifier for the directory consumer account with whom the directory is to be shared. See below.
	//
	// The following arguments are optional:
	Target SharedDirectoryTargetInput
}

The set of arguments for constructing a SharedDirectory resource.

func (SharedDirectoryArgs) ElementType

func (SharedDirectoryArgs) ElementType() reflect.Type

type SharedDirectoryArray

type SharedDirectoryArray []SharedDirectoryInput

func (SharedDirectoryArray) ElementType

func (SharedDirectoryArray) ElementType() reflect.Type

func (SharedDirectoryArray) ToSharedDirectoryArrayOutput

func (i SharedDirectoryArray) ToSharedDirectoryArrayOutput() SharedDirectoryArrayOutput

func (SharedDirectoryArray) ToSharedDirectoryArrayOutputWithContext

func (i SharedDirectoryArray) ToSharedDirectoryArrayOutputWithContext(ctx context.Context) SharedDirectoryArrayOutput

type SharedDirectoryArrayInput

type SharedDirectoryArrayInput interface {
	pulumi.Input

	ToSharedDirectoryArrayOutput() SharedDirectoryArrayOutput
	ToSharedDirectoryArrayOutputWithContext(context.Context) SharedDirectoryArrayOutput
}

SharedDirectoryArrayInput is an input type that accepts SharedDirectoryArray and SharedDirectoryArrayOutput values. You can construct a concrete instance of `SharedDirectoryArrayInput` via:

SharedDirectoryArray{ SharedDirectoryArgs{...} }

type SharedDirectoryArrayOutput

type SharedDirectoryArrayOutput struct{ *pulumi.OutputState }

func (SharedDirectoryArrayOutput) ElementType

func (SharedDirectoryArrayOutput) ElementType() reflect.Type

func (SharedDirectoryArrayOutput) Index

func (SharedDirectoryArrayOutput) ToSharedDirectoryArrayOutput

func (o SharedDirectoryArrayOutput) ToSharedDirectoryArrayOutput() SharedDirectoryArrayOutput

func (SharedDirectoryArrayOutput) ToSharedDirectoryArrayOutputWithContext

func (o SharedDirectoryArrayOutput) ToSharedDirectoryArrayOutputWithContext(ctx context.Context) SharedDirectoryArrayOutput

type SharedDirectoryInput

type SharedDirectoryInput interface {
	pulumi.Input

	ToSharedDirectoryOutput() SharedDirectoryOutput
	ToSharedDirectoryOutputWithContext(ctx context.Context) SharedDirectoryOutput
}

type SharedDirectoryMap

type SharedDirectoryMap map[string]SharedDirectoryInput

func (SharedDirectoryMap) ElementType

func (SharedDirectoryMap) ElementType() reflect.Type

func (SharedDirectoryMap) ToSharedDirectoryMapOutput

func (i SharedDirectoryMap) ToSharedDirectoryMapOutput() SharedDirectoryMapOutput

func (SharedDirectoryMap) ToSharedDirectoryMapOutputWithContext

func (i SharedDirectoryMap) ToSharedDirectoryMapOutputWithContext(ctx context.Context) SharedDirectoryMapOutput

type SharedDirectoryMapInput

type SharedDirectoryMapInput interface {
	pulumi.Input

	ToSharedDirectoryMapOutput() SharedDirectoryMapOutput
	ToSharedDirectoryMapOutputWithContext(context.Context) SharedDirectoryMapOutput
}

SharedDirectoryMapInput is an input type that accepts SharedDirectoryMap and SharedDirectoryMapOutput values. You can construct a concrete instance of `SharedDirectoryMapInput` via:

SharedDirectoryMap{ "key": SharedDirectoryArgs{...} }

type SharedDirectoryMapOutput

type SharedDirectoryMapOutput struct{ *pulumi.OutputState }

func (SharedDirectoryMapOutput) ElementType

func (SharedDirectoryMapOutput) ElementType() reflect.Type

func (SharedDirectoryMapOutput) MapIndex

func (SharedDirectoryMapOutput) ToSharedDirectoryMapOutput

func (o SharedDirectoryMapOutput) ToSharedDirectoryMapOutput() SharedDirectoryMapOutput

func (SharedDirectoryMapOutput) ToSharedDirectoryMapOutputWithContext

func (o SharedDirectoryMapOutput) ToSharedDirectoryMapOutputWithContext(ctx context.Context) SharedDirectoryMapOutput

type SharedDirectoryOutput

type SharedDirectoryOutput struct{ *pulumi.OutputState }

func (SharedDirectoryOutput) DirectoryId

func (o SharedDirectoryOutput) DirectoryId() pulumi.StringOutput

Identifier of the Managed Microsoft AD directory that you want to share with other accounts.

func (SharedDirectoryOutput) ElementType

func (SharedDirectoryOutput) ElementType() reflect.Type

func (SharedDirectoryOutput) Method

Method used when sharing a directory. Valid values are `ORGANIZATIONS` and `HANDSHAKE`. Default is `HANDSHAKE`.

func (SharedDirectoryOutput) Notes

Message sent by the directory owner to the directory consumer to help the directory consumer administrator determine whether to approve or reject the share invitation.

func (SharedDirectoryOutput) Region

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.

func (SharedDirectoryOutput) SharedDirectoryId

func (o SharedDirectoryOutput) SharedDirectoryId() pulumi.StringOutput

Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.

func (SharedDirectoryOutput) Target

Identifier for the directory consumer account with whom the directory is to be shared. See below.

The following arguments are optional:

func (SharedDirectoryOutput) ToSharedDirectoryOutput

func (o SharedDirectoryOutput) ToSharedDirectoryOutput() SharedDirectoryOutput

func (SharedDirectoryOutput) ToSharedDirectoryOutputWithContext

func (o SharedDirectoryOutput) ToSharedDirectoryOutputWithContext(ctx context.Context) SharedDirectoryOutput

type SharedDirectoryState

type SharedDirectoryState struct {
	// Identifier of the Managed Microsoft AD directory that you want to share with other accounts.
	DirectoryId pulumi.StringPtrInput
	// Method used when sharing a directory. Valid values are `ORGANIZATIONS` and `HANDSHAKE`. Default is `HANDSHAKE`.
	Method pulumi.StringPtrInput
	// Message sent by the directory owner to the directory consumer to help the directory consumer administrator determine whether to approve or reject the share invitation.
	Notes pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.
	SharedDirectoryId pulumi.StringPtrInput
	// Identifier for the directory consumer account with whom the directory is to be shared. See below.
	//
	// The following arguments are optional:
	Target SharedDirectoryTargetPtrInput
}

func (SharedDirectoryState) ElementType

func (SharedDirectoryState) ElementType() reflect.Type

type SharedDirectoryTarget

type SharedDirectoryTarget struct {
	// Identifier of the directory consumer account.
	Id string `pulumi:"id"`
	// Type of identifier to be used in the `id` field. Valid value is `ACCOUNT`. Default is `ACCOUNT`.
	Type *string `pulumi:"type"`
}

type SharedDirectoryTargetArgs

type SharedDirectoryTargetArgs struct {
	// Identifier of the directory consumer account.
	Id pulumi.StringInput `pulumi:"id"`
	// Type of identifier to be used in the `id` field. Valid value is `ACCOUNT`. Default is `ACCOUNT`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (SharedDirectoryTargetArgs) ElementType

func (SharedDirectoryTargetArgs) ElementType() reflect.Type

func (SharedDirectoryTargetArgs) ToSharedDirectoryTargetOutput

func (i SharedDirectoryTargetArgs) ToSharedDirectoryTargetOutput() SharedDirectoryTargetOutput

func (SharedDirectoryTargetArgs) ToSharedDirectoryTargetOutputWithContext

func (i SharedDirectoryTargetArgs) ToSharedDirectoryTargetOutputWithContext(ctx context.Context) SharedDirectoryTargetOutput

func (SharedDirectoryTargetArgs) ToSharedDirectoryTargetPtrOutput

func (i SharedDirectoryTargetArgs) ToSharedDirectoryTargetPtrOutput() SharedDirectoryTargetPtrOutput

func (SharedDirectoryTargetArgs) ToSharedDirectoryTargetPtrOutputWithContext

func (i SharedDirectoryTargetArgs) ToSharedDirectoryTargetPtrOutputWithContext(ctx context.Context) SharedDirectoryTargetPtrOutput

type SharedDirectoryTargetInput

type SharedDirectoryTargetInput interface {
	pulumi.Input

	ToSharedDirectoryTargetOutput() SharedDirectoryTargetOutput
	ToSharedDirectoryTargetOutputWithContext(context.Context) SharedDirectoryTargetOutput
}

SharedDirectoryTargetInput is an input type that accepts SharedDirectoryTargetArgs and SharedDirectoryTargetOutput values. You can construct a concrete instance of `SharedDirectoryTargetInput` via:

SharedDirectoryTargetArgs{...}

type SharedDirectoryTargetOutput

type SharedDirectoryTargetOutput struct{ *pulumi.OutputState }

func (SharedDirectoryTargetOutput) ElementType

func (SharedDirectoryTargetOutput) Id

Identifier of the directory consumer account.

func (SharedDirectoryTargetOutput) ToSharedDirectoryTargetOutput

func (o SharedDirectoryTargetOutput) ToSharedDirectoryTargetOutput() SharedDirectoryTargetOutput

func (SharedDirectoryTargetOutput) ToSharedDirectoryTargetOutputWithContext

func (o SharedDirectoryTargetOutput) ToSharedDirectoryTargetOutputWithContext(ctx context.Context) SharedDirectoryTargetOutput

func (SharedDirectoryTargetOutput) ToSharedDirectoryTargetPtrOutput

func (o SharedDirectoryTargetOutput) ToSharedDirectoryTargetPtrOutput() SharedDirectoryTargetPtrOutput

func (SharedDirectoryTargetOutput) ToSharedDirectoryTargetPtrOutputWithContext

func (o SharedDirectoryTargetOutput) ToSharedDirectoryTargetPtrOutputWithContext(ctx context.Context) SharedDirectoryTargetPtrOutput

func (SharedDirectoryTargetOutput) Type

Type of identifier to be used in the `id` field. Valid value is `ACCOUNT`. Default is `ACCOUNT`.

type SharedDirectoryTargetPtrInput

type SharedDirectoryTargetPtrInput interface {
	pulumi.Input

	ToSharedDirectoryTargetPtrOutput() SharedDirectoryTargetPtrOutput
	ToSharedDirectoryTargetPtrOutputWithContext(context.Context) SharedDirectoryTargetPtrOutput
}

SharedDirectoryTargetPtrInput is an input type that accepts SharedDirectoryTargetArgs, SharedDirectoryTargetPtr and SharedDirectoryTargetPtrOutput values. You can construct a concrete instance of `SharedDirectoryTargetPtrInput` via:

        SharedDirectoryTargetArgs{...}

or:

        nil

type SharedDirectoryTargetPtrOutput

type SharedDirectoryTargetPtrOutput struct{ *pulumi.OutputState }

func (SharedDirectoryTargetPtrOutput) Elem

func (SharedDirectoryTargetPtrOutput) ElementType

func (SharedDirectoryTargetPtrOutput) Id

Identifier of the directory consumer account.

func (SharedDirectoryTargetPtrOutput) ToSharedDirectoryTargetPtrOutput

func (o SharedDirectoryTargetPtrOutput) ToSharedDirectoryTargetPtrOutput() SharedDirectoryTargetPtrOutput

func (SharedDirectoryTargetPtrOutput) ToSharedDirectoryTargetPtrOutputWithContext

func (o SharedDirectoryTargetPtrOutput) ToSharedDirectoryTargetPtrOutputWithContext(ctx context.Context) SharedDirectoryTargetPtrOutput

func (SharedDirectoryTargetPtrOutput) Type

Type of identifier to be used in the `id` field. Valid value is `ACCOUNT`. Default is `ACCOUNT`.

type Trust

type Trust struct {
	pulumi.CustomResourceState

	// Set of IPv4 addresses for the DNS server associated with the remote Directory.
	// Can contain between 1 and 4 values.
	ConditionalForwarderIpAddrs pulumi.StringArrayOutput `pulumi:"conditionalForwarderIpAddrs"`
	// Date and time when the Trust was created.
	CreatedDateTime pulumi.StringOutput `pulumi:"createdDateTime"`
	// Whether to delete the conditional forwarder when deleting the Trust relationship.
	DeleteAssociatedConditionalForwarder pulumi.BoolOutput `pulumi:"deleteAssociatedConditionalForwarder"`
	// ID of the Directory.
	DirectoryId pulumi.StringOutput `pulumi:"directoryId"`
	// Date and time when the Trust was last updated.
	LastUpdatedDateTime pulumi.StringOutput `pulumi:"lastUpdatedDateTime"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Fully qualified domain name of the remote Directory.
	RemoteDomainName pulumi.StringOutput `pulumi:"remoteDomainName"`
	// Whether to enable selective authentication.
	// Valid values are `Enabled` and `Disabled`.
	// Default value is `Disabled`.
	SelectiveAuth pulumi.StringOutput `pulumi:"selectiveAuth"`
	// Date and time when the Trust state in `trustState` was last updated.
	StateLastUpdatedDateTime pulumi.StringOutput `pulumi:"stateLastUpdatedDateTime"`
	// The direction of the Trust relationship.
	// Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`.
	TrustDirection pulumi.StringOutput `pulumi:"trustDirection"`
	// Password for the Trust.
	// Does not need to match the passwords for either Directory.
	// Can contain upper- and lower-case letters, numbers, and punctuation characters.
	// May be up to 128 characters long.
	TrustPassword pulumi.StringOutput `pulumi:"trustPassword"`
	// State of the Trust relationship.
	// One of `Created`, `VerifyFailed`,`Verified`, `UpdateFailed`,`Updated`,`Deleted`, or `Failed`.
	TrustState pulumi.StringOutput `pulumi:"trustState"`
	// Reason for the Trust state set in `trustState`.
	TrustStateReason pulumi.StringOutput `pulumi:"trustStateReason"`
	// Type of the Trust relationship.
	// Valid values are `Forest` and `External`.
	// Default value is `Forest`.
	TrustType pulumi.StringOutput `pulumi:"trustType"`
}

Manages a trust relationship between two Active Directory Directories.

The directories may either be both AWS Managed Microsoft AD domains or an AWS Managed Microsoft AD domain and a self-managed Active Directory Domain.

The Trust relationship must be configured on both sides of the relationship. If a Trust has only been created on one side, it will be in the state `VerifyFailed`. Once the second Trust is created, the first will update to the correct state.

## Example Usage

### Two-Way Trust

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		oneDirectory, err := directoryservice.NewDirectory(ctx, "one", &directoryservice.DirectoryArgs{
			Name: pulumi.String("one.example.com"),
			Type: pulumi.String("MicrosoftAD"),
		})
		if err != nil {
			return err
		}
		twoDirectory, err := directoryservice.NewDirectory(ctx, "two", &directoryservice.DirectoryArgs{
			Name: pulumi.String("two.example.com"),
			Type: pulumi.String("MicrosoftAD"),
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewTrust(ctx, "one", &directoryservice.TrustArgs{
			DirectoryId:                 oneDirectory.ID(),
			RemoteDomainName:            twoDirectory.Name,
			TrustDirection:              pulumi.String("Two-Way"),
			TrustPassword:               pulumi.String("Some0therPassword"),
			ConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses,
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewTrust(ctx, "two", &directoryservice.TrustArgs{
			DirectoryId:                 twoDirectory.ID(),
			RemoteDomainName:            oneDirectory.Name,
			TrustDirection:              pulumi.String("Two-Way"),
			TrustPassword:               pulumi.String("Some0therPassword"),
			ConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### One-Way Trust

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/directoryservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		oneDirectory, err := directoryservice.NewDirectory(ctx, "one", &directoryservice.DirectoryArgs{
			Name: pulumi.String("one.example.com"),
			Type: pulumi.String("MicrosoftAD"),
		})
		if err != nil {
			return err
		}
		twoDirectory, err := directoryservice.NewDirectory(ctx, "two", &directoryservice.DirectoryArgs{
			Name: pulumi.String("two.example.com"),
			Type: pulumi.String("MicrosoftAD"),
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewTrust(ctx, "one", &directoryservice.TrustArgs{
			DirectoryId:                 oneDirectory.ID(),
			RemoteDomainName:            twoDirectory.Name,
			TrustDirection:              pulumi.String("One-Way: Incoming"),
			TrustPassword:               pulumi.String("Some0therPassword"),
			ConditionalForwarderIpAddrs: twoDirectory.DnsIpAddresses,
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewTrust(ctx, "two", &directoryservice.TrustArgs{
			DirectoryId:                 twoDirectory.ID(),
			RemoteDomainName:            oneDirectory.Name,
			TrustDirection:              pulumi.String("One-Way: Outgoing"),
			TrustPassword:               pulumi.String("Some0therPassword"),
			ConditionalForwarderIpAddrs: oneDirectory.DnsIpAddresses,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import the Trust relationship using the directory ID and remote domain name, separated by a `/`. For example:

```sh $ pulumi import aws:directoryservice/trust:Trust example d-926724cf57/directory.example.com ```

func GetTrust

func GetTrust(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TrustState, opts ...pulumi.ResourceOption) (*Trust, error)

GetTrust gets an existing Trust resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTrust

func NewTrust(ctx *pulumi.Context,
	name string, args *TrustArgs, opts ...pulumi.ResourceOption) (*Trust, error)

NewTrust registers a new resource with the given unique name, arguments, and options.

func (*Trust) ElementType

func (*Trust) ElementType() reflect.Type

func (*Trust) ToTrustOutput

func (i *Trust) ToTrustOutput() TrustOutput

func (*Trust) ToTrustOutputWithContext

func (i *Trust) ToTrustOutputWithContext(ctx context.Context) TrustOutput

type TrustArgs

type TrustArgs struct {
	// Set of IPv4 addresses for the DNS server associated with the remote Directory.
	// Can contain between 1 and 4 values.
	ConditionalForwarderIpAddrs pulumi.StringArrayInput
	// Whether to delete the conditional forwarder when deleting the Trust relationship.
	DeleteAssociatedConditionalForwarder pulumi.BoolPtrInput
	// ID of the Directory.
	DirectoryId pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// Fully qualified domain name of the remote Directory.
	RemoteDomainName pulumi.StringInput
	// Whether to enable selective authentication.
	// Valid values are `Enabled` and `Disabled`.
	// Default value is `Disabled`.
	SelectiveAuth pulumi.StringPtrInput
	// The direction of the Trust relationship.
	// Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`.
	TrustDirection pulumi.StringInput
	// Password for the Trust.
	// Does not need to match the passwords for either Directory.
	// Can contain upper- and lower-case letters, numbers, and punctuation characters.
	// May be up to 128 characters long.
	TrustPassword pulumi.StringInput
	// Type of the Trust relationship.
	// Valid values are `Forest` and `External`.
	// Default value is `Forest`.
	TrustType pulumi.StringPtrInput
}

The set of arguments for constructing a Trust resource.

func (TrustArgs) ElementType

func (TrustArgs) ElementType() reflect.Type

type TrustArray

type TrustArray []TrustInput

func (TrustArray) ElementType

func (TrustArray) ElementType() reflect.Type

func (TrustArray) ToTrustArrayOutput

func (i TrustArray) ToTrustArrayOutput() TrustArrayOutput

func (TrustArray) ToTrustArrayOutputWithContext

func (i TrustArray) ToTrustArrayOutputWithContext(ctx context.Context) TrustArrayOutput

type TrustArrayInput

type TrustArrayInput interface {
	pulumi.Input

	ToTrustArrayOutput() TrustArrayOutput
	ToTrustArrayOutputWithContext(context.Context) TrustArrayOutput
}

TrustArrayInput is an input type that accepts TrustArray and TrustArrayOutput values. You can construct a concrete instance of `TrustArrayInput` via:

TrustArray{ TrustArgs{...} }

type TrustArrayOutput

type TrustArrayOutput struct{ *pulumi.OutputState }

func (TrustArrayOutput) ElementType

func (TrustArrayOutput) ElementType() reflect.Type

func (TrustArrayOutput) Index

func (TrustArrayOutput) ToTrustArrayOutput

func (o TrustArrayOutput) ToTrustArrayOutput() TrustArrayOutput

func (TrustArrayOutput) ToTrustArrayOutputWithContext

func (o TrustArrayOutput) ToTrustArrayOutputWithContext(ctx context.Context) TrustArrayOutput

type TrustInput

type TrustInput interface {
	pulumi.Input

	ToTrustOutput() TrustOutput
	ToTrustOutputWithContext(ctx context.Context) TrustOutput
}

type TrustMap

type TrustMap map[string]TrustInput

func (TrustMap) ElementType

func (TrustMap) ElementType() reflect.Type

func (TrustMap) ToTrustMapOutput

func (i TrustMap) ToTrustMapOutput() TrustMapOutput

func (TrustMap) ToTrustMapOutputWithContext

func (i TrustMap) ToTrustMapOutputWithContext(ctx context.Context) TrustMapOutput

type TrustMapInput

type TrustMapInput interface {
	pulumi.Input

	ToTrustMapOutput() TrustMapOutput
	ToTrustMapOutputWithContext(context.Context) TrustMapOutput
}

TrustMapInput is an input type that accepts TrustMap and TrustMapOutput values. You can construct a concrete instance of `TrustMapInput` via:

TrustMap{ "key": TrustArgs{...} }

type TrustMapOutput

type TrustMapOutput struct{ *pulumi.OutputState }

func (TrustMapOutput) ElementType

func (TrustMapOutput) ElementType() reflect.Type

func (TrustMapOutput) MapIndex

func (TrustMapOutput) ToTrustMapOutput

func (o TrustMapOutput) ToTrustMapOutput() TrustMapOutput

func (TrustMapOutput) ToTrustMapOutputWithContext

func (o TrustMapOutput) ToTrustMapOutputWithContext(ctx context.Context) TrustMapOutput

type TrustOutput

type TrustOutput struct{ *pulumi.OutputState }

func (TrustOutput) ConditionalForwarderIpAddrs

func (o TrustOutput) ConditionalForwarderIpAddrs() pulumi.StringArrayOutput

Set of IPv4 addresses for the DNS server associated with the remote Directory. Can contain between 1 and 4 values.

func (TrustOutput) CreatedDateTime

func (o TrustOutput) CreatedDateTime() pulumi.StringOutput

Date and time when the Trust was created.

func (TrustOutput) DeleteAssociatedConditionalForwarder

func (o TrustOutput) DeleteAssociatedConditionalForwarder() pulumi.BoolOutput

Whether to delete the conditional forwarder when deleting the Trust relationship.

func (TrustOutput) DirectoryId

func (o TrustOutput) DirectoryId() pulumi.StringOutput

ID of the Directory.

func (TrustOutput) ElementType

func (TrustOutput) ElementType() reflect.Type

func (TrustOutput) LastUpdatedDateTime

func (o TrustOutput) LastUpdatedDateTime() pulumi.StringOutput

Date and time when the Trust was last updated.

func (TrustOutput) Region

func (o TrustOutput) Region() pulumi.StringOutput

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.

func (TrustOutput) RemoteDomainName

func (o TrustOutput) RemoteDomainName() pulumi.StringOutput

Fully qualified domain name of the remote Directory.

func (TrustOutput) SelectiveAuth

func (o TrustOutput) SelectiveAuth() pulumi.StringOutput

Whether to enable selective authentication. Valid values are `Enabled` and `Disabled`. Default value is `Disabled`.

func (TrustOutput) StateLastUpdatedDateTime

func (o TrustOutput) StateLastUpdatedDateTime() pulumi.StringOutput

Date and time when the Trust state in `trustState` was last updated.

func (TrustOutput) ToTrustOutput

func (o TrustOutput) ToTrustOutput() TrustOutput

func (TrustOutput) ToTrustOutputWithContext

func (o TrustOutput) ToTrustOutputWithContext(ctx context.Context) TrustOutput

func (TrustOutput) TrustDirection

func (o TrustOutput) TrustDirection() pulumi.StringOutput

The direction of the Trust relationship. Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`.

func (TrustOutput) TrustPassword

func (o TrustOutput) TrustPassword() pulumi.StringOutput

Password for the Trust. Does not need to match the passwords for either Directory. Can contain upper- and lower-case letters, numbers, and punctuation characters. May be up to 128 characters long.

func (TrustOutput) TrustState

func (o TrustOutput) TrustState() pulumi.StringOutput

State of the Trust relationship. One of `Created`, `VerifyFailed`,`Verified`, `UpdateFailed`,`Updated`,`Deleted`, or `Failed`.

func (TrustOutput) TrustStateReason

func (o TrustOutput) TrustStateReason() pulumi.StringOutput

Reason for the Trust state set in `trustState`.

func (TrustOutput) TrustType

func (o TrustOutput) TrustType() pulumi.StringOutput

Type of the Trust relationship. Valid values are `Forest` and `External`. Default value is `Forest`.

type TrustState

type TrustState struct {
	// Set of IPv4 addresses for the DNS server associated with the remote Directory.
	// Can contain between 1 and 4 values.
	ConditionalForwarderIpAddrs pulumi.StringArrayInput
	// Date and time when the Trust was created.
	CreatedDateTime pulumi.StringPtrInput
	// Whether to delete the conditional forwarder when deleting the Trust relationship.
	DeleteAssociatedConditionalForwarder pulumi.BoolPtrInput
	// ID of the Directory.
	DirectoryId pulumi.StringPtrInput
	// Date and time when the Trust was last updated.
	LastUpdatedDateTime pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Fully qualified domain name of the remote Directory.
	RemoteDomainName pulumi.StringPtrInput
	// Whether to enable selective authentication.
	// Valid values are `Enabled` and `Disabled`.
	// Default value is `Disabled`.
	SelectiveAuth pulumi.StringPtrInput
	// Date and time when the Trust state in `trustState` was last updated.
	StateLastUpdatedDateTime pulumi.StringPtrInput
	// The direction of the Trust relationship.
	// Valid values are `One-Way: Outgoing`, `One-Way: Incoming`, and `Two-Way`.
	TrustDirection pulumi.StringPtrInput
	// Password for the Trust.
	// Does not need to match the passwords for either Directory.
	// Can contain upper- and lower-case letters, numbers, and punctuation characters.
	// May be up to 128 characters long.
	TrustPassword pulumi.StringPtrInput
	// State of the Trust relationship.
	// One of `Created`, `VerifyFailed`,`Verified`, `UpdateFailed`,`Updated`,`Deleted`, or `Failed`.
	TrustState pulumi.StringPtrInput
	// Reason for the Trust state set in `trustState`.
	TrustStateReason pulumi.StringPtrInput
	// Type of the Trust relationship.
	// Valid values are `Forest` and `External`.
	// Default value is `Forest`.
	TrustType pulumi.StringPtrInput
}

func (TrustState) ElementType

func (TrustState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL