aws-cdk-lib 2.96.2__py3-none-any.whl → 2.97.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (53) hide show
  1. aws_cdk/__init__.py +246 -62
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.96.2.jsii.tgz → aws-cdk-lib@2.97.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +1 -1
  5. aws_cdk/aws_appflow/__init__.py +205 -7
  6. aws_cdk/aws_appstream/__init__.py +33 -28
  7. aws_cdk/aws_appsync/__init__.py +555 -71
  8. aws_cdk/aws_autoscaling/__init__.py +5 -11
  9. aws_cdk/aws_billingconductor/__init__.py +145 -1
  10. aws_cdk/aws_cleanrooms/__init__.py +1198 -86
  11. aws_cdk/aws_cloudformation/__init__.py +221 -55
  12. aws_cdk/aws_cloudwatch/__init__.py +325 -2
  13. aws_cdk/aws_cognito/__init__.py +9 -13
  14. aws_cdk/aws_config/__init__.py +68 -73
  15. aws_cdk/aws_connect/__init__.py +909 -164
  16. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  17. aws_cdk/aws_dms/__init__.py +198 -0
  18. aws_cdk/aws_ec2/__init__.py +593 -73
  19. aws_cdk/aws_ecr/__init__.py +7 -2
  20. aws_cdk/aws_ecs/__init__.py +2 -2
  21. aws_cdk/aws_efs/__init__.py +237 -0
  22. aws_cdk/aws_emr/__init__.py +232 -0
  23. aws_cdk/aws_entityresolution/__init__.py +1702 -0
  24. aws_cdk/aws_events/__init__.py +13 -18
  25. aws_cdk/aws_fms/__init__.py +3 -3
  26. aws_cdk/aws_gamelift/__init__.py +10 -15
  27. aws_cdk/aws_grafana/__init__.py +9 -5
  28. aws_cdk/aws_guardduty/__init__.py +272 -205
  29. aws_cdk/aws_iam/__init__.py +20 -18
  30. aws_cdk/aws_iotwireless/__init__.py +38 -54
  31. aws_cdk/aws_lakeformation/__init__.py +18 -6
  32. aws_cdk/aws_lambda/__init__.py +1 -1
  33. aws_cdk/aws_lightsail/__init__.py +225 -0
  34. aws_cdk/aws_lookoutequipment/__init__.py +4 -4
  35. aws_cdk/aws_macie/__init__.py +5 -3
  36. aws_cdk/aws_mediapackagev2/__init__.py +3227 -0
  37. aws_cdk/aws_pcaconnectorad/__init__.py +6785 -0
  38. aws_cdk/aws_quicksight/__init__.py +189 -116
  39. aws_cdk/aws_rds/__init__.py +316 -9
  40. aws_cdk/aws_resiliencehub/__init__.py +38 -21
  41. aws_cdk/aws_route53resolver/__init__.py +429 -0
  42. aws_cdk/aws_sagemaker/__init__.py +34 -34
  43. aws_cdk/aws_stepfunctions/__init__.py +111 -14
  44. aws_cdk/aws_transfer/__init__.py +2 -2
  45. aws_cdk/aws_vpclattice/__init__.py +128 -120
  46. aws_cdk/aws_workspacesweb/__init__.py +3790 -0
  47. aws_cdk/region_info/__init__.py +49 -0
  48. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/METADATA +2 -2
  49. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/RECORD +53 -49
  50. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/LICENSE +0 -0
  51. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/NOTICE +0 -0
  52. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/WHEEL +0 -0
  53. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3790 @@
1
+ '''
2
+ # AWS::WorkSpacesWeb Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_workspacesweb as workspacesweb
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for WorkSpacesWeb construct libraries](https://constructs.dev/search?q=workspacesweb)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::WorkSpacesWeb resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WorkSpacesWeb.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::WorkSpacesWeb](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WorkSpacesWeb.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ import abc
39
+ import builtins
40
+ import datetime
41
+ import enum
42
+ import typing
43
+
44
+ import jsii
45
+ import publication
46
+ import typing_extensions
47
+
48
+ from typeguard import check_type
49
+
50
+ from .._jsii import *
51
+
52
+ import constructs as _constructs_77d1e7e8
53
+ from .. import (
54
+ CfnResource as _CfnResource_9df397a6,
55
+ CfnTag as _CfnTag_f6864754,
56
+ IInspectable as _IInspectable_c2943556,
57
+ IResolvable as _IResolvable_da3f097b,
58
+ TreeInspector as _TreeInspector_488e0dd5,
59
+ )
60
+
61
+
62
+ @jsii.implements(_IInspectable_c2943556)
63
+ class CfnBrowserSettings(
64
+ _CfnResource_9df397a6,
65
+ metaclass=jsii.JSIIMeta,
66
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnBrowserSettings",
67
+ ):
68
+ '''This resource specifies browser settings that can be associated with a web portal.
69
+
70
+ Once associated with a web portal, browser settings control how the browser will behave once a user starts a streaming session for the web portal.
71
+
72
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html
73
+ :exampleMetadata: fixture=_generated
74
+
75
+ Example::
76
+
77
+ # The code below shows an example of how to instantiate this type.
78
+ # The values are placeholders you should change.
79
+ from aws_cdk import aws_workspacesweb as workspacesweb
80
+
81
+ cfn_browser_settings = workspacesweb.CfnBrowserSettings(self, "MyCfnBrowserSettings",
82
+ additional_encryption_context={
83
+ "additional_encryption_context_key": "additionalEncryptionContext"
84
+ },
85
+ browser_policy="browserPolicy",
86
+ customer_managed_key="customerManagedKey",
87
+ tags=[CfnTag(
88
+ key="key",
89
+ value="value"
90
+ )]
91
+ )
92
+ '''
93
+
94
+ def __init__(
95
+ self,
96
+ scope: _constructs_77d1e7e8.Construct,
97
+ id: builtins.str,
98
+ *,
99
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
100
+ browser_policy: typing.Optional[builtins.str] = None,
101
+ customer_managed_key: typing.Optional[builtins.str] = None,
102
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
103
+ ) -> None:
104
+ '''
105
+ :param scope: Scope in which this resource is defined.
106
+ :param id: Construct identifier for this resource (unique in its scope).
107
+ :param additional_encryption_context: Additional encryption context of the browser settings.
108
+ :param browser_policy: A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.
109
+ :param customer_managed_key: The custom managed key of the browser settings. *Pattern* : ``^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$``
110
+ :param tags: The tags to add to the browser settings resource. A tag is a key-value pair.
111
+ '''
112
+ if __debug__:
113
+ type_hints = typing.get_type_hints(_typecheckingstub__bddcc45afa30e005718c5da3d3034bff6b9c0453326851818da6294dc041bb0f)
114
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
115
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
116
+ props = CfnBrowserSettingsProps(
117
+ additional_encryption_context=additional_encryption_context,
118
+ browser_policy=browser_policy,
119
+ customer_managed_key=customer_managed_key,
120
+ tags=tags,
121
+ )
122
+
123
+ jsii.create(self.__class__, self, [scope, id, props])
124
+
125
+ @jsii.member(jsii_name="inspect")
126
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
127
+ '''Examines the CloudFormation resource and discloses attributes.
128
+
129
+ :param inspector: tree inspector to collect and process attributes.
130
+ '''
131
+ if __debug__:
132
+ type_hints = typing.get_type_hints(_typecheckingstub__7d4203cdc61a30c217fc2abe263c4776ac7f7dc3efdc691f65b8b0f98c469206)
133
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
134
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
135
+
136
+ @jsii.member(jsii_name="renderProperties")
137
+ def _render_properties(
138
+ self,
139
+ props: typing.Mapping[builtins.str, typing.Any],
140
+ ) -> typing.Mapping[builtins.str, typing.Any]:
141
+ '''
142
+ :param props: -
143
+ '''
144
+ if __debug__:
145
+ type_hints = typing.get_type_hints(_typecheckingstub__f4cab7e5af66cb2aa7162f6b46ea25dc53695260ce84c6550f897b70bab862ee)
146
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
147
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
148
+
149
+ @jsii.python.classproperty
150
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
151
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
152
+ '''The CloudFormation resource type name for this resource class.'''
153
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
154
+
155
+ @builtins.property
156
+ @jsii.member(jsii_name="attrAssociatedPortalArns")
157
+ def attr_associated_portal_arns(self) -> typing.List[builtins.str]:
158
+ '''A list of web portal ARNs that the browser settings resource is associated with.
159
+
160
+ :cloudformationAttribute: AssociatedPortalArns
161
+ '''
162
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAssociatedPortalArns"))
163
+
164
+ @builtins.property
165
+ @jsii.member(jsii_name="attrBrowserSettingsArn")
166
+ def attr_browser_settings_arn(self) -> builtins.str:
167
+ '''The ARN of the browser settings.
168
+
169
+ :cloudformationAttribute: BrowserSettingsArn
170
+ '''
171
+ return typing.cast(builtins.str, jsii.get(self, "attrBrowserSettingsArn"))
172
+
173
+ @builtins.property
174
+ @jsii.member(jsii_name="cfnProperties")
175
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
176
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
177
+
178
+ @builtins.property
179
+ @jsii.member(jsii_name="additionalEncryptionContext")
180
+ def additional_encryption_context(
181
+ self,
182
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
183
+ '''Additional encryption context of the browser settings.'''
184
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "additionalEncryptionContext"))
185
+
186
+ @additional_encryption_context.setter
187
+ def additional_encryption_context(
188
+ self,
189
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
190
+ ) -> None:
191
+ if __debug__:
192
+ type_hints = typing.get_type_hints(_typecheckingstub__70de4dee5d14f114274fd7960c64b6accb0ec49e02c002b5521af87f035095c2)
193
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
194
+ jsii.set(self, "additionalEncryptionContext", value)
195
+
196
+ @builtins.property
197
+ @jsii.member(jsii_name="browserPolicy")
198
+ def browser_policy(self) -> typing.Optional[builtins.str]:
199
+ '''A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.'''
200
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "browserPolicy"))
201
+
202
+ @browser_policy.setter
203
+ def browser_policy(self, value: typing.Optional[builtins.str]) -> None:
204
+ if __debug__:
205
+ type_hints = typing.get_type_hints(_typecheckingstub__e1ed58b3fc2a2966bf9a096153c9b38b0a594ab0c629bf8b97e6011a61ebfb79)
206
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
207
+ jsii.set(self, "browserPolicy", value)
208
+
209
+ @builtins.property
210
+ @jsii.member(jsii_name="customerManagedKey")
211
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
212
+ '''The custom managed key of the browser settings.'''
213
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "customerManagedKey"))
214
+
215
+ @customer_managed_key.setter
216
+ def customer_managed_key(self, value: typing.Optional[builtins.str]) -> None:
217
+ if __debug__:
218
+ type_hints = typing.get_type_hints(_typecheckingstub__eed13ab23af9a957ff225aff9f958ae8f40efe7f9c0aa02be45034aa22a364c4)
219
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
220
+ jsii.set(self, "customerManagedKey", value)
221
+
222
+ @builtins.property
223
+ @jsii.member(jsii_name="tags")
224
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
225
+ '''The tags to add to the browser settings resource.'''
226
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
227
+
228
+ @tags.setter
229
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
230
+ if __debug__:
231
+ type_hints = typing.get_type_hints(_typecheckingstub__488a7e6081f5fbb5bf5af995cdb747f920d592e19ef88a222e5aa2f1c21d8a53)
232
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
233
+ jsii.set(self, "tags", value)
234
+
235
+
236
+ @jsii.data_type(
237
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnBrowserSettingsProps",
238
+ jsii_struct_bases=[],
239
+ name_mapping={
240
+ "additional_encryption_context": "additionalEncryptionContext",
241
+ "browser_policy": "browserPolicy",
242
+ "customer_managed_key": "customerManagedKey",
243
+ "tags": "tags",
244
+ },
245
+ )
246
+ class CfnBrowserSettingsProps:
247
+ def __init__(
248
+ self,
249
+ *,
250
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
251
+ browser_policy: typing.Optional[builtins.str] = None,
252
+ customer_managed_key: typing.Optional[builtins.str] = None,
253
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
254
+ ) -> None:
255
+ '''Properties for defining a ``CfnBrowserSettings``.
256
+
257
+ :param additional_encryption_context: Additional encryption context of the browser settings.
258
+ :param browser_policy: A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.
259
+ :param customer_managed_key: The custom managed key of the browser settings. *Pattern* : ``^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$``
260
+ :param tags: The tags to add to the browser settings resource. A tag is a key-value pair.
261
+
262
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html
263
+ :exampleMetadata: fixture=_generated
264
+
265
+ Example::
266
+
267
+ # The code below shows an example of how to instantiate this type.
268
+ # The values are placeholders you should change.
269
+ from aws_cdk import aws_workspacesweb as workspacesweb
270
+
271
+ cfn_browser_settings_props = workspacesweb.CfnBrowserSettingsProps(
272
+ additional_encryption_context={
273
+ "additional_encryption_context_key": "additionalEncryptionContext"
274
+ },
275
+ browser_policy="browserPolicy",
276
+ customer_managed_key="customerManagedKey",
277
+ tags=[CfnTag(
278
+ key="key",
279
+ value="value"
280
+ )]
281
+ )
282
+ '''
283
+ if __debug__:
284
+ type_hints = typing.get_type_hints(_typecheckingstub__f99c227d497f6d51d01cc19398b94784835fab55afca7c6488466bb1cc1420b3)
285
+ check_type(argname="argument additional_encryption_context", value=additional_encryption_context, expected_type=type_hints["additional_encryption_context"])
286
+ check_type(argname="argument browser_policy", value=browser_policy, expected_type=type_hints["browser_policy"])
287
+ check_type(argname="argument customer_managed_key", value=customer_managed_key, expected_type=type_hints["customer_managed_key"])
288
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
289
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
290
+ if additional_encryption_context is not None:
291
+ self._values["additional_encryption_context"] = additional_encryption_context
292
+ if browser_policy is not None:
293
+ self._values["browser_policy"] = browser_policy
294
+ if customer_managed_key is not None:
295
+ self._values["customer_managed_key"] = customer_managed_key
296
+ if tags is not None:
297
+ self._values["tags"] = tags
298
+
299
+ @builtins.property
300
+ def additional_encryption_context(
301
+ self,
302
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
303
+ '''Additional encryption context of the browser settings.
304
+
305
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html#cfn-workspacesweb-browsersettings-additionalencryptioncontext
306
+ '''
307
+ result = self._values.get("additional_encryption_context")
308
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
309
+
310
+ @builtins.property
311
+ def browser_policy(self) -> typing.Optional[builtins.str]:
312
+ '''A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.
313
+
314
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html#cfn-workspacesweb-browsersettings-browserpolicy
315
+ '''
316
+ result = self._values.get("browser_policy")
317
+ return typing.cast(typing.Optional[builtins.str], result)
318
+
319
+ @builtins.property
320
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
321
+ '''The custom managed key of the browser settings.
322
+
323
+ *Pattern* : ``^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$``
324
+
325
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html#cfn-workspacesweb-browsersettings-customermanagedkey
326
+ '''
327
+ result = self._values.get("customer_managed_key")
328
+ return typing.cast(typing.Optional[builtins.str], result)
329
+
330
+ @builtins.property
331
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
332
+ '''The tags to add to the browser settings resource.
333
+
334
+ A tag is a key-value pair.
335
+
336
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html#cfn-workspacesweb-browsersettings-tags
337
+ '''
338
+ result = self._values.get("tags")
339
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
340
+
341
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
342
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
343
+
344
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
345
+ return not (rhs == self)
346
+
347
+ def __repr__(self) -> str:
348
+ return "CfnBrowserSettingsProps(%s)" % ", ".join(
349
+ k + "=" + repr(v) for k, v in self._values.items()
350
+ )
351
+
352
+
353
+ @jsii.implements(_IInspectable_c2943556)
354
+ class CfnIdentityProvider(
355
+ _CfnResource_9df397a6,
356
+ metaclass=jsii.JSIIMeta,
357
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnIdentityProvider",
358
+ ):
359
+ '''This resource specifies an identity provider that is then associated with a web portal.
360
+
361
+ This resource is not required if your portal's ``AuthenticationType`` is IAM Identity Center.
362
+
363
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html
364
+ :exampleMetadata: fixture=_generated
365
+
366
+ Example::
367
+
368
+ # The code below shows an example of how to instantiate this type.
369
+ # The values are placeholders you should change.
370
+ from aws_cdk import aws_workspacesweb as workspacesweb
371
+
372
+ cfn_identity_provider = workspacesweb.CfnIdentityProvider(self, "MyCfnIdentityProvider",
373
+ identity_provider_details={
374
+ "identity_provider_details_key": "identityProviderDetails"
375
+ },
376
+ identity_provider_name="identityProviderName",
377
+ identity_provider_type="identityProviderType",
378
+
379
+ # the properties below are optional
380
+ portal_arn="portalArn"
381
+ )
382
+ '''
383
+
384
+ def __init__(
385
+ self,
386
+ scope: _constructs_77d1e7e8.Construct,
387
+ id: builtins.str,
388
+ *,
389
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
390
+ identity_provider_name: builtins.str,
391
+ identity_provider_type: builtins.str,
392
+ portal_arn: typing.Optional[builtins.str] = None,
393
+ ) -> None:
394
+ '''
395
+ :param scope: Scope in which this resource is defined.
396
+ :param id: Construct identifier for this resource (unique in its scope).
397
+ :param identity_provider_details: The identity provider details. The following list describes the provider detail keys for each identity provider type. - For Google and Login with Amazon: - ``client_id`` - ``client_secret`` - ``authorize_scopes`` - For Facebook: - ``client_id`` - ``client_secret`` - ``authorize_scopes`` - ``api_version`` - For Sign in with Apple: - ``client_id`` - ``team_id`` - ``key_id`` - ``private_key`` - ``authorize_scopes`` - For OIDC providers: - ``client_id`` - ``client_secret`` - ``attributes_request_method`` - ``oidc_issuer`` - ``authorize_scopes`` - ``authorize_url`` *if not available from discovery URL specified by oidc_issuer key* - ``token_url`` *if not available from discovery URL specified by oidc_issuer key* - ``attributes_url`` *if not available from discovery URL specified by oidc_issuer key* - ``jwks_uri`` *if not available from discovery URL specified by oidc_issuer key* - For SAML providers: - ``MetadataFile`` OR ``MetadataURL`` - ``IDPSignout`` *optional*
398
+ :param identity_provider_name: The identity provider name.
399
+ :param identity_provider_type: The identity provider type.
400
+ :param portal_arn: The ARN of the identity provider.
401
+ '''
402
+ if __debug__:
403
+ type_hints = typing.get_type_hints(_typecheckingstub__439cd32d129b1f0a69c13fb5a494170084be122497b619a7175debec51c3635e)
404
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
405
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
406
+ props = CfnIdentityProviderProps(
407
+ identity_provider_details=identity_provider_details,
408
+ identity_provider_name=identity_provider_name,
409
+ identity_provider_type=identity_provider_type,
410
+ portal_arn=portal_arn,
411
+ )
412
+
413
+ jsii.create(self.__class__, self, [scope, id, props])
414
+
415
+ @jsii.member(jsii_name="inspect")
416
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
417
+ '''Examines the CloudFormation resource and discloses attributes.
418
+
419
+ :param inspector: tree inspector to collect and process attributes.
420
+ '''
421
+ if __debug__:
422
+ type_hints = typing.get_type_hints(_typecheckingstub__ace0da6a7e7e7a968ac58e8be1ce9dcb15a96bae8fad93e7c341ff5392bed56c)
423
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
424
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
425
+
426
+ @jsii.member(jsii_name="renderProperties")
427
+ def _render_properties(
428
+ self,
429
+ props: typing.Mapping[builtins.str, typing.Any],
430
+ ) -> typing.Mapping[builtins.str, typing.Any]:
431
+ '''
432
+ :param props: -
433
+ '''
434
+ if __debug__:
435
+ type_hints = typing.get_type_hints(_typecheckingstub__ec876abe2e87a8e0cb2641e36f36bd29bb0a19b65cc2d8f6be54a630a22b3af8)
436
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
437
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
438
+
439
+ @jsii.python.classproperty
440
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
441
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
442
+ '''The CloudFormation resource type name for this resource class.'''
443
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
444
+
445
+ @builtins.property
446
+ @jsii.member(jsii_name="attrIdentityProviderArn")
447
+ def attr_identity_provider_arn(self) -> builtins.str:
448
+ '''The ARN of the identity provider.
449
+
450
+ :cloudformationAttribute: IdentityProviderArn
451
+ '''
452
+ return typing.cast(builtins.str, jsii.get(self, "attrIdentityProviderArn"))
453
+
454
+ @builtins.property
455
+ @jsii.member(jsii_name="cfnProperties")
456
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
457
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
458
+
459
+ @builtins.property
460
+ @jsii.member(jsii_name="identityProviderDetails")
461
+ def identity_provider_details(
462
+ self,
463
+ ) -> typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]:
464
+ '''The identity provider details.
465
+
466
+ The following list describes the provider detail keys for each identity provider type.
467
+ '''
468
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "identityProviderDetails"))
469
+
470
+ @identity_provider_details.setter
471
+ def identity_provider_details(
472
+ self,
473
+ value: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
474
+ ) -> None:
475
+ if __debug__:
476
+ type_hints = typing.get_type_hints(_typecheckingstub__6ae08bcbb1d55c54b06801705e4c1effec06173b9d5c1ab7d0301258d84aa63a)
477
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
478
+ jsii.set(self, "identityProviderDetails", value)
479
+
480
+ @builtins.property
481
+ @jsii.member(jsii_name="identityProviderName")
482
+ def identity_provider_name(self) -> builtins.str:
483
+ '''The identity provider name.'''
484
+ return typing.cast(builtins.str, jsii.get(self, "identityProviderName"))
485
+
486
+ @identity_provider_name.setter
487
+ def identity_provider_name(self, value: builtins.str) -> None:
488
+ if __debug__:
489
+ type_hints = typing.get_type_hints(_typecheckingstub__47d337423f7a1ca0a276c2a641c1f67e69f1933efe04994ab3be413955030b14)
490
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
491
+ jsii.set(self, "identityProviderName", value)
492
+
493
+ @builtins.property
494
+ @jsii.member(jsii_name="identityProviderType")
495
+ def identity_provider_type(self) -> builtins.str:
496
+ '''The identity provider type.'''
497
+ return typing.cast(builtins.str, jsii.get(self, "identityProviderType"))
498
+
499
+ @identity_provider_type.setter
500
+ def identity_provider_type(self, value: builtins.str) -> None:
501
+ if __debug__:
502
+ type_hints = typing.get_type_hints(_typecheckingstub__72551994233ed9e106da8e5840c9077e96c1a7cafc63617736585c1eb83fd2da)
503
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
504
+ jsii.set(self, "identityProviderType", value)
505
+
506
+ @builtins.property
507
+ @jsii.member(jsii_name="portalArn")
508
+ def portal_arn(self) -> typing.Optional[builtins.str]:
509
+ '''The ARN of the identity provider.'''
510
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "portalArn"))
511
+
512
+ @portal_arn.setter
513
+ def portal_arn(self, value: typing.Optional[builtins.str]) -> None:
514
+ if __debug__:
515
+ type_hints = typing.get_type_hints(_typecheckingstub__f17f07edd6f61424250e1f5f7df6f6cee024beb494ee700c6419c5642ebe36e1)
516
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
517
+ jsii.set(self, "portalArn", value)
518
+
519
+
520
+ @jsii.data_type(
521
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnIdentityProviderProps",
522
+ jsii_struct_bases=[],
523
+ name_mapping={
524
+ "identity_provider_details": "identityProviderDetails",
525
+ "identity_provider_name": "identityProviderName",
526
+ "identity_provider_type": "identityProviderType",
527
+ "portal_arn": "portalArn",
528
+ },
529
+ )
530
+ class CfnIdentityProviderProps:
531
+ def __init__(
532
+ self,
533
+ *,
534
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
535
+ identity_provider_name: builtins.str,
536
+ identity_provider_type: builtins.str,
537
+ portal_arn: typing.Optional[builtins.str] = None,
538
+ ) -> None:
539
+ '''Properties for defining a ``CfnIdentityProvider``.
540
+
541
+ :param identity_provider_details: The identity provider details. The following list describes the provider detail keys for each identity provider type. - For Google and Login with Amazon: - ``client_id`` - ``client_secret`` - ``authorize_scopes`` - For Facebook: - ``client_id`` - ``client_secret`` - ``authorize_scopes`` - ``api_version`` - For Sign in with Apple: - ``client_id`` - ``team_id`` - ``key_id`` - ``private_key`` - ``authorize_scopes`` - For OIDC providers: - ``client_id`` - ``client_secret`` - ``attributes_request_method`` - ``oidc_issuer`` - ``authorize_scopes`` - ``authorize_url`` *if not available from discovery URL specified by oidc_issuer key* - ``token_url`` *if not available from discovery URL specified by oidc_issuer key* - ``attributes_url`` *if not available from discovery URL specified by oidc_issuer key* - ``jwks_uri`` *if not available from discovery URL specified by oidc_issuer key* - For SAML providers: - ``MetadataFile`` OR ``MetadataURL`` - ``IDPSignout`` *optional*
542
+ :param identity_provider_name: The identity provider name.
543
+ :param identity_provider_type: The identity provider type.
544
+ :param portal_arn: The ARN of the identity provider.
545
+
546
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html
547
+ :exampleMetadata: fixture=_generated
548
+
549
+ Example::
550
+
551
+ # The code below shows an example of how to instantiate this type.
552
+ # The values are placeholders you should change.
553
+ from aws_cdk import aws_workspacesweb as workspacesweb
554
+
555
+ cfn_identity_provider_props = workspacesweb.CfnIdentityProviderProps(
556
+ identity_provider_details={
557
+ "identity_provider_details_key": "identityProviderDetails"
558
+ },
559
+ identity_provider_name="identityProviderName",
560
+ identity_provider_type="identityProviderType",
561
+
562
+ # the properties below are optional
563
+ portal_arn="portalArn"
564
+ )
565
+ '''
566
+ if __debug__:
567
+ type_hints = typing.get_type_hints(_typecheckingstub__fc73238ea7aab35d7f7ec21a88a98c698e64b413b81129270666c830ae963a4d)
568
+ check_type(argname="argument identity_provider_details", value=identity_provider_details, expected_type=type_hints["identity_provider_details"])
569
+ check_type(argname="argument identity_provider_name", value=identity_provider_name, expected_type=type_hints["identity_provider_name"])
570
+ check_type(argname="argument identity_provider_type", value=identity_provider_type, expected_type=type_hints["identity_provider_type"])
571
+ check_type(argname="argument portal_arn", value=portal_arn, expected_type=type_hints["portal_arn"])
572
+ self._values: typing.Dict[builtins.str, typing.Any] = {
573
+ "identity_provider_details": identity_provider_details,
574
+ "identity_provider_name": identity_provider_name,
575
+ "identity_provider_type": identity_provider_type,
576
+ }
577
+ if portal_arn is not None:
578
+ self._values["portal_arn"] = portal_arn
579
+
580
+ @builtins.property
581
+ def identity_provider_details(
582
+ self,
583
+ ) -> typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]:
584
+ '''The identity provider details. The following list describes the provider detail keys for each identity provider type.
585
+
586
+ - For Google and Login with Amazon:
587
+ - ``client_id``
588
+ - ``client_secret``
589
+ - ``authorize_scopes``
590
+ - For Facebook:
591
+ - ``client_id``
592
+ - ``client_secret``
593
+ - ``authorize_scopes``
594
+ - ``api_version``
595
+ - For Sign in with Apple:
596
+ - ``client_id``
597
+ - ``team_id``
598
+ - ``key_id``
599
+ - ``private_key``
600
+ - ``authorize_scopes``
601
+ - For OIDC providers:
602
+ - ``client_id``
603
+ - ``client_secret``
604
+ - ``attributes_request_method``
605
+ - ``oidc_issuer``
606
+ - ``authorize_scopes``
607
+ - ``authorize_url`` *if not available from discovery URL specified by oidc_issuer key*
608
+ - ``token_url`` *if not available from discovery URL specified by oidc_issuer key*
609
+ - ``attributes_url`` *if not available from discovery URL specified by oidc_issuer key*
610
+ - ``jwks_uri`` *if not available from discovery URL specified by oidc_issuer key*
611
+ - For SAML providers:
612
+ - ``MetadataFile`` OR ``MetadataURL``
613
+ - ``IDPSignout`` *optional*
614
+
615
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html#cfn-workspacesweb-identityprovider-identityproviderdetails
616
+ '''
617
+ result = self._values.get("identity_provider_details")
618
+ assert result is not None, "Required property 'identity_provider_details' is missing"
619
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]], result)
620
+
621
+ @builtins.property
622
+ def identity_provider_name(self) -> builtins.str:
623
+ '''The identity provider name.
624
+
625
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html#cfn-workspacesweb-identityprovider-identityprovidername
626
+ '''
627
+ result = self._values.get("identity_provider_name")
628
+ assert result is not None, "Required property 'identity_provider_name' is missing"
629
+ return typing.cast(builtins.str, result)
630
+
631
+ @builtins.property
632
+ def identity_provider_type(self) -> builtins.str:
633
+ '''The identity provider type.
634
+
635
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html#cfn-workspacesweb-identityprovider-identityprovidertype
636
+ '''
637
+ result = self._values.get("identity_provider_type")
638
+ assert result is not None, "Required property 'identity_provider_type' is missing"
639
+ return typing.cast(builtins.str, result)
640
+
641
+ @builtins.property
642
+ def portal_arn(self) -> typing.Optional[builtins.str]:
643
+ '''The ARN of the identity provider.
644
+
645
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html#cfn-workspacesweb-identityprovider-portalarn
646
+ '''
647
+ result = self._values.get("portal_arn")
648
+ return typing.cast(typing.Optional[builtins.str], result)
649
+
650
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
651
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
652
+
653
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
654
+ return not (rhs == self)
655
+
656
+ def __repr__(self) -> str:
657
+ return "CfnIdentityProviderProps(%s)" % ", ".join(
658
+ k + "=" + repr(v) for k, v in self._values.items()
659
+ )
660
+
661
+
662
+ @jsii.implements(_IInspectable_c2943556)
663
+ class CfnIpAccessSettings(
664
+ _CfnResource_9df397a6,
665
+ metaclass=jsii.JSIIMeta,
666
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnIpAccessSettings",
667
+ ):
668
+ '''This resource specifies IP access settings that can be associated with a web portal.
669
+
670
+ For more information, see `Set up IP access controls (optional) <https://docs.aws.amazon.com/workspaces-web/latest/adminguide/ip-access-controls.html>`_ .
671
+
672
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html
673
+ :exampleMetadata: fixture=_generated
674
+
675
+ Example::
676
+
677
+ # The code below shows an example of how to instantiate this type.
678
+ # The values are placeholders you should change.
679
+ from aws_cdk import aws_workspacesweb as workspacesweb
680
+
681
+ cfn_ip_access_settings = workspacesweb.CfnIpAccessSettings(self, "MyCfnIpAccessSettings",
682
+ ip_rules=[workspacesweb.CfnIpAccessSettings.IpRuleProperty(
683
+ ip_range="ipRange",
684
+
685
+ # the properties below are optional
686
+ description="description"
687
+ )],
688
+
689
+ # the properties below are optional
690
+ additional_encryption_context={
691
+ "additional_encryption_context_key": "additionalEncryptionContext"
692
+ },
693
+ customer_managed_key="customerManagedKey",
694
+ description="description",
695
+ display_name="displayName",
696
+ tags=[CfnTag(
697
+ key="key",
698
+ value="value"
699
+ )]
700
+ )
701
+ '''
702
+
703
+ def __init__(
704
+ self,
705
+ scope: _constructs_77d1e7e8.Construct,
706
+ id: builtins.str,
707
+ *,
708
+ ip_rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIpAccessSettings.IpRuleProperty", typing.Dict[builtins.str, typing.Any]]]]],
709
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
710
+ customer_managed_key: typing.Optional[builtins.str] = None,
711
+ description: typing.Optional[builtins.str] = None,
712
+ display_name: typing.Optional[builtins.str] = None,
713
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
714
+ ) -> None:
715
+ '''
716
+ :param scope: Scope in which this resource is defined.
717
+ :param id: Construct identifier for this resource (unique in its scope).
718
+ :param ip_rules: The IP rules of the IP access settings.
719
+ :param additional_encryption_context: Additional encryption context of the IP access settings.
720
+ :param customer_managed_key: The custom managed key of the IP access settings. *Pattern* : ``^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$``
721
+ :param description: The description of the IP access settings.
722
+ :param display_name: The display name of the IP access settings.
723
+ :param tags: The tags to add to the browser settings resource. A tag is a key-value pair.
724
+ '''
725
+ if __debug__:
726
+ type_hints = typing.get_type_hints(_typecheckingstub__4e3f00304b675ee88c29734b1fad40f8e448afe808a4226188c1c74e8ed82fe0)
727
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
728
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
729
+ props = CfnIpAccessSettingsProps(
730
+ ip_rules=ip_rules,
731
+ additional_encryption_context=additional_encryption_context,
732
+ customer_managed_key=customer_managed_key,
733
+ description=description,
734
+ display_name=display_name,
735
+ tags=tags,
736
+ )
737
+
738
+ jsii.create(self.__class__, self, [scope, id, props])
739
+
740
+ @jsii.member(jsii_name="inspect")
741
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
742
+ '''Examines the CloudFormation resource and discloses attributes.
743
+
744
+ :param inspector: tree inspector to collect and process attributes.
745
+ '''
746
+ if __debug__:
747
+ type_hints = typing.get_type_hints(_typecheckingstub__522d314ff55f65afebb67835c03df17342b3167bed24e30c591f5aef150973f0)
748
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
749
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
750
+
751
+ @jsii.member(jsii_name="renderProperties")
752
+ def _render_properties(
753
+ self,
754
+ props: typing.Mapping[builtins.str, typing.Any],
755
+ ) -> typing.Mapping[builtins.str, typing.Any]:
756
+ '''
757
+ :param props: -
758
+ '''
759
+ if __debug__:
760
+ type_hints = typing.get_type_hints(_typecheckingstub__dd4736646712efdcfa8ece881cd4fa733fb537f01432db179870ed0f95ff0512)
761
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
762
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
763
+
764
+ @jsii.python.classproperty
765
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
766
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
767
+ '''The CloudFormation resource type name for this resource class.'''
768
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
769
+
770
+ @builtins.property
771
+ @jsii.member(jsii_name="attrAssociatedPortalArns")
772
+ def attr_associated_portal_arns(self) -> typing.List[builtins.str]:
773
+ '''A list of web portal ARNs that this IP access settings resource is associated with.
774
+
775
+ :cloudformationAttribute: AssociatedPortalArns
776
+ '''
777
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAssociatedPortalArns"))
778
+
779
+ @builtins.property
780
+ @jsii.member(jsii_name="attrCreationDate")
781
+ def attr_creation_date(self) -> builtins.str:
782
+ '''The creation date timestamp of the IP access settings.
783
+
784
+ :cloudformationAttribute: CreationDate
785
+ '''
786
+ return typing.cast(builtins.str, jsii.get(self, "attrCreationDate"))
787
+
788
+ @builtins.property
789
+ @jsii.member(jsii_name="attrIpAccessSettingsArn")
790
+ def attr_ip_access_settings_arn(self) -> builtins.str:
791
+ '''The ARN of the IP access settings resource.
792
+
793
+ :cloudformationAttribute: IpAccessSettingsArn
794
+ '''
795
+ return typing.cast(builtins.str, jsii.get(self, "attrIpAccessSettingsArn"))
796
+
797
+ @builtins.property
798
+ @jsii.member(jsii_name="cfnProperties")
799
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
800
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
801
+
802
+ @builtins.property
803
+ @jsii.member(jsii_name="ipRules")
804
+ def ip_rules(
805
+ self,
806
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIpAccessSettings.IpRuleProperty"]]]:
807
+ '''The IP rules of the IP access settings.'''
808
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIpAccessSettings.IpRuleProperty"]]], jsii.get(self, "ipRules"))
809
+
810
+ @ip_rules.setter
811
+ def ip_rules(
812
+ self,
813
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIpAccessSettings.IpRuleProperty"]]],
814
+ ) -> None:
815
+ if __debug__:
816
+ type_hints = typing.get_type_hints(_typecheckingstub__dc300ade0369b0ab447aa7806a51ee2809fea6ffd0fffc0129fb173b7f3886cf)
817
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
818
+ jsii.set(self, "ipRules", value)
819
+
820
+ @builtins.property
821
+ @jsii.member(jsii_name="additionalEncryptionContext")
822
+ def additional_encryption_context(
823
+ self,
824
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
825
+ '''Additional encryption context of the IP access settings.'''
826
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "additionalEncryptionContext"))
827
+
828
+ @additional_encryption_context.setter
829
+ def additional_encryption_context(
830
+ self,
831
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
832
+ ) -> None:
833
+ if __debug__:
834
+ type_hints = typing.get_type_hints(_typecheckingstub__5f120862dd3a18b3da3624f1bbb9a6b2ec04ea91c5a0d22f1306ab87a46a1e28)
835
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
836
+ jsii.set(self, "additionalEncryptionContext", value)
837
+
838
+ @builtins.property
839
+ @jsii.member(jsii_name="customerManagedKey")
840
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
841
+ '''The custom managed key of the IP access settings.'''
842
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "customerManagedKey"))
843
+
844
+ @customer_managed_key.setter
845
+ def customer_managed_key(self, value: typing.Optional[builtins.str]) -> None:
846
+ if __debug__:
847
+ type_hints = typing.get_type_hints(_typecheckingstub__057facdda1fc071bcb0a19a16cf182f52ac2a874ba9674ab1e2f710144816eae)
848
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
849
+ jsii.set(self, "customerManagedKey", value)
850
+
851
+ @builtins.property
852
+ @jsii.member(jsii_name="description")
853
+ def description(self) -> typing.Optional[builtins.str]:
854
+ '''The description of the IP access settings.'''
855
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
856
+
857
+ @description.setter
858
+ def description(self, value: typing.Optional[builtins.str]) -> None:
859
+ if __debug__:
860
+ type_hints = typing.get_type_hints(_typecheckingstub__6b724cabf90e359bbb06c7a32f43432bf7cb19a46eb5e9f240789471612d5b8b)
861
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
862
+ jsii.set(self, "description", value)
863
+
864
+ @builtins.property
865
+ @jsii.member(jsii_name="displayName")
866
+ def display_name(self) -> typing.Optional[builtins.str]:
867
+ '''The display name of the IP access settings.'''
868
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "displayName"))
869
+
870
+ @display_name.setter
871
+ def display_name(self, value: typing.Optional[builtins.str]) -> None:
872
+ if __debug__:
873
+ type_hints = typing.get_type_hints(_typecheckingstub__98ac230b64daa6cce74b4ea14502d07e7a0dcc81bb5bd7c233a62ad5907f6083)
874
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
875
+ jsii.set(self, "displayName", value)
876
+
877
+ @builtins.property
878
+ @jsii.member(jsii_name="tags")
879
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
880
+ '''The tags to add to the browser settings resource.'''
881
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
882
+
883
+ @tags.setter
884
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
885
+ if __debug__:
886
+ type_hints = typing.get_type_hints(_typecheckingstub__d6ebcd54b862693c4f7d257e8db3f90e6315f91bc32c16e7865b2e93f91ff381)
887
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
888
+ jsii.set(self, "tags", value)
889
+
890
+ @jsii.data_type(
891
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnIpAccessSettings.IpRuleProperty",
892
+ jsii_struct_bases=[],
893
+ name_mapping={"ip_range": "ipRange", "description": "description"},
894
+ )
895
+ class IpRuleProperty:
896
+ def __init__(
897
+ self,
898
+ *,
899
+ ip_range: builtins.str,
900
+ description: typing.Optional[builtins.str] = None,
901
+ ) -> None:
902
+ '''The IP rules of the IP access settings.
903
+
904
+ :param ip_range: The IP range of the IP rule. This can either be a single IP address or a range using CIDR notation.
905
+ :param description: The description of the IP rule.
906
+
907
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-ipaccesssettings-iprule.html
908
+ :exampleMetadata: fixture=_generated
909
+
910
+ Example::
911
+
912
+ # The code below shows an example of how to instantiate this type.
913
+ # The values are placeholders you should change.
914
+ from aws_cdk import aws_workspacesweb as workspacesweb
915
+
916
+ ip_rule_property = workspacesweb.CfnIpAccessSettings.IpRuleProperty(
917
+ ip_range="ipRange",
918
+
919
+ # the properties below are optional
920
+ description="description"
921
+ )
922
+ '''
923
+ if __debug__:
924
+ type_hints = typing.get_type_hints(_typecheckingstub__6ef91a56d003f837ee2a6f8431647b2dcdd5ff9d72afb0d6f7cb1c50cc1a6890)
925
+ check_type(argname="argument ip_range", value=ip_range, expected_type=type_hints["ip_range"])
926
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
927
+ self._values: typing.Dict[builtins.str, typing.Any] = {
928
+ "ip_range": ip_range,
929
+ }
930
+ if description is not None:
931
+ self._values["description"] = description
932
+
933
+ @builtins.property
934
+ def ip_range(self) -> builtins.str:
935
+ '''The IP range of the IP rule.
936
+
937
+ This can either be a single IP address or a range using CIDR notation.
938
+
939
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-ipaccesssettings-iprule.html#cfn-workspacesweb-ipaccesssettings-iprule-iprange
940
+ '''
941
+ result = self._values.get("ip_range")
942
+ assert result is not None, "Required property 'ip_range' is missing"
943
+ return typing.cast(builtins.str, result)
944
+
945
+ @builtins.property
946
+ def description(self) -> typing.Optional[builtins.str]:
947
+ '''The description of the IP rule.
948
+
949
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-ipaccesssettings-iprule.html#cfn-workspacesweb-ipaccesssettings-iprule-description
950
+ '''
951
+ result = self._values.get("description")
952
+ return typing.cast(typing.Optional[builtins.str], result)
953
+
954
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
955
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
956
+
957
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
958
+ return not (rhs == self)
959
+
960
+ def __repr__(self) -> str:
961
+ return "IpRuleProperty(%s)" % ", ".join(
962
+ k + "=" + repr(v) for k, v in self._values.items()
963
+ )
964
+
965
+
966
+ @jsii.data_type(
967
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnIpAccessSettingsProps",
968
+ jsii_struct_bases=[],
969
+ name_mapping={
970
+ "ip_rules": "ipRules",
971
+ "additional_encryption_context": "additionalEncryptionContext",
972
+ "customer_managed_key": "customerManagedKey",
973
+ "description": "description",
974
+ "display_name": "displayName",
975
+ "tags": "tags",
976
+ },
977
+ )
978
+ class CfnIpAccessSettingsProps:
979
+ def __init__(
980
+ self,
981
+ *,
982
+ ip_rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIpAccessSettings.IpRuleProperty, typing.Dict[builtins.str, typing.Any]]]]],
983
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
984
+ customer_managed_key: typing.Optional[builtins.str] = None,
985
+ description: typing.Optional[builtins.str] = None,
986
+ display_name: typing.Optional[builtins.str] = None,
987
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
988
+ ) -> None:
989
+ '''Properties for defining a ``CfnIpAccessSettings``.
990
+
991
+ :param ip_rules: The IP rules of the IP access settings.
992
+ :param additional_encryption_context: Additional encryption context of the IP access settings.
993
+ :param customer_managed_key: The custom managed key of the IP access settings. *Pattern* : ``^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$``
994
+ :param description: The description of the IP access settings.
995
+ :param display_name: The display name of the IP access settings.
996
+ :param tags: The tags to add to the browser settings resource. A tag is a key-value pair.
997
+
998
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html
999
+ :exampleMetadata: fixture=_generated
1000
+
1001
+ Example::
1002
+
1003
+ # The code below shows an example of how to instantiate this type.
1004
+ # The values are placeholders you should change.
1005
+ from aws_cdk import aws_workspacesweb as workspacesweb
1006
+
1007
+ cfn_ip_access_settings_props = workspacesweb.CfnIpAccessSettingsProps(
1008
+ ip_rules=[workspacesweb.CfnIpAccessSettings.IpRuleProperty(
1009
+ ip_range="ipRange",
1010
+
1011
+ # the properties below are optional
1012
+ description="description"
1013
+ )],
1014
+
1015
+ # the properties below are optional
1016
+ additional_encryption_context={
1017
+ "additional_encryption_context_key": "additionalEncryptionContext"
1018
+ },
1019
+ customer_managed_key="customerManagedKey",
1020
+ description="description",
1021
+ display_name="displayName",
1022
+ tags=[CfnTag(
1023
+ key="key",
1024
+ value="value"
1025
+ )]
1026
+ )
1027
+ '''
1028
+ if __debug__:
1029
+ type_hints = typing.get_type_hints(_typecheckingstub__332b0cacbcd242c5add5b067133a69e3ee9f775e64856bf6ae48c84e34d0b475)
1030
+ check_type(argname="argument ip_rules", value=ip_rules, expected_type=type_hints["ip_rules"])
1031
+ check_type(argname="argument additional_encryption_context", value=additional_encryption_context, expected_type=type_hints["additional_encryption_context"])
1032
+ check_type(argname="argument customer_managed_key", value=customer_managed_key, expected_type=type_hints["customer_managed_key"])
1033
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1034
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
1035
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1036
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1037
+ "ip_rules": ip_rules,
1038
+ }
1039
+ if additional_encryption_context is not None:
1040
+ self._values["additional_encryption_context"] = additional_encryption_context
1041
+ if customer_managed_key is not None:
1042
+ self._values["customer_managed_key"] = customer_managed_key
1043
+ if description is not None:
1044
+ self._values["description"] = description
1045
+ if display_name is not None:
1046
+ self._values["display_name"] = display_name
1047
+ if tags is not None:
1048
+ self._values["tags"] = tags
1049
+
1050
+ @builtins.property
1051
+ def ip_rules(
1052
+ self,
1053
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIpAccessSettings.IpRuleProperty]]]:
1054
+ '''The IP rules of the IP access settings.
1055
+
1056
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html#cfn-workspacesweb-ipaccesssettings-iprules
1057
+ '''
1058
+ result = self._values.get("ip_rules")
1059
+ assert result is not None, "Required property 'ip_rules' is missing"
1060
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIpAccessSettings.IpRuleProperty]]], result)
1061
+
1062
+ @builtins.property
1063
+ def additional_encryption_context(
1064
+ self,
1065
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
1066
+ '''Additional encryption context of the IP access settings.
1067
+
1068
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html#cfn-workspacesweb-ipaccesssettings-additionalencryptioncontext
1069
+ '''
1070
+ result = self._values.get("additional_encryption_context")
1071
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
1072
+
1073
+ @builtins.property
1074
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
1075
+ '''The custom managed key of the IP access settings.
1076
+
1077
+ *Pattern* : ``^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$``
1078
+
1079
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html#cfn-workspacesweb-ipaccesssettings-customermanagedkey
1080
+ '''
1081
+ result = self._values.get("customer_managed_key")
1082
+ return typing.cast(typing.Optional[builtins.str], result)
1083
+
1084
+ @builtins.property
1085
+ def description(self) -> typing.Optional[builtins.str]:
1086
+ '''The description of the IP access settings.
1087
+
1088
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html#cfn-workspacesweb-ipaccesssettings-description
1089
+ '''
1090
+ result = self._values.get("description")
1091
+ return typing.cast(typing.Optional[builtins.str], result)
1092
+
1093
+ @builtins.property
1094
+ def display_name(self) -> typing.Optional[builtins.str]:
1095
+ '''The display name of the IP access settings.
1096
+
1097
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html#cfn-workspacesweb-ipaccesssettings-displayname
1098
+ '''
1099
+ result = self._values.get("display_name")
1100
+ return typing.cast(typing.Optional[builtins.str], result)
1101
+
1102
+ @builtins.property
1103
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1104
+ '''The tags to add to the browser settings resource.
1105
+
1106
+ A tag is a key-value pair.
1107
+
1108
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html#cfn-workspacesweb-ipaccesssettings-tags
1109
+ '''
1110
+ result = self._values.get("tags")
1111
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1112
+
1113
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1114
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1115
+
1116
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1117
+ return not (rhs == self)
1118
+
1119
+ def __repr__(self) -> str:
1120
+ return "CfnIpAccessSettingsProps(%s)" % ", ".join(
1121
+ k + "=" + repr(v) for k, v in self._values.items()
1122
+ )
1123
+
1124
+
1125
+ @jsii.implements(_IInspectable_c2943556)
1126
+ class CfnNetworkSettings(
1127
+ _CfnResource_9df397a6,
1128
+ metaclass=jsii.JSIIMeta,
1129
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnNetworkSettings",
1130
+ ):
1131
+ '''This resource specifies network settings that can be associated with a web portal.
1132
+
1133
+ Once associated with a web portal, network settings define how streaming instances will connect with your specified VPC.
1134
+
1135
+ The VPC must have default tenancy. VPCs with dedicated tenancy are not supported.
1136
+
1137
+ For availability consideration, you must have at least two subnets created in two different Availability Zones. WorkSpaces Web is available in a subset of the Availability Zones for each supported Region. For more information, see `Supported Availability Zones <https://docs.aws.amazon.com/workspaces-web/latest/adminguide/availability-zones.html>`_ .
1138
+
1139
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html
1140
+ :exampleMetadata: fixture=_generated
1141
+
1142
+ Example::
1143
+
1144
+ # The code below shows an example of how to instantiate this type.
1145
+ # The values are placeholders you should change.
1146
+ from aws_cdk import aws_workspacesweb as workspacesweb
1147
+
1148
+ cfn_network_settings = workspacesweb.CfnNetworkSettings(self, "MyCfnNetworkSettings",
1149
+ security_group_ids=["securityGroupIds"],
1150
+ subnet_ids=["subnetIds"],
1151
+ vpc_id="vpcId",
1152
+
1153
+ # the properties below are optional
1154
+ tags=[CfnTag(
1155
+ key="key",
1156
+ value="value"
1157
+ )]
1158
+ )
1159
+ '''
1160
+
1161
+ def __init__(
1162
+ self,
1163
+ scope: _constructs_77d1e7e8.Construct,
1164
+ id: builtins.str,
1165
+ *,
1166
+ security_group_ids: typing.Sequence[builtins.str],
1167
+ subnet_ids: typing.Sequence[builtins.str],
1168
+ vpc_id: builtins.str,
1169
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1170
+ ) -> None:
1171
+ '''
1172
+ :param scope: Scope in which this resource is defined.
1173
+ :param id: Construct identifier for this resource (unique in its scope).
1174
+ :param security_group_ids: One or more security groups used to control access from streaming instances to your VPC. *Pattern* : ``^[\\w+\\-]+$``
1175
+ :param subnet_ids: The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones. *Pattern* : ``^subnet-([0-9a-f]{8}|[0-9a-f]{17})$``
1176
+ :param vpc_id: The VPC that streaming instances will connect to. *Pattern* : ``^vpc-[0-9a-z]*$``
1177
+ :param tags: The tags to add to the network settings resource. A tag is a key-value pair.
1178
+ '''
1179
+ if __debug__:
1180
+ type_hints = typing.get_type_hints(_typecheckingstub__95a61d7b0b1452fb7a5fdde6d41bbab0a1737a4628bbe5a201c16ce50a3e8a67)
1181
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1182
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1183
+ props = CfnNetworkSettingsProps(
1184
+ security_group_ids=security_group_ids,
1185
+ subnet_ids=subnet_ids,
1186
+ vpc_id=vpc_id,
1187
+ tags=tags,
1188
+ )
1189
+
1190
+ jsii.create(self.__class__, self, [scope, id, props])
1191
+
1192
+ @jsii.member(jsii_name="inspect")
1193
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1194
+ '''Examines the CloudFormation resource and discloses attributes.
1195
+
1196
+ :param inspector: tree inspector to collect and process attributes.
1197
+ '''
1198
+ if __debug__:
1199
+ type_hints = typing.get_type_hints(_typecheckingstub__b18b2266ad8a399dab2a39759ddd4f261e866f9af5f84bd2281d2d5717327fc7)
1200
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1201
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1202
+
1203
+ @jsii.member(jsii_name="renderProperties")
1204
+ def _render_properties(
1205
+ self,
1206
+ props: typing.Mapping[builtins.str, typing.Any],
1207
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1208
+ '''
1209
+ :param props: -
1210
+ '''
1211
+ if __debug__:
1212
+ type_hints = typing.get_type_hints(_typecheckingstub__e59ed5f61334e6922894c4c8b1588d6af1336b159abb632a02c51a1b16724fd0)
1213
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1214
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1215
+
1216
+ @jsii.python.classproperty
1217
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1218
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1219
+ '''The CloudFormation resource type name for this resource class.'''
1220
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1221
+
1222
+ @builtins.property
1223
+ @jsii.member(jsii_name="attrAssociatedPortalArns")
1224
+ def attr_associated_portal_arns(self) -> typing.List[builtins.str]:
1225
+ '''A list of web portal ARNs that this network settings is associated with.
1226
+
1227
+ :cloudformationAttribute: AssociatedPortalArns
1228
+ '''
1229
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAssociatedPortalArns"))
1230
+
1231
+ @builtins.property
1232
+ @jsii.member(jsii_name="attrNetworkSettingsArn")
1233
+ def attr_network_settings_arn(self) -> builtins.str:
1234
+ '''The ARN of the network settings.
1235
+
1236
+ :cloudformationAttribute: NetworkSettingsArn
1237
+ '''
1238
+ return typing.cast(builtins.str, jsii.get(self, "attrNetworkSettingsArn"))
1239
+
1240
+ @builtins.property
1241
+ @jsii.member(jsii_name="cfnProperties")
1242
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1243
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1244
+
1245
+ @builtins.property
1246
+ @jsii.member(jsii_name="securityGroupIds")
1247
+ def security_group_ids(self) -> typing.List[builtins.str]:
1248
+ '''One or more security groups used to control access from streaming instances to your VPC.'''
1249
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "securityGroupIds"))
1250
+
1251
+ @security_group_ids.setter
1252
+ def security_group_ids(self, value: typing.List[builtins.str]) -> None:
1253
+ if __debug__:
1254
+ type_hints = typing.get_type_hints(_typecheckingstub__3554fe26b5fd797fb5730682ce023c2460621ebeec517b2840620081484a64ab)
1255
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1256
+ jsii.set(self, "securityGroupIds", value)
1257
+
1258
+ @builtins.property
1259
+ @jsii.member(jsii_name="subnetIds")
1260
+ def subnet_ids(self) -> typing.List[builtins.str]:
1261
+ '''The subnets in which network interfaces are created to connect streaming instances to your VPC.'''
1262
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "subnetIds"))
1263
+
1264
+ @subnet_ids.setter
1265
+ def subnet_ids(self, value: typing.List[builtins.str]) -> None:
1266
+ if __debug__:
1267
+ type_hints = typing.get_type_hints(_typecheckingstub__9b27a5b7c5de5fd73e2955aa73ff7e658050d13d9e84df9804b230c062f75d81)
1268
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1269
+ jsii.set(self, "subnetIds", value)
1270
+
1271
+ @builtins.property
1272
+ @jsii.member(jsii_name="vpcId")
1273
+ def vpc_id(self) -> builtins.str:
1274
+ '''The VPC that streaming instances will connect to.'''
1275
+ return typing.cast(builtins.str, jsii.get(self, "vpcId"))
1276
+
1277
+ @vpc_id.setter
1278
+ def vpc_id(self, value: builtins.str) -> None:
1279
+ if __debug__:
1280
+ type_hints = typing.get_type_hints(_typecheckingstub__e298ee4542dc4160ff007ee478b4d24dff6a5105564e454a0eacb28ac7aeab52)
1281
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1282
+ jsii.set(self, "vpcId", value)
1283
+
1284
+ @builtins.property
1285
+ @jsii.member(jsii_name="tags")
1286
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1287
+ '''The tags to add to the network settings resource.'''
1288
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1289
+
1290
+ @tags.setter
1291
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1292
+ if __debug__:
1293
+ type_hints = typing.get_type_hints(_typecheckingstub__07819661df503a5395aeb2f48e629b4742564eaa4d650197b66c74bb51c0efc3)
1294
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1295
+ jsii.set(self, "tags", value)
1296
+
1297
+
1298
+ @jsii.data_type(
1299
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnNetworkSettingsProps",
1300
+ jsii_struct_bases=[],
1301
+ name_mapping={
1302
+ "security_group_ids": "securityGroupIds",
1303
+ "subnet_ids": "subnetIds",
1304
+ "vpc_id": "vpcId",
1305
+ "tags": "tags",
1306
+ },
1307
+ )
1308
+ class CfnNetworkSettingsProps:
1309
+ def __init__(
1310
+ self,
1311
+ *,
1312
+ security_group_ids: typing.Sequence[builtins.str],
1313
+ subnet_ids: typing.Sequence[builtins.str],
1314
+ vpc_id: builtins.str,
1315
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1316
+ ) -> None:
1317
+ '''Properties for defining a ``CfnNetworkSettings``.
1318
+
1319
+ :param security_group_ids: One or more security groups used to control access from streaming instances to your VPC. *Pattern* : ``^[\\w+\\-]+$``
1320
+ :param subnet_ids: The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones. *Pattern* : ``^subnet-([0-9a-f]{8}|[0-9a-f]{17})$``
1321
+ :param vpc_id: The VPC that streaming instances will connect to. *Pattern* : ``^vpc-[0-9a-z]*$``
1322
+ :param tags: The tags to add to the network settings resource. A tag is a key-value pair.
1323
+
1324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html
1325
+ :exampleMetadata: fixture=_generated
1326
+
1327
+ Example::
1328
+
1329
+ # The code below shows an example of how to instantiate this type.
1330
+ # The values are placeholders you should change.
1331
+ from aws_cdk import aws_workspacesweb as workspacesweb
1332
+
1333
+ cfn_network_settings_props = workspacesweb.CfnNetworkSettingsProps(
1334
+ security_group_ids=["securityGroupIds"],
1335
+ subnet_ids=["subnetIds"],
1336
+ vpc_id="vpcId",
1337
+
1338
+ # the properties below are optional
1339
+ tags=[CfnTag(
1340
+ key="key",
1341
+ value="value"
1342
+ )]
1343
+ )
1344
+ '''
1345
+ if __debug__:
1346
+ type_hints = typing.get_type_hints(_typecheckingstub__a17459072d5b9aee15fcf087fb12a82a751a074de0d02647ae22fed9a82fb2cb)
1347
+ check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
1348
+ check_type(argname="argument subnet_ids", value=subnet_ids, expected_type=type_hints["subnet_ids"])
1349
+ check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
1350
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1351
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1352
+ "security_group_ids": security_group_ids,
1353
+ "subnet_ids": subnet_ids,
1354
+ "vpc_id": vpc_id,
1355
+ }
1356
+ if tags is not None:
1357
+ self._values["tags"] = tags
1358
+
1359
+ @builtins.property
1360
+ def security_group_ids(self) -> typing.List[builtins.str]:
1361
+ '''One or more security groups used to control access from streaming instances to your VPC.
1362
+
1363
+ *Pattern* : ``^[\\w+\\-]+$``
1364
+
1365
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html#cfn-workspacesweb-networksettings-securitygroupids
1366
+ '''
1367
+ result = self._values.get("security_group_ids")
1368
+ assert result is not None, "Required property 'security_group_ids' is missing"
1369
+ return typing.cast(typing.List[builtins.str], result)
1370
+
1371
+ @builtins.property
1372
+ def subnet_ids(self) -> typing.List[builtins.str]:
1373
+ '''The subnets in which network interfaces are created to connect streaming instances to your VPC.
1374
+
1375
+ At least two of these subnets must be in different availability zones.
1376
+
1377
+ *Pattern* : ``^subnet-([0-9a-f]{8}|[0-9a-f]{17})$``
1378
+
1379
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html#cfn-workspacesweb-networksettings-subnetids
1380
+ '''
1381
+ result = self._values.get("subnet_ids")
1382
+ assert result is not None, "Required property 'subnet_ids' is missing"
1383
+ return typing.cast(typing.List[builtins.str], result)
1384
+
1385
+ @builtins.property
1386
+ def vpc_id(self) -> builtins.str:
1387
+ '''The VPC that streaming instances will connect to.
1388
+
1389
+ *Pattern* : ``^vpc-[0-9a-z]*$``
1390
+
1391
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html#cfn-workspacesweb-networksettings-vpcid
1392
+ '''
1393
+ result = self._values.get("vpc_id")
1394
+ assert result is not None, "Required property 'vpc_id' is missing"
1395
+ return typing.cast(builtins.str, result)
1396
+
1397
+ @builtins.property
1398
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1399
+ '''The tags to add to the network settings resource.
1400
+
1401
+ A tag is a key-value pair.
1402
+
1403
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html#cfn-workspacesweb-networksettings-tags
1404
+ '''
1405
+ result = self._values.get("tags")
1406
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1407
+
1408
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1409
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1410
+
1411
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1412
+ return not (rhs == self)
1413
+
1414
+ def __repr__(self) -> str:
1415
+ return "CfnNetworkSettingsProps(%s)" % ", ".join(
1416
+ k + "=" + repr(v) for k, v in self._values.items()
1417
+ )
1418
+
1419
+
1420
+ @jsii.implements(_IInspectable_c2943556)
1421
+ class CfnPortal(
1422
+ _CfnResource_9df397a6,
1423
+ metaclass=jsii.JSIIMeta,
1424
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnPortal",
1425
+ ):
1426
+ '''This resource specifies a web portal, which users use to start browsing sessions.
1427
+
1428
+ A ``Standard`` web portal can't start browsing sessions unless you have at defined and associated an ``IdentityProvider`` and ``NetworkSettings`` resource. An ``IAM Identity Center`` web portal does not require an ``IdentityProvider`` resource.
1429
+
1430
+ For more information about web portals, see `What is Amazon WorkSpaces Web? <https://docs.aws.amazon.com/workspaces-web/latest/adminguide/what-is-workspaces-web.html.html>`_ .
1431
+
1432
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html
1433
+ :exampleMetadata: fixture=_generated
1434
+
1435
+ Example::
1436
+
1437
+ # The code below shows an example of how to instantiate this type.
1438
+ # The values are placeholders you should change.
1439
+ from aws_cdk import aws_workspacesweb as workspacesweb
1440
+
1441
+ cfn_portal = workspacesweb.CfnPortal(self, "MyCfnPortal",
1442
+ additional_encryption_context={
1443
+ "additional_encryption_context_key": "additionalEncryptionContext"
1444
+ },
1445
+ authentication_type="authenticationType",
1446
+ browser_settings_arn="browserSettingsArn",
1447
+ customer_managed_key="customerManagedKey",
1448
+ display_name="displayName",
1449
+ ip_access_settings_arn="ipAccessSettingsArn",
1450
+ network_settings_arn="networkSettingsArn",
1451
+ tags=[CfnTag(
1452
+ key="key",
1453
+ value="value"
1454
+ )],
1455
+ trust_store_arn="trustStoreArn",
1456
+ user_access_logging_settings_arn="userAccessLoggingSettingsArn",
1457
+ user_settings_arn="userSettingsArn"
1458
+ )
1459
+ '''
1460
+
1461
+ def __init__(
1462
+ self,
1463
+ scope: _constructs_77d1e7e8.Construct,
1464
+ id: builtins.str,
1465
+ *,
1466
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
1467
+ authentication_type: typing.Optional[builtins.str] = None,
1468
+ browser_settings_arn: typing.Optional[builtins.str] = None,
1469
+ customer_managed_key: typing.Optional[builtins.str] = None,
1470
+ display_name: typing.Optional[builtins.str] = None,
1471
+ ip_access_settings_arn: typing.Optional[builtins.str] = None,
1472
+ network_settings_arn: typing.Optional[builtins.str] = None,
1473
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1474
+ trust_store_arn: typing.Optional[builtins.str] = None,
1475
+ user_access_logging_settings_arn: typing.Optional[builtins.str] = None,
1476
+ user_settings_arn: typing.Optional[builtins.str] = None,
1477
+ ) -> None:
1478
+ '''
1479
+ :param scope: Scope in which this resource is defined.
1480
+ :param id: Construct identifier for this resource (unique in its scope).
1481
+ :param additional_encryption_context: The additional encryption context of the portal.
1482
+ :param authentication_type: 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 Web’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 Web console, or by the calling the ``GetPortalServiceProviderMetadata`` API. 3. Submit the data to your IdP. 4. Add an ``IdentityProvider`` resource to your CloudFormation template. ``IAM Identity Center`` web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On) . 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 IAM Identity Center . User and group assignment must be done through the WorkSpaces Web console. These cannot be configured in CloudFormation.
1483
+ :param browser_settings_arn: The ARN of the browser settings that is associated with this web portal.
1484
+ :param customer_managed_key: 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-]+$``
1485
+ :param display_name: The name of the web portal.
1486
+ :param ip_access_settings_arn: The ARN of the IP access settings that is associated with the web portal.
1487
+ :param network_settings_arn: The ARN of the network settings that is associated with the web portal.
1488
+ :param tags: The tags to add to the web portal. A tag is a key-value pair.
1489
+ :param trust_store_arn: The ARN of the trust store that is associated with the web portal.
1490
+ :param user_access_logging_settings_arn: The ARN of the user access logging settings that is associated with the web portal.
1491
+ :param user_settings_arn: The ARN of the user settings that is associated with the web portal.
1492
+ '''
1493
+ if __debug__:
1494
+ type_hints = typing.get_type_hints(_typecheckingstub__239c61bc87a1a693f01a28198d2d3000f7ef790e9684279e807a890b0beba6f5)
1495
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1496
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1497
+ props = CfnPortalProps(
1498
+ additional_encryption_context=additional_encryption_context,
1499
+ authentication_type=authentication_type,
1500
+ browser_settings_arn=browser_settings_arn,
1501
+ customer_managed_key=customer_managed_key,
1502
+ display_name=display_name,
1503
+ ip_access_settings_arn=ip_access_settings_arn,
1504
+ network_settings_arn=network_settings_arn,
1505
+ tags=tags,
1506
+ trust_store_arn=trust_store_arn,
1507
+ user_access_logging_settings_arn=user_access_logging_settings_arn,
1508
+ user_settings_arn=user_settings_arn,
1509
+ )
1510
+
1511
+ jsii.create(self.__class__, self, [scope, id, props])
1512
+
1513
+ @jsii.member(jsii_name="inspect")
1514
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1515
+ '''Examines the CloudFormation resource and discloses attributes.
1516
+
1517
+ :param inspector: tree inspector to collect and process attributes.
1518
+ '''
1519
+ if __debug__:
1520
+ type_hints = typing.get_type_hints(_typecheckingstub__c60cd0cfa36720b34c125e3c88b5da82ebb6f29c673cdccf4de8f3e9c20d4191)
1521
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1522
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1523
+
1524
+ @jsii.member(jsii_name="renderProperties")
1525
+ def _render_properties(
1526
+ self,
1527
+ props: typing.Mapping[builtins.str, typing.Any],
1528
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1529
+ '''
1530
+ :param props: -
1531
+ '''
1532
+ if __debug__:
1533
+ type_hints = typing.get_type_hints(_typecheckingstub__5081fb673d60a8535462986536cbc12cbdb7c5238378c64aaee6592cb850e9f5)
1534
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1535
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1536
+
1537
+ @jsii.python.classproperty
1538
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1539
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1540
+ '''The CloudFormation resource type name for this resource class.'''
1541
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1542
+
1543
+ @builtins.property
1544
+ @jsii.member(jsii_name="attrBrowserType")
1545
+ def attr_browser_type(self) -> builtins.str:
1546
+ '''The browser that users see when using a streaming session.
1547
+
1548
+ :cloudformationAttribute: BrowserType
1549
+ '''
1550
+ return typing.cast(builtins.str, jsii.get(self, "attrBrowserType"))
1551
+
1552
+ @builtins.property
1553
+ @jsii.member(jsii_name="attrCreationDate")
1554
+ def attr_creation_date(self) -> builtins.str:
1555
+ '''The creation date of the web portal.
1556
+
1557
+ :cloudformationAttribute: CreationDate
1558
+ '''
1559
+ return typing.cast(builtins.str, jsii.get(self, "attrCreationDate"))
1560
+
1561
+ @builtins.property
1562
+ @jsii.member(jsii_name="attrPortalArn")
1563
+ def attr_portal_arn(self) -> builtins.str:
1564
+ '''The ARN of the web portal.
1565
+
1566
+ :cloudformationAttribute: PortalArn
1567
+ '''
1568
+ return typing.cast(builtins.str, jsii.get(self, "attrPortalArn"))
1569
+
1570
+ @builtins.property
1571
+ @jsii.member(jsii_name="attrPortalEndpoint")
1572
+ def attr_portal_endpoint(self) -> builtins.str:
1573
+ '''The endpoint URL of the web portal that users access in order to start streaming sessions.
1574
+
1575
+ :cloudformationAttribute: PortalEndpoint
1576
+ '''
1577
+ return typing.cast(builtins.str, jsii.get(self, "attrPortalEndpoint"))
1578
+
1579
+ @builtins.property
1580
+ @jsii.member(jsii_name="attrPortalStatus")
1581
+ def attr_portal_status(self) -> builtins.str:
1582
+ '''The status of the web portal.
1583
+
1584
+ :cloudformationAttribute: PortalStatus
1585
+ '''
1586
+ return typing.cast(builtins.str, jsii.get(self, "attrPortalStatus"))
1587
+
1588
+ @builtins.property
1589
+ @jsii.member(jsii_name="attrRendererType")
1590
+ def attr_renderer_type(self) -> builtins.str:
1591
+ '''The renderer that is used in streaming sessions.
1592
+
1593
+ :cloudformationAttribute: RendererType
1594
+ '''
1595
+ return typing.cast(builtins.str, jsii.get(self, "attrRendererType"))
1596
+
1597
+ @builtins.property
1598
+ @jsii.member(jsii_name="attrServiceProviderSamlMetadata")
1599
+ def attr_service_provider_saml_metadata(self) -> builtins.str:
1600
+ '''The SAML metadata of the service provider.
1601
+
1602
+ :cloudformationAttribute: ServiceProviderSamlMetadata
1603
+ '''
1604
+ return typing.cast(builtins.str, jsii.get(self, "attrServiceProviderSamlMetadata"))
1605
+
1606
+ @builtins.property
1607
+ @jsii.member(jsii_name="attrStatusReason")
1608
+ def attr_status_reason(self) -> builtins.str:
1609
+ '''A message that explains why the web portal is in its current status.
1610
+
1611
+ :cloudformationAttribute: StatusReason
1612
+ '''
1613
+ return typing.cast(builtins.str, jsii.get(self, "attrStatusReason"))
1614
+
1615
+ @builtins.property
1616
+ @jsii.member(jsii_name="cfnProperties")
1617
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1618
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1619
+
1620
+ @builtins.property
1621
+ @jsii.member(jsii_name="additionalEncryptionContext")
1622
+ def additional_encryption_context(
1623
+ self,
1624
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
1625
+ '''The additional encryption context of the portal.'''
1626
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "additionalEncryptionContext"))
1627
+
1628
+ @additional_encryption_context.setter
1629
+ def additional_encryption_context(
1630
+ self,
1631
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
1632
+ ) -> None:
1633
+ if __debug__:
1634
+ type_hints = typing.get_type_hints(_typecheckingstub__e96df37d1cd0e854d8d279f26233ce4f30ad6bd4d9de076905b0443b8c425f03)
1635
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1636
+ jsii.set(self, "additionalEncryptionContext", value)
1637
+
1638
+ @builtins.property
1639
+ @jsii.member(jsii_name="authenticationType")
1640
+ def authentication_type(self) -> typing.Optional[builtins.str]:
1641
+ '''The type of authentication integration points used when signing into the web portal.
1642
+
1643
+ Defaults to ``Standard`` .
1644
+ '''
1645
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "authenticationType"))
1646
+
1647
+ @authentication_type.setter
1648
+ def authentication_type(self, value: typing.Optional[builtins.str]) -> None:
1649
+ if __debug__:
1650
+ type_hints = typing.get_type_hints(_typecheckingstub__dff3b0f7b3f0ee0596a800c3994102823f6531aeb797b09198a5a79ed8d25e0f)
1651
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1652
+ jsii.set(self, "authenticationType", value)
1653
+
1654
+ @builtins.property
1655
+ @jsii.member(jsii_name="browserSettingsArn")
1656
+ def browser_settings_arn(self) -> typing.Optional[builtins.str]:
1657
+ '''The ARN of the browser settings that is associated with this web portal.'''
1658
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "browserSettingsArn"))
1659
+
1660
+ @browser_settings_arn.setter
1661
+ def browser_settings_arn(self, value: typing.Optional[builtins.str]) -> None:
1662
+ if __debug__:
1663
+ type_hints = typing.get_type_hints(_typecheckingstub__393d4ac20d540d6ed107a37a5f0ced856767591929eb053c3784984567584127)
1664
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1665
+ jsii.set(self, "browserSettingsArn", value)
1666
+
1667
+ @builtins.property
1668
+ @jsii.member(jsii_name="customerManagedKey")
1669
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
1670
+ '''The customer managed key of the web portal.'''
1671
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "customerManagedKey"))
1672
+
1673
+ @customer_managed_key.setter
1674
+ def customer_managed_key(self, value: typing.Optional[builtins.str]) -> None:
1675
+ if __debug__:
1676
+ type_hints = typing.get_type_hints(_typecheckingstub__319e821fe7e2a17153f7832a389ae0c48e1f0517453d29fa3e26fa73232a46bc)
1677
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1678
+ jsii.set(self, "customerManagedKey", value)
1679
+
1680
+ @builtins.property
1681
+ @jsii.member(jsii_name="displayName")
1682
+ def display_name(self) -> typing.Optional[builtins.str]:
1683
+ '''The name of the web portal.'''
1684
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "displayName"))
1685
+
1686
+ @display_name.setter
1687
+ def display_name(self, value: typing.Optional[builtins.str]) -> None:
1688
+ if __debug__:
1689
+ type_hints = typing.get_type_hints(_typecheckingstub__cd1b9794e835c2ffeb3dc42a40224afa89d92cb7704c5a59dd75c1d3dd4ef495)
1690
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1691
+ jsii.set(self, "displayName", value)
1692
+
1693
+ @builtins.property
1694
+ @jsii.member(jsii_name="ipAccessSettingsArn")
1695
+ def ip_access_settings_arn(self) -> typing.Optional[builtins.str]:
1696
+ '''The ARN of the IP access settings that is associated with the web portal.'''
1697
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAccessSettingsArn"))
1698
+
1699
+ @ip_access_settings_arn.setter
1700
+ def ip_access_settings_arn(self, value: typing.Optional[builtins.str]) -> None:
1701
+ if __debug__:
1702
+ type_hints = typing.get_type_hints(_typecheckingstub__40134000fc007f2c29ea771d442eb2b959d8d3cccfedc0efa83e152c13cf3bda)
1703
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1704
+ jsii.set(self, "ipAccessSettingsArn", value)
1705
+
1706
+ @builtins.property
1707
+ @jsii.member(jsii_name="networkSettingsArn")
1708
+ def network_settings_arn(self) -> typing.Optional[builtins.str]:
1709
+ '''The ARN of the network settings that is associated with the web portal.'''
1710
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "networkSettingsArn"))
1711
+
1712
+ @network_settings_arn.setter
1713
+ def network_settings_arn(self, value: typing.Optional[builtins.str]) -> None:
1714
+ if __debug__:
1715
+ type_hints = typing.get_type_hints(_typecheckingstub__beaa575cd54d9de94a0201b4213524db5df052dd0b9e1605b88d4487f6acbbcd)
1716
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1717
+ jsii.set(self, "networkSettingsArn", value)
1718
+
1719
+ @builtins.property
1720
+ @jsii.member(jsii_name="tags")
1721
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1722
+ '''The tags to add to the web portal.'''
1723
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1724
+
1725
+ @tags.setter
1726
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1727
+ if __debug__:
1728
+ type_hints = typing.get_type_hints(_typecheckingstub__30535a8dcd75eba19481865deda3eac2505afe537e0650db0a95162feb2563e2)
1729
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1730
+ jsii.set(self, "tags", value)
1731
+
1732
+ @builtins.property
1733
+ @jsii.member(jsii_name="trustStoreArn")
1734
+ def trust_store_arn(self) -> typing.Optional[builtins.str]:
1735
+ '''The ARN of the trust store that is associated with the web portal.'''
1736
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "trustStoreArn"))
1737
+
1738
+ @trust_store_arn.setter
1739
+ def trust_store_arn(self, value: typing.Optional[builtins.str]) -> None:
1740
+ if __debug__:
1741
+ type_hints = typing.get_type_hints(_typecheckingstub__839ba627519ce26d936d0b859d31cf9abe67bf78df232cea362df9240c350edd)
1742
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1743
+ jsii.set(self, "trustStoreArn", value)
1744
+
1745
+ @builtins.property
1746
+ @jsii.member(jsii_name="userAccessLoggingSettingsArn")
1747
+ def user_access_logging_settings_arn(self) -> typing.Optional[builtins.str]:
1748
+ '''The ARN of the user access logging settings that is associated with the web portal.'''
1749
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "userAccessLoggingSettingsArn"))
1750
+
1751
+ @user_access_logging_settings_arn.setter
1752
+ def user_access_logging_settings_arn(
1753
+ self,
1754
+ value: typing.Optional[builtins.str],
1755
+ ) -> None:
1756
+ if __debug__:
1757
+ type_hints = typing.get_type_hints(_typecheckingstub__225a01b45ee800a55ed118589c7eb5a4961d42af39924c022ca704030557cf15)
1758
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1759
+ jsii.set(self, "userAccessLoggingSettingsArn", value)
1760
+
1761
+ @builtins.property
1762
+ @jsii.member(jsii_name="userSettingsArn")
1763
+ def user_settings_arn(self) -> typing.Optional[builtins.str]:
1764
+ '''The ARN of the user settings that is associated with the web portal.'''
1765
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "userSettingsArn"))
1766
+
1767
+ @user_settings_arn.setter
1768
+ def user_settings_arn(self, value: typing.Optional[builtins.str]) -> None:
1769
+ if __debug__:
1770
+ type_hints = typing.get_type_hints(_typecheckingstub__e3c9a5aba1f82c8cb8d06dba7c424aabe0b4a862dd045ea1515145403fc27767)
1771
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1772
+ jsii.set(self, "userSettingsArn", value)
1773
+
1774
+
1775
+ @jsii.data_type(
1776
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnPortalProps",
1777
+ jsii_struct_bases=[],
1778
+ name_mapping={
1779
+ "additional_encryption_context": "additionalEncryptionContext",
1780
+ "authentication_type": "authenticationType",
1781
+ "browser_settings_arn": "browserSettingsArn",
1782
+ "customer_managed_key": "customerManagedKey",
1783
+ "display_name": "displayName",
1784
+ "ip_access_settings_arn": "ipAccessSettingsArn",
1785
+ "network_settings_arn": "networkSettingsArn",
1786
+ "tags": "tags",
1787
+ "trust_store_arn": "trustStoreArn",
1788
+ "user_access_logging_settings_arn": "userAccessLoggingSettingsArn",
1789
+ "user_settings_arn": "userSettingsArn",
1790
+ },
1791
+ )
1792
+ class CfnPortalProps:
1793
+ def __init__(
1794
+ self,
1795
+ *,
1796
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
1797
+ authentication_type: typing.Optional[builtins.str] = None,
1798
+ browser_settings_arn: typing.Optional[builtins.str] = None,
1799
+ customer_managed_key: typing.Optional[builtins.str] = None,
1800
+ display_name: typing.Optional[builtins.str] = None,
1801
+ ip_access_settings_arn: typing.Optional[builtins.str] = None,
1802
+ network_settings_arn: typing.Optional[builtins.str] = None,
1803
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1804
+ trust_store_arn: typing.Optional[builtins.str] = None,
1805
+ user_access_logging_settings_arn: typing.Optional[builtins.str] = None,
1806
+ user_settings_arn: typing.Optional[builtins.str] = None,
1807
+ ) -> None:
1808
+ '''Properties for defining a ``CfnPortal``.
1809
+
1810
+ :param additional_encryption_context: The additional encryption context of the portal.
1811
+ :param authentication_type: 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 Web’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 Web console, or by the calling the ``GetPortalServiceProviderMetadata`` API. 3. Submit the data to your IdP. 4. Add an ``IdentityProvider`` resource to your CloudFormation template. ``IAM Identity Center`` web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On) . 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 IAM Identity Center . User and group assignment must be done through the WorkSpaces Web console. These cannot be configured in CloudFormation.
1812
+ :param browser_settings_arn: The ARN of the browser settings that is associated with this web portal.
1813
+ :param customer_managed_key: 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-]+$``
1814
+ :param display_name: The name of the web portal.
1815
+ :param ip_access_settings_arn: The ARN of the IP access settings that is associated with the web portal.
1816
+ :param network_settings_arn: The ARN of the network settings that is associated with the web portal.
1817
+ :param tags: The tags to add to the web portal. A tag is a key-value pair.
1818
+ :param trust_store_arn: The ARN of the trust store that is associated with the web portal.
1819
+ :param user_access_logging_settings_arn: The ARN of the user access logging settings that is associated with the web portal.
1820
+ :param user_settings_arn: The ARN of the user settings that is associated with the web portal.
1821
+
1822
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html
1823
+ :exampleMetadata: fixture=_generated
1824
+
1825
+ Example::
1826
+
1827
+ # The code below shows an example of how to instantiate this type.
1828
+ # The values are placeholders you should change.
1829
+ from aws_cdk import aws_workspacesweb as workspacesweb
1830
+
1831
+ cfn_portal_props = workspacesweb.CfnPortalProps(
1832
+ additional_encryption_context={
1833
+ "additional_encryption_context_key": "additionalEncryptionContext"
1834
+ },
1835
+ authentication_type="authenticationType",
1836
+ browser_settings_arn="browserSettingsArn",
1837
+ customer_managed_key="customerManagedKey",
1838
+ display_name="displayName",
1839
+ ip_access_settings_arn="ipAccessSettingsArn",
1840
+ network_settings_arn="networkSettingsArn",
1841
+ tags=[CfnTag(
1842
+ key="key",
1843
+ value="value"
1844
+ )],
1845
+ trust_store_arn="trustStoreArn",
1846
+ user_access_logging_settings_arn="userAccessLoggingSettingsArn",
1847
+ user_settings_arn="userSettingsArn"
1848
+ )
1849
+ '''
1850
+ if __debug__:
1851
+ type_hints = typing.get_type_hints(_typecheckingstub__aa147912cdfb0d9ea5356fccc59e7ae5b02c822d1e3f5ae2e4826ae39e89f283)
1852
+ check_type(argname="argument additional_encryption_context", value=additional_encryption_context, expected_type=type_hints["additional_encryption_context"])
1853
+ check_type(argname="argument authentication_type", value=authentication_type, expected_type=type_hints["authentication_type"])
1854
+ check_type(argname="argument browser_settings_arn", value=browser_settings_arn, expected_type=type_hints["browser_settings_arn"])
1855
+ check_type(argname="argument customer_managed_key", value=customer_managed_key, expected_type=type_hints["customer_managed_key"])
1856
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
1857
+ check_type(argname="argument ip_access_settings_arn", value=ip_access_settings_arn, expected_type=type_hints["ip_access_settings_arn"])
1858
+ check_type(argname="argument network_settings_arn", value=network_settings_arn, expected_type=type_hints["network_settings_arn"])
1859
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1860
+ check_type(argname="argument trust_store_arn", value=trust_store_arn, expected_type=type_hints["trust_store_arn"])
1861
+ check_type(argname="argument user_access_logging_settings_arn", value=user_access_logging_settings_arn, expected_type=type_hints["user_access_logging_settings_arn"])
1862
+ check_type(argname="argument user_settings_arn", value=user_settings_arn, expected_type=type_hints["user_settings_arn"])
1863
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1864
+ if additional_encryption_context is not None:
1865
+ self._values["additional_encryption_context"] = additional_encryption_context
1866
+ if authentication_type is not None:
1867
+ self._values["authentication_type"] = authentication_type
1868
+ if browser_settings_arn is not None:
1869
+ self._values["browser_settings_arn"] = browser_settings_arn
1870
+ if customer_managed_key is not None:
1871
+ self._values["customer_managed_key"] = customer_managed_key
1872
+ if display_name is not None:
1873
+ self._values["display_name"] = display_name
1874
+ if ip_access_settings_arn is not None:
1875
+ self._values["ip_access_settings_arn"] = ip_access_settings_arn
1876
+ if network_settings_arn is not None:
1877
+ self._values["network_settings_arn"] = network_settings_arn
1878
+ if tags is not None:
1879
+ self._values["tags"] = tags
1880
+ if trust_store_arn is not None:
1881
+ self._values["trust_store_arn"] = trust_store_arn
1882
+ if user_access_logging_settings_arn is not None:
1883
+ self._values["user_access_logging_settings_arn"] = user_access_logging_settings_arn
1884
+ if user_settings_arn is not None:
1885
+ self._values["user_settings_arn"] = user_settings_arn
1886
+
1887
+ @builtins.property
1888
+ def additional_encryption_context(
1889
+ self,
1890
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
1891
+ '''The additional encryption context of the portal.
1892
+
1893
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-additionalencryptioncontext
1894
+ '''
1895
+ result = self._values.get("additional_encryption_context")
1896
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
1897
+
1898
+ @builtins.property
1899
+ def authentication_type(self) -> typing.Optional[builtins.str]:
1900
+ '''The type of authentication integration points used when signing into the web portal. Defaults to ``Standard`` .
1901
+
1902
+ ``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 Web’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:
1903
+
1904
+ 1. Create and deploy a CloudFormation template with a ``Standard`` portal with no ``IdentityProvider`` resource.
1905
+ 2. Retrieve the SP metadata using ``Fn:GetAtt`` , the WorkSpaces Web console, or by the calling the ``GetPortalServiceProviderMetadata`` API.
1906
+ 3. Submit the data to your IdP.
1907
+ 4. Add an ``IdentityProvider`` resource to your CloudFormation template.
1908
+
1909
+ ``IAM Identity Center`` web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On) . 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 IAM Identity Center . User and group assignment must be done through the WorkSpaces Web console. These cannot be configured in CloudFormation.
1910
+
1911
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-authenticationtype
1912
+ '''
1913
+ result = self._values.get("authentication_type")
1914
+ return typing.cast(typing.Optional[builtins.str], result)
1915
+
1916
+ @builtins.property
1917
+ def browser_settings_arn(self) -> typing.Optional[builtins.str]:
1918
+ '''The ARN of the browser settings that is associated with this web portal.
1919
+
1920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-browsersettingsarn
1921
+ '''
1922
+ result = self._values.get("browser_settings_arn")
1923
+ return typing.cast(typing.Optional[builtins.str], result)
1924
+
1925
+ @builtins.property
1926
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
1927
+ '''The customer managed key of the web portal.
1928
+
1929
+ *Pattern* : ``^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$``
1930
+
1931
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-customermanagedkey
1932
+ '''
1933
+ result = self._values.get("customer_managed_key")
1934
+ return typing.cast(typing.Optional[builtins.str], result)
1935
+
1936
+ @builtins.property
1937
+ def display_name(self) -> typing.Optional[builtins.str]:
1938
+ '''The name of the web portal.
1939
+
1940
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-displayname
1941
+ '''
1942
+ result = self._values.get("display_name")
1943
+ return typing.cast(typing.Optional[builtins.str], result)
1944
+
1945
+ @builtins.property
1946
+ def ip_access_settings_arn(self) -> typing.Optional[builtins.str]:
1947
+ '''The ARN of the IP access settings that is associated with the web portal.
1948
+
1949
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-ipaccesssettingsarn
1950
+ '''
1951
+ result = self._values.get("ip_access_settings_arn")
1952
+ return typing.cast(typing.Optional[builtins.str], result)
1953
+
1954
+ @builtins.property
1955
+ def network_settings_arn(self) -> typing.Optional[builtins.str]:
1956
+ '''The ARN of the network settings that is associated with the web portal.
1957
+
1958
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-networksettingsarn
1959
+ '''
1960
+ result = self._values.get("network_settings_arn")
1961
+ return typing.cast(typing.Optional[builtins.str], result)
1962
+
1963
+ @builtins.property
1964
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1965
+ '''The tags to add to the web portal.
1966
+
1967
+ A tag is a key-value pair.
1968
+
1969
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-tags
1970
+ '''
1971
+ result = self._values.get("tags")
1972
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1973
+
1974
+ @builtins.property
1975
+ def trust_store_arn(self) -> typing.Optional[builtins.str]:
1976
+ '''The ARN of the trust store that is associated with the web portal.
1977
+
1978
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-truststorearn
1979
+ '''
1980
+ result = self._values.get("trust_store_arn")
1981
+ return typing.cast(typing.Optional[builtins.str], result)
1982
+
1983
+ @builtins.property
1984
+ def user_access_logging_settings_arn(self) -> typing.Optional[builtins.str]:
1985
+ '''The ARN of the user access logging settings that is associated with the web portal.
1986
+
1987
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-useraccessloggingsettingsarn
1988
+ '''
1989
+ result = self._values.get("user_access_logging_settings_arn")
1990
+ return typing.cast(typing.Optional[builtins.str], result)
1991
+
1992
+ @builtins.property
1993
+ def user_settings_arn(self) -> typing.Optional[builtins.str]:
1994
+ '''The ARN of the user settings that is associated with the web portal.
1995
+
1996
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html#cfn-workspacesweb-portal-usersettingsarn
1997
+ '''
1998
+ result = self._values.get("user_settings_arn")
1999
+ return typing.cast(typing.Optional[builtins.str], result)
2000
+
2001
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2002
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2003
+
2004
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2005
+ return not (rhs == self)
2006
+
2007
+ def __repr__(self) -> str:
2008
+ return "CfnPortalProps(%s)" % ", ".join(
2009
+ k + "=" + repr(v) for k, v in self._values.items()
2010
+ )
2011
+
2012
+
2013
+ @jsii.implements(_IInspectable_c2943556)
2014
+ class CfnTrustStore(
2015
+ _CfnResource_9df397a6,
2016
+ metaclass=jsii.JSIIMeta,
2017
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnTrustStore",
2018
+ ):
2019
+ '''This resource specifies a trust store that can be associated with a web portal.
2020
+
2021
+ A trust store contains certificate authority (CA) certificates. Once associated with a web portal, the browser in a streaming session will recognize certificates that have been issued using any of the CAs in the trust store. If your organization has internal websites that use certificates issued by private CAs, you should add the private CA certificate to the trust store.
2022
+
2023
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html
2024
+ :exampleMetadata: fixture=_generated
2025
+
2026
+ Example::
2027
+
2028
+ # The code below shows an example of how to instantiate this type.
2029
+ # The values are placeholders you should change.
2030
+ from aws_cdk import aws_workspacesweb as workspacesweb
2031
+
2032
+ cfn_trust_store = workspacesweb.CfnTrustStore(self, "MyCfnTrustStore",
2033
+ certificate_list=["certificateList"],
2034
+
2035
+ # the properties below are optional
2036
+ tags=[CfnTag(
2037
+ key="key",
2038
+ value="value"
2039
+ )]
2040
+ )
2041
+ '''
2042
+
2043
+ def __init__(
2044
+ self,
2045
+ scope: _constructs_77d1e7e8.Construct,
2046
+ id: builtins.str,
2047
+ *,
2048
+ certificate_list: typing.Sequence[builtins.str],
2049
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2050
+ ) -> None:
2051
+ '''
2052
+ :param scope: Scope in which this resource is defined.
2053
+ :param id: Construct identifier for this resource (unique in its scope).
2054
+ :param certificate_list: A list of CA certificates to be added to the trust store.
2055
+ :param tags: The tags to add to the trust store. A tag is a key-value pair.
2056
+ '''
2057
+ if __debug__:
2058
+ type_hints = typing.get_type_hints(_typecheckingstub__cc9c8ead0938c5ad416a02ff1511be2c3cbf2519166e43c80e65e581fac2cab7)
2059
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2060
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2061
+ props = CfnTrustStoreProps(certificate_list=certificate_list, tags=tags)
2062
+
2063
+ jsii.create(self.__class__, self, [scope, id, props])
2064
+
2065
+ @jsii.member(jsii_name="inspect")
2066
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2067
+ '''Examines the CloudFormation resource and discloses attributes.
2068
+
2069
+ :param inspector: tree inspector to collect and process attributes.
2070
+ '''
2071
+ if __debug__:
2072
+ type_hints = typing.get_type_hints(_typecheckingstub__5fb3d54892745fdc13234075ce86bd3f8d4acfe9ec88a393309766bcf833012b)
2073
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2074
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2075
+
2076
+ @jsii.member(jsii_name="renderProperties")
2077
+ def _render_properties(
2078
+ self,
2079
+ props: typing.Mapping[builtins.str, typing.Any],
2080
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2081
+ '''
2082
+ :param props: -
2083
+ '''
2084
+ if __debug__:
2085
+ type_hints = typing.get_type_hints(_typecheckingstub__836cb2ee4e300cb4cb603faf540c0c6dad36379e65dad6d178875cdc39e56603)
2086
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2087
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2088
+
2089
+ @jsii.python.classproperty
2090
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2091
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2092
+ '''The CloudFormation resource type name for this resource class.'''
2093
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2094
+
2095
+ @builtins.property
2096
+ @jsii.member(jsii_name="attrAssociatedPortalArns")
2097
+ def attr_associated_portal_arns(self) -> typing.List[builtins.str]:
2098
+ '''A list of web portal ARNs that this trust store is associated with.
2099
+
2100
+ :cloudformationAttribute: AssociatedPortalArns
2101
+ '''
2102
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAssociatedPortalArns"))
2103
+
2104
+ @builtins.property
2105
+ @jsii.member(jsii_name="attrTrustStoreArn")
2106
+ def attr_trust_store_arn(self) -> builtins.str:
2107
+ '''The ARN of the trust store.
2108
+
2109
+ :cloudformationAttribute: TrustStoreArn
2110
+ '''
2111
+ return typing.cast(builtins.str, jsii.get(self, "attrTrustStoreArn"))
2112
+
2113
+ @builtins.property
2114
+ @jsii.member(jsii_name="cfnProperties")
2115
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2116
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2117
+
2118
+ @builtins.property
2119
+ @jsii.member(jsii_name="certificateList")
2120
+ def certificate_list(self) -> typing.List[builtins.str]:
2121
+ '''A list of CA certificates to be added to the trust store.'''
2122
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "certificateList"))
2123
+
2124
+ @certificate_list.setter
2125
+ def certificate_list(self, value: typing.List[builtins.str]) -> None:
2126
+ if __debug__:
2127
+ type_hints = typing.get_type_hints(_typecheckingstub__d6c348f8d89e15637f5e7f299791ad808bd6fadfe67032f77e095b03cb3b19f1)
2128
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2129
+ jsii.set(self, "certificateList", value)
2130
+
2131
+ @builtins.property
2132
+ @jsii.member(jsii_name="tags")
2133
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2134
+ '''The tags to add to the trust store.'''
2135
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
2136
+
2137
+ @tags.setter
2138
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
2139
+ if __debug__:
2140
+ type_hints = typing.get_type_hints(_typecheckingstub__413cb334bb35253edc995584173eeea4b9dcaddccf8f42db23cff1eb1c57eba2)
2141
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2142
+ jsii.set(self, "tags", value)
2143
+
2144
+
2145
+ @jsii.data_type(
2146
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnTrustStoreProps",
2147
+ jsii_struct_bases=[],
2148
+ name_mapping={"certificate_list": "certificateList", "tags": "tags"},
2149
+ )
2150
+ class CfnTrustStoreProps:
2151
+ def __init__(
2152
+ self,
2153
+ *,
2154
+ certificate_list: typing.Sequence[builtins.str],
2155
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2156
+ ) -> None:
2157
+ '''Properties for defining a ``CfnTrustStore``.
2158
+
2159
+ :param certificate_list: A list of CA certificates to be added to the trust store.
2160
+ :param tags: The tags to add to the trust store. A tag is a key-value pair.
2161
+
2162
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html
2163
+ :exampleMetadata: fixture=_generated
2164
+
2165
+ Example::
2166
+
2167
+ # The code below shows an example of how to instantiate this type.
2168
+ # The values are placeholders you should change.
2169
+ from aws_cdk import aws_workspacesweb as workspacesweb
2170
+
2171
+ cfn_trust_store_props = workspacesweb.CfnTrustStoreProps(
2172
+ certificate_list=["certificateList"],
2173
+
2174
+ # the properties below are optional
2175
+ tags=[CfnTag(
2176
+ key="key",
2177
+ value="value"
2178
+ )]
2179
+ )
2180
+ '''
2181
+ if __debug__:
2182
+ type_hints = typing.get_type_hints(_typecheckingstub__7f61f2140f6607d292f5333bbaa4cf73f35e92dd28f8d49fc35bdca25eb8fa18)
2183
+ check_type(argname="argument certificate_list", value=certificate_list, expected_type=type_hints["certificate_list"])
2184
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2185
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2186
+ "certificate_list": certificate_list,
2187
+ }
2188
+ if tags is not None:
2189
+ self._values["tags"] = tags
2190
+
2191
+ @builtins.property
2192
+ def certificate_list(self) -> typing.List[builtins.str]:
2193
+ '''A list of CA certificates to be added to the trust store.
2194
+
2195
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html#cfn-workspacesweb-truststore-certificatelist
2196
+ '''
2197
+ result = self._values.get("certificate_list")
2198
+ assert result is not None, "Required property 'certificate_list' is missing"
2199
+ return typing.cast(typing.List[builtins.str], result)
2200
+
2201
+ @builtins.property
2202
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2203
+ '''The tags to add to the trust store.
2204
+
2205
+ A tag is a key-value pair.
2206
+
2207
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html#cfn-workspacesweb-truststore-tags
2208
+ '''
2209
+ result = self._values.get("tags")
2210
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2211
+
2212
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2213
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2214
+
2215
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2216
+ return not (rhs == self)
2217
+
2218
+ def __repr__(self) -> str:
2219
+ return "CfnTrustStoreProps(%s)" % ", ".join(
2220
+ k + "=" + repr(v) for k, v in self._values.items()
2221
+ )
2222
+
2223
+
2224
+ @jsii.implements(_IInspectable_c2943556)
2225
+ class CfnUserAccessLoggingSettings(
2226
+ _CfnResource_9df397a6,
2227
+ metaclass=jsii.JSIIMeta,
2228
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnUserAccessLoggingSettings",
2229
+ ):
2230
+ '''This resource specifies user access logging settings that can be associated with a web portal.
2231
+
2232
+ In order to receive logs from WorkSpaces Web, you must have an Amazon Kinesis Data Stream that starts with "amazon-workspaces-web-*". Your Amazon Kinesis data stream must either have server-side encryption turned off, or must use AWS managed keys for server-side encryption.
2233
+
2234
+ For more information about setting server-side encryption in Amazon Kinesis , see `How Do I Get Started with Server-Side Encryption? <https://docs.aws.amazon.com/streams/latest/dev/getting-started-with-sse.html>`_ .
2235
+
2236
+ For more information about setting up user access logging, see `Set up user access logging <https://docs.aws.amazon.com/workspaces-web/latest/adminguide/user-logging.html>`_ .
2237
+
2238
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html
2239
+ :exampleMetadata: fixture=_generated
2240
+
2241
+ Example::
2242
+
2243
+ # The code below shows an example of how to instantiate this type.
2244
+ # The values are placeholders you should change.
2245
+ from aws_cdk import aws_workspacesweb as workspacesweb
2246
+
2247
+ cfn_user_access_logging_settings = workspacesweb.CfnUserAccessLoggingSettings(self, "MyCfnUserAccessLoggingSettings",
2248
+ kinesis_stream_arn="kinesisStreamArn",
2249
+
2250
+ # the properties below are optional
2251
+ tags=[CfnTag(
2252
+ key="key",
2253
+ value="value"
2254
+ )]
2255
+ )
2256
+ '''
2257
+
2258
+ def __init__(
2259
+ self,
2260
+ scope: _constructs_77d1e7e8.Construct,
2261
+ id: builtins.str,
2262
+ *,
2263
+ kinesis_stream_arn: builtins.str,
2264
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2265
+ ) -> None:
2266
+ '''
2267
+ :param scope: Scope in which this resource is defined.
2268
+ :param id: Construct identifier for this resource (unique in its scope).
2269
+ :param kinesis_stream_arn: The ARN of the Kinesis stream.
2270
+ :param tags: The tags to add to the user access logging settings resource. A tag is a key-value pair.
2271
+ '''
2272
+ if __debug__:
2273
+ type_hints = typing.get_type_hints(_typecheckingstub__aad2c57d166d3f137cf451bac17a21ea9bd59a5dafc004c63b60db12312c6ea6)
2274
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2275
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2276
+ props = CfnUserAccessLoggingSettingsProps(
2277
+ kinesis_stream_arn=kinesis_stream_arn, tags=tags
2278
+ )
2279
+
2280
+ jsii.create(self.__class__, self, [scope, id, props])
2281
+
2282
+ @jsii.member(jsii_name="inspect")
2283
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2284
+ '''Examines the CloudFormation resource and discloses attributes.
2285
+
2286
+ :param inspector: tree inspector to collect and process attributes.
2287
+ '''
2288
+ if __debug__:
2289
+ type_hints = typing.get_type_hints(_typecheckingstub__9529f157bb0a06f8719fcc35be65d3271950825bff8e93dc8a42d103439e05ac)
2290
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2291
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2292
+
2293
+ @jsii.member(jsii_name="renderProperties")
2294
+ def _render_properties(
2295
+ self,
2296
+ props: typing.Mapping[builtins.str, typing.Any],
2297
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2298
+ '''
2299
+ :param props: -
2300
+ '''
2301
+ if __debug__:
2302
+ type_hints = typing.get_type_hints(_typecheckingstub__696773979e88a009f291e28c35e0a9e8ca5f167e930af7cd1cdfeedbab8c2264)
2303
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2304
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2305
+
2306
+ @jsii.python.classproperty
2307
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2308
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2309
+ '''The CloudFormation resource type name for this resource class.'''
2310
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2311
+
2312
+ @builtins.property
2313
+ @jsii.member(jsii_name="attrAssociatedPortalArns")
2314
+ def attr_associated_portal_arns(self) -> typing.List[builtins.str]:
2315
+ '''A list of web portal ARNs that this user access logging settings is associated with.
2316
+
2317
+ :cloudformationAttribute: AssociatedPortalArns
2318
+ '''
2319
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAssociatedPortalArns"))
2320
+
2321
+ @builtins.property
2322
+ @jsii.member(jsii_name="attrUserAccessLoggingSettingsArn")
2323
+ def attr_user_access_logging_settings_arn(self) -> builtins.str:
2324
+ '''The ARN of the user access logging settings.
2325
+
2326
+ :cloudformationAttribute: UserAccessLoggingSettingsArn
2327
+ '''
2328
+ return typing.cast(builtins.str, jsii.get(self, "attrUserAccessLoggingSettingsArn"))
2329
+
2330
+ @builtins.property
2331
+ @jsii.member(jsii_name="cfnProperties")
2332
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2333
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2334
+
2335
+ @builtins.property
2336
+ @jsii.member(jsii_name="kinesisStreamArn")
2337
+ def kinesis_stream_arn(self) -> builtins.str:
2338
+ '''The ARN of the Kinesis stream.'''
2339
+ return typing.cast(builtins.str, jsii.get(self, "kinesisStreamArn"))
2340
+
2341
+ @kinesis_stream_arn.setter
2342
+ def kinesis_stream_arn(self, value: builtins.str) -> None:
2343
+ if __debug__:
2344
+ type_hints = typing.get_type_hints(_typecheckingstub__c9da0f05e734af1b537d4f6612a6e7f940d1c43dfc9bbc4879e3d92578ed0614)
2345
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2346
+ jsii.set(self, "kinesisStreamArn", value)
2347
+
2348
+ @builtins.property
2349
+ @jsii.member(jsii_name="tags")
2350
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2351
+ '''The tags to add to the user access logging settings resource.'''
2352
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
2353
+
2354
+ @tags.setter
2355
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
2356
+ if __debug__:
2357
+ type_hints = typing.get_type_hints(_typecheckingstub__5891d11f0a657ca8579858eed7e0c8861e02aad2584f2928aa6f75f7966d4830)
2358
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2359
+ jsii.set(self, "tags", value)
2360
+
2361
+
2362
+ @jsii.data_type(
2363
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnUserAccessLoggingSettingsProps",
2364
+ jsii_struct_bases=[],
2365
+ name_mapping={"kinesis_stream_arn": "kinesisStreamArn", "tags": "tags"},
2366
+ )
2367
+ class CfnUserAccessLoggingSettingsProps:
2368
+ def __init__(
2369
+ self,
2370
+ *,
2371
+ kinesis_stream_arn: builtins.str,
2372
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2373
+ ) -> None:
2374
+ '''Properties for defining a ``CfnUserAccessLoggingSettings``.
2375
+
2376
+ :param kinesis_stream_arn: The ARN of the Kinesis stream.
2377
+ :param tags: The tags to add to the user access logging settings resource. A tag is a key-value pair.
2378
+
2379
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html
2380
+ :exampleMetadata: fixture=_generated
2381
+
2382
+ Example::
2383
+
2384
+ # The code below shows an example of how to instantiate this type.
2385
+ # The values are placeholders you should change.
2386
+ from aws_cdk import aws_workspacesweb as workspacesweb
2387
+
2388
+ cfn_user_access_logging_settings_props = workspacesweb.CfnUserAccessLoggingSettingsProps(
2389
+ kinesis_stream_arn="kinesisStreamArn",
2390
+
2391
+ # the properties below are optional
2392
+ tags=[CfnTag(
2393
+ key="key",
2394
+ value="value"
2395
+ )]
2396
+ )
2397
+ '''
2398
+ if __debug__:
2399
+ type_hints = typing.get_type_hints(_typecheckingstub__1fbbe0ac8cc8b93ca9250852f294b49e6126c8e1f9bcbdc057c5f6fbfcc7115a)
2400
+ check_type(argname="argument kinesis_stream_arn", value=kinesis_stream_arn, expected_type=type_hints["kinesis_stream_arn"])
2401
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2402
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2403
+ "kinesis_stream_arn": kinesis_stream_arn,
2404
+ }
2405
+ if tags is not None:
2406
+ self._values["tags"] = tags
2407
+
2408
+ @builtins.property
2409
+ def kinesis_stream_arn(self) -> builtins.str:
2410
+ '''The ARN of the Kinesis stream.
2411
+
2412
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html#cfn-workspacesweb-useraccessloggingsettings-kinesisstreamarn
2413
+ '''
2414
+ result = self._values.get("kinesis_stream_arn")
2415
+ assert result is not None, "Required property 'kinesis_stream_arn' is missing"
2416
+ return typing.cast(builtins.str, result)
2417
+
2418
+ @builtins.property
2419
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2420
+ '''The tags to add to the user access logging settings resource.
2421
+
2422
+ A tag is a key-value pair.
2423
+
2424
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html#cfn-workspacesweb-useraccessloggingsettings-tags
2425
+ '''
2426
+ result = self._values.get("tags")
2427
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2428
+
2429
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2430
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2431
+
2432
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2433
+ return not (rhs == self)
2434
+
2435
+ def __repr__(self) -> str:
2436
+ return "CfnUserAccessLoggingSettingsProps(%s)" % ", ".join(
2437
+ k + "=" + repr(v) for k, v in self._values.items()
2438
+ )
2439
+
2440
+
2441
+ @jsii.implements(_IInspectable_c2943556)
2442
+ class CfnUserSettings(
2443
+ _CfnResource_9df397a6,
2444
+ metaclass=jsii.JSIIMeta,
2445
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnUserSettings",
2446
+ ):
2447
+ '''This resource specifies user settings that can be associated with a web portal.
2448
+
2449
+ Once associated with a web portal, user settings control how users can transfer data between a streaming session and the their local devices.
2450
+
2451
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html
2452
+ :exampleMetadata: fixture=_generated
2453
+
2454
+ Example::
2455
+
2456
+ # The code below shows an example of how to instantiate this type.
2457
+ # The values are placeholders you should change.
2458
+ from aws_cdk import aws_workspacesweb as workspacesweb
2459
+
2460
+ cfn_user_settings = workspacesweb.CfnUserSettings(self, "MyCfnUserSettings",
2461
+ copy_allowed="copyAllowed",
2462
+ download_allowed="downloadAllowed",
2463
+ paste_allowed="pasteAllowed",
2464
+ print_allowed="printAllowed",
2465
+ upload_allowed="uploadAllowed",
2466
+
2467
+ # the properties below are optional
2468
+ additional_encryption_context={
2469
+ "additional_encryption_context_key": "additionalEncryptionContext"
2470
+ },
2471
+ cookie_synchronization_configuration=workspacesweb.CfnUserSettings.CookieSynchronizationConfigurationProperty(
2472
+ allowlist=[workspacesweb.CfnUserSettings.CookieSpecificationProperty(
2473
+ domain="domain",
2474
+
2475
+ # the properties below are optional
2476
+ name="name",
2477
+ path="path"
2478
+ )],
2479
+
2480
+ # the properties below are optional
2481
+ blocklist=[workspacesweb.CfnUserSettings.CookieSpecificationProperty(
2482
+ domain="domain",
2483
+
2484
+ # the properties below are optional
2485
+ name="name",
2486
+ path="path"
2487
+ )]
2488
+ ),
2489
+ customer_managed_key="customerManagedKey",
2490
+ disconnect_timeout_in_minutes=123,
2491
+ idle_disconnect_timeout_in_minutes=123,
2492
+ tags=[CfnTag(
2493
+ key="key",
2494
+ value="value"
2495
+ )]
2496
+ )
2497
+ '''
2498
+
2499
+ def __init__(
2500
+ self,
2501
+ scope: _constructs_77d1e7e8.Construct,
2502
+ id: builtins.str,
2503
+ *,
2504
+ copy_allowed: builtins.str,
2505
+ download_allowed: builtins.str,
2506
+ paste_allowed: builtins.str,
2507
+ print_allowed: builtins.str,
2508
+ upload_allowed: builtins.str,
2509
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
2510
+ cookie_synchronization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserSettings.CookieSynchronizationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2511
+ customer_managed_key: typing.Optional[builtins.str] = None,
2512
+ disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
2513
+ idle_disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
2514
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2515
+ ) -> None:
2516
+ '''
2517
+ :param scope: Scope in which this resource is defined.
2518
+ :param id: Construct identifier for this resource (unique in its scope).
2519
+ :param copy_allowed: Specifies whether the user can copy text from the streaming session to the local device.
2520
+ :param download_allowed: Specifies whether the user can download files from the streaming session to the local device.
2521
+ :param paste_allowed: Specifies whether the user can paste text from the local device to the streaming session.
2522
+ :param print_allowed: Specifies whether the user can print to the local device.
2523
+ :param upload_allowed: Specifies whether the user can upload files from the local device to the streaming session.
2524
+ :param additional_encryption_context:
2525
+ :param cookie_synchronization_configuration: The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.
2526
+ :param customer_managed_key:
2527
+ :param disconnect_timeout_in_minutes: The amount of time that a streaming session remains active after users disconnect.
2528
+ :param idle_disconnect_timeout_in_minutes: The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.
2529
+ :param tags: The tags to add to the user settings resource. A tag is a key-value pair.
2530
+ '''
2531
+ if __debug__:
2532
+ type_hints = typing.get_type_hints(_typecheckingstub__75a973eee52af75d8440f76e110a255d358bfa0d721a06403da3f4b3da691630)
2533
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2534
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2535
+ props = CfnUserSettingsProps(
2536
+ copy_allowed=copy_allowed,
2537
+ download_allowed=download_allowed,
2538
+ paste_allowed=paste_allowed,
2539
+ print_allowed=print_allowed,
2540
+ upload_allowed=upload_allowed,
2541
+ additional_encryption_context=additional_encryption_context,
2542
+ cookie_synchronization_configuration=cookie_synchronization_configuration,
2543
+ customer_managed_key=customer_managed_key,
2544
+ disconnect_timeout_in_minutes=disconnect_timeout_in_minutes,
2545
+ idle_disconnect_timeout_in_minutes=idle_disconnect_timeout_in_minutes,
2546
+ tags=tags,
2547
+ )
2548
+
2549
+ jsii.create(self.__class__, self, [scope, id, props])
2550
+
2551
+ @jsii.member(jsii_name="inspect")
2552
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2553
+ '''Examines the CloudFormation resource and discloses attributes.
2554
+
2555
+ :param inspector: tree inspector to collect and process attributes.
2556
+ '''
2557
+ if __debug__:
2558
+ type_hints = typing.get_type_hints(_typecheckingstub__244f1fe2bee12ec9da43df9e03b84c572087c943a751c03dfad95754868e16bf)
2559
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2560
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2561
+
2562
+ @jsii.member(jsii_name="renderProperties")
2563
+ def _render_properties(
2564
+ self,
2565
+ props: typing.Mapping[builtins.str, typing.Any],
2566
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2567
+ '''
2568
+ :param props: -
2569
+ '''
2570
+ if __debug__:
2571
+ type_hints = typing.get_type_hints(_typecheckingstub__d19192b77523bcab841bc3482080fb0b612b4a9432071dcb0bdcee59129de93e)
2572
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2573
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2574
+
2575
+ @jsii.python.classproperty
2576
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2577
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2578
+ '''The CloudFormation resource type name for this resource class.'''
2579
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2580
+
2581
+ @builtins.property
2582
+ @jsii.member(jsii_name="attrAssociatedPortalArns")
2583
+ def attr_associated_portal_arns(self) -> typing.List[builtins.str]:
2584
+ '''A list of web portal ARNs that this user settings resource is associated with.
2585
+
2586
+ :cloudformationAttribute: AssociatedPortalArns
2587
+ '''
2588
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAssociatedPortalArns"))
2589
+
2590
+ @builtins.property
2591
+ @jsii.member(jsii_name="attrUserSettingsArn")
2592
+ def attr_user_settings_arn(self) -> builtins.str:
2593
+ '''The ARN of the user settings.
2594
+
2595
+ :cloudformationAttribute: UserSettingsArn
2596
+ '''
2597
+ return typing.cast(builtins.str, jsii.get(self, "attrUserSettingsArn"))
2598
+
2599
+ @builtins.property
2600
+ @jsii.member(jsii_name="cfnProperties")
2601
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2602
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2603
+
2604
+ @builtins.property
2605
+ @jsii.member(jsii_name="copyAllowed")
2606
+ def copy_allowed(self) -> builtins.str:
2607
+ '''Specifies whether the user can copy text from the streaming session to the local device.'''
2608
+ return typing.cast(builtins.str, jsii.get(self, "copyAllowed"))
2609
+
2610
+ @copy_allowed.setter
2611
+ def copy_allowed(self, value: builtins.str) -> None:
2612
+ if __debug__:
2613
+ type_hints = typing.get_type_hints(_typecheckingstub__246f5760229c3a961575cf587c3b4f4860166572ed6c563578054c49d5e3f491)
2614
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2615
+ jsii.set(self, "copyAllowed", value)
2616
+
2617
+ @builtins.property
2618
+ @jsii.member(jsii_name="downloadAllowed")
2619
+ def download_allowed(self) -> builtins.str:
2620
+ '''Specifies whether the user can download files from the streaming session to the local device.'''
2621
+ return typing.cast(builtins.str, jsii.get(self, "downloadAllowed"))
2622
+
2623
+ @download_allowed.setter
2624
+ def download_allowed(self, value: builtins.str) -> None:
2625
+ if __debug__:
2626
+ type_hints = typing.get_type_hints(_typecheckingstub__4f9bc1f80036b3272572fd6a61db383c0f9a108ae4361245d67c2310033f6aca)
2627
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2628
+ jsii.set(self, "downloadAllowed", value)
2629
+
2630
+ @builtins.property
2631
+ @jsii.member(jsii_name="pasteAllowed")
2632
+ def paste_allowed(self) -> builtins.str:
2633
+ '''Specifies whether the user can paste text from the local device to the streaming session.'''
2634
+ return typing.cast(builtins.str, jsii.get(self, "pasteAllowed"))
2635
+
2636
+ @paste_allowed.setter
2637
+ def paste_allowed(self, value: builtins.str) -> None:
2638
+ if __debug__:
2639
+ type_hints = typing.get_type_hints(_typecheckingstub__b079c9f6c24d953ad04e32e9f5a560c7a3b8dfdcbd3fa9b20983ed520609684a)
2640
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2641
+ jsii.set(self, "pasteAllowed", value)
2642
+
2643
+ @builtins.property
2644
+ @jsii.member(jsii_name="printAllowed")
2645
+ def print_allowed(self) -> builtins.str:
2646
+ '''Specifies whether the user can print to the local device.'''
2647
+ return typing.cast(builtins.str, jsii.get(self, "printAllowed"))
2648
+
2649
+ @print_allowed.setter
2650
+ def print_allowed(self, value: builtins.str) -> None:
2651
+ if __debug__:
2652
+ type_hints = typing.get_type_hints(_typecheckingstub__bc2a40c59165855fc23939973d9bb8df39156dfc828b8f1c2c799acc9e9c534b)
2653
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2654
+ jsii.set(self, "printAllowed", value)
2655
+
2656
+ @builtins.property
2657
+ @jsii.member(jsii_name="uploadAllowed")
2658
+ def upload_allowed(self) -> builtins.str:
2659
+ '''Specifies whether the user can upload files from the local device to the streaming session.'''
2660
+ return typing.cast(builtins.str, jsii.get(self, "uploadAllowed"))
2661
+
2662
+ @upload_allowed.setter
2663
+ def upload_allowed(self, value: builtins.str) -> None:
2664
+ if __debug__:
2665
+ type_hints = typing.get_type_hints(_typecheckingstub__ab95c6b32fc019924a90410af98fcff3bd60af47435e3704bf57b385408f198c)
2666
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2667
+ jsii.set(self, "uploadAllowed", value)
2668
+
2669
+ @builtins.property
2670
+ @jsii.member(jsii_name="additionalEncryptionContext")
2671
+ def additional_encryption_context(
2672
+ self,
2673
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
2674
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "additionalEncryptionContext"))
2675
+
2676
+ @additional_encryption_context.setter
2677
+ def additional_encryption_context(
2678
+ self,
2679
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
2680
+ ) -> None:
2681
+ if __debug__:
2682
+ type_hints = typing.get_type_hints(_typecheckingstub__fca2cad6e9c549a52ed27d6e7203a4dde55fdf1eed387d37637b922c0743a318)
2683
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2684
+ jsii.set(self, "additionalEncryptionContext", value)
2685
+
2686
+ @builtins.property
2687
+ @jsii.member(jsii_name="cookieSynchronizationConfiguration")
2688
+ def cookie_synchronization_configuration(
2689
+ self,
2690
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserSettings.CookieSynchronizationConfigurationProperty"]]:
2691
+ '''The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.'''
2692
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserSettings.CookieSynchronizationConfigurationProperty"]], jsii.get(self, "cookieSynchronizationConfiguration"))
2693
+
2694
+ @cookie_synchronization_configuration.setter
2695
+ def cookie_synchronization_configuration(
2696
+ self,
2697
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserSettings.CookieSynchronizationConfigurationProperty"]],
2698
+ ) -> None:
2699
+ if __debug__:
2700
+ type_hints = typing.get_type_hints(_typecheckingstub__fc519f4ed3ec11d3fe8c755f39fd066c05ebbf23ec90ba109c399972617b76b4)
2701
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2702
+ jsii.set(self, "cookieSynchronizationConfiguration", value)
2703
+
2704
+ @builtins.property
2705
+ @jsii.member(jsii_name="customerManagedKey")
2706
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
2707
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "customerManagedKey"))
2708
+
2709
+ @customer_managed_key.setter
2710
+ def customer_managed_key(self, value: typing.Optional[builtins.str]) -> None:
2711
+ if __debug__:
2712
+ type_hints = typing.get_type_hints(_typecheckingstub__33cbfd7d3c9ffee2a9508bf9733029fbcbc3bd298fd568503ef46ec94dde23df)
2713
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2714
+ jsii.set(self, "customerManagedKey", value)
2715
+
2716
+ @builtins.property
2717
+ @jsii.member(jsii_name="disconnectTimeoutInMinutes")
2718
+ def disconnect_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
2719
+ '''The amount of time that a streaming session remains active after users disconnect.'''
2720
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "disconnectTimeoutInMinutes"))
2721
+
2722
+ @disconnect_timeout_in_minutes.setter
2723
+ def disconnect_timeout_in_minutes(
2724
+ self,
2725
+ value: typing.Optional[jsii.Number],
2726
+ ) -> None:
2727
+ if __debug__:
2728
+ type_hints = typing.get_type_hints(_typecheckingstub__65c3d8570299b47cbfe2eac0be79eb57ec6ded28c76cb13fec1237f2daa26542)
2729
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2730
+ jsii.set(self, "disconnectTimeoutInMinutes", value)
2731
+
2732
+ @builtins.property
2733
+ @jsii.member(jsii_name="idleDisconnectTimeoutInMinutes")
2734
+ def idle_disconnect_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
2735
+ '''The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.'''
2736
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "idleDisconnectTimeoutInMinutes"))
2737
+
2738
+ @idle_disconnect_timeout_in_minutes.setter
2739
+ def idle_disconnect_timeout_in_minutes(
2740
+ self,
2741
+ value: typing.Optional[jsii.Number],
2742
+ ) -> None:
2743
+ if __debug__:
2744
+ type_hints = typing.get_type_hints(_typecheckingstub__e6ab43a1a32df42c47c0c8bf18b29db28c2b3d27d8be082f9408d80c09059346)
2745
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2746
+ jsii.set(self, "idleDisconnectTimeoutInMinutes", value)
2747
+
2748
+ @builtins.property
2749
+ @jsii.member(jsii_name="tags")
2750
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2751
+ '''The tags to add to the user settings resource.'''
2752
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
2753
+
2754
+ @tags.setter
2755
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
2756
+ if __debug__:
2757
+ type_hints = typing.get_type_hints(_typecheckingstub__e18af2707e3cbec353505ab884854a52028ac4039d4d38b2b7aff300b7e63b8a)
2758
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2759
+ jsii.set(self, "tags", value)
2760
+
2761
+ @jsii.data_type(
2762
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnUserSettings.CookieSpecificationProperty",
2763
+ jsii_struct_bases=[],
2764
+ name_mapping={"domain": "domain", "name": "name", "path": "path"},
2765
+ )
2766
+ class CookieSpecificationProperty:
2767
+ def __init__(
2768
+ self,
2769
+ *,
2770
+ domain: builtins.str,
2771
+ name: typing.Optional[builtins.str] = None,
2772
+ path: typing.Optional[builtins.str] = None,
2773
+ ) -> None:
2774
+ '''Specifies a single cookie or set of cookies in an end user's browser.
2775
+
2776
+ :param domain: The domain of the cookie.
2777
+ :param name: The name of the cookie.
2778
+ :param path: The path of the cookie.
2779
+
2780
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-usersettings-cookiespecification.html
2781
+ :exampleMetadata: fixture=_generated
2782
+
2783
+ Example::
2784
+
2785
+ # The code below shows an example of how to instantiate this type.
2786
+ # The values are placeholders you should change.
2787
+ from aws_cdk import aws_workspacesweb as workspacesweb
2788
+
2789
+ cookie_specification_property = workspacesweb.CfnUserSettings.CookieSpecificationProperty(
2790
+ domain="domain",
2791
+
2792
+ # the properties below are optional
2793
+ name="name",
2794
+ path="path"
2795
+ )
2796
+ '''
2797
+ if __debug__:
2798
+ type_hints = typing.get_type_hints(_typecheckingstub__967130a98f5e1732af04891ba925fd71a0043477b770e4d98d817b932c896a45)
2799
+ check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
2800
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2801
+ check_type(argname="argument path", value=path, expected_type=type_hints["path"])
2802
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2803
+ "domain": domain,
2804
+ }
2805
+ if name is not None:
2806
+ self._values["name"] = name
2807
+ if path is not None:
2808
+ self._values["path"] = path
2809
+
2810
+ @builtins.property
2811
+ def domain(self) -> builtins.str:
2812
+ '''The domain of the cookie.
2813
+
2814
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-usersettings-cookiespecification.html#cfn-workspacesweb-usersettings-cookiespecification-domain
2815
+ '''
2816
+ result = self._values.get("domain")
2817
+ assert result is not None, "Required property 'domain' is missing"
2818
+ return typing.cast(builtins.str, result)
2819
+
2820
+ @builtins.property
2821
+ def name(self) -> typing.Optional[builtins.str]:
2822
+ '''The name of the cookie.
2823
+
2824
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-usersettings-cookiespecification.html#cfn-workspacesweb-usersettings-cookiespecification-name
2825
+ '''
2826
+ result = self._values.get("name")
2827
+ return typing.cast(typing.Optional[builtins.str], result)
2828
+
2829
+ @builtins.property
2830
+ def path(self) -> typing.Optional[builtins.str]:
2831
+ '''The path of the cookie.
2832
+
2833
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-usersettings-cookiespecification.html#cfn-workspacesweb-usersettings-cookiespecification-path
2834
+ '''
2835
+ result = self._values.get("path")
2836
+ return typing.cast(typing.Optional[builtins.str], result)
2837
+
2838
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2839
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2840
+
2841
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2842
+ return not (rhs == self)
2843
+
2844
+ def __repr__(self) -> str:
2845
+ return "CookieSpecificationProperty(%s)" % ", ".join(
2846
+ k + "=" + repr(v) for k, v in self._values.items()
2847
+ )
2848
+
2849
+ @jsii.data_type(
2850
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnUserSettings.CookieSynchronizationConfigurationProperty",
2851
+ jsii_struct_bases=[],
2852
+ name_mapping={"allowlist": "allowlist", "blocklist": "blocklist"},
2853
+ )
2854
+ class CookieSynchronizationConfigurationProperty:
2855
+ def __init__(
2856
+ self,
2857
+ *,
2858
+ allowlist: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserSettings.CookieSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]],
2859
+ blocklist: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserSettings.CookieSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2860
+ ) -> None:
2861
+ '''The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.
2862
+
2863
+ :param allowlist: The list of cookie specifications that are allowed to be synchronized to the remote browser.
2864
+ :param blocklist: The list of cookie specifications that are blocked from being synchronized to the remote browser.
2865
+
2866
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-usersettings-cookiesynchronizationconfiguration.html
2867
+ :exampleMetadata: fixture=_generated
2868
+
2869
+ Example::
2870
+
2871
+ # The code below shows an example of how to instantiate this type.
2872
+ # The values are placeholders you should change.
2873
+ from aws_cdk import aws_workspacesweb as workspacesweb
2874
+
2875
+ cookie_synchronization_configuration_property = workspacesweb.CfnUserSettings.CookieSynchronizationConfigurationProperty(
2876
+ allowlist=[workspacesweb.CfnUserSettings.CookieSpecificationProperty(
2877
+ domain="domain",
2878
+
2879
+ # the properties below are optional
2880
+ name="name",
2881
+ path="path"
2882
+ )],
2883
+
2884
+ # the properties below are optional
2885
+ blocklist=[workspacesweb.CfnUserSettings.CookieSpecificationProperty(
2886
+ domain="domain",
2887
+
2888
+ # the properties below are optional
2889
+ name="name",
2890
+ path="path"
2891
+ )]
2892
+ )
2893
+ '''
2894
+ if __debug__:
2895
+ type_hints = typing.get_type_hints(_typecheckingstub__b03a784924e11f4debd206efd14cca98aa8e8242e4e834629b834539bd06258f)
2896
+ check_type(argname="argument allowlist", value=allowlist, expected_type=type_hints["allowlist"])
2897
+ check_type(argname="argument blocklist", value=blocklist, expected_type=type_hints["blocklist"])
2898
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2899
+ "allowlist": allowlist,
2900
+ }
2901
+ if blocklist is not None:
2902
+ self._values["blocklist"] = blocklist
2903
+
2904
+ @builtins.property
2905
+ def allowlist(
2906
+ self,
2907
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserSettings.CookieSpecificationProperty"]]]:
2908
+ '''The list of cookie specifications that are allowed to be synchronized to the remote browser.
2909
+
2910
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-usersettings-cookiesynchronizationconfiguration.html#cfn-workspacesweb-usersettings-cookiesynchronizationconfiguration-allowlist
2911
+ '''
2912
+ result = self._values.get("allowlist")
2913
+ assert result is not None, "Required property 'allowlist' is missing"
2914
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserSettings.CookieSpecificationProperty"]]], result)
2915
+
2916
+ @builtins.property
2917
+ def blocklist(
2918
+ self,
2919
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserSettings.CookieSpecificationProperty"]]]]:
2920
+ '''The list of cookie specifications that are blocked from being synchronized to the remote browser.
2921
+
2922
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesweb-usersettings-cookiesynchronizationconfiguration.html#cfn-workspacesweb-usersettings-cookiesynchronizationconfiguration-blocklist
2923
+ '''
2924
+ result = self._values.get("blocklist")
2925
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserSettings.CookieSpecificationProperty"]]]], result)
2926
+
2927
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2928
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2929
+
2930
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2931
+ return not (rhs == self)
2932
+
2933
+ def __repr__(self) -> str:
2934
+ return "CookieSynchronizationConfigurationProperty(%s)" % ", ".join(
2935
+ k + "=" + repr(v) for k, v in self._values.items()
2936
+ )
2937
+
2938
+
2939
+ @jsii.data_type(
2940
+ jsii_type="aws-cdk-lib.aws_workspacesweb.CfnUserSettingsProps",
2941
+ jsii_struct_bases=[],
2942
+ name_mapping={
2943
+ "copy_allowed": "copyAllowed",
2944
+ "download_allowed": "downloadAllowed",
2945
+ "paste_allowed": "pasteAllowed",
2946
+ "print_allowed": "printAllowed",
2947
+ "upload_allowed": "uploadAllowed",
2948
+ "additional_encryption_context": "additionalEncryptionContext",
2949
+ "cookie_synchronization_configuration": "cookieSynchronizationConfiguration",
2950
+ "customer_managed_key": "customerManagedKey",
2951
+ "disconnect_timeout_in_minutes": "disconnectTimeoutInMinutes",
2952
+ "idle_disconnect_timeout_in_minutes": "idleDisconnectTimeoutInMinutes",
2953
+ "tags": "tags",
2954
+ },
2955
+ )
2956
+ class CfnUserSettingsProps:
2957
+ def __init__(
2958
+ self,
2959
+ *,
2960
+ copy_allowed: builtins.str,
2961
+ download_allowed: builtins.str,
2962
+ paste_allowed: builtins.str,
2963
+ print_allowed: builtins.str,
2964
+ upload_allowed: builtins.str,
2965
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
2966
+ cookie_synchronization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserSettings.CookieSynchronizationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2967
+ customer_managed_key: typing.Optional[builtins.str] = None,
2968
+ disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
2969
+ idle_disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
2970
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2971
+ ) -> None:
2972
+ '''Properties for defining a ``CfnUserSettings``.
2973
+
2974
+ :param copy_allowed: Specifies whether the user can copy text from the streaming session to the local device.
2975
+ :param download_allowed: Specifies whether the user can download files from the streaming session to the local device.
2976
+ :param paste_allowed: Specifies whether the user can paste text from the local device to the streaming session.
2977
+ :param print_allowed: Specifies whether the user can print to the local device.
2978
+ :param upload_allowed: Specifies whether the user can upload files from the local device to the streaming session.
2979
+ :param additional_encryption_context:
2980
+ :param cookie_synchronization_configuration: The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.
2981
+ :param customer_managed_key:
2982
+ :param disconnect_timeout_in_minutes: The amount of time that a streaming session remains active after users disconnect.
2983
+ :param idle_disconnect_timeout_in_minutes: The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.
2984
+ :param tags: The tags to add to the user settings resource. A tag is a key-value pair.
2985
+
2986
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html
2987
+ :exampleMetadata: fixture=_generated
2988
+
2989
+ Example::
2990
+
2991
+ # The code below shows an example of how to instantiate this type.
2992
+ # The values are placeholders you should change.
2993
+ from aws_cdk import aws_workspacesweb as workspacesweb
2994
+
2995
+ cfn_user_settings_props = workspacesweb.CfnUserSettingsProps(
2996
+ copy_allowed="copyAllowed",
2997
+ download_allowed="downloadAllowed",
2998
+ paste_allowed="pasteAllowed",
2999
+ print_allowed="printAllowed",
3000
+ upload_allowed="uploadAllowed",
3001
+
3002
+ # the properties below are optional
3003
+ additional_encryption_context={
3004
+ "additional_encryption_context_key": "additionalEncryptionContext"
3005
+ },
3006
+ cookie_synchronization_configuration=workspacesweb.CfnUserSettings.CookieSynchronizationConfigurationProperty(
3007
+ allowlist=[workspacesweb.CfnUserSettings.CookieSpecificationProperty(
3008
+ domain="domain",
3009
+
3010
+ # the properties below are optional
3011
+ name="name",
3012
+ path="path"
3013
+ )],
3014
+
3015
+ # the properties below are optional
3016
+ blocklist=[workspacesweb.CfnUserSettings.CookieSpecificationProperty(
3017
+ domain="domain",
3018
+
3019
+ # the properties below are optional
3020
+ name="name",
3021
+ path="path"
3022
+ )]
3023
+ ),
3024
+ customer_managed_key="customerManagedKey",
3025
+ disconnect_timeout_in_minutes=123,
3026
+ idle_disconnect_timeout_in_minutes=123,
3027
+ tags=[CfnTag(
3028
+ key="key",
3029
+ value="value"
3030
+ )]
3031
+ )
3032
+ '''
3033
+ if __debug__:
3034
+ type_hints = typing.get_type_hints(_typecheckingstub__f5fdddc739ee6575c152d4edd4b1958f0aed7897d0804077cf3ed5b5829d55a4)
3035
+ check_type(argname="argument copy_allowed", value=copy_allowed, expected_type=type_hints["copy_allowed"])
3036
+ check_type(argname="argument download_allowed", value=download_allowed, expected_type=type_hints["download_allowed"])
3037
+ check_type(argname="argument paste_allowed", value=paste_allowed, expected_type=type_hints["paste_allowed"])
3038
+ check_type(argname="argument print_allowed", value=print_allowed, expected_type=type_hints["print_allowed"])
3039
+ check_type(argname="argument upload_allowed", value=upload_allowed, expected_type=type_hints["upload_allowed"])
3040
+ check_type(argname="argument additional_encryption_context", value=additional_encryption_context, expected_type=type_hints["additional_encryption_context"])
3041
+ check_type(argname="argument cookie_synchronization_configuration", value=cookie_synchronization_configuration, expected_type=type_hints["cookie_synchronization_configuration"])
3042
+ check_type(argname="argument customer_managed_key", value=customer_managed_key, expected_type=type_hints["customer_managed_key"])
3043
+ check_type(argname="argument disconnect_timeout_in_minutes", value=disconnect_timeout_in_minutes, expected_type=type_hints["disconnect_timeout_in_minutes"])
3044
+ check_type(argname="argument idle_disconnect_timeout_in_minutes", value=idle_disconnect_timeout_in_minutes, expected_type=type_hints["idle_disconnect_timeout_in_minutes"])
3045
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3046
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3047
+ "copy_allowed": copy_allowed,
3048
+ "download_allowed": download_allowed,
3049
+ "paste_allowed": paste_allowed,
3050
+ "print_allowed": print_allowed,
3051
+ "upload_allowed": upload_allowed,
3052
+ }
3053
+ if additional_encryption_context is not None:
3054
+ self._values["additional_encryption_context"] = additional_encryption_context
3055
+ if cookie_synchronization_configuration is not None:
3056
+ self._values["cookie_synchronization_configuration"] = cookie_synchronization_configuration
3057
+ if customer_managed_key is not None:
3058
+ self._values["customer_managed_key"] = customer_managed_key
3059
+ if disconnect_timeout_in_minutes is not None:
3060
+ self._values["disconnect_timeout_in_minutes"] = disconnect_timeout_in_minutes
3061
+ if idle_disconnect_timeout_in_minutes is not None:
3062
+ self._values["idle_disconnect_timeout_in_minutes"] = idle_disconnect_timeout_in_minutes
3063
+ if tags is not None:
3064
+ self._values["tags"] = tags
3065
+
3066
+ @builtins.property
3067
+ def copy_allowed(self) -> builtins.str:
3068
+ '''Specifies whether the user can copy text from the streaming session to the local device.
3069
+
3070
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-copyallowed
3071
+ '''
3072
+ result = self._values.get("copy_allowed")
3073
+ assert result is not None, "Required property 'copy_allowed' is missing"
3074
+ return typing.cast(builtins.str, result)
3075
+
3076
+ @builtins.property
3077
+ def download_allowed(self) -> builtins.str:
3078
+ '''Specifies whether the user can download files from the streaming session to the local device.
3079
+
3080
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-downloadallowed
3081
+ '''
3082
+ result = self._values.get("download_allowed")
3083
+ assert result is not None, "Required property 'download_allowed' is missing"
3084
+ return typing.cast(builtins.str, result)
3085
+
3086
+ @builtins.property
3087
+ def paste_allowed(self) -> builtins.str:
3088
+ '''Specifies whether the user can paste text from the local device to the streaming session.
3089
+
3090
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-pasteallowed
3091
+ '''
3092
+ result = self._values.get("paste_allowed")
3093
+ assert result is not None, "Required property 'paste_allowed' is missing"
3094
+ return typing.cast(builtins.str, result)
3095
+
3096
+ @builtins.property
3097
+ def print_allowed(self) -> builtins.str:
3098
+ '''Specifies whether the user can print to the local device.
3099
+
3100
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-printallowed
3101
+ '''
3102
+ result = self._values.get("print_allowed")
3103
+ assert result is not None, "Required property 'print_allowed' is missing"
3104
+ return typing.cast(builtins.str, result)
3105
+
3106
+ @builtins.property
3107
+ def upload_allowed(self) -> builtins.str:
3108
+ '''Specifies whether the user can upload files from the local device to the streaming session.
3109
+
3110
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-uploadallowed
3111
+ '''
3112
+ result = self._values.get("upload_allowed")
3113
+ assert result is not None, "Required property 'upload_allowed' is missing"
3114
+ return typing.cast(builtins.str, result)
3115
+
3116
+ @builtins.property
3117
+ def additional_encryption_context(
3118
+ self,
3119
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
3120
+ '''
3121
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-additionalencryptioncontext
3122
+ '''
3123
+ result = self._values.get("additional_encryption_context")
3124
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
3125
+
3126
+ @builtins.property
3127
+ def cookie_synchronization_configuration(
3128
+ self,
3129
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserSettings.CookieSynchronizationConfigurationProperty]]:
3130
+ '''The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.
3131
+
3132
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-cookiesynchronizationconfiguration
3133
+ '''
3134
+ result = self._values.get("cookie_synchronization_configuration")
3135
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserSettings.CookieSynchronizationConfigurationProperty]], result)
3136
+
3137
+ @builtins.property
3138
+ def customer_managed_key(self) -> typing.Optional[builtins.str]:
3139
+ '''
3140
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-customermanagedkey
3141
+ '''
3142
+ result = self._values.get("customer_managed_key")
3143
+ return typing.cast(typing.Optional[builtins.str], result)
3144
+
3145
+ @builtins.property
3146
+ def disconnect_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
3147
+ '''The amount of time that a streaming session remains active after users disconnect.
3148
+
3149
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-disconnecttimeoutinminutes
3150
+ '''
3151
+ result = self._values.get("disconnect_timeout_in_minutes")
3152
+ return typing.cast(typing.Optional[jsii.Number], result)
3153
+
3154
+ @builtins.property
3155
+ def idle_disconnect_timeout_in_minutes(self) -> typing.Optional[jsii.Number]:
3156
+ '''The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.
3157
+
3158
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-idledisconnecttimeoutinminutes
3159
+ '''
3160
+ result = self._values.get("idle_disconnect_timeout_in_minutes")
3161
+ return typing.cast(typing.Optional[jsii.Number], result)
3162
+
3163
+ @builtins.property
3164
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3165
+ '''The tags to add to the user settings resource.
3166
+
3167
+ A tag is a key-value pair.
3168
+
3169
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html#cfn-workspacesweb-usersettings-tags
3170
+ '''
3171
+ result = self._values.get("tags")
3172
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3173
+
3174
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3175
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3176
+
3177
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3178
+ return not (rhs == self)
3179
+
3180
+ def __repr__(self) -> str:
3181
+ return "CfnUserSettingsProps(%s)" % ", ".join(
3182
+ k + "=" + repr(v) for k, v in self._values.items()
3183
+ )
3184
+
3185
+
3186
+ __all__ = [
3187
+ "CfnBrowserSettings",
3188
+ "CfnBrowserSettingsProps",
3189
+ "CfnIdentityProvider",
3190
+ "CfnIdentityProviderProps",
3191
+ "CfnIpAccessSettings",
3192
+ "CfnIpAccessSettingsProps",
3193
+ "CfnNetworkSettings",
3194
+ "CfnNetworkSettingsProps",
3195
+ "CfnPortal",
3196
+ "CfnPortalProps",
3197
+ "CfnTrustStore",
3198
+ "CfnTrustStoreProps",
3199
+ "CfnUserAccessLoggingSettings",
3200
+ "CfnUserAccessLoggingSettingsProps",
3201
+ "CfnUserSettings",
3202
+ "CfnUserSettingsProps",
3203
+ ]
3204
+
3205
+ publication.publish()
3206
+
3207
+ def _typecheckingstub__bddcc45afa30e005718c5da3d3034bff6b9c0453326851818da6294dc041bb0f(
3208
+ scope: _constructs_77d1e7e8.Construct,
3209
+ id: builtins.str,
3210
+ *,
3211
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3212
+ browser_policy: typing.Optional[builtins.str] = None,
3213
+ customer_managed_key: typing.Optional[builtins.str] = None,
3214
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3215
+ ) -> None:
3216
+ """Type checking stubs"""
3217
+ pass
3218
+
3219
+ def _typecheckingstub__7d4203cdc61a30c217fc2abe263c4776ac7f7dc3efdc691f65b8b0f98c469206(
3220
+ inspector: _TreeInspector_488e0dd5,
3221
+ ) -> None:
3222
+ """Type checking stubs"""
3223
+ pass
3224
+
3225
+ def _typecheckingstub__f4cab7e5af66cb2aa7162f6b46ea25dc53695260ce84c6550f897b70bab862ee(
3226
+ props: typing.Mapping[builtins.str, typing.Any],
3227
+ ) -> None:
3228
+ """Type checking stubs"""
3229
+ pass
3230
+
3231
+ def _typecheckingstub__70de4dee5d14f114274fd7960c64b6accb0ec49e02c002b5521af87f035095c2(
3232
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
3233
+ ) -> None:
3234
+ """Type checking stubs"""
3235
+ pass
3236
+
3237
+ def _typecheckingstub__e1ed58b3fc2a2966bf9a096153c9b38b0a594ab0c629bf8b97e6011a61ebfb79(
3238
+ value: typing.Optional[builtins.str],
3239
+ ) -> None:
3240
+ """Type checking stubs"""
3241
+ pass
3242
+
3243
+ def _typecheckingstub__eed13ab23af9a957ff225aff9f958ae8f40efe7f9c0aa02be45034aa22a364c4(
3244
+ value: typing.Optional[builtins.str],
3245
+ ) -> None:
3246
+ """Type checking stubs"""
3247
+ pass
3248
+
3249
+ def _typecheckingstub__488a7e6081f5fbb5bf5af995cdb747f920d592e19ef88a222e5aa2f1c21d8a53(
3250
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3251
+ ) -> None:
3252
+ """Type checking stubs"""
3253
+ pass
3254
+
3255
+ def _typecheckingstub__f99c227d497f6d51d01cc19398b94784835fab55afca7c6488466bb1cc1420b3(
3256
+ *,
3257
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3258
+ browser_policy: typing.Optional[builtins.str] = None,
3259
+ customer_managed_key: typing.Optional[builtins.str] = None,
3260
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3261
+ ) -> None:
3262
+ """Type checking stubs"""
3263
+ pass
3264
+
3265
+ def _typecheckingstub__439cd32d129b1f0a69c13fb5a494170084be122497b619a7175debec51c3635e(
3266
+ scope: _constructs_77d1e7e8.Construct,
3267
+ id: builtins.str,
3268
+ *,
3269
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
3270
+ identity_provider_name: builtins.str,
3271
+ identity_provider_type: builtins.str,
3272
+ portal_arn: typing.Optional[builtins.str] = None,
3273
+ ) -> None:
3274
+ """Type checking stubs"""
3275
+ pass
3276
+
3277
+ def _typecheckingstub__ace0da6a7e7e7a968ac58e8be1ce9dcb15a96bae8fad93e7c341ff5392bed56c(
3278
+ inspector: _TreeInspector_488e0dd5,
3279
+ ) -> None:
3280
+ """Type checking stubs"""
3281
+ pass
3282
+
3283
+ def _typecheckingstub__ec876abe2e87a8e0cb2641e36f36bd29bb0a19b65cc2d8f6be54a630a22b3af8(
3284
+ props: typing.Mapping[builtins.str, typing.Any],
3285
+ ) -> None:
3286
+ """Type checking stubs"""
3287
+ pass
3288
+
3289
+ def _typecheckingstub__6ae08bcbb1d55c54b06801705e4c1effec06173b9d5c1ab7d0301258d84aa63a(
3290
+ value: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
3291
+ ) -> None:
3292
+ """Type checking stubs"""
3293
+ pass
3294
+
3295
+ def _typecheckingstub__47d337423f7a1ca0a276c2a641c1f67e69f1933efe04994ab3be413955030b14(
3296
+ value: builtins.str,
3297
+ ) -> None:
3298
+ """Type checking stubs"""
3299
+ pass
3300
+
3301
+ def _typecheckingstub__72551994233ed9e106da8e5840c9077e96c1a7cafc63617736585c1eb83fd2da(
3302
+ value: builtins.str,
3303
+ ) -> None:
3304
+ """Type checking stubs"""
3305
+ pass
3306
+
3307
+ def _typecheckingstub__f17f07edd6f61424250e1f5f7df6f6cee024beb494ee700c6419c5642ebe36e1(
3308
+ value: typing.Optional[builtins.str],
3309
+ ) -> None:
3310
+ """Type checking stubs"""
3311
+ pass
3312
+
3313
+ def _typecheckingstub__fc73238ea7aab35d7f7ec21a88a98c698e64b413b81129270666c830ae963a4d(
3314
+ *,
3315
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
3316
+ identity_provider_name: builtins.str,
3317
+ identity_provider_type: builtins.str,
3318
+ portal_arn: typing.Optional[builtins.str] = None,
3319
+ ) -> None:
3320
+ """Type checking stubs"""
3321
+ pass
3322
+
3323
+ def _typecheckingstub__4e3f00304b675ee88c29734b1fad40f8e448afe808a4226188c1c74e8ed82fe0(
3324
+ scope: _constructs_77d1e7e8.Construct,
3325
+ id: builtins.str,
3326
+ *,
3327
+ ip_rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIpAccessSettings.IpRuleProperty, typing.Dict[builtins.str, typing.Any]]]]],
3328
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3329
+ customer_managed_key: typing.Optional[builtins.str] = None,
3330
+ description: typing.Optional[builtins.str] = None,
3331
+ display_name: typing.Optional[builtins.str] = None,
3332
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3333
+ ) -> None:
3334
+ """Type checking stubs"""
3335
+ pass
3336
+
3337
+ def _typecheckingstub__522d314ff55f65afebb67835c03df17342b3167bed24e30c591f5aef150973f0(
3338
+ inspector: _TreeInspector_488e0dd5,
3339
+ ) -> None:
3340
+ """Type checking stubs"""
3341
+ pass
3342
+
3343
+ def _typecheckingstub__dd4736646712efdcfa8ece881cd4fa733fb537f01432db179870ed0f95ff0512(
3344
+ props: typing.Mapping[builtins.str, typing.Any],
3345
+ ) -> None:
3346
+ """Type checking stubs"""
3347
+ pass
3348
+
3349
+ def _typecheckingstub__dc300ade0369b0ab447aa7806a51ee2809fea6ffd0fffc0129fb173b7f3886cf(
3350
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIpAccessSettings.IpRuleProperty]]],
3351
+ ) -> None:
3352
+ """Type checking stubs"""
3353
+ pass
3354
+
3355
+ def _typecheckingstub__5f120862dd3a18b3da3624f1bbb9a6b2ec04ea91c5a0d22f1306ab87a46a1e28(
3356
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
3357
+ ) -> None:
3358
+ """Type checking stubs"""
3359
+ pass
3360
+
3361
+ def _typecheckingstub__057facdda1fc071bcb0a19a16cf182f52ac2a874ba9674ab1e2f710144816eae(
3362
+ value: typing.Optional[builtins.str],
3363
+ ) -> None:
3364
+ """Type checking stubs"""
3365
+ pass
3366
+
3367
+ def _typecheckingstub__6b724cabf90e359bbb06c7a32f43432bf7cb19a46eb5e9f240789471612d5b8b(
3368
+ value: typing.Optional[builtins.str],
3369
+ ) -> None:
3370
+ """Type checking stubs"""
3371
+ pass
3372
+
3373
+ def _typecheckingstub__98ac230b64daa6cce74b4ea14502d07e7a0dcc81bb5bd7c233a62ad5907f6083(
3374
+ value: typing.Optional[builtins.str],
3375
+ ) -> None:
3376
+ """Type checking stubs"""
3377
+ pass
3378
+
3379
+ def _typecheckingstub__d6ebcd54b862693c4f7d257e8db3f90e6315f91bc32c16e7865b2e93f91ff381(
3380
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3381
+ ) -> None:
3382
+ """Type checking stubs"""
3383
+ pass
3384
+
3385
+ def _typecheckingstub__6ef91a56d003f837ee2a6f8431647b2dcdd5ff9d72afb0d6f7cb1c50cc1a6890(
3386
+ *,
3387
+ ip_range: builtins.str,
3388
+ description: typing.Optional[builtins.str] = None,
3389
+ ) -> None:
3390
+ """Type checking stubs"""
3391
+ pass
3392
+
3393
+ def _typecheckingstub__332b0cacbcd242c5add5b067133a69e3ee9f775e64856bf6ae48c84e34d0b475(
3394
+ *,
3395
+ ip_rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIpAccessSettings.IpRuleProperty, typing.Dict[builtins.str, typing.Any]]]]],
3396
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3397
+ customer_managed_key: typing.Optional[builtins.str] = None,
3398
+ description: typing.Optional[builtins.str] = None,
3399
+ display_name: typing.Optional[builtins.str] = None,
3400
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3401
+ ) -> None:
3402
+ """Type checking stubs"""
3403
+ pass
3404
+
3405
+ def _typecheckingstub__95a61d7b0b1452fb7a5fdde6d41bbab0a1737a4628bbe5a201c16ce50a3e8a67(
3406
+ scope: _constructs_77d1e7e8.Construct,
3407
+ id: builtins.str,
3408
+ *,
3409
+ security_group_ids: typing.Sequence[builtins.str],
3410
+ subnet_ids: typing.Sequence[builtins.str],
3411
+ vpc_id: builtins.str,
3412
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3413
+ ) -> None:
3414
+ """Type checking stubs"""
3415
+ pass
3416
+
3417
+ def _typecheckingstub__b18b2266ad8a399dab2a39759ddd4f261e866f9af5f84bd2281d2d5717327fc7(
3418
+ inspector: _TreeInspector_488e0dd5,
3419
+ ) -> None:
3420
+ """Type checking stubs"""
3421
+ pass
3422
+
3423
+ def _typecheckingstub__e59ed5f61334e6922894c4c8b1588d6af1336b159abb632a02c51a1b16724fd0(
3424
+ props: typing.Mapping[builtins.str, typing.Any],
3425
+ ) -> None:
3426
+ """Type checking stubs"""
3427
+ pass
3428
+
3429
+ def _typecheckingstub__3554fe26b5fd797fb5730682ce023c2460621ebeec517b2840620081484a64ab(
3430
+ value: typing.List[builtins.str],
3431
+ ) -> None:
3432
+ """Type checking stubs"""
3433
+ pass
3434
+
3435
+ def _typecheckingstub__9b27a5b7c5de5fd73e2955aa73ff7e658050d13d9e84df9804b230c062f75d81(
3436
+ value: typing.List[builtins.str],
3437
+ ) -> None:
3438
+ """Type checking stubs"""
3439
+ pass
3440
+
3441
+ def _typecheckingstub__e298ee4542dc4160ff007ee478b4d24dff6a5105564e454a0eacb28ac7aeab52(
3442
+ value: builtins.str,
3443
+ ) -> None:
3444
+ """Type checking stubs"""
3445
+ pass
3446
+
3447
+ def _typecheckingstub__07819661df503a5395aeb2f48e629b4742564eaa4d650197b66c74bb51c0efc3(
3448
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3449
+ ) -> None:
3450
+ """Type checking stubs"""
3451
+ pass
3452
+
3453
+ def _typecheckingstub__a17459072d5b9aee15fcf087fb12a82a751a074de0d02647ae22fed9a82fb2cb(
3454
+ *,
3455
+ security_group_ids: typing.Sequence[builtins.str],
3456
+ subnet_ids: typing.Sequence[builtins.str],
3457
+ vpc_id: builtins.str,
3458
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3459
+ ) -> None:
3460
+ """Type checking stubs"""
3461
+ pass
3462
+
3463
+ def _typecheckingstub__239c61bc87a1a693f01a28198d2d3000f7ef790e9684279e807a890b0beba6f5(
3464
+ scope: _constructs_77d1e7e8.Construct,
3465
+ id: builtins.str,
3466
+ *,
3467
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3468
+ authentication_type: typing.Optional[builtins.str] = None,
3469
+ browser_settings_arn: typing.Optional[builtins.str] = None,
3470
+ customer_managed_key: typing.Optional[builtins.str] = None,
3471
+ display_name: typing.Optional[builtins.str] = None,
3472
+ ip_access_settings_arn: typing.Optional[builtins.str] = None,
3473
+ network_settings_arn: typing.Optional[builtins.str] = None,
3474
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3475
+ trust_store_arn: typing.Optional[builtins.str] = None,
3476
+ user_access_logging_settings_arn: typing.Optional[builtins.str] = None,
3477
+ user_settings_arn: typing.Optional[builtins.str] = None,
3478
+ ) -> None:
3479
+ """Type checking stubs"""
3480
+ pass
3481
+
3482
+ def _typecheckingstub__c60cd0cfa36720b34c125e3c88b5da82ebb6f29c673cdccf4de8f3e9c20d4191(
3483
+ inspector: _TreeInspector_488e0dd5,
3484
+ ) -> None:
3485
+ """Type checking stubs"""
3486
+ pass
3487
+
3488
+ def _typecheckingstub__5081fb673d60a8535462986536cbc12cbdb7c5238378c64aaee6592cb850e9f5(
3489
+ props: typing.Mapping[builtins.str, typing.Any],
3490
+ ) -> None:
3491
+ """Type checking stubs"""
3492
+ pass
3493
+
3494
+ def _typecheckingstub__e96df37d1cd0e854d8d279f26233ce4f30ad6bd4d9de076905b0443b8c425f03(
3495
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
3496
+ ) -> None:
3497
+ """Type checking stubs"""
3498
+ pass
3499
+
3500
+ def _typecheckingstub__dff3b0f7b3f0ee0596a800c3994102823f6531aeb797b09198a5a79ed8d25e0f(
3501
+ value: typing.Optional[builtins.str],
3502
+ ) -> None:
3503
+ """Type checking stubs"""
3504
+ pass
3505
+
3506
+ def _typecheckingstub__393d4ac20d540d6ed107a37a5f0ced856767591929eb053c3784984567584127(
3507
+ value: typing.Optional[builtins.str],
3508
+ ) -> None:
3509
+ """Type checking stubs"""
3510
+ pass
3511
+
3512
+ def _typecheckingstub__319e821fe7e2a17153f7832a389ae0c48e1f0517453d29fa3e26fa73232a46bc(
3513
+ value: typing.Optional[builtins.str],
3514
+ ) -> None:
3515
+ """Type checking stubs"""
3516
+ pass
3517
+
3518
+ def _typecheckingstub__cd1b9794e835c2ffeb3dc42a40224afa89d92cb7704c5a59dd75c1d3dd4ef495(
3519
+ value: typing.Optional[builtins.str],
3520
+ ) -> None:
3521
+ """Type checking stubs"""
3522
+ pass
3523
+
3524
+ def _typecheckingstub__40134000fc007f2c29ea771d442eb2b959d8d3cccfedc0efa83e152c13cf3bda(
3525
+ value: typing.Optional[builtins.str],
3526
+ ) -> None:
3527
+ """Type checking stubs"""
3528
+ pass
3529
+
3530
+ def _typecheckingstub__beaa575cd54d9de94a0201b4213524db5df052dd0b9e1605b88d4487f6acbbcd(
3531
+ value: typing.Optional[builtins.str],
3532
+ ) -> None:
3533
+ """Type checking stubs"""
3534
+ pass
3535
+
3536
+ def _typecheckingstub__30535a8dcd75eba19481865deda3eac2505afe537e0650db0a95162feb2563e2(
3537
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3538
+ ) -> None:
3539
+ """Type checking stubs"""
3540
+ pass
3541
+
3542
+ def _typecheckingstub__839ba627519ce26d936d0b859d31cf9abe67bf78df232cea362df9240c350edd(
3543
+ value: typing.Optional[builtins.str],
3544
+ ) -> None:
3545
+ """Type checking stubs"""
3546
+ pass
3547
+
3548
+ def _typecheckingstub__225a01b45ee800a55ed118589c7eb5a4961d42af39924c022ca704030557cf15(
3549
+ value: typing.Optional[builtins.str],
3550
+ ) -> None:
3551
+ """Type checking stubs"""
3552
+ pass
3553
+
3554
+ def _typecheckingstub__e3c9a5aba1f82c8cb8d06dba7c424aabe0b4a862dd045ea1515145403fc27767(
3555
+ value: typing.Optional[builtins.str],
3556
+ ) -> None:
3557
+ """Type checking stubs"""
3558
+ pass
3559
+
3560
+ def _typecheckingstub__aa147912cdfb0d9ea5356fccc59e7ae5b02c822d1e3f5ae2e4826ae39e89f283(
3561
+ *,
3562
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3563
+ authentication_type: typing.Optional[builtins.str] = None,
3564
+ browser_settings_arn: typing.Optional[builtins.str] = None,
3565
+ customer_managed_key: typing.Optional[builtins.str] = None,
3566
+ display_name: typing.Optional[builtins.str] = None,
3567
+ ip_access_settings_arn: typing.Optional[builtins.str] = None,
3568
+ network_settings_arn: typing.Optional[builtins.str] = None,
3569
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3570
+ trust_store_arn: typing.Optional[builtins.str] = None,
3571
+ user_access_logging_settings_arn: typing.Optional[builtins.str] = None,
3572
+ user_settings_arn: typing.Optional[builtins.str] = None,
3573
+ ) -> None:
3574
+ """Type checking stubs"""
3575
+ pass
3576
+
3577
+ def _typecheckingstub__cc9c8ead0938c5ad416a02ff1511be2c3cbf2519166e43c80e65e581fac2cab7(
3578
+ scope: _constructs_77d1e7e8.Construct,
3579
+ id: builtins.str,
3580
+ *,
3581
+ certificate_list: typing.Sequence[builtins.str],
3582
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3583
+ ) -> None:
3584
+ """Type checking stubs"""
3585
+ pass
3586
+
3587
+ def _typecheckingstub__5fb3d54892745fdc13234075ce86bd3f8d4acfe9ec88a393309766bcf833012b(
3588
+ inspector: _TreeInspector_488e0dd5,
3589
+ ) -> None:
3590
+ """Type checking stubs"""
3591
+ pass
3592
+
3593
+ def _typecheckingstub__836cb2ee4e300cb4cb603faf540c0c6dad36379e65dad6d178875cdc39e56603(
3594
+ props: typing.Mapping[builtins.str, typing.Any],
3595
+ ) -> None:
3596
+ """Type checking stubs"""
3597
+ pass
3598
+
3599
+ def _typecheckingstub__d6c348f8d89e15637f5e7f299791ad808bd6fadfe67032f77e095b03cb3b19f1(
3600
+ value: typing.List[builtins.str],
3601
+ ) -> None:
3602
+ """Type checking stubs"""
3603
+ pass
3604
+
3605
+ def _typecheckingstub__413cb334bb35253edc995584173eeea4b9dcaddccf8f42db23cff1eb1c57eba2(
3606
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3607
+ ) -> None:
3608
+ """Type checking stubs"""
3609
+ pass
3610
+
3611
+ def _typecheckingstub__7f61f2140f6607d292f5333bbaa4cf73f35e92dd28f8d49fc35bdca25eb8fa18(
3612
+ *,
3613
+ certificate_list: typing.Sequence[builtins.str],
3614
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3615
+ ) -> None:
3616
+ """Type checking stubs"""
3617
+ pass
3618
+
3619
+ def _typecheckingstub__aad2c57d166d3f137cf451bac17a21ea9bd59a5dafc004c63b60db12312c6ea6(
3620
+ scope: _constructs_77d1e7e8.Construct,
3621
+ id: builtins.str,
3622
+ *,
3623
+ kinesis_stream_arn: builtins.str,
3624
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3625
+ ) -> None:
3626
+ """Type checking stubs"""
3627
+ pass
3628
+
3629
+ def _typecheckingstub__9529f157bb0a06f8719fcc35be65d3271950825bff8e93dc8a42d103439e05ac(
3630
+ inspector: _TreeInspector_488e0dd5,
3631
+ ) -> None:
3632
+ """Type checking stubs"""
3633
+ pass
3634
+
3635
+ def _typecheckingstub__696773979e88a009f291e28c35e0a9e8ca5f167e930af7cd1cdfeedbab8c2264(
3636
+ props: typing.Mapping[builtins.str, typing.Any],
3637
+ ) -> None:
3638
+ """Type checking stubs"""
3639
+ pass
3640
+
3641
+ def _typecheckingstub__c9da0f05e734af1b537d4f6612a6e7f940d1c43dfc9bbc4879e3d92578ed0614(
3642
+ value: builtins.str,
3643
+ ) -> None:
3644
+ """Type checking stubs"""
3645
+ pass
3646
+
3647
+ def _typecheckingstub__5891d11f0a657ca8579858eed7e0c8861e02aad2584f2928aa6f75f7966d4830(
3648
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3649
+ ) -> None:
3650
+ """Type checking stubs"""
3651
+ pass
3652
+
3653
+ def _typecheckingstub__1fbbe0ac8cc8b93ca9250852f294b49e6126c8e1f9bcbdc057c5f6fbfcc7115a(
3654
+ *,
3655
+ kinesis_stream_arn: builtins.str,
3656
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3657
+ ) -> None:
3658
+ """Type checking stubs"""
3659
+ pass
3660
+
3661
+ def _typecheckingstub__75a973eee52af75d8440f76e110a255d358bfa0d721a06403da3f4b3da691630(
3662
+ scope: _constructs_77d1e7e8.Construct,
3663
+ id: builtins.str,
3664
+ *,
3665
+ copy_allowed: builtins.str,
3666
+ download_allowed: builtins.str,
3667
+ paste_allowed: builtins.str,
3668
+ print_allowed: builtins.str,
3669
+ upload_allowed: builtins.str,
3670
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3671
+ cookie_synchronization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserSettings.CookieSynchronizationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3672
+ customer_managed_key: typing.Optional[builtins.str] = None,
3673
+ disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
3674
+ idle_disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
3675
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3676
+ ) -> None:
3677
+ """Type checking stubs"""
3678
+ pass
3679
+
3680
+ def _typecheckingstub__244f1fe2bee12ec9da43df9e03b84c572087c943a751c03dfad95754868e16bf(
3681
+ inspector: _TreeInspector_488e0dd5,
3682
+ ) -> None:
3683
+ """Type checking stubs"""
3684
+ pass
3685
+
3686
+ def _typecheckingstub__d19192b77523bcab841bc3482080fb0b612b4a9432071dcb0bdcee59129de93e(
3687
+ props: typing.Mapping[builtins.str, typing.Any],
3688
+ ) -> None:
3689
+ """Type checking stubs"""
3690
+ pass
3691
+
3692
+ def _typecheckingstub__246f5760229c3a961575cf587c3b4f4860166572ed6c563578054c49d5e3f491(
3693
+ value: builtins.str,
3694
+ ) -> None:
3695
+ """Type checking stubs"""
3696
+ pass
3697
+
3698
+ def _typecheckingstub__4f9bc1f80036b3272572fd6a61db383c0f9a108ae4361245d67c2310033f6aca(
3699
+ value: builtins.str,
3700
+ ) -> None:
3701
+ """Type checking stubs"""
3702
+ pass
3703
+
3704
+ def _typecheckingstub__b079c9f6c24d953ad04e32e9f5a560c7a3b8dfdcbd3fa9b20983ed520609684a(
3705
+ value: builtins.str,
3706
+ ) -> None:
3707
+ """Type checking stubs"""
3708
+ pass
3709
+
3710
+ def _typecheckingstub__bc2a40c59165855fc23939973d9bb8df39156dfc828b8f1c2c799acc9e9c534b(
3711
+ value: builtins.str,
3712
+ ) -> None:
3713
+ """Type checking stubs"""
3714
+ pass
3715
+
3716
+ def _typecheckingstub__ab95c6b32fc019924a90410af98fcff3bd60af47435e3704bf57b385408f198c(
3717
+ value: builtins.str,
3718
+ ) -> None:
3719
+ """Type checking stubs"""
3720
+ pass
3721
+
3722
+ def _typecheckingstub__fca2cad6e9c549a52ed27d6e7203a4dde55fdf1eed387d37637b922c0743a318(
3723
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
3724
+ ) -> None:
3725
+ """Type checking stubs"""
3726
+ pass
3727
+
3728
+ def _typecheckingstub__fc519f4ed3ec11d3fe8c755f39fd066c05ebbf23ec90ba109c399972617b76b4(
3729
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserSettings.CookieSynchronizationConfigurationProperty]],
3730
+ ) -> None:
3731
+ """Type checking stubs"""
3732
+ pass
3733
+
3734
+ def _typecheckingstub__33cbfd7d3c9ffee2a9508bf9733029fbcbc3bd298fd568503ef46ec94dde23df(
3735
+ value: typing.Optional[builtins.str],
3736
+ ) -> None:
3737
+ """Type checking stubs"""
3738
+ pass
3739
+
3740
+ def _typecheckingstub__65c3d8570299b47cbfe2eac0be79eb57ec6ded28c76cb13fec1237f2daa26542(
3741
+ value: typing.Optional[jsii.Number],
3742
+ ) -> None:
3743
+ """Type checking stubs"""
3744
+ pass
3745
+
3746
+ def _typecheckingstub__e6ab43a1a32df42c47c0c8bf18b29db28c2b3d27d8be082f9408d80c09059346(
3747
+ value: typing.Optional[jsii.Number],
3748
+ ) -> None:
3749
+ """Type checking stubs"""
3750
+ pass
3751
+
3752
+ def _typecheckingstub__e18af2707e3cbec353505ab884854a52028ac4039d4d38b2b7aff300b7e63b8a(
3753
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3754
+ ) -> None:
3755
+ """Type checking stubs"""
3756
+ pass
3757
+
3758
+ def _typecheckingstub__967130a98f5e1732af04891ba925fd71a0043477b770e4d98d817b932c896a45(
3759
+ *,
3760
+ domain: builtins.str,
3761
+ name: typing.Optional[builtins.str] = None,
3762
+ path: typing.Optional[builtins.str] = None,
3763
+ ) -> None:
3764
+ """Type checking stubs"""
3765
+ pass
3766
+
3767
+ def _typecheckingstub__b03a784924e11f4debd206efd14cca98aa8e8242e4e834629b834539bd06258f(
3768
+ *,
3769
+ allowlist: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserSettings.CookieSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]],
3770
+ blocklist: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserSettings.CookieSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3771
+ ) -> None:
3772
+ """Type checking stubs"""
3773
+ pass
3774
+
3775
+ def _typecheckingstub__f5fdddc739ee6575c152d4edd4b1958f0aed7897d0804077cf3ed5b5829d55a4(
3776
+ *,
3777
+ copy_allowed: builtins.str,
3778
+ download_allowed: builtins.str,
3779
+ paste_allowed: builtins.str,
3780
+ print_allowed: builtins.str,
3781
+ upload_allowed: builtins.str,
3782
+ additional_encryption_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3783
+ cookie_synchronization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserSettings.CookieSynchronizationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3784
+ customer_managed_key: typing.Optional[builtins.str] = None,
3785
+ disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
3786
+ idle_disconnect_timeout_in_minutes: typing.Optional[jsii.Number] = None,
3787
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3788
+ ) -> None:
3789
+ """Type checking stubs"""
3790
+ pass