Shared Directory
    Manages a directory in your account (directory owner) shared with another account (directory consumer).
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.directoryservice.Directory("example", {
    name: "tf-example",
    password: "SuperSecretPassw0rd",
    type: "MicrosoftAD",
    edition: "Standard",
    vpcSettings: {
        vpcId: exampleAwsVpc.id,
        subnetIds: exampleAwsSubnet.map(__item => __item.id),
    },
});
const exampleSharedDirectory = new aws.directoryservice.SharedDirectory("example", {
    directoryId: example.id,
    notes: "You wanna have a catch?",
    target: {
        id: receiver.accountId,
    },
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.directoryservice.Directory("example",
    name="tf-example",
    password="SuperSecretPassw0rd",
    type="MicrosoftAD",
    edition="Standard",
    vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(
        vpc_id=example_aws_vpc["id"],
        subnet_ids=[__item["id"] for __item in example_aws_subnet],
    ))
example_shared_directory = aws.directoryservice.SharedDirectory("example",
    directory_id=example.id,
    notes="You wanna have a catch?",
    target=aws.directoryservice.SharedDirectoryTargetArgs(
        id=receiver["accountId"],
    ))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var example = new Aws.DirectoryService.Directory("example", new()
    {
        Name = "tf-example",
        Password = "SuperSecretPassw0rd",
        Type = "MicrosoftAD",
        Edition = "Standard",
        VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs
        {
            VpcId = exampleAwsVpc.Id,
            SubnetIds = exampleAwsSubnet.Select(__item => __item.Id).ToList(),
        },
    });
    var exampleSharedDirectory = new Aws.DirectoryService.SharedDirectory("example", new()
    {
        DirectoryId = example.Id,
        Notes = "You wanna have a catch?",
        Target = new Aws.DirectoryService.Inputs.SharedDirectoryTargetArgs
        {
            Id = receiver.AccountId,
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/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: %!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
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.directoryservice.Directory;
import com.pulumi.aws.directoryservice.DirectoryArgs;
import com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs;
import com.pulumi.aws.directoryservice.SharedDirectory;
import com.pulumi.aws.directoryservice.SharedDirectoryArgs;
import com.pulumi.aws.directoryservice.inputs.SharedDirectoryTargetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new Directory("example", DirectoryArgs.builder()
            .name("tf-example")
            .password("SuperSecretPassw0rd")
            .type("MicrosoftAD")
            .edition("Standard")
            .vpcSettings(DirectoryVpcSettingsArgs.builder()
                .vpcId(exampleAwsVpc.id())
                .subnetIds(exampleAwsSubnet.stream().map(element -> element.id()).collect(toList()))
                .build())
            .build());
        var exampleSharedDirectory = new SharedDirectory("exampleSharedDirectory", SharedDirectoryArgs.builder()
            .directoryId(example.id())
            .notes("You wanna have a catch?")
            .target(SharedDirectoryTargetArgs.builder()
                .id(receiver.accountId())
                .build())
            .build());
    }
}Content copied to clipboard
Import
Using pulumi import, import Directory Service Shared Directories using the owner directory ID/shared directory ID. For example:
$ pulumi import aws:directoryservice/sharedDirectory:SharedDirectory example d-1234567890/d-9267633eceContent copied to clipboard