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={
"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={
"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: []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
})
}
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-9267633ece
Content copied to clipboard
Properties
Link copied to clipboard
Identifier of the Managed Microsoft AD directory that you want to share with other accounts.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Identifier of the directory that is stored in the directory consumer account that corresponds to the shared directory in the owner account.
Link copied to clipboard
Identifier for the directory consumer account with whom the directory is to be shared. See below. The following arguments are optional: