Class: AWSCDK::WorkspacesWeb::CfnUserSettingsProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
workspaces_web/cfn_user_settings_props.rb

Overview

Properties for defining a CfnUserSettings.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(copy_allowed:, download_allowed:, paste_allowed:, print_allowed:, upload_allowed:, additional_encryption_context: nil, branding_configuration: nil, cookie_synchronization_configuration: nil, customer_managed_key: nil, deep_link_allowed: nil, disconnect_timeout_in_minutes: nil, idle_disconnect_timeout_in_minutes: nil, tags: nil, toolbar_configuration: nil, web_authn_allowed: nil) ⇒ CfnUserSettingsProps

Returns a new instance of CfnUserSettingsProps.

Parameters:

  • copy_allowed (String)

    Specifies whether the user can copy text from the streaming session to the local device.

  • download_allowed (String)

    Specifies whether the user can download files from the streaming session to the local device.

  • paste_allowed (String)

    Specifies whether the user can paste text from the local device to the streaming session.

  • print_allowed (String)

    Specifies whether the user can print to the local device.

  • upload_allowed (String)

    Specifies whether the user can upload files from the local device to the streaming session.

  • additional_encryption_context (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    The additional encryption context of the user settings.

  • branding_configuration (AWSCDK::IResolvable, AWSCDK::WorkspacesWeb::CfnUserSettings::BrandingConfigurationProperty, nil) (defaults to: nil)

    The branding configuration that customizes the appearance of the web portal for end users.

  • cookie_synchronization_configuration (AWSCDK::IResolvable, AWSCDK::WorkspacesWeb::CfnUserSettings::CookieSynchronizationConfigurationProperty, nil) (defaults to: nil)

    The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.

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

    The customer managed key used to encrypt sensitive information in the user settings.

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

    Specifies whether the user can use deep links that open automatically when connecting to a session.

  • disconnect_timeout_in_minutes (Numeric, nil) (defaults to: nil)

    The amount of time that a streaming session remains active after users disconnect.

  • idle_disconnect_timeout_in_minutes (Numeric, nil) (defaults to: nil)

    The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.

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

    The tags to add to the user settings resource.

  • toolbar_configuration (AWSCDK::IResolvable, AWSCDK::WorkspacesWeb::CfnUserSettings::ToolbarConfigurationProperty, nil) (defaults to: nil)

    The configuration of the toolbar.

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

    Specifies whether the user can use WebAuthn redirection for passwordless login to websites within the streaming session.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'workspaces_web/cfn_user_settings_props.rb', line 24

def initialize(copy_allowed:, download_allowed:, paste_allowed:, print_allowed:, upload_allowed:, additional_encryption_context: nil, branding_configuration: nil, cookie_synchronization_configuration: nil, customer_managed_key: nil, deep_link_allowed: nil, disconnect_timeout_in_minutes: nil, idle_disconnect_timeout_in_minutes: nil, tags: nil, toolbar_configuration: nil, web_authn_allowed: nil)
  @copy_allowed = copy_allowed
  Jsii::Type.check_type(@copy_allowed, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "copyAllowed")
  @download_allowed = download_allowed
  Jsii::Type.check_type(@download_allowed, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "downloadAllowed")
  @paste_allowed = paste_allowed
  Jsii::Type.check_type(@paste_allowed, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pasteAllowed")
  @print_allowed = print_allowed
  Jsii::Type.check_type(@print_allowed, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "printAllowed")
  @upload_allowed = upload_allowed
  Jsii::Type.check_type(@upload_allowed, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "uploadAllowed")
  @additional_encryption_context = additional_encryption_context
  Jsii::Type.check_type(@additional_encryption_context, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "additionalEncryptionContext") unless @additional_encryption_context.nil?
  @branding_configuration = branding_configuration.is_a?(Hash) ? ::AWSCDK::WorkspacesWeb::CfnUserSettings::BrandingConfigurationProperty.new(**branding_configuration.transform_keys(&:to_sym)) : branding_configuration
  Jsii::Type.check_type(@branding_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193b3Jrc3BhY2Vzd2ViLkNmblVzZXJTZXR0aW5ncy5CcmFuZGluZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "brandingConfiguration") unless @branding_configuration.nil?
  @cookie_synchronization_configuration = cookie_synchronization_configuration.is_a?(Hash) ? ::AWSCDK::WorkspacesWeb::CfnUserSettings::CookieSynchronizationConfigurationProperty.new(**cookie_synchronization_configuration.transform_keys(&:to_sym)) : cookie_synchronization_configuration
  Jsii::Type.check_type(@cookie_synchronization_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193b3Jrc3BhY2Vzd2ViLkNmblVzZXJTZXR0aW5ncy5Db29raWVTeW5jaHJvbml6YXRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "cookieSynchronizationConfiguration") unless @cookie_synchronization_configuration.nil?
  @customer_managed_key = customer_managed_key
  Jsii::Type.check_type(@customer_managed_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customerManagedKey") unless @customer_managed_key.nil?
  @deep_link_allowed = deep_link_allowed
  Jsii::Type.check_type(@deep_link_allowed, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deepLinkAllowed") unless @deep_link_allowed.nil?
  @disconnect_timeout_in_minutes = disconnect_timeout_in_minutes
  Jsii::Type.check_type(@disconnect_timeout_in_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "disconnectTimeoutInMinutes") unless @disconnect_timeout_in_minutes.nil?
  @idle_disconnect_timeout_in_minutes = idle_disconnect_timeout_in_minutes
  Jsii::Type.check_type(@idle_disconnect_timeout_in_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "idleDisconnectTimeoutInMinutes") unless @idle_disconnect_timeout_in_minutes.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?
  @toolbar_configuration = toolbar_configuration.is_a?(Hash) ? ::AWSCDK::WorkspacesWeb::CfnUserSettings::ToolbarConfigurationProperty.new(**toolbar_configuration.transform_keys(&:to_sym)) : toolbar_configuration
  Jsii::Type.check_type(@toolbar_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193b3Jrc3BhY2Vzd2ViLkNmblVzZXJTZXR0aW5ncy5Ub29sYmFyQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "toolbarConfiguration") unless @toolbar_configuration.nil?
  @web_authn_allowed = web_authn_allowed
  Jsii::Type.check_type(@web_authn_allowed, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "webAuthnAllowed") unless @web_authn_allowed.nil?
end

Instance Attribute Details

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

The additional encryption context of the user settings.



86
87
88
# File 'workspaces_web/cfn_user_settings_props.rb', line 86

def additional_encryption_context
  @additional_encryption_context
end

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

The branding configuration that customizes the appearance of the web portal for end users.

This includes a custom logo, favicon, wallpaper, localized strings, color theme, and an optional terms of service.



93
94
95
# File 'workspaces_web/cfn_user_settings_props.rb', line 93

def branding_configuration
  @branding_configuration
end

The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.



98
99
100
# File 'workspaces_web/cfn_user_settings_props.rb', line 98

def cookie_synchronization_configuration
  @cookie_synchronization_configuration
end

#copy_allowedString (readonly)

Specifies whether the user can copy text from the streaming session to the local device.



61
62
63
# File 'workspaces_web/cfn_user_settings_props.rb', line 61

def copy_allowed
  @copy_allowed
end

#customer_managed_keyString? (readonly)

The customer managed key used to encrypt sensitive information in the user settings.



103
104
105
# File 'workspaces_web/cfn_user_settings_props.rb', line 103

def customer_managed_key
  @customer_managed_key
end

Specifies whether the user can use deep links that open automatically when connecting to a session.



108
109
110
# File 'workspaces_web/cfn_user_settings_props.rb', line 108

def deep_link_allowed
  @deep_link_allowed
end

#disconnect_timeout_in_minutesNumeric? (readonly)

The amount of time that a streaming session remains active after users disconnect.



113
114
115
# File 'workspaces_web/cfn_user_settings_props.rb', line 113

def disconnect_timeout_in_minutes
  @disconnect_timeout_in_minutes
end

#download_allowedString (readonly)

Specifies whether the user can download files from the streaming session to the local device.



66
67
68
# File 'workspaces_web/cfn_user_settings_props.rb', line 66

def download_allowed
  @download_allowed
end

#idle_disconnect_timeout_in_minutesNumeric? (readonly)

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.



118
119
120
# File 'workspaces_web/cfn_user_settings_props.rb', line 118

def idle_disconnect_timeout_in_minutes
  @idle_disconnect_timeout_in_minutes
end

#paste_allowedString (readonly)

Specifies whether the user can paste text from the local device to the streaming session.



71
72
73
# File 'workspaces_web/cfn_user_settings_props.rb', line 71

def paste_allowed
  @paste_allowed
end

Specifies whether the user can print to the local device.



76
77
78
# File 'workspaces_web/cfn_user_settings_props.rb', line 76

def print_allowed
  @print_allowed
end

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

The tags to add to the user settings resource.

A tag is a key-value pair.



125
126
127
# File 'workspaces_web/cfn_user_settings_props.rb', line 125

def tags
  @tags
end

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

The configuration of the toolbar.

This allows administrators to select the toolbar type and visual mode, set maximum display resolution for sessions, and choose which items are visible to end users during their sessions. If administrators do not modify these settings, end users retain control over their toolbar preferences.



132
133
134
# File 'workspaces_web/cfn_user_settings_props.rb', line 132

def toolbar_configuration
  @toolbar_configuration
end

#upload_allowedString (readonly)

Specifies whether the user can upload files from the local device to the streaming session.



81
82
83
# File 'workspaces_web/cfn_user_settings_props.rb', line 81

def upload_allowed
  @upload_allowed
end

#web_authn_allowedString? (readonly)

Specifies whether the user can use WebAuthn redirection for passwordless login to websites within the streaming session.



137
138
139
# File 'workspaces_web/cfn_user_settings_props.rb', line 137

def web_authn_allowed
  @web_authn_allowed
end

Class Method Details

.jsii_propertiesObject



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'workspaces_web/cfn_user_settings_props.rb', line 139

def self.jsii_properties
  {
    :copy_allowed => "copyAllowed",
    :download_allowed => "downloadAllowed",
    :paste_allowed => "pasteAllowed",
    :print_allowed => "printAllowed",
    :upload_allowed => "uploadAllowed",
    :additional_encryption_context => "additionalEncryptionContext",
    :branding_configuration => "brandingConfiguration",
    :cookie_synchronization_configuration => "cookieSynchronizationConfiguration",
    :customer_managed_key => "customerManagedKey",
    :deep_link_allowed => "deepLinkAllowed",
    :disconnect_timeout_in_minutes => "disconnectTimeoutInMinutes",
    :idle_disconnect_timeout_in_minutes => "idleDisconnectTimeoutInMinutes",
    :tags => "tags",
    :toolbar_configuration => "toolbarConfiguration",
    :web_authn_allowed => "webAuthnAllowed",
  }
end

Instance Method Details

#to_jsiiObject



159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# File 'workspaces_web/cfn_user_settings_props.rb', line 159

def to_jsii
  result = {}
  result.merge!({
    "copyAllowed" => @copy_allowed,
    "downloadAllowed" => @download_allowed,
    "pasteAllowed" => @paste_allowed,
    "printAllowed" => @print_allowed,
    "uploadAllowed" => @upload_allowed,
    "additionalEncryptionContext" => @additional_encryption_context,
    "brandingConfiguration" => @branding_configuration,
    "cookieSynchronizationConfiguration" => @cookie_synchronization_configuration,
    "customerManagedKey" => @customer_managed_key,
    "deepLinkAllowed" => @deep_link_allowed,
    "disconnectTimeoutInMinutes" => @disconnect_timeout_in_minutes,
    "idleDisconnectTimeoutInMinutes" => @idle_disconnect_timeout_in_minutes,
    "tags" => @tags,
    "toolbarConfiguration" => @toolbar_configuration,
    "webAuthnAllowed" => @web_authn_allowed,
  })
  result.compact
end