Class: AWSCDK::Workspaces::CfnWorkspaceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
workspaces/cfn_workspace_props.rb

Overview

Properties for defining a CfnWorkspace.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bundle_id:, directory_id:, user_name:, root_volume_encryption_enabled: nil, tags: nil, user_volume_encryption_enabled: nil, volume_encryption_key: nil, workspace_properties: nil) ⇒ CfnWorkspaceProps

Returns a new instance of CfnWorkspaceProps.

Parameters:

  • bundle_id (String)

    The identifier of the bundle for the WorkSpace.

  • directory_id (String)

    The identifier of the Directory Service directory for the WorkSpace.

  • user_name (String)

    The user name of the user for the WorkSpace.

  • root_volume_encryption_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether the data stored on the root volume is encrypted.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The tags for the WorkSpace.

  • user_volume_encryption_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether the data stored on the user volume is encrypted.

  • volume_encryption_key (String, nil) (defaults to: nil)

    The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.

  • workspace_properties (AWSCDK::IResolvable, AWSCDK::Workspaces::CfnWorkspace::WorkspacePropertiesProperty, nil) (defaults to: nil)

    The WorkSpace properties.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'workspaces/cfn_workspace_props.rb', line 17

def initialize(bundle_id:, directory_id:, user_name:, root_volume_encryption_enabled: nil, tags: nil, user_volume_encryption_enabled: nil, volume_encryption_key: nil, workspace_properties: nil)
  @bundle_id = bundle_id
  Jsii::Type.check_type(@bundle_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bundleId")
  @directory_id = directory_id
  Jsii::Type.check_type(@directory_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "directoryId")
  @user_name = user_name
  Jsii::Type.check_type(@user_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "userName")
  @root_volume_encryption_enabled = root_volume_encryption_enabled
  Jsii::Type.check_type(@root_volume_encryption_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "rootVolumeEncryptionEnabled") unless @root_volume_encryption_enabled.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @user_volume_encryption_enabled = user_volume_encryption_enabled
  Jsii::Type.check_type(@user_volume_encryption_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "userVolumeEncryptionEnabled") unless @user_volume_encryption_enabled.nil?
  @volume_encryption_key = volume_encryption_key
  Jsii::Type.check_type(@volume_encryption_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "volumeEncryptionKey") unless @volume_encryption_key.nil?
  @workspace_properties = workspace_properties.is_a?(Hash) ? ::AWSCDK::Workspaces::CfnWorkspace::WorkspacePropertiesProperty.new(**workspace_properties.transform_keys(&:to_sym)) : workspace_properties
  Jsii::Type.check_type(@workspace_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193b3Jrc3BhY2VzLkNmbldvcmtzcGFjZS5Xb3Jrc3BhY2VQcm9wZXJ0aWVzUHJvcGVydHkifV19fQ==")), "workspaceProperties") unless @workspace_properties.nil?
end

Instance Attribute Details

#bundle_idString (readonly)

The identifier of the bundle for the WorkSpace.



40
41
42
# File 'workspaces/cfn_workspace_props.rb', line 40

def bundle_id
  @bundle_id
end

#directory_idString (readonly)

The identifier of the Directory Service directory for the WorkSpace.



45
46
47
# File 'workspaces/cfn_workspace_props.rb', line 45

def directory_id
  @directory_id
end

#root_volume_encryption_enabledBoolean, ... (readonly)

Indicates whether the data stored on the root volume is encrypted.



57
58
59
# File 'workspaces/cfn_workspace_props.rb', line 57

def root_volume_encryption_enabled
  @root_volume_encryption_enabled
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The tags for the WorkSpace.



62
63
64
# File 'workspaces/cfn_workspace_props.rb', line 62

def tags
  @tags
end

#user_nameString (readonly)

The user name of the user for the WorkSpace.

This user name must exist in the Directory Service directory for the WorkSpace.



52
53
54
# File 'workspaces/cfn_workspace_props.rb', line 52

def user_name
  @user_name
end

#user_volume_encryption_enabledBoolean, ... (readonly)

Indicates whether the data stored on the user volume is encrypted.



67
68
69
# File 'workspaces/cfn_workspace_props.rb', line 67

def user_volume_encryption_enabled
  @user_volume_encryption_enabled
end

#volume_encryption_keyString? (readonly)

The symmetric AWS KMS key used to encrypt data stored on your WorkSpace.

Amazon WorkSpaces does not support asymmetric KMS keys.



74
75
76
# File 'workspaces/cfn_workspace_props.rb', line 74

def volume_encryption_key
  @volume_encryption_key
end

#workspace_propertiesAWSCDK::IResolvable, ... (readonly)

The WorkSpace properties.



79
80
81
# File 'workspaces/cfn_workspace_props.rb', line 79

def workspace_properties
  @workspace_properties
end

Class Method Details

.jsii_propertiesObject



81
82
83
84
85
86
87
88
89
90
91
92
# File 'workspaces/cfn_workspace_props.rb', line 81

def self.jsii_properties
  {
    :bundle_id => "bundleId",
    :directory_id => "directoryId",
    :user_name => "userName",
    :root_volume_encryption_enabled => "rootVolumeEncryptionEnabled",
    :tags => "tags",
    :user_volume_encryption_enabled => "userVolumeEncryptionEnabled",
    :volume_encryption_key => "volumeEncryptionKey",
    :workspace_properties => "workspaceProperties",
  }
end

Instance Method Details

#to_jsiiObject



94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'workspaces/cfn_workspace_props.rb', line 94

def to_jsii
  result = {}
  result.merge!({
    "bundleId" => @bundle_id,
    "directoryId" => @directory_id,
    "userName" => @user_name,
    "rootVolumeEncryptionEnabled" => @root_volume_encryption_enabled,
    "tags" => @tags,
    "userVolumeEncryptionEnabled" => @user_volume_encryption_enabled,
    "volumeEncryptionKey" => @volume_encryption_key,
    "workspaceProperties" => @workspace_properties,
  })
  result.compact
end