SharedDirectoryArgs

data class SharedDirectoryArgs(val directoryId: Output<String>? = null, val method: Output<String>? = null, val notes: Output<String>? = null, val target: Output<SharedDirectoryTargetArgs>? = null) : ConvertibleToJava<SharedDirectoryArgs>

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

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

Constructors

Link copied to clipboard
constructor(directoryId: Output<String>? = null, method: Output<String>? = null, notes: Output<String>? = null, target: Output<SharedDirectoryTargetArgs>? = null)

Properties

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

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

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

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

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

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.

Link copied to clipboard
val target: Output<SharedDirectoryTargetArgs>? = null

Identifier for the directory consumer account with whom the directory is to be shared. See below. The following arguments are optional:

Functions

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