Module workspaces
This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the
pulumi/pulumi-awsrepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-awsrepo.
Resources
Functions
Others
- DirectoryArgs
- DirectoryState
- GetBundleArgs
- GetBundleResult
- IpGroupArgs
- IpGroupState
- WorkspaceArgs
- WorkspaceState
Resources
Resource Directory
class Directory extends CustomResourceProvides a directory registration in AWS WorkSpaces Service
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mainVpc = new aws.ec2.Vpc("main", {
cidrBlock: "10.0.0.0/16",
});
const private_a = new aws.ec2.Subnet("private-a", {
availabilityZone: "us-east-1a",
cidrBlock: "10.0.0.0/24",
vpcId: mainVpc.id,
});
const private_b = new aws.ec2.Subnet("private-b", {
availabilityZone: "us-east-1b",
cidrBlock: "10.0.1.0/24",
vpcId: mainVpc.id,
});
const mainDirectory = new aws.directoryservice.Directory("main", {
password: "#S1ncerely",
size: "Small",
vpcSettings: {
subnetIds: [
private_a.id,
private_b.id,
],
vpcId: mainVpc.id,
},
});
const mainWorkspacesDirectory = new aws.workspaces.Directory("main", {
directoryId: mainDirectory.id,
selfServicePermissions: {
increaseVolumeSize: true,
rebuildWorkspace: true,
},
});constructor
new Directory(name: string, args: DirectoryArgs, opts?: pulumi.CustomResourceOptions)Create a Directory resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DirectoryState, opts?: pulumi.CustomResourceOptions): DirectoryGet an existing Directory resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DirectoryReturns true if the given object is an instance of Directory. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property alias
public alias: pulumi.Output<string>;The directory alias.
property customerUserName
public customerUserName: pulumi.Output<string>;The user name for the service account.
property directoryId
public directoryId: pulumi.Output<string>;The directory identifier for registration in WorkSpaces service.
property directoryName
public directoryName: pulumi.Output<string>;The name of the directory.
property directoryType
public directoryType: pulumi.Output<string>;The directory type.
property dnsIpAddresses
public dnsIpAddresses: pulumi.Output<string[]>;The IP addresses of the DNS servers for the directory.
property iamRoleId
public iamRoleId: pulumi.Output<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.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipGroupIds
public ipGroupIds: pulumi.Output<string[]>;The identifiers of the IP access control groups associated with the directory.
property registrationCode
public registrationCode: pulumi.Output<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.
property selfServicePermissions
public selfServicePermissions: pulumi.Output<DirectorySelfServicePermissions>;The permissions to enable or disable self-service capabilities.
property subnetIds
public subnetIds: pulumi.Output<string[]>;The identifiers of the subnets where the directory resides.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;A map of tags assigned to the WorkSpaces directory.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property workspaceSecurityGroupId
public workspaceSecurityGroupId: pulumi.Output<string>;The identifier of the security group that is assigned to new WorkSpaces.
Resource IpGroup
class IpGroup extends CustomResourceProvides an IP access control group in AWS WorkSpaces Service
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const contractors = new aws.workspaces.IpGroup("contractors", {
description: "Contractors IP access control group",
});constructor
new IpGroup(name: string, args?: IpGroupArgs, opts?: pulumi.CustomResourceOptions)Create a IpGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: IpGroupState, opts?: pulumi.CustomResourceOptions): IpGroupGet an existing IpGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is IpGroupReturns true if the given object is an instance of IpGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;The description.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the IP group.
property rules
public rules: pulumi.Output<IpGroupRule[] | undefined>;One or more pairs specifying the IP group rule (in CIDR format) from which web requests originate.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Workspace
class Workspace extends CustomResourceProvides a workspace in AWS Workspaces Service
NOTE: During deletion of an
aws.workspaces.Workspaceresource, the service roleworkspaces_DefaultRolemust be attached to the policyarn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess, or it will leak the ENI that the Workspaces service creates for the Workspace.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const main = pulumi.output(aws.WorkspacesDirectory({
directoryId: "d-ten5h0y19",
}, { async: true }));
const valueWindows10 = pulumi.output(aws.workspaces.getBundle({
bundleId: "wsb-bh8rsxt14", // Value with Windows 10 (English)
}, { async: true }));
const jhon_doe = new aws.workspaces.Workspace("jhon.doe", {
bundleId: valueWindows10.id,
directoryId: main.id,
rootVolumeEncryptionEnabled: true,
tags: {
Department: "IT",
},
userName: "jhon.doe",
userVolumeEncryptionEnabled: true,
volumeEncryptionKey: "alias/aws/workspaces",
workspaceProperties: {
computeTypeName: "VALUE",
rootVolumeSizeGib: 80,
runningMode: "AUTO_STOP",
runningModeAutoStopTimeoutInMinutes: 60,
userVolumeSizeGib: 10,
},
});constructor
new Workspace(name: string, args: WorkspaceArgs, opts?: pulumi.CustomResourceOptions)Create a Workspace resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: WorkspaceState, opts?: pulumi.CustomResourceOptions): WorkspaceGet an existing Workspace resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is WorkspaceReturns true if the given object is an instance of Workspace. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property bundleId
public bundleId: pulumi.Output<string>;The ID of the bundle for the WorkSpace.
property computerName
public computerName: pulumi.Output<string>;The name of the WorkSpace, as seen by the operating system.
property directoryId
public directoryId: pulumi.Output<string>;The ID of the directory for the WorkSpace.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipAddress
public ipAddress: pulumi.Output<string>;The IP address of the WorkSpace.
property rootVolumeEncryptionEnabled
public rootVolumeEncryptionEnabled: pulumi.Output<boolean | undefined>;Indicates whether the data stored on the root volume is encrypted.
property state
public state: pulumi.Output<string>;The operational state of the WorkSpace.
property tags
public tags: pulumi.Output<{[key: string]: any} | undefined>;The tags for the WorkSpace.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property userName
public userName: pulumi.Output<string>;The user name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace.
property userVolumeEncryptionEnabled
public userVolumeEncryptionEnabled: pulumi.Output<boolean | undefined>;Indicates whether the data stored on the user volume is encrypted.
property volumeEncryptionKey
public volumeEncryptionKey: pulumi.Output<string | undefined>;The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.
property workspaceProperties
public workspaceProperties: pulumi.Output<WorkspaceWorkspaceProperties>;The WorkSpace properties.
Functions
Function getBundle
getBundle(args: GetBundleArgs, opts?: pulumi.InvokeOptions): Promise<GetBundleResult>Use this data source to get information about a WorkSpaces Bundle.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = pulumi.output(aws.workspaces.getBundle({
bundleId: "wsb-b0s22j3d7",
}, { async: true }));Others
interface DirectoryArgs
interface DirectoryArgsThe set of arguments for constructing a Directory resource.
property directoryId
directoryId: pulumi.Input<string>;The directory identifier for registration in WorkSpaces service.
property selfServicePermissions
selfServicePermissions?: pulumi.Input<DirectorySelfServicePermissions>;The permissions to enable or disable self-service capabilities.
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;The identifiers of the subnets where the directory resides.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags assigned to the WorkSpaces directory.
interface DirectoryState
interface DirectoryStateInput properties used for looking up and filtering Directory resources.
property alias
alias?: pulumi.Input<string>;The directory alias.
property customerUserName
customerUserName?: pulumi.Input<string>;The user name for the service account.
property directoryId
directoryId?: pulumi.Input<string>;The directory identifier for registration in WorkSpaces service.
property directoryName
directoryName?: pulumi.Input<string>;The name of the directory.
property directoryType
directoryType?: pulumi.Input<string>;The directory type.
property dnsIpAddresses
dnsIpAddresses?: pulumi.Input<pulumi.Input<string>[]>;The IP addresses of the DNS servers for the directory.
property iamRoleId
iamRoleId?: pulumi.Input<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.
property ipGroupIds
ipGroupIds?: pulumi.Input<pulumi.Input<string>[]>;The identifiers of the IP access control groups associated with the directory.
property registrationCode
registrationCode?: pulumi.Input<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.
property selfServicePermissions
selfServicePermissions?: pulumi.Input<DirectorySelfServicePermissions>;The permissions to enable or disable self-service capabilities.
property subnetIds
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;The identifiers of the subnets where the directory resides.
property tags
tags?: pulumi.Input<{[key: string]: any}>;A map of tags assigned to the WorkSpaces directory.
property workspaceSecurityGroupId
workspaceSecurityGroupId?: pulumi.Input<string>;The identifier of the security group that is assigned to new WorkSpaces.
interface GetBundleArgs
interface GetBundleArgsA collection of arguments for invoking getBundle.
property bundleId
bundleId: string;The ID of the bundle.
interface GetBundleResult
interface GetBundleResultA collection of values returned by getBundle.
property bundleId
bundleId: string;property computeTypes
computeTypes: GetBundleComputeType[];The compute type. See supported fields below.
property description
description: string;The description of the bundle.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;The name of the compute type.
property owner
owner: string;The owner of the bundle.
property rootStorages
rootStorages: GetBundleRootStorage[];The root volume. See supported fields below.
property userStorages
userStorages: GetBundleUserStorage[];The user storage. See supported fields below.
interface IpGroupArgs
interface IpGroupArgsThe set of arguments for constructing a IpGroup resource.
property description
description?: pulumi.Input<string>;The description.
property name
name?: pulumi.Input<string>;The name of the IP group.
property rules
rules?: pulumi.Input<pulumi.Input<IpGroupRule>[]>;One or more pairs specifying the IP group rule (in CIDR format) from which web requests originate.
property tags
tags?: pulumi.Input<{[key: string]: any}>;interface IpGroupState
interface IpGroupStateInput properties used for looking up and filtering IpGroup resources.
property description
description?: pulumi.Input<string>;The description.
property name
name?: pulumi.Input<string>;The name of the IP group.
property rules
rules?: pulumi.Input<pulumi.Input<IpGroupRule>[]>;One or more pairs specifying the IP group rule (in CIDR format) from which web requests originate.
property tags
tags?: pulumi.Input<{[key: string]: any}>;interface WorkspaceArgs
interface WorkspaceArgsThe set of arguments for constructing a Workspace resource.
property bundleId
bundleId: pulumi.Input<string>;The ID of the bundle for the WorkSpace.
property directoryId
directoryId: pulumi.Input<string>;The ID of the directory for the WorkSpace.
property rootVolumeEncryptionEnabled
rootVolumeEncryptionEnabled?: pulumi.Input<boolean>;Indicates whether the data stored on the root volume is encrypted.
property tags
tags?: pulumi.Input<{[key: string]: any}>;The tags for the WorkSpace.
property userName
userName: pulumi.Input<string>;The user name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace.
property userVolumeEncryptionEnabled
userVolumeEncryptionEnabled?: pulumi.Input<boolean>;Indicates whether the data stored on the user volume is encrypted.
property volumeEncryptionKey
volumeEncryptionKey?: pulumi.Input<string>;The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.
property workspaceProperties
workspaceProperties?: pulumi.Input<WorkspaceWorkspaceProperties>;The WorkSpace properties.
interface WorkspaceState
interface WorkspaceStateInput properties used for looking up and filtering Workspace resources.
property bundleId
bundleId?: pulumi.Input<string>;The ID of the bundle for the WorkSpace.
property computerName
computerName?: pulumi.Input<string>;The name of the WorkSpace, as seen by the operating system.
property directoryId
directoryId?: pulumi.Input<string>;The ID of the directory for the WorkSpace.
property ipAddress
ipAddress?: pulumi.Input<string>;The IP address of the WorkSpace.
property rootVolumeEncryptionEnabled
rootVolumeEncryptionEnabled?: pulumi.Input<boolean>;Indicates whether the data stored on the root volume is encrypted.
property state
state?: pulumi.Input<string>;The operational state of the WorkSpace.
property tags
tags?: pulumi.Input<{[key: string]: any}>;The tags for the WorkSpace.
property userName
userName?: pulumi.Input<string>;The user name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace.
property userVolumeEncryptionEnabled
userVolumeEncryptionEnabled?: pulumi.Input<boolean>;Indicates whether the data stored on the user volume is encrypted.
property volumeEncryptionKey
volumeEncryptionKey?: pulumi.Input<string>;The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.
property workspaceProperties
workspaceProperties?: pulumi.Input<WorkspaceWorkspaceProperties>;The WorkSpace properties.