AWS Classic

Pulumi Official
Package maintained by Pulumi
v5.4.0 published on Wednesday, May 4, 2022 by Pulumi

Directory

Provides a WorkSpaces directory in AWS WorkSpaces Service.

NOTE: AWS WorkSpaces service requires workspaces_DefaultRole IAM role to operate normally.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var workspaces = Output.Create(Aws.Iam.GetPolicyDocument.InvokeAsync(new Aws.Iam.GetPolicyDocumentArgs
        {
            Statements = 
            {
                new Aws.Iam.Inputs.GetPolicyDocumentStatementArgs
                {
                    Actions = 
                    {
                        "sts:AssumeRole",
                    },
                    Principals = 
                    {
                        new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalArgs
                        {
                            Type = "Service",
                            Identifiers = 
                            {
                                "workspaces.amazonaws.com",
                            },
                        },
                    },
                },
            },
        }));
        var workspacesDefault = new Aws.Iam.Role("workspacesDefault", new Aws.Iam.RoleArgs
        {
            AssumeRolePolicy = workspaces.Apply(workspaces => workspaces.Json),
        });
        var workspacesDefaultServiceAccess = new Aws.Iam.RolePolicyAttachment("workspacesDefaultServiceAccess", new Aws.Iam.RolePolicyAttachmentArgs
        {
            Role = workspacesDefault.Name,
            PolicyArn = "arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess",
        });
        var workspacesDefaultSelfServiceAccess = new Aws.Iam.RolePolicyAttachment("workspacesDefaultSelfServiceAccess", new Aws.Iam.RolePolicyAttachmentArgs
        {
            Role = workspacesDefault.Name,
            PolicyArn = "arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess",
        });
        var exampleVpc = new Aws.Ec2.Vpc("exampleVpc", new Aws.Ec2.VpcArgs
        {
            CidrBlock = "10.0.0.0/16",
        });
        var exampleC = new Aws.Ec2.Subnet("exampleC", new Aws.Ec2.SubnetArgs
        {
            VpcId = exampleVpc.Id,
            AvailabilityZone = "us-east-1c",
            CidrBlock = "10.0.2.0/24",
        });
        var exampleD = new Aws.Ec2.Subnet("exampleD", new Aws.Ec2.SubnetArgs
        {
            VpcId = exampleVpc.Id,
            AvailabilityZone = "us-east-1d",
            CidrBlock = "10.0.3.0/24",
        });
        var exampleDirectory = new Aws.Workspaces.Directory("exampleDirectory", new Aws.Workspaces.DirectoryArgs
        {
            DirectoryId = exampleDirectoryservice / directoryDirectory.Id,
            SubnetIds = 
            {
                exampleC.Id,
                exampleD.Id,
            },
            Tags = 
            {
                { "Example", "true" },
            },
            SelfServicePermissions = new Aws.Workspaces.Inputs.DirectorySelfServicePermissionsArgs
            {
                ChangeComputeType = true,
                IncreaseVolumeSize = true,
                RebuildWorkspace = true,
                RestartWorkspace = true,
                SwitchRunningMode = true,
            },
            WorkspaceAccessProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceAccessPropertiesArgs
            {
                DeviceTypeAndroid = "ALLOW",
                DeviceTypeChromeos = "ALLOW",
                DeviceTypeIos = "ALLOW",
                DeviceTypeLinux = "DENY",
                DeviceTypeOsx = "ALLOW",
                DeviceTypeWeb = "DENY",
                DeviceTypeWindows = "DENY",
                DeviceTypeZeroclient = "DENY",
            },
            WorkspaceCreationProperties = new Aws.Workspaces.Inputs.DirectoryWorkspaceCreationPropertiesArgs
            {
                CustomSecurityGroupId = aws_security_group.Example.Id,
                DefaultOu = "OU=AWS,DC=Workgroup,DC=Example,DC=com",
                EnableInternetAccess = true,
                EnableMaintenanceMode = true,
                UserEnabledAsLocalAdministrator = true,
            },
        }, new CustomResourceOptions
        {
            DependsOn = 
            {
                workspacesDefaultServiceAccess,
                workspacesDefaultSelfServiceAccess,
            },
        });
        var exampleA = new Aws.Ec2.Subnet("exampleA", new Aws.Ec2.SubnetArgs
        {
            VpcId = exampleVpc.Id,
            AvailabilityZone = "us-east-1a",
            CidrBlock = "10.0.0.0/24",
        });
        var exampleB = new Aws.Ec2.Subnet("exampleB", new Aws.Ec2.SubnetArgs
        {
            VpcId = exampleVpc.Id,
            AvailabilityZone = "us-east-1b",
            CidrBlock = "10.0.1.0/24",
        });
        var exampleDirectoryservice_directoryDirectory = new Aws.DirectoryService.Directory("exampleDirectoryservice/directoryDirectory", new Aws.DirectoryService.DirectoryArgs
        {
            Name = "corp.example.com",
            Password = "#S1ncerely",
            Size = "Small",
            VpcSettings = new Aws.DirectoryService.Inputs.DirectoryVpcSettingsArgs
            {
                VpcId = exampleVpc.Id,
                SubnetIds = 
                {
                    exampleA.Id,
                    exampleB.Id,
                },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directoryservice"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/workspaces"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		workspaces, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				iam.GetPolicyDocumentStatement{
					Actions: []string{
						"sts:AssumeRole",
					},
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						iam.GetPolicyDocumentStatementPrincipal{
							Type: "Service",
							Identifiers: []string{
								"workspaces.amazonaws.com",
							},
						},
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		workspacesDefault, err := iam.NewRole(ctx, "workspacesDefault", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(workspaces.Json),
		})
		if err != nil {
			return err
		}
		workspacesDefaultServiceAccess, err := iam.NewRolePolicyAttachment(ctx, "workspacesDefaultServiceAccess", &iam.RolePolicyAttachmentArgs{
			Role:      workspacesDefault.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess"),
		})
		if err != nil {
			return err
		}
		workspacesDefaultSelfServiceAccess, err := iam.NewRolePolicyAttachment(ctx, "workspacesDefaultSelfServiceAccess", &iam.RolePolicyAttachmentArgs{
			Role:      workspacesDefault.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess"),
		})
		if err != nil {
			return err
		}
		exampleVpc, err := ec2.NewVpc(ctx, "exampleVpc", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.0.0.0/16"),
		})
		if err != nil {
			return err
		}
		exampleC, err := ec2.NewSubnet(ctx, "exampleC", &ec2.SubnetArgs{
			VpcId:            exampleVpc.ID(),
			AvailabilityZone: pulumi.String("us-east-1c"),
			CidrBlock:        pulumi.String("10.0.2.0/24"),
		})
		if err != nil {
			return err
		}
		exampleD, err := ec2.NewSubnet(ctx, "exampleD", &ec2.SubnetArgs{
			VpcId:            exampleVpc.ID(),
			AvailabilityZone: pulumi.String("us-east-1d"),
			CidrBlock:        pulumi.String("10.0.3.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = workspaces.NewDirectory(ctx, "exampleDirectory", &workspaces.DirectoryArgs{
			DirectoryId: exampleDirectoryservice / directoryDirectory.Id,
			SubnetIds: pulumi.StringArray{
				exampleC.ID(),
				exampleD.ID(),
			},
			Tags: pulumi.StringMap{
				"Example": pulumi.String("true"),
			},
			SelfServicePermissions: &workspaces.DirectorySelfServicePermissionsArgs{
				ChangeComputeType:  pulumi.Bool(true),
				IncreaseVolumeSize: pulumi.Bool(true),
				RebuildWorkspace:   pulumi.Bool(true),
				RestartWorkspace:   pulumi.Bool(true),
				SwitchRunningMode:  pulumi.Bool(true),
			},
			WorkspaceAccessProperties: &workspaces.DirectoryWorkspaceAccessPropertiesArgs{
				DeviceTypeAndroid:    pulumi.String("ALLOW"),
				DeviceTypeChromeos:   pulumi.String("ALLOW"),
				DeviceTypeIos:        pulumi.String("ALLOW"),
				DeviceTypeLinux:      pulumi.String("DENY"),
				DeviceTypeOsx:        pulumi.String("ALLOW"),
				DeviceTypeWeb:        pulumi.String("DENY"),
				DeviceTypeWindows:    pulumi.String("DENY"),
				DeviceTypeZeroclient: pulumi.String("DENY"),
			},
			WorkspaceCreationProperties: &workspaces.DirectoryWorkspaceCreationPropertiesArgs{
				CustomSecurityGroupId:           pulumi.Any(aws_security_group.Example.Id),
				DefaultOu:                       pulumi.String("OU=AWS,DC=Workgroup,DC=Example,DC=com"),
				EnableInternetAccess:            pulumi.Bool(true),
				EnableMaintenanceMode:           pulumi.Bool(true),
				UserEnabledAsLocalAdministrator: pulumi.Bool(true),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			workspacesDefaultServiceAccess,
			workspacesDefaultSelfServiceAccess,
		}))
		if err != nil {
			return err
		}
		exampleA, err := ec2.NewSubnet(ctx, "exampleA", &ec2.SubnetArgs{
			VpcId:            exampleVpc.ID(),
			AvailabilityZone: pulumi.String("us-east-1a"),
			CidrBlock:        pulumi.String("10.0.0.0/24"),
		})
		if err != nil {
			return err
		}
		exampleB, err := ec2.NewSubnet(ctx, "exampleB", &ec2.SubnetArgs{
			VpcId:            exampleVpc.ID(),
			AvailabilityZone: pulumi.String("us-east-1b"),
			CidrBlock:        pulumi.String("10.0.1.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = directoryservice.NewDirectory(ctx, "exampleDirectoryservice/directoryDirectory", &directoryservice.DirectoryArgs{
			Name:     pulumi.String("corp.example.com"),
			Password: pulumi.String("#S1ncerely"),
			Size:     pulumi.String("Small"),
			VpcSettings: &directoryservice.DirectoryVpcSettingsArgs{
				VpcId: exampleVpc.ID(),
				SubnetIds: pulumi.StringArray{
					exampleA.ID(),
					exampleB.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var workspaces = Output.of(IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatement.builder()
                .actions("sts:AssumeRole")
                .principals(GetPolicyDocumentStatementPrincipal.builder()
                    .type("Service")
                    .identifiers("workspaces.amazonaws.com")
                    .build())
                .build())
            .build()));

        var workspacesDefault = new Role("workspacesDefault", RoleArgs.builder()        
            .assumeRolePolicy(workspaces.apply(getPolicyDocumentResult -> getPolicyDocumentResult.getJson()))
            .build());

        var workspacesDefaultServiceAccess = new RolePolicyAttachment("workspacesDefaultServiceAccess", RolePolicyAttachmentArgs.builder()        
            .role(workspacesDefault.getName())
            .policyArn("arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess")
            .build());

        var workspacesDefaultSelfServiceAccess = new RolePolicyAttachment("workspacesDefaultSelfServiceAccess", RolePolicyAttachmentArgs.builder()        
            .role(workspacesDefault.getName())
            .policyArn("arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess")
            .build());

        var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()        
            .cidrBlock("10.0.0.0/16")
            .build());

        var exampleC = new Subnet("exampleC", SubnetArgs.builder()        
            .vpcId(exampleVpc.getId())
            .availabilityZone("us-east-1c")
            .cidrBlock("10.0.2.0/24")
            .build());

        var exampleD = new Subnet("exampleD", SubnetArgs.builder()        
            .vpcId(exampleVpc.getId())
            .availabilityZone("us-east-1d")
            .cidrBlock("10.0.3.0/24")
            .build());

        var exampleDirectory = new Directory("exampleDirectory", DirectoryArgs.builder()        
            .directoryId(exampleDirectoryservice / directoryDirectory.getId())
            .subnetIds(            
                exampleC.getId(),
                exampleD.getId())
            .tags(Map.of("Example", true))
            .selfServicePermissions(DirectorySelfServicePermissions.builder()
                .changeComputeType(true)
                .increaseVolumeSize(true)
                .rebuildWorkspace(true)
                .restartWorkspace(true)
                .switchRunningMode(true)
                .build())
            .workspaceAccessProperties(DirectoryWorkspaceAccessProperties.builder()
                .deviceTypeAndroid("ALLOW")
                .deviceTypeChromeos("ALLOW")
                .deviceTypeIos("ALLOW")
                .deviceTypeLinux("DENY")
                .deviceTypeOsx("ALLOW")
                .deviceTypeWeb("DENY")
                .deviceTypeWindows("DENY")
                .deviceTypeZeroclient("DENY")
                .build())
            .workspaceCreationProperties(DirectoryWorkspaceCreationProperties.builder()
                .customSecurityGroupId(aws_security_group.getExample().getId())
                .defaultOu("OU=AWS,DC=Workgroup,DC=Example,DC=com")
                .enableInternetAccess(true)
                .enableMaintenanceMode(true)
                .userEnabledAsLocalAdministrator(true)
                .build())
            .build());

        var exampleA = new Subnet("exampleA", SubnetArgs.builder()        
            .vpcId(exampleVpc.getId())
            .availabilityZone("us-east-1a")
            .cidrBlock("10.0.0.0/24")
            .build());

        var exampleB = new Subnet("exampleB", SubnetArgs.builder()        
            .vpcId(exampleVpc.getId())
            .availabilityZone("us-east-1b")
            .cidrBlock("10.0.1.0/24")
            .build());

        var exampleDirectoryservice_directoryDirectory = new Directory("exampleDirectoryservice/directoryDirectory", DirectoryArgs.builder()        
            .name("corp.example.com")
            .password("#S1ncerely")
            .size("Small")
            .vpcSettings(DirectoryVpcSettings.builder()
                .vpcId(exampleVpc.getId())
                .subnetIds(                
                    exampleA.getId(),
                    exampleB.getId())
                .build())
            .build());

        }
}
import pulumi
import pulumi_aws as aws

workspaces = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(
    actions=["sts:AssumeRole"],
    principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(
        type="Service",
        identifiers=["workspaces.amazonaws.com"],
    )],
)])
workspaces_default = aws.iam.Role("workspacesDefault", assume_role_policy=workspaces.json)
workspaces_default_service_access = aws.iam.RolePolicyAttachment("workspacesDefaultServiceAccess",
    role=workspaces_default.name,
    policy_arn="arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess")
workspaces_default_self_service_access = aws.iam.RolePolicyAttachment("workspacesDefaultSelfServiceAccess",
    role=workspaces_default.name,
    policy_arn="arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess")
example_vpc = aws.ec2.Vpc("exampleVpc", cidr_block="10.0.0.0/16")
example_c = aws.ec2.Subnet("exampleC",
    vpc_id=example_vpc.id,
    availability_zone="us-east-1c",
    cidr_block="10.0.2.0/24")
example_d = aws.ec2.Subnet("exampleD",
    vpc_id=example_vpc.id,
    availability_zone="us-east-1d",
    cidr_block="10.0.3.0/24")
example_directory = aws.workspaces.Directory("exampleDirectory",
    directory_id=example_directoryservice / directory_directory["id"],
    subnet_ids=[
        example_c.id,
        example_d.id,
    ],
    tags={
        "Example": "true",
    },
    self_service_permissions=aws.workspaces.DirectorySelfServicePermissionsArgs(
        change_compute_type=True,
        increase_volume_size=True,
        rebuild_workspace=True,
        restart_workspace=True,
        switch_running_mode=True,
    ),
    workspace_access_properties=aws.workspaces.DirectoryWorkspaceAccessPropertiesArgs(
        device_type_android="ALLOW",
        device_type_chromeos="ALLOW",
        device_type_ios="ALLOW",
        device_type_linux="DENY",
        device_type_osx="ALLOW",
        device_type_web="DENY",
        device_type_windows="DENY",
        device_type_zeroclient="DENY",
    ),
    workspace_creation_properties=aws.workspaces.DirectoryWorkspaceCreationPropertiesArgs(
        custom_security_group_id=aws_security_group["example"]["id"],
        default_ou="OU=AWS,DC=Workgroup,DC=Example,DC=com",
        enable_internet_access=True,
        enable_maintenance_mode=True,
        user_enabled_as_local_administrator=True,
    ),
    opts=pulumi.ResourceOptions(depends_on=[
            workspaces_default_service_access,
            workspaces_default_self_service_access,
        ]))
example_a = aws.ec2.Subnet("exampleA",
    vpc_id=example_vpc.id,
    availability_zone="us-east-1a",
    cidr_block="10.0.0.0/24")
example_b = aws.ec2.Subnet("exampleB",
    vpc_id=example_vpc.id,
    availability_zone="us-east-1b",
    cidr_block="10.0.1.0/24")
example_directoryservice_directory_directory = aws.directoryservice.Directory("exampleDirectoryservice/directoryDirectory",
    name="corp.example.com",
    password="#S1ncerely",
    size="Small",
    vpc_settings=aws.directoryservice.DirectoryVpcSettingsArgs(
        vpc_id=example_vpc.id,
        subnet_ids=[
            example_a.id,
            example_b.id,
        ],
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const workspaces = aws.iam.getPolicyDocument({
    statements: [{
        actions: ["sts:AssumeRole"],
        principals: [{
            type: "Service",
            identifiers: ["workspaces.amazonaws.com"],
        }],
    }],
});
const workspacesDefault = new aws.iam.Role("workspacesDefault", {assumeRolePolicy: workspaces.then(workspaces => workspaces.json)});
const workspacesDefaultServiceAccess = new aws.iam.RolePolicyAttachment("workspacesDefaultServiceAccess", {
    role: workspacesDefault.name,
    policyArn: "arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess",
});
const workspacesDefaultSelfServiceAccess = new aws.iam.RolePolicyAttachment("workspacesDefaultSelfServiceAccess", {
    role: workspacesDefault.name,
    policyArn: "arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess",
});
const exampleVpc = new aws.ec2.Vpc("exampleVpc", {cidrBlock: "10.0.0.0/16"});
const exampleC = new aws.ec2.Subnet("exampleC", {
    vpcId: exampleVpc.id,
    availabilityZone: "us-east-1c",
    cidrBlock: "10.0.2.0/24",
});
const exampleD = new aws.ec2.Subnet("exampleD", {
    vpcId: exampleVpc.id,
    availabilityZone: "us-east-1d",
    cidrBlock: "10.0.3.0/24",
});
const exampleDirectory = new aws.workspaces.Directory("exampleDirectory", {
    directoryId: exampleDirectoryservice / directoryDirectory.id,
    subnetIds: [
        exampleC.id,
        exampleD.id,
    ],
    tags: {
        Example: "true",
    },
    selfServicePermissions: {
        changeComputeType: true,
        increaseVolumeSize: true,
        rebuildWorkspace: true,
        restartWorkspace: true,
        switchRunningMode: true,
    },
    workspaceAccessProperties: {
        deviceTypeAndroid: "ALLOW",
        deviceTypeChromeos: "ALLOW",
        deviceTypeIos: "ALLOW",
        deviceTypeLinux: "DENY",
        deviceTypeOsx: "ALLOW",
        deviceTypeWeb: "DENY",
        deviceTypeWindows: "DENY",
        deviceTypeZeroclient: "DENY",
    },
    workspaceCreationProperties: {
        customSecurityGroupId: aws_security_group.example.id,
        defaultOu: "OU=AWS,DC=Workgroup,DC=Example,DC=com",
        enableInternetAccess: true,
        enableMaintenanceMode: true,
        userEnabledAsLocalAdministrator: true,
    },
}, {
    dependsOn: [
        workspacesDefaultServiceAccess,
        workspacesDefaultSelfServiceAccess,
    ],
});
const exampleA = new aws.ec2.Subnet("exampleA", {
    vpcId: exampleVpc.id,
    availabilityZone: "us-east-1a",
    cidrBlock: "10.0.0.0/24",
});
const exampleB = new aws.ec2.Subnet("exampleB", {
    vpcId: exampleVpc.id,
    availabilityZone: "us-east-1b",
    cidrBlock: "10.0.1.0/24",
});
const exampleDirectoryservice_directoryDirectory = new aws.directoryservice.Directory("exampleDirectoryservice/directoryDirectory", {
    name: "corp.example.com",
    password: "#S1ncerely",
    size: "Small",
    vpcSettings: {
        vpcId: exampleVpc.id,
        subnetIds: [
            exampleA.id,
            exampleB.id,
        ],
    },
});

Coming soon!

IP Groups

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleIpGroup = new Aws.Workspaces.IpGroup("exampleIpGroup", new Aws.Workspaces.IpGroupArgs
        {
        });
        var exampleDirectory = new Aws.Workspaces.Directory("exampleDirectory", new Aws.Workspaces.DirectoryArgs
        {
            DirectoryId = aws_directory_service_directory.Example.Id,
            IpGroupIds = 
            {
                exampleIpGroup.Id,
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/workspaces"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleIpGroup, err := workspaces.NewIpGroup(ctx, "exampleIpGroup", nil)
		if err != nil {
			return err
		}
		_, err = workspaces.NewDirectory(ctx, "exampleDirectory", &workspaces.DirectoryArgs{
			DirectoryId: pulumi.Any(aws_directory_service_directory.Example.Id),
			IpGroupIds: pulumi.StringArray{
				exampleIpGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleIpGroup = new IpGroup("exampleIpGroup");

        var exampleDirectory = new Directory("exampleDirectory", DirectoryArgs.builder()        
            .directoryId(aws_directory_service_directory.getExample().getId())
            .ipGroupIds(exampleIpGroup.getId())
            .build());

        }
}
import pulumi
import pulumi_aws as aws

example_ip_group = aws.workspaces.IpGroup("exampleIpGroup")
example_directory = aws.workspaces.Directory("exampleDirectory",
    directory_id=aws_directory_service_directory["example"]["id"],
    ip_group_ids=[example_ip_group.id])
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleIpGroup = new aws.workspaces.IpGroup("exampleIpGroup", {});
const exampleDirectory = new aws.workspaces.Directory("exampleDirectory", {
    directoryId: aws_directory_service_directory.example.id,
    ipGroupIds: [exampleIpGroup.id],
});
resources:
  exampleDirectory:
    type: aws:workspaces:Directory
    properties:
      directoryId: ${aws_directory_service_directory.example.id}
      ipGroupIds:
        - ${exampleIpGroup.id}
  exampleIpGroup:
    type: aws:workspaces:IpGroup

Create a Directory Resource

new Directory(name: string, args: DirectoryArgs, opts?: CustomResourceOptions);
@overload
def Directory(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              directory_id: Optional[str] = None,
              ip_group_ids: Optional[Sequence[str]] = None,
              self_service_permissions: Optional[DirectorySelfServicePermissionsArgs] = None,
              subnet_ids: Optional[Sequence[str]] = None,
              tags: Optional[Mapping[str, str]] = None,
              workspace_access_properties: Optional[DirectoryWorkspaceAccessPropertiesArgs] = None,
              workspace_creation_properties: Optional[DirectoryWorkspaceCreationPropertiesArgs] = None)
@overload
def Directory(resource_name: str,
              args: DirectoryArgs,
              opts: Optional[ResourceOptions] = None)
func NewDirectory(ctx *Context, name string, args DirectoryArgs, opts ...ResourceOption) (*Directory, error)
public Directory(string name, DirectoryArgs args, CustomResourceOptions? opts = null)
public Directory(String name, DirectoryArgs args)
public Directory(String name, DirectoryArgs args, CustomResourceOptions options)
type: aws:workspaces:Directory
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args DirectoryArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Directory Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Directory resource accepts the following input properties:

DirectoryId string

The directory identifier for registration in WorkSpaces service.

IpGroupIds List<string>

The identifiers of the IP access control groups associated with the directory.

SelfServicePermissions Pulumi.Aws.Workspaces.Inputs.DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

SubnetIds List<string>

The identifiers of the subnets where the directory resides.

Tags Dictionary<string, string>

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

WorkspaceAccessProperties Pulumi.Aws.Workspaces.Inputs.DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

WorkspaceCreationProperties Pulumi.Aws.Workspaces.Inputs.DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

DirectoryId string

The directory identifier for registration in WorkSpaces service.

IpGroupIds []string

The identifiers of the IP access control groups associated with the directory.

SelfServicePermissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

SubnetIds []string

The identifiers of the subnets where the directory resides.

Tags map[string]string

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

WorkspaceAccessProperties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

WorkspaceCreationProperties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

directoryId String

The directory identifier for registration in WorkSpaces service.

ipGroupIds List

The identifiers of the IP access control groups associated with the directory.

selfServicePermissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

subnetIds List

The identifiers of the subnets where the directory resides.

tags Map

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

workspaceAccessProperties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspaceCreationProperties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

directoryId string

The directory identifier for registration in WorkSpaces service.

ipGroupIds string[]

The identifiers of the IP access control groups associated with the directory.

selfServicePermissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

subnetIds string[]

The identifiers of the subnets where the directory resides.

tags {[key: string]: string}

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

workspaceAccessProperties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspaceCreationProperties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

directory_id str

The directory identifier for registration in WorkSpaces service.

ip_group_ids Sequence[str]

The identifiers of the IP access control groups associated with the directory.

self_service_permissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

subnet_ids Sequence[str]

The identifiers of the subnets where the directory resides.

tags Mapping[str, str]

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

workspace_access_properties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspace_creation_properties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

directoryId String

The directory identifier for registration in WorkSpaces service.

ipGroupIds List

The identifiers of the IP access control groups associated with the directory.

selfServicePermissions Property Map

Permissions to enable or disable self-service capabilities. Defined below.

subnetIds List

The identifiers of the subnets where the directory resides.

tags Map

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

workspaceAccessProperties Property Map

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspaceCreationProperties Property Map

Default properties that are used for creating WorkSpaces. Defined below.

Outputs

All input properties are implicitly available as output properties. Additionally, the Directory resource produces the following output properties:

Alias string

The directory alias.

CustomerUserName string

The user name for the service account.

DirectoryName string

The name of the directory.

DirectoryType string

The directory type.

DnsIpAddresses List<string>

The IP addresses of the DNS servers for the directory.

IamRoleId string

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

Id string

The provider-assigned unique ID for this managed resource.

RegistrationCode string

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

TagsAll Dictionary<string, string>

A map of tags assigned to the resource, including those inherited from the provider .

WorkspaceSecurityGroupId string

The identifier of the security group that is assigned to new WorkSpaces.

Alias string

The directory alias.

CustomerUserName string

The user name for the service account.

DirectoryName string

The name of the directory.

DirectoryType string

The directory type.

DnsIpAddresses []string

The IP addresses of the DNS servers for the directory.

IamRoleId string

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

Id string

The provider-assigned unique ID for this managed resource.

RegistrationCode string

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

TagsAll map[string]string

A map of tags assigned to the resource, including those inherited from the provider .

WorkspaceSecurityGroupId string

The identifier of the security group that is assigned to new WorkSpaces.

alias String

The directory alias.

customerUserName String

The user name for the service account.

directoryName String

The name of the directory.

directoryType String

The directory type.

dnsIpAddresses List

The IP addresses of the DNS servers for the directory.

iamRoleId String

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

id String

The provider-assigned unique ID for this managed resource.

registrationCode String

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

tagsAll Map

A map of tags assigned to the resource, including those inherited from the provider .

workspaceSecurityGroupId String

The identifier of the security group that is assigned to new WorkSpaces.

alias string

The directory alias.

customerUserName string

The user name for the service account.

directoryName string

The name of the directory.

directoryType string

The directory type.

dnsIpAddresses string[]

The IP addresses of the DNS servers for the directory.

iamRoleId string

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

id string

The provider-assigned unique ID for this managed resource.

registrationCode string

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

tagsAll {[key: string]: string}

A map of tags assigned to the resource, including those inherited from the provider .

workspaceSecurityGroupId string

The identifier of the security group that is assigned to new WorkSpaces.

alias str

The directory alias.

customer_user_name str

The user name for the service account.

directory_name str

The name of the directory.

directory_type str

The directory type.

dns_ip_addresses Sequence[str]

The IP addresses of the DNS servers for the directory.

iam_role_id str

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

id str

The provider-assigned unique ID for this managed resource.

registration_code str

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

tags_all Mapping[str, str]

A map of tags assigned to the resource, including those inherited from the provider .

workspace_security_group_id str

The identifier of the security group that is assigned to new WorkSpaces.

alias String

The directory alias.

customerUserName String

The user name for the service account.

directoryName String

The name of the directory.

directoryType String

The directory type.

dnsIpAddresses List

The IP addresses of the DNS servers for the directory.

iamRoleId String

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

id String

The provider-assigned unique ID for this managed resource.

registrationCode String

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

tagsAll Map

A map of tags assigned to the resource, including those inherited from the provider .

workspaceSecurityGroupId String

The identifier of the security group that is assigned to new WorkSpaces.

Look up an Existing Directory Resource

Get an existing Directory resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: DirectoryState, opts?: CustomResourceOptions): Directory
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        alias: Optional[str] = None,
        customer_user_name: Optional[str] = None,
        directory_id: Optional[str] = None,
        directory_name: Optional[str] = None,
        directory_type: Optional[str] = None,
        dns_ip_addresses: Optional[Sequence[str]] = None,
        iam_role_id: Optional[str] = None,
        ip_group_ids: Optional[Sequence[str]] = None,
        registration_code: Optional[str] = None,
        self_service_permissions: Optional[DirectorySelfServicePermissionsArgs] = None,
        subnet_ids: Optional[Sequence[str]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        workspace_access_properties: Optional[DirectoryWorkspaceAccessPropertiesArgs] = None,
        workspace_creation_properties: Optional[DirectoryWorkspaceCreationPropertiesArgs] = None,
        workspace_security_group_id: Optional[str] = None) -> Directory
func GetDirectory(ctx *Context, name string, id IDInput, state *DirectoryState, opts ...ResourceOption) (*Directory, error)
public static Directory Get(string name, Input<string> id, DirectoryState? state, CustomResourceOptions? opts = null)
public static Directory get(String name, Output<String> id, DirectoryState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Alias string

The directory alias.

CustomerUserName string

The user name for the service account.

DirectoryId string

The directory identifier for registration in WorkSpaces service.

DirectoryName string

The name of the directory.

DirectoryType string

The directory type.

DnsIpAddresses List<string>

The IP addresses of the DNS servers for the directory.

IamRoleId string

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

IpGroupIds List<string>

The identifiers of the IP access control groups associated with the directory.

RegistrationCode string

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

SelfServicePermissions Pulumi.Aws.Workspaces.Inputs.DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

SubnetIds List<string>

The identifiers of the subnets where the directory resides.

Tags Dictionary<string, string>

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

TagsAll Dictionary<string, string>

A map of tags assigned to the resource, including those inherited from the provider .

WorkspaceAccessProperties Pulumi.Aws.Workspaces.Inputs.DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

WorkspaceCreationProperties Pulumi.Aws.Workspaces.Inputs.DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

WorkspaceSecurityGroupId string

The identifier of the security group that is assigned to new WorkSpaces.

Alias string

The directory alias.

CustomerUserName string

The user name for the service account.

DirectoryId string

The directory identifier for registration in WorkSpaces service.

DirectoryName string

The name of the directory.

DirectoryType string

The directory type.

DnsIpAddresses []string

The IP addresses of the DNS servers for the directory.

IamRoleId string

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

IpGroupIds []string

The identifiers of the IP access control groups associated with the directory.

RegistrationCode string

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

SelfServicePermissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

SubnetIds []string

The identifiers of the subnets where the directory resides.

Tags map[string]string

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

TagsAll map[string]string

A map of tags assigned to the resource, including those inherited from the provider .

WorkspaceAccessProperties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

WorkspaceCreationProperties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

WorkspaceSecurityGroupId string

The identifier of the security group that is assigned to new WorkSpaces.

alias String

The directory alias.

customerUserName String

The user name for the service account.

directoryId String

The directory identifier for registration in WorkSpaces service.

directoryName String

The name of the directory.

directoryType String

The directory type.

dnsIpAddresses List

The IP addresses of the DNS servers for the directory.

iamRoleId String

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

ipGroupIds List

The identifiers of the IP access control groups associated with the directory.

registrationCode String

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

selfServicePermissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

subnetIds List

The identifiers of the subnets where the directory resides.

tags Map

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll Map

A map of tags assigned to the resource, including those inherited from the provider .

workspaceAccessProperties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspaceCreationProperties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

workspaceSecurityGroupId String

The identifier of the security group that is assigned to new WorkSpaces.

alias string

The directory alias.

customerUserName string

The user name for the service account.

directoryId string

The directory identifier for registration in WorkSpaces service.

directoryName string

The name of the directory.

directoryType string

The directory type.

dnsIpAddresses string[]

The IP addresses of the DNS servers for the directory.

iamRoleId string

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

ipGroupIds string[]

The identifiers of the IP access control groups associated with the directory.

registrationCode string

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

selfServicePermissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

subnetIds string[]

The identifiers of the subnets where the directory resides.

tags {[key: string]: string}

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll {[key: string]: string}

A map of tags assigned to the resource, including those inherited from the provider .

workspaceAccessProperties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspaceCreationProperties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

workspaceSecurityGroupId string

The identifier of the security group that is assigned to new WorkSpaces.

alias str

The directory alias.

customer_user_name str

The user name for the service account.

directory_id str

The directory identifier for registration in WorkSpaces service.

directory_name str

The name of the directory.

directory_type str

The directory type.

dns_ip_addresses Sequence[str]

The IP addresses of the DNS servers for the directory.

iam_role_id str

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

ip_group_ids Sequence[str]

The identifiers of the IP access control groups associated with the directory.

registration_code str

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

self_service_permissions DirectorySelfServicePermissionsArgs

Permissions to enable or disable self-service capabilities. Defined below.

subnet_ids Sequence[str]

The identifiers of the subnets where the directory resides.

tags Mapping[str, str]

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tags_all Mapping[str, str]

A map of tags assigned to the resource, including those inherited from the provider .

workspace_access_properties DirectoryWorkspaceAccessPropertiesArgs

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspace_creation_properties DirectoryWorkspaceCreationPropertiesArgs

Default properties that are used for creating WorkSpaces. Defined below.

workspace_security_group_id str

The identifier of the security group that is assigned to new WorkSpaces.

alias String

The directory alias.

customerUserName String

The user name for the service account.

directoryId String

The directory identifier for registration in WorkSpaces service.

directoryName String

The name of the directory.

directoryType String

The directory type.

dnsIpAddresses List

The IP addresses of the DNS servers for the directory.

iamRoleId String

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

ipGroupIds List

The identifiers of the IP access control groups associated with the directory.

registrationCode String

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

selfServicePermissions Property Map

Permissions to enable or disable self-service capabilities. Defined below.

subnetIds List

The identifiers of the subnets where the directory resides.

tags Map

A map of tags assigned to the WorkSpaces directory. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll Map

A map of tags assigned to the resource, including those inherited from the provider .

workspaceAccessProperties Property Map

Specifies which devices and operating systems users can use to access their WorkSpaces. Defined below.

workspaceCreationProperties Property Map

Default properties that are used for creating WorkSpaces. Defined below.

workspaceSecurityGroupId String

The identifier of the security group that is assigned to new WorkSpaces.

Supporting Types

DirectorySelfServicePermissions

ChangeComputeType bool

Whether WorkSpaces directory users can change the compute type (bundle) for their workspace. Default false.

IncreaseVolumeSize bool

Whether WorkSpaces directory users can increase the volume size of the drives on their workspace. Default false.

RebuildWorkspace bool

Whether WorkSpaces directory users can rebuild the operating system of a workspace to its original state. Default false.

RestartWorkspace bool

Whether WorkSpaces directory users can restart their workspace. Default true.

SwitchRunningMode bool

Whether WorkSpaces directory users can switch the running mode of their workspace. Default false.

ChangeComputeType bool

Whether WorkSpaces directory users can change the compute type (bundle) for their workspace. Default false.

IncreaseVolumeSize bool

Whether WorkSpaces directory users can increase the volume size of the drives on their workspace. Default false.

RebuildWorkspace bool

Whether WorkSpaces directory users can rebuild the operating system of a workspace to its original state. Default false.

RestartWorkspace bool

Whether WorkSpaces directory users can restart their workspace. Default true.

SwitchRunningMode bool

Whether WorkSpaces directory users can switch the running mode of their workspace. Default false.

changeComputeType Boolean

Whether WorkSpaces directory users can change the compute type (bundle) for their workspace. Default false.

increaseVolumeSize Boolean

Whether WorkSpaces directory users can increase the volume size of the drives on their workspace. Default false.

rebuildWorkspace Boolean

Whether WorkSpaces directory users can rebuild the operating system of a workspace to its original state. Default false.

restartWorkspace Boolean

Whether WorkSpaces directory users can restart their workspace. Default true.

switchRunningMode Boolean

Whether WorkSpaces directory users can switch the running mode of their workspace. Default false.

changeComputeType boolean

Whether WorkSpaces directory users can change the compute type (bundle) for their workspace. Default false.

increaseVolumeSize boolean

Whether WorkSpaces directory users can increase the volume size of the drives on their workspace. Default false.

rebuildWorkspace boolean

Whether WorkSpaces directory users can rebuild the operating system of a workspace to its original state. Default false.

restartWorkspace boolean

Whether WorkSpaces directory users can restart their workspace. Default true.

switchRunningMode boolean

Whether WorkSpaces directory users can switch the running mode of their workspace. Default false.

change_compute_type bool

Whether WorkSpaces directory users can change the compute type (bundle) for their workspace. Default false.

increase_volume_size bool

Whether WorkSpaces directory users can increase the volume size of the drives on their workspace. Default false.

rebuild_workspace bool

Whether WorkSpaces directory users can rebuild the operating system of a workspace to its original state. Default false.

restart_workspace bool

Whether WorkSpaces directory users can restart their workspace. Default true.

switch_running_mode bool

Whether WorkSpaces directory users can switch the running mode of their workspace. Default false.

changeComputeType Boolean

Whether WorkSpaces directory users can change the compute type (bundle) for their workspace. Default false.

increaseVolumeSize Boolean

Whether WorkSpaces directory users can increase the volume size of the drives on their workspace. Default false.

rebuildWorkspace Boolean

Whether WorkSpaces directory users can rebuild the operating system of a workspace to its original state. Default false.

restartWorkspace Boolean

Whether WorkSpaces directory users can restart their workspace. Default true.

switchRunningMode Boolean

Whether WorkSpaces directory users can switch the running mode of their workspace. Default false.

DirectoryWorkspaceAccessProperties

DeviceTypeAndroid string

Indicates whether users can use Android devices to access their WorkSpaces.

DeviceTypeChromeos string

Indicates whether users can use Chromebooks to access their WorkSpaces.

DeviceTypeIos string

Indicates whether users can use iOS devices to access their WorkSpaces.

DeviceTypeLinux string

Indicates whether users can use Linux clients to access their WorkSpaces.

DeviceTypeOsx string

Indicates whether users can use macOS clients to access their WorkSpaces.

DeviceTypeWeb string

Indicates whether users can access their WorkSpaces through a web browser.

DeviceTypeWindows string

Indicates whether users can use Windows clients to access their WorkSpaces.

DeviceTypeZeroclient string

Indicates whether users can use zero client devices to access their WorkSpaces.

DeviceTypeAndroid string

Indicates whether users can use Android devices to access their WorkSpaces.

DeviceTypeChromeos string

Indicates whether users can use Chromebooks to access their WorkSpaces.

DeviceTypeIos string

Indicates whether users can use iOS devices to access their WorkSpaces.

DeviceTypeLinux string

Indicates whether users can use Linux clients to access their WorkSpaces.

DeviceTypeOsx string

Indicates whether users can use macOS clients to access their WorkSpaces.

DeviceTypeWeb string

Indicates whether users can access their WorkSpaces through a web browser.

DeviceTypeWindows string

Indicates whether users can use Windows clients to access their WorkSpaces.

DeviceTypeZeroclient string

Indicates whether users can use zero client devices to access their WorkSpaces.

deviceTypeAndroid String

Indicates whether users can use Android devices to access their WorkSpaces.

deviceTypeChromeos String

Indicates whether users can use Chromebooks to access their WorkSpaces.

deviceTypeIos String

Indicates whether users can use iOS devices to access their WorkSpaces.

deviceTypeLinux String

Indicates whether users can use Linux clients to access their WorkSpaces.

deviceTypeOsx String

Indicates whether users can use macOS clients to access their WorkSpaces.

deviceTypeWeb String

Indicates whether users can access their WorkSpaces through a web browser.

deviceTypeWindows String

Indicates whether users can use Windows clients to access their WorkSpaces.

deviceTypeZeroclient String

Indicates whether users can use zero client devices to access their WorkSpaces.

deviceTypeAndroid string

Indicates whether users can use Android devices to access their WorkSpaces.

deviceTypeChromeos string

Indicates whether users can use Chromebooks to access their WorkSpaces.

deviceTypeIos string

Indicates whether users can use iOS devices to access their WorkSpaces.

deviceTypeLinux string

Indicates whether users can use Linux clients to access their WorkSpaces.

deviceTypeOsx string

Indicates whether users can use macOS clients to access their WorkSpaces.

deviceTypeWeb string

Indicates whether users can access their WorkSpaces through a web browser.

deviceTypeWindows string

Indicates whether users can use Windows clients to access their WorkSpaces.

deviceTypeZeroclient string

Indicates whether users can use zero client devices to access their WorkSpaces.

device_type_android str

Indicates whether users can use Android devices to access their WorkSpaces.

device_type_chromeos str

Indicates whether users can use Chromebooks to access their WorkSpaces.

device_type_ios str

Indicates whether users can use iOS devices to access their WorkSpaces.

device_type_linux str

Indicates whether users can use Linux clients to access their WorkSpaces.

device_type_osx str

Indicates whether users can use macOS clients to access their WorkSpaces.

device_type_web str

Indicates whether users can access their WorkSpaces through a web browser.

device_type_windows str

Indicates whether users can use Windows clients to access their WorkSpaces.

device_type_zeroclient str

Indicates whether users can use zero client devices to access their WorkSpaces.

deviceTypeAndroid String

Indicates whether users can use Android devices to access their WorkSpaces.

deviceTypeChromeos String

Indicates whether users can use Chromebooks to access their WorkSpaces.

deviceTypeIos String

Indicates whether users can use iOS devices to access their WorkSpaces.

deviceTypeLinux String

Indicates whether users can use Linux clients to access their WorkSpaces.

deviceTypeOsx String

Indicates whether users can use macOS clients to access their WorkSpaces.

deviceTypeWeb String

Indicates whether users can access their WorkSpaces through a web browser.

deviceTypeWindows String

Indicates whether users can use Windows clients to access their WorkSpaces.

deviceTypeZeroclient String

Indicates whether users can use zero client devices to access their WorkSpaces.

DirectoryWorkspaceCreationProperties

CustomSecurityGroupId string

The identifier of your custom security group. Should relate to the same VPC, where workspaces reside in.

DefaultOu string

The default organizational unit (OU) for your WorkSpace directories. Should conform "OU=<value>,DC=<value>,...,DC=<value>" pattern.

EnableInternetAccess bool

Indicates whether internet access is enabled for your WorkSpaces.

EnableMaintenanceMode bool

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance..

UserEnabledAsLocalAdministrator bool

Indicates whether users are local administrators of their WorkSpaces.

CustomSecurityGroupId string

The identifier of your custom security group. Should relate to the same VPC, where workspaces reside in.

DefaultOu string

The default organizational unit (OU) for your WorkSpace directories. Should conform "OU=<value>,DC=<value>,...,DC=<value>" pattern.

EnableInternetAccess bool

Indicates whether internet access is enabled for your WorkSpaces.

EnableMaintenanceMode bool

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance..

UserEnabledAsLocalAdministrator bool

Indicates whether users are local administrators of their WorkSpaces.

customSecurityGroupId String

The identifier of your custom security group. Should relate to the same VPC, where workspaces reside in.

defaultOu String

The default organizational unit (OU) for your WorkSpace directories. Should conform "OU=<value>,DC=<value>,...,DC=<value>" pattern.

enableInternetAccess Boolean

Indicates whether internet access is enabled for your WorkSpaces.

enableMaintenanceMode Boolean

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance..

userEnabledAsLocalAdministrator Boolean

Indicates whether users are local administrators of their WorkSpaces.

customSecurityGroupId string

The identifier of your custom security group. Should relate to the same VPC, where workspaces reside in.

defaultOu string

The default organizational unit (OU) for your WorkSpace directories. Should conform "OU=<value>,DC=<value>,...,DC=<value>" pattern.

enableInternetAccess boolean

Indicates whether internet access is enabled for your WorkSpaces.

enableMaintenanceMode boolean

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance..

userEnabledAsLocalAdministrator boolean

Indicates whether users are local administrators of their WorkSpaces.

custom_security_group_id str

The identifier of your custom security group. Should relate to the same VPC, where workspaces reside in.

default_ou str

The default organizational unit (OU) for your WorkSpace directories. Should conform "OU=<value>,DC=<value>,...,DC=<value>" pattern.

enable_internet_access bool

Indicates whether internet access is enabled for your WorkSpaces.

enable_maintenance_mode bool

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance..

user_enabled_as_local_administrator bool

Indicates whether users are local administrators of their WorkSpaces.

customSecurityGroupId String

The identifier of your custom security group. Should relate to the same VPC, where workspaces reside in.

defaultOu String

The default organizational unit (OU) for your WorkSpace directories. Should conform "OU=<value>,DC=<value>,...,DC=<value>" pattern.

enableInternetAccess Boolean

Indicates whether internet access is enabled for your WorkSpaces.

enableMaintenanceMode Boolean

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance..

userEnabledAsLocalAdministrator Boolean

Indicates whether users are local administrators of their WorkSpaces.

Import

Workspaces directory can be imported using the directory ID, e.g.,

 $ pulumi import aws:workspaces/directory:Directory main d-4444444444

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.