Class: AWSCDK::WorkspacesWeb::CfnPortalProps

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

Overview

Properties for defining a CfnPortal.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(additional_encryption_context: nil, authentication_type: nil, browser_settings_arn: nil, customer_managed_key: nil, data_protection_settings_arn: nil, display_name: nil, instance_type: nil, ip_access_settings_arn: nil, max_concurrent_sessions: nil, network_settings_arn: nil, portal_custom_domain: nil, session_logger_arn: nil, tags: nil, trust_store_arn: nil, user_access_logging_settings_arn: nil, user_settings_arn: nil) ⇒ CfnPortalProps

Returns a new instance of CfnPortalProps.

Parameters:

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

    The additional encryption context of the portal.

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

    The type of authentication integration points used when signing into the web portal. Defaults to Standard .

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

    The ARN of the browser settings that is associated with this web portal.

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

    The customer managed key of the web portal.

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

    The ARN of the data protection settings.

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

    The name of the web portal.

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

    The type and resources of the underlying instance.

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

    The ARN of the IP access settings that is associated with the web portal.

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

    The maximum number of concurrent sessions for the portal.

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

    The ARN of the network settings that is associated with the web portal.

  • portal_custom_domain (String, nil) (defaults to: nil)
  • session_logger_arn (String, nil) (defaults to: nil)

    The ARN of the session logger that is associated with the portal.

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

    The tags to add to the web portal.

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

    The ARN of the trust store that is associated with the web portal.

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

    The ARN of the user access logging settings that is associated with the web portal.

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

    The ARN of the user settings that is associated with the web portal.



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
56
57
58
# File 'workspaces_web/cfn_portal_props.rb', line 25

def initialize(additional_encryption_context: nil, authentication_type: nil, browser_settings_arn: nil, customer_managed_key: nil, data_protection_settings_arn: nil, display_name: nil, instance_type: nil, ip_access_settings_arn: nil, max_concurrent_sessions: nil, network_settings_arn: nil, portal_custom_domain: nil, session_logger_arn: nil, tags: nil, trust_store_arn: nil, user_access_logging_settings_arn: nil, user_settings_arn: nil)
  @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?
  @authentication_type = authentication_type
  Jsii::Type.check_type(@authentication_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authenticationType") unless @authentication_type.nil?
  @browser_settings_arn = browser_settings_arn
  Jsii::Type.check_type(@browser_settings_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "browserSettingsArn") unless @browser_settings_arn.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?
  @data_protection_settings_arn = data_protection_settings_arn
  Jsii::Type.check_type(@data_protection_settings_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataProtectionSettingsArn") unless @data_protection_settings_arn.nil?
  @display_name = display_name
  Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName") unless @display_name.nil?
  @instance_type = instance_type
  Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType") unless @instance_type.nil?
  @ip_access_settings_arn = ip_access_settings_arn
  Jsii::Type.check_type(@ip_access_settings_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAccessSettingsArn") unless @ip_access_settings_arn.nil?
  @max_concurrent_sessions = max_concurrent_sessions
  Jsii::Type.check_type(@max_concurrent_sessions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxConcurrentSessions") unless @max_concurrent_sessions.nil?
  @network_settings_arn = network_settings_arn
  Jsii::Type.check_type(@network_settings_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkSettingsArn") unless @network_settings_arn.nil?
  @portal_custom_domain = portal_custom_domain
  Jsii::Type.check_type(@portal_custom_domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "portalCustomDomain") unless @portal_custom_domain.nil?
  @session_logger_arn = session_logger_arn
  Jsii::Type.check_type(@session_logger_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sessionLoggerArn") unless @session_logger_arn.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?
  @trust_store_arn = trust_store_arn
  Jsii::Type.check_type(@trust_store_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "trustStoreArn") unless @trust_store_arn.nil?
  @user_access_logging_settings_arn = user_access_logging_settings_arn
  Jsii::Type.check_type(@user_access_logging_settings_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "userAccessLoggingSettingsArn") unless @user_access_logging_settings_arn.nil?
  @user_settings_arn = 
  Jsii::Type.check_type(@user_settings_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "userSettingsArn") unless @user_settings_arn.nil?
end

Instance Attribute Details

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

The additional encryption context of the portal.



64
65
66
# File 'workspaces_web/cfn_portal_props.rb', line 64

def additional_encryption_context
  @additional_encryption_context
end

#authentication_typeString? (readonly)

The type of authentication integration points used when signing into the web portal. Defaults to Standard .

Standard web portals are authenticated directly through your identity provider (IdP). User and group access to your web portal is controlled through your IdP. You need to include an IdP resource in your template to integrate your IdP with your web portal. Completing the configuration for your IdP requires exchanging WorkSpaces Secure Browser’s SP metadata with your IdP’s IdP metadata. If your IdP requires the SP metadata first before returning the IdP metadata, you should follow these steps:

  1. Create and deploy a CloudFormation template with a Standard portal with no IdentityProvider resource.
  2. Retrieve the SP metadata using Fn:GetAtt , the WorkSpaces Secure Browser console, or by the calling the GetPortalServiceProviderMetadata API.
  3. Submit the data to your IdP.
  4. Add an IdentityProvider resource to your CloudFormation template.

SSO web portals are authenticated through SSOlong . They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration) and other identity provider information must be configured in SSO . User and group assignment must be done through the WorkSpaces Secure Browser console. These cannot be configured in CloudFormation.



78
79
80
# File 'workspaces_web/cfn_portal_props.rb', line 78

def authentication_type
  @authentication_type
end

#browser_settings_arnString? (readonly)

The ARN of the browser settings that is associated with this web portal.



83
84
85
# File 'workspaces_web/cfn_portal_props.rb', line 83

def browser_settings_arn
  @browser_settings_arn
end

#customer_managed_keyString? (readonly)

The customer managed key of the web portal.

Pattern : ^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$



90
91
92
# File 'workspaces_web/cfn_portal_props.rb', line 90

def customer_managed_key
  @customer_managed_key
end

#data_protection_settings_arnString? (readonly)

The ARN of the data protection settings.



95
96
97
# File 'workspaces_web/cfn_portal_props.rb', line 95

def data_protection_settings_arn
  @data_protection_settings_arn
end

#display_nameString? (readonly)

The name of the web portal.



100
101
102
# File 'workspaces_web/cfn_portal_props.rb', line 100

def display_name
  @display_name
end

#instance_typeString? (readonly)

The type and resources of the underlying instance.



105
106
107
# File 'workspaces_web/cfn_portal_props.rb', line 105

def instance_type
  @instance_type
end

#ip_access_settings_arnString? (readonly)

The ARN of the IP access settings that is associated with the web portal.



110
111
112
# File 'workspaces_web/cfn_portal_props.rb', line 110

def ip_access_settings_arn
  @ip_access_settings_arn
end

#max_concurrent_sessionsNumeric? (readonly)

The maximum number of concurrent sessions for the portal.



115
116
117
# File 'workspaces_web/cfn_portal_props.rb', line 115

def max_concurrent_sessions
  @max_concurrent_sessions
end

#network_settings_arnString? (readonly)

The ARN of the network settings that is associated with the web portal.



120
121
122
# File 'workspaces_web/cfn_portal_props.rb', line 120

def network_settings_arn
  @network_settings_arn
end

#portal_custom_domainString? (readonly)



123
124
125
# File 'workspaces_web/cfn_portal_props.rb', line 123

def portal_custom_domain
  @portal_custom_domain
end

#session_logger_arnString? (readonly)

The ARN of the session logger that is associated with the portal.



128
129
130
# File 'workspaces_web/cfn_portal_props.rb', line 128

def session_logger_arn
  @session_logger_arn
end

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

The tags to add to the web portal.

A tag is a key-value pair.



135
136
137
# File 'workspaces_web/cfn_portal_props.rb', line 135

def tags
  @tags
end

#trust_store_arnString? (readonly)

The ARN of the trust store that is associated with the web portal.



140
141
142
# File 'workspaces_web/cfn_portal_props.rb', line 140

def trust_store_arn
  @trust_store_arn
end

#user_access_logging_settings_arnString? (readonly)

The ARN of the user access logging settings that is associated with the web portal.



145
146
147
# File 'workspaces_web/cfn_portal_props.rb', line 145

def user_access_logging_settings_arn
  @user_access_logging_settings_arn
end

#user_settings_arnString? (readonly)

The ARN of the user settings that is associated with the web portal.



150
151
152
# File 'workspaces_web/cfn_portal_props.rb', line 150

def 
  @user_settings_arn
end

Class Method Details

.jsii_propertiesObject



152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# File 'workspaces_web/cfn_portal_props.rb', line 152

def self.jsii_properties
  {
    :additional_encryption_context => "additionalEncryptionContext",
    :authentication_type => "authenticationType",
    :browser_settings_arn => "browserSettingsArn",
    :customer_managed_key => "customerManagedKey",
    :data_protection_settings_arn => "dataProtectionSettingsArn",
    :display_name => "displayName",
    :instance_type => "instanceType",
    :ip_access_settings_arn => "ipAccessSettingsArn",
    :max_concurrent_sessions => "maxConcurrentSessions",
    :network_settings_arn => "networkSettingsArn",
    :portal_custom_domain => "portalCustomDomain",
    :session_logger_arn => "sessionLoggerArn",
    :tags => "tags",
    :trust_store_arn => "trustStoreArn",
    :user_access_logging_settings_arn => "userAccessLoggingSettingsArn",
    :user_settings_arn => "userSettingsArn",
  }
end

Instance Method Details

#to_jsiiObject



173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'workspaces_web/cfn_portal_props.rb', line 173

def to_jsii
  result = {}
  result.merge!({
    "additionalEncryptionContext" => @additional_encryption_context,
    "authenticationType" => @authentication_type,
    "browserSettingsArn" => @browser_settings_arn,
    "customerManagedKey" => @customer_managed_key,
    "dataProtectionSettingsArn" => @data_protection_settings_arn,
    "displayName" => @display_name,
    "instanceType" => @instance_type,
    "ipAccessSettingsArn" => @ip_access_settings_arn,
    "maxConcurrentSessions" => @max_concurrent_sessions,
    "networkSettingsArn" => @network_settings_arn,
    "portalCustomDomain" => @portal_custom_domain,
    "sessionLoggerArn" => @session_logger_arn,
    "tags" => @tags,
    "trustStoreArn" => @trust_store_arn,
    "userAccessLoggingSettingsArn" => @user_access_logging_settings_arn,
    "userSettingsArn" => @user_settings_arn,
  })
  result.compact
end