aws-cdk-lib 2.202.0__py3-none-any.whl → 2.203.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 (62) hide show
  1. aws_cdk/__init__.py +46 -47
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.202.0.jsii.tgz → aws-cdk-lib@2.203.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +310 -4
  5. aws_cdk/aws_aiops/__init__.py +964 -0
  6. aws_cdk/aws_amplify/__init__.py +127 -0
  7. aws_cdk/aws_arczonalshift/__init__.py +8 -8
  8. aws_cdk/aws_b2bi/__init__.py +782 -3
  9. aws_cdk/aws_backup/__init__.py +22 -0
  10. aws_cdk/aws_batch/__init__.py +53 -1
  11. aws_cdk/aws_bedrock/__init__.py +123 -9
  12. aws_cdk/aws_cleanrooms/__init__.py +157 -154
  13. aws_cdk/aws_cloudformation/__init__.py +28 -28
  14. aws_cdk/aws_cloudfront/__init__.py +61 -18
  15. aws_cdk/aws_cloudfront/experimental/__init__.py +37 -3
  16. aws_cdk/aws_cloudwatch/__init__.py +228 -2
  17. aws_cdk/aws_connect/__init__.py +120 -8
  18. aws_cdk/aws_connectcampaignsv2/__init__.py +25 -4
  19. aws_cdk/aws_customerprofiles/__init__.py +140 -20
  20. aws_cdk/aws_datazone/__init__.py +23 -4
  21. aws_cdk/aws_deadline/__init__.py +4 -4
  22. aws_cdk/aws_dsql/__init__.py +148 -0
  23. aws_cdk/aws_ec2/__init__.py +159 -7
  24. aws_cdk/aws_ecr/__init__.py +3 -3
  25. aws_cdk/aws_ecs/__init__.py +48 -13
  26. aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -2
  27. aws_cdk/aws_emrserverless/__init__.py +118 -0
  28. aws_cdk/aws_fsx/__init__.py +891 -0
  29. aws_cdk/aws_iam/__init__.py +8 -8
  30. aws_cdk/aws_inspectorv2/__init__.py +442 -3
  31. aws_cdk/aws_kendra/__init__.py +10 -5
  32. aws_cdk/aws_kms/__init__.py +14 -8
  33. aws_cdk/aws_lambda/__init__.py +191 -24
  34. aws_cdk/aws_lambda_nodejs/__init__.py +37 -3
  35. aws_cdk/aws_lex/__init__.py +703 -0
  36. aws_cdk/aws_logs/__init__.py +144 -0
  37. aws_cdk/aws_mediatailor/__init__.py +399 -0
  38. aws_cdk/aws_mpa/__init__.py +1475 -0
  39. aws_cdk/aws_networkfirewall/__init__.py +4 -2
  40. aws_cdk/aws_networkmanager/__init__.py +51 -3
  41. aws_cdk/aws_opsworkscm/__init__.py +44 -2
  42. aws_cdk/aws_rds/__init__.py +171 -41
  43. aws_cdk/aws_redshiftserverless/__init__.py +632 -0
  44. aws_cdk/aws_route53resolver/__init__.py +58 -10
  45. aws_cdk/aws_s3/__init__.py +3 -1
  46. aws_cdk/aws_s3tables/__init__.py +230 -0
  47. aws_cdk/aws_sagemaker/__init__.py +6 -2
  48. aws_cdk/aws_securityhub/__init__.py +2887 -56
  49. aws_cdk/aws_synthetics/__init__.py +21 -0
  50. aws_cdk/aws_vpclattice/__init__.py +6 -4
  51. aws_cdk/aws_wafv2/__init__.py +156 -51
  52. aws_cdk/aws_workspacesinstances/__init__.py +3243 -0
  53. aws_cdk/cloud_assembly_schema/__init__.py +200 -4
  54. aws_cdk/cx_api/__init__.py +15 -14
  55. aws_cdk/pipelines/__init__.py +31 -3
  56. aws_cdk/triggers/__init__.py +41 -4
  57. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.1.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.1.dist-info}/RECORD +62 -59
  59. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.1.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.1.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.1.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3243 @@
1
+ r'''
2
+ # AWS::WorkspacesInstances 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_workspacesinstances as workspacesinstances
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 WorkspacesInstances construct libraries](https://constructs.dev/search?q=workspacesinstances)
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::WorkspacesInstances resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WorkspacesInstances.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::WorkspacesInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WorkspacesInstances.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
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
67
+
68
+ from .._jsii import *
69
+
70
+ import constructs as _constructs_77d1e7e8
71
+ from .. import (
72
+ CfnResource as _CfnResource_9df397a6,
73
+ CfnTag as _CfnTag_f6864754,
74
+ IInspectable as _IInspectable_c2943556,
75
+ IResolvable as _IResolvable_da3f097b,
76
+ ITaggableV2 as _ITaggableV2_4e6798f8,
77
+ TagManager as _TagManager_0a598cb3,
78
+ TreeInspector as _TreeInspector_488e0dd5,
79
+ )
80
+
81
+
82
+ @jsii.implements(_IInspectable_c2943556)
83
+ class CfnVolume(
84
+ _CfnResource_9df397a6,
85
+ metaclass=jsii.JSIIMeta,
86
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolume",
87
+ ):
88
+ '''Resource Type definition for AWS::WorkspacesInstances::Volume - Manages WorkSpaces Volume resources.
89
+
90
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html
91
+ :cloudformationResource: AWS::WorkspacesInstances::Volume
92
+ :exampleMetadata: fixture=_generated
93
+
94
+ Example::
95
+
96
+ # The code below shows an example of how to instantiate this type.
97
+ # The values are placeholders you should change.
98
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
99
+
100
+ cfn_volume = workspacesinstances.CfnVolume(self, "MyCfnVolume",
101
+ availability_zone="availabilityZone",
102
+
103
+ # the properties below are optional
104
+ encrypted=False,
105
+ iops=123,
106
+ kms_key_id="kmsKeyId",
107
+ size_in_gb=123,
108
+ snapshot_id="snapshotId",
109
+ tag_specifications=[workspacesinstances.CfnVolume.TagSpecificationProperty(
110
+ resource_type="resourceType",
111
+ tags=[CfnTag(
112
+ key="key",
113
+ value="value"
114
+ )]
115
+ )],
116
+ throughput=123,
117
+ volume_type="volumeType"
118
+ )
119
+ '''
120
+
121
+ def __init__(
122
+ self,
123
+ scope: _constructs_77d1e7e8.Construct,
124
+ id: builtins.str,
125
+ *,
126
+ availability_zone: builtins.str,
127
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
128
+ iops: typing.Optional[jsii.Number] = None,
129
+ kms_key_id: typing.Optional[builtins.str] = None,
130
+ size_in_gb: typing.Optional[jsii.Number] = None,
131
+ snapshot_id: typing.Optional[builtins.str] = None,
132
+ tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnVolume.TagSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
133
+ throughput: typing.Optional[jsii.Number] = None,
134
+ volume_type: typing.Optional[builtins.str] = None,
135
+ ) -> None:
136
+ '''
137
+ :param scope: Scope in which this resource is defined.
138
+ :param id: Construct identifier for this resource (unique in its scope).
139
+ :param availability_zone: The Availability Zone in which to create the volume.
140
+ :param encrypted: Indicates whether the volume should be encrypted.
141
+ :param iops: The number of I/O operations per second (IOPS).
142
+ :param kms_key_id: The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.
143
+ :param size_in_gb: The size of the volume, in GiBs.
144
+ :param snapshot_id: The snapshot from which to create the volume.
145
+ :param tag_specifications: The tags passed to EBS volume.
146
+ :param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
147
+ :param volume_type: The volume type.
148
+ '''
149
+ if __debug__:
150
+ type_hints = typing.get_type_hints(_typecheckingstub__6f8f538e7b445e64dae7c3f3fa5cbf03f73a9175df0c28d38e372410d7a38644)
151
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
152
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
153
+ props = CfnVolumeProps(
154
+ availability_zone=availability_zone,
155
+ encrypted=encrypted,
156
+ iops=iops,
157
+ kms_key_id=kms_key_id,
158
+ size_in_gb=size_in_gb,
159
+ snapshot_id=snapshot_id,
160
+ tag_specifications=tag_specifications,
161
+ throughput=throughput,
162
+ volume_type=volume_type,
163
+ )
164
+
165
+ jsii.create(self.__class__, self, [scope, id, props])
166
+
167
+ @jsii.member(jsii_name="inspect")
168
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
169
+ '''Examines the CloudFormation resource and discloses attributes.
170
+
171
+ :param inspector: tree inspector to collect and process attributes.
172
+ '''
173
+ if __debug__:
174
+ type_hints = typing.get_type_hints(_typecheckingstub__685ee3c99d00c4a98137add5e1954d76422417da17f64b863cea2c0824dea902)
175
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
176
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
177
+
178
+ @jsii.member(jsii_name="renderProperties")
179
+ def _render_properties(
180
+ self,
181
+ props: typing.Mapping[builtins.str, typing.Any],
182
+ ) -> typing.Mapping[builtins.str, typing.Any]:
183
+ '''
184
+ :param props: -
185
+ '''
186
+ if __debug__:
187
+ type_hints = typing.get_type_hints(_typecheckingstub__50ddfbc291d3e556ace0dc6e9d82cfedb078a4a3cbb9ef9e8eac039d0e82d9e6)
188
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
189
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
190
+
191
+ @jsii.python.classproperty
192
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
193
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
194
+ '''The CloudFormation resource type name for this resource class.'''
195
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
196
+
197
+ @builtins.property
198
+ @jsii.member(jsii_name="attrVolumeId")
199
+ def attr_volume_id(self) -> builtins.str:
200
+ '''Unique identifier for the volume.
201
+
202
+ :cloudformationAttribute: VolumeId
203
+ '''
204
+ return typing.cast(builtins.str, jsii.get(self, "attrVolumeId"))
205
+
206
+ @builtins.property
207
+ @jsii.member(jsii_name="cfnProperties")
208
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
209
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
210
+
211
+ @builtins.property
212
+ @jsii.member(jsii_name="availabilityZone")
213
+ def availability_zone(self) -> builtins.str:
214
+ '''The Availability Zone in which to create the volume.'''
215
+ return typing.cast(builtins.str, jsii.get(self, "availabilityZone"))
216
+
217
+ @availability_zone.setter
218
+ def availability_zone(self, value: builtins.str) -> None:
219
+ if __debug__:
220
+ type_hints = typing.get_type_hints(_typecheckingstub__e9f5f1fdafc059b4dc0f72801057c79e690b2878e7ac2fdf540ab305cb1db5b8)
221
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
222
+ jsii.set(self, "availabilityZone", value) # pyright: ignore[reportArgumentType]
223
+
224
+ @builtins.property
225
+ @jsii.member(jsii_name="encrypted")
226
+ def encrypted(
227
+ self,
228
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
229
+ '''Indicates whether the volume should be encrypted.'''
230
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "encrypted"))
231
+
232
+ @encrypted.setter
233
+ def encrypted(
234
+ self,
235
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
236
+ ) -> None:
237
+ if __debug__:
238
+ type_hints = typing.get_type_hints(_typecheckingstub__2545bcf2397b591eeb5bc2020672daea19e4969515b96c2982ba337dfe90a159)
239
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
240
+ jsii.set(self, "encrypted", value) # pyright: ignore[reportArgumentType]
241
+
242
+ @builtins.property
243
+ @jsii.member(jsii_name="iops")
244
+ def iops(self) -> typing.Optional[jsii.Number]:
245
+ '''The number of I/O operations per second (IOPS).'''
246
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "iops"))
247
+
248
+ @iops.setter
249
+ def iops(self, value: typing.Optional[jsii.Number]) -> None:
250
+ if __debug__:
251
+ type_hints = typing.get_type_hints(_typecheckingstub__ed1876d81e0f42a3b54883c4648bf7cf155fa880a498cacc96a0945d5032084c)
252
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
253
+ jsii.set(self, "iops", value) # pyright: ignore[reportArgumentType]
254
+
255
+ @builtins.property
256
+ @jsii.member(jsii_name="kmsKeyId")
257
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
258
+ '''The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.'''
259
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyId"))
260
+
261
+ @kms_key_id.setter
262
+ def kms_key_id(self, value: typing.Optional[builtins.str]) -> None:
263
+ if __debug__:
264
+ type_hints = typing.get_type_hints(_typecheckingstub__395b2ede7d0057a6fa453fc8de076050bcc1806edcbaeecc76c37f56b5befabc)
265
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
266
+ jsii.set(self, "kmsKeyId", value) # pyright: ignore[reportArgumentType]
267
+
268
+ @builtins.property
269
+ @jsii.member(jsii_name="sizeInGb")
270
+ def size_in_gb(self) -> typing.Optional[jsii.Number]:
271
+ '''The size of the volume, in GiBs.'''
272
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "sizeInGb"))
273
+
274
+ @size_in_gb.setter
275
+ def size_in_gb(self, value: typing.Optional[jsii.Number]) -> None:
276
+ if __debug__:
277
+ type_hints = typing.get_type_hints(_typecheckingstub__ac8bac9f32006bab210d99c61fa194ffe0daa28445242538135f5024937fed35)
278
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
279
+ jsii.set(self, "sizeInGb", value) # pyright: ignore[reportArgumentType]
280
+
281
+ @builtins.property
282
+ @jsii.member(jsii_name="snapshotId")
283
+ def snapshot_id(self) -> typing.Optional[builtins.str]:
284
+ '''The snapshot from which to create the volume.'''
285
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "snapshotId"))
286
+
287
+ @snapshot_id.setter
288
+ def snapshot_id(self, value: typing.Optional[builtins.str]) -> None:
289
+ if __debug__:
290
+ type_hints = typing.get_type_hints(_typecheckingstub__d59cb75f780fcc1524e9d8f2469747f8c6f2bbfc350d8662efddf91bcec54be4)
291
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
292
+ jsii.set(self, "snapshotId", value) # pyright: ignore[reportArgumentType]
293
+
294
+ @builtins.property
295
+ @jsii.member(jsii_name="tagSpecifications")
296
+ def tag_specifications(
297
+ self,
298
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVolume.TagSpecificationProperty"]]]]:
299
+ '''The tags passed to EBS volume.'''
300
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVolume.TagSpecificationProperty"]]]], jsii.get(self, "tagSpecifications"))
301
+
302
+ @tag_specifications.setter
303
+ def tag_specifications(
304
+ self,
305
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVolume.TagSpecificationProperty"]]]],
306
+ ) -> None:
307
+ if __debug__:
308
+ type_hints = typing.get_type_hints(_typecheckingstub__7afbacaf7f3ea12aff8077fba424159c4a78dabec81d0e15c2cf21552d0eca48)
309
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
310
+ jsii.set(self, "tagSpecifications", value) # pyright: ignore[reportArgumentType]
311
+
312
+ @builtins.property
313
+ @jsii.member(jsii_name="throughput")
314
+ def throughput(self) -> typing.Optional[jsii.Number]:
315
+ '''The throughput to provision for a volume, with a maximum of 1,000 MiB/s.'''
316
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "throughput"))
317
+
318
+ @throughput.setter
319
+ def throughput(self, value: typing.Optional[jsii.Number]) -> None:
320
+ if __debug__:
321
+ type_hints = typing.get_type_hints(_typecheckingstub__cd4dae6ee80b4f1583ff940c92723ae5abc6127d8abd48ca72184266298e68d5)
322
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
323
+ jsii.set(self, "throughput", value) # pyright: ignore[reportArgumentType]
324
+
325
+ @builtins.property
326
+ @jsii.member(jsii_name="volumeType")
327
+ def volume_type(self) -> typing.Optional[builtins.str]:
328
+ '''The volume type.'''
329
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "volumeType"))
330
+
331
+ @volume_type.setter
332
+ def volume_type(self, value: typing.Optional[builtins.str]) -> None:
333
+ if __debug__:
334
+ type_hints = typing.get_type_hints(_typecheckingstub__5ce69be7eab4b12a5677916d7b89ed00c676fbd7d9858d3c8fd894ed8a963d70)
335
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
336
+ jsii.set(self, "volumeType", value) # pyright: ignore[reportArgumentType]
337
+
338
+ @jsii.data_type(
339
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolume.TagSpecificationProperty",
340
+ jsii_struct_bases=[],
341
+ name_mapping={"resource_type": "resourceType", "tags": "tags"},
342
+ )
343
+ class TagSpecificationProperty:
344
+ def __init__(
345
+ self,
346
+ *,
347
+ resource_type: typing.Optional[builtins.str] = None,
348
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
349
+ ) -> None:
350
+ '''
351
+ :param resource_type:
352
+ :param tags: The tags to apply to the resource.
353
+
354
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-volume-tagspecification.html
355
+ :exampleMetadata: fixture=_generated
356
+
357
+ Example::
358
+
359
+ # The code below shows an example of how to instantiate this type.
360
+ # The values are placeholders you should change.
361
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
362
+
363
+ tag_specification_property = workspacesinstances.CfnVolume.TagSpecificationProperty(
364
+ resource_type="resourceType",
365
+ tags=[CfnTag(
366
+ key="key",
367
+ value="value"
368
+ )]
369
+ )
370
+ '''
371
+ if __debug__:
372
+ type_hints = typing.get_type_hints(_typecheckingstub__0902e5172f6b16ac0cad62cbc3b7188ce843a8d38d90dcc5c86591e6acf47988)
373
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
374
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
375
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
376
+ if resource_type is not None:
377
+ self._values["resource_type"] = resource_type
378
+ if tags is not None:
379
+ self._values["tags"] = tags
380
+
381
+ @builtins.property
382
+ def resource_type(self) -> typing.Optional[builtins.str]:
383
+ '''
384
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-volume-tagspecification.html#cfn-workspacesinstances-volume-tagspecification-resourcetype
385
+ '''
386
+ result = self._values.get("resource_type")
387
+ return typing.cast(typing.Optional[builtins.str], result)
388
+
389
+ @builtins.property
390
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
391
+ '''The tags to apply to the resource.
392
+
393
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-volume-tagspecification.html#cfn-workspacesinstances-volume-tagspecification-tags
394
+ '''
395
+ result = self._values.get("tags")
396
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
397
+
398
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
399
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
400
+
401
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
402
+ return not (rhs == self)
403
+
404
+ def __repr__(self) -> str:
405
+ return "TagSpecificationProperty(%s)" % ", ".join(
406
+ k + "=" + repr(v) for k, v in self._values.items()
407
+ )
408
+
409
+
410
+ @jsii.implements(_IInspectable_c2943556)
411
+ class CfnVolumeAssociation(
412
+ _CfnResource_9df397a6,
413
+ metaclass=jsii.JSIIMeta,
414
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolumeAssociation",
415
+ ):
416
+ '''Resource Type definition for AWS::WorkspacesInstances::VolumeAssociation.
417
+
418
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html
419
+ :cloudformationResource: AWS::WorkspacesInstances::VolumeAssociation
420
+ :exampleMetadata: fixture=_generated
421
+
422
+ Example::
423
+
424
+ # The code below shows an example of how to instantiate this type.
425
+ # The values are placeholders you should change.
426
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
427
+
428
+ cfn_volume_association = workspacesinstances.CfnVolumeAssociation(self, "MyCfnVolumeAssociation",
429
+ device="device",
430
+ volume_id="volumeId",
431
+ workspace_instance_id="workspaceInstanceId",
432
+
433
+ # the properties below are optional
434
+ disassociate_mode="disassociateMode"
435
+ )
436
+ '''
437
+
438
+ def __init__(
439
+ self,
440
+ scope: _constructs_77d1e7e8.Construct,
441
+ id: builtins.str,
442
+ *,
443
+ device: builtins.str,
444
+ volume_id: builtins.str,
445
+ workspace_instance_id: builtins.str,
446
+ disassociate_mode: typing.Optional[builtins.str] = None,
447
+ ) -> None:
448
+ '''
449
+ :param scope: Scope in which this resource is defined.
450
+ :param id: Construct identifier for this resource (unique in its scope).
451
+ :param device: The device name for the volume attachment.
452
+ :param volume_id: ID of the volume to attach to the workspace instance.
453
+ :param workspace_instance_id: ID of the workspace instance to associate with the volume.
454
+ :param disassociate_mode: Mode to use when disassociating the volume.
455
+ '''
456
+ if __debug__:
457
+ type_hints = typing.get_type_hints(_typecheckingstub__d7eec0daa83c1024898d2dd124cb4f461e56903d8a98401eb4d02742f55a5ba8)
458
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
459
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
460
+ props = CfnVolumeAssociationProps(
461
+ device=device,
462
+ volume_id=volume_id,
463
+ workspace_instance_id=workspace_instance_id,
464
+ disassociate_mode=disassociate_mode,
465
+ )
466
+
467
+ jsii.create(self.__class__, self, [scope, id, props])
468
+
469
+ @jsii.member(jsii_name="inspect")
470
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
471
+ '''Examines the CloudFormation resource and discloses attributes.
472
+
473
+ :param inspector: tree inspector to collect and process attributes.
474
+ '''
475
+ if __debug__:
476
+ type_hints = typing.get_type_hints(_typecheckingstub__5fd0989a57e9649b7a4d590f7c91b99524c0760e7a9573d04c9a0651e66ba9b4)
477
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
478
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
479
+
480
+ @jsii.member(jsii_name="renderProperties")
481
+ def _render_properties(
482
+ self,
483
+ props: typing.Mapping[builtins.str, typing.Any],
484
+ ) -> typing.Mapping[builtins.str, typing.Any]:
485
+ '''
486
+ :param props: -
487
+ '''
488
+ if __debug__:
489
+ type_hints = typing.get_type_hints(_typecheckingstub__9edb2ba816767d7bd7866452c6fad9e22e451376ace13728983cb1007430d513)
490
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
491
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
492
+
493
+ @jsii.python.classproperty
494
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
495
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
496
+ '''The CloudFormation resource type name for this resource class.'''
497
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
498
+
499
+ @builtins.property
500
+ @jsii.member(jsii_name="cfnProperties")
501
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
502
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
503
+
504
+ @builtins.property
505
+ @jsii.member(jsii_name="device")
506
+ def device(self) -> builtins.str:
507
+ '''The device name for the volume attachment.'''
508
+ return typing.cast(builtins.str, jsii.get(self, "device"))
509
+
510
+ @device.setter
511
+ def device(self, value: builtins.str) -> None:
512
+ if __debug__:
513
+ type_hints = typing.get_type_hints(_typecheckingstub__a2c067e418598328cb19e2ca662460d196bbf4f0edd016a89d56ca6b09b96ae9)
514
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
515
+ jsii.set(self, "device", value) # pyright: ignore[reportArgumentType]
516
+
517
+ @builtins.property
518
+ @jsii.member(jsii_name="volumeId")
519
+ def volume_id(self) -> builtins.str:
520
+ '''ID of the volume to attach to the workspace instance.'''
521
+ return typing.cast(builtins.str, jsii.get(self, "volumeId"))
522
+
523
+ @volume_id.setter
524
+ def volume_id(self, value: builtins.str) -> None:
525
+ if __debug__:
526
+ type_hints = typing.get_type_hints(_typecheckingstub__6c66f015cf8f3049bd728d95ffef2a32c21bd81393c29537303adaf4e86d6829)
527
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
528
+ jsii.set(self, "volumeId", value) # pyright: ignore[reportArgumentType]
529
+
530
+ @builtins.property
531
+ @jsii.member(jsii_name="workspaceInstanceId")
532
+ def workspace_instance_id(self) -> builtins.str:
533
+ '''ID of the workspace instance to associate with the volume.'''
534
+ return typing.cast(builtins.str, jsii.get(self, "workspaceInstanceId"))
535
+
536
+ @workspace_instance_id.setter
537
+ def workspace_instance_id(self, value: builtins.str) -> None:
538
+ if __debug__:
539
+ type_hints = typing.get_type_hints(_typecheckingstub__cb0e90de13632397d9f05ecf786f58d468973d0cf21a6f5c435c070b2c03b819)
540
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
541
+ jsii.set(self, "workspaceInstanceId", value) # pyright: ignore[reportArgumentType]
542
+
543
+ @builtins.property
544
+ @jsii.member(jsii_name="disassociateMode")
545
+ def disassociate_mode(self) -> typing.Optional[builtins.str]:
546
+ '''Mode to use when disassociating the volume.'''
547
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "disassociateMode"))
548
+
549
+ @disassociate_mode.setter
550
+ def disassociate_mode(self, value: typing.Optional[builtins.str]) -> None:
551
+ if __debug__:
552
+ type_hints = typing.get_type_hints(_typecheckingstub__d1139240ee9e52471c21751caa541f36622002b63b2edb0a487ae73612ae098a)
553
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
554
+ jsii.set(self, "disassociateMode", value) # pyright: ignore[reportArgumentType]
555
+
556
+
557
+ @jsii.data_type(
558
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolumeAssociationProps",
559
+ jsii_struct_bases=[],
560
+ name_mapping={
561
+ "device": "device",
562
+ "volume_id": "volumeId",
563
+ "workspace_instance_id": "workspaceInstanceId",
564
+ "disassociate_mode": "disassociateMode",
565
+ },
566
+ )
567
+ class CfnVolumeAssociationProps:
568
+ def __init__(
569
+ self,
570
+ *,
571
+ device: builtins.str,
572
+ volume_id: builtins.str,
573
+ workspace_instance_id: builtins.str,
574
+ disassociate_mode: typing.Optional[builtins.str] = None,
575
+ ) -> None:
576
+ '''Properties for defining a ``CfnVolumeAssociation``.
577
+
578
+ :param device: The device name for the volume attachment.
579
+ :param volume_id: ID of the volume to attach to the workspace instance.
580
+ :param workspace_instance_id: ID of the workspace instance to associate with the volume.
581
+ :param disassociate_mode: Mode to use when disassociating the volume.
582
+
583
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html
584
+ :exampleMetadata: fixture=_generated
585
+
586
+ Example::
587
+
588
+ # The code below shows an example of how to instantiate this type.
589
+ # The values are placeholders you should change.
590
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
591
+
592
+ cfn_volume_association_props = workspacesinstances.CfnVolumeAssociationProps(
593
+ device="device",
594
+ volume_id="volumeId",
595
+ workspace_instance_id="workspaceInstanceId",
596
+
597
+ # the properties below are optional
598
+ disassociate_mode="disassociateMode"
599
+ )
600
+ '''
601
+ if __debug__:
602
+ type_hints = typing.get_type_hints(_typecheckingstub__7f051309343f88ebe1cc3dc3f2fff77a39c42174a07969dff75f195781a41fbf)
603
+ check_type(argname="argument device", value=device, expected_type=type_hints["device"])
604
+ check_type(argname="argument volume_id", value=volume_id, expected_type=type_hints["volume_id"])
605
+ check_type(argname="argument workspace_instance_id", value=workspace_instance_id, expected_type=type_hints["workspace_instance_id"])
606
+ check_type(argname="argument disassociate_mode", value=disassociate_mode, expected_type=type_hints["disassociate_mode"])
607
+ self._values: typing.Dict[builtins.str, typing.Any] = {
608
+ "device": device,
609
+ "volume_id": volume_id,
610
+ "workspace_instance_id": workspace_instance_id,
611
+ }
612
+ if disassociate_mode is not None:
613
+ self._values["disassociate_mode"] = disassociate_mode
614
+
615
+ @builtins.property
616
+ def device(self) -> builtins.str:
617
+ '''The device name for the volume attachment.
618
+
619
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-device
620
+ '''
621
+ result = self._values.get("device")
622
+ assert result is not None, "Required property 'device' is missing"
623
+ return typing.cast(builtins.str, result)
624
+
625
+ @builtins.property
626
+ def volume_id(self) -> builtins.str:
627
+ '''ID of the volume to attach to the workspace instance.
628
+
629
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-volumeid
630
+ '''
631
+ result = self._values.get("volume_id")
632
+ assert result is not None, "Required property 'volume_id' is missing"
633
+ return typing.cast(builtins.str, result)
634
+
635
+ @builtins.property
636
+ def workspace_instance_id(self) -> builtins.str:
637
+ '''ID of the workspace instance to associate with the volume.
638
+
639
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-workspaceinstanceid
640
+ '''
641
+ result = self._values.get("workspace_instance_id")
642
+ assert result is not None, "Required property 'workspace_instance_id' is missing"
643
+ return typing.cast(builtins.str, result)
644
+
645
+ @builtins.property
646
+ def disassociate_mode(self) -> typing.Optional[builtins.str]:
647
+ '''Mode to use when disassociating the volume.
648
+
649
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-disassociatemode
650
+ '''
651
+ result = self._values.get("disassociate_mode")
652
+ return typing.cast(typing.Optional[builtins.str], result)
653
+
654
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
655
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
656
+
657
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
658
+ return not (rhs == self)
659
+
660
+ def __repr__(self) -> str:
661
+ return "CfnVolumeAssociationProps(%s)" % ", ".join(
662
+ k + "=" + repr(v) for k, v in self._values.items()
663
+ )
664
+
665
+
666
+ @jsii.data_type(
667
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolumeProps",
668
+ jsii_struct_bases=[],
669
+ name_mapping={
670
+ "availability_zone": "availabilityZone",
671
+ "encrypted": "encrypted",
672
+ "iops": "iops",
673
+ "kms_key_id": "kmsKeyId",
674
+ "size_in_gb": "sizeInGb",
675
+ "snapshot_id": "snapshotId",
676
+ "tag_specifications": "tagSpecifications",
677
+ "throughput": "throughput",
678
+ "volume_type": "volumeType",
679
+ },
680
+ )
681
+ class CfnVolumeProps:
682
+ def __init__(
683
+ self,
684
+ *,
685
+ availability_zone: builtins.str,
686
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
687
+ iops: typing.Optional[jsii.Number] = None,
688
+ kms_key_id: typing.Optional[builtins.str] = None,
689
+ size_in_gb: typing.Optional[jsii.Number] = None,
690
+ snapshot_id: typing.Optional[builtins.str] = None,
691
+ tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVolume.TagSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
692
+ throughput: typing.Optional[jsii.Number] = None,
693
+ volume_type: typing.Optional[builtins.str] = None,
694
+ ) -> None:
695
+ '''Properties for defining a ``CfnVolume``.
696
+
697
+ :param availability_zone: The Availability Zone in which to create the volume.
698
+ :param encrypted: Indicates whether the volume should be encrypted.
699
+ :param iops: The number of I/O operations per second (IOPS).
700
+ :param kms_key_id: The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.
701
+ :param size_in_gb: The size of the volume, in GiBs.
702
+ :param snapshot_id: The snapshot from which to create the volume.
703
+ :param tag_specifications: The tags passed to EBS volume.
704
+ :param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
705
+ :param volume_type: The volume type.
706
+
707
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html
708
+ :exampleMetadata: fixture=_generated
709
+
710
+ Example::
711
+
712
+ # The code below shows an example of how to instantiate this type.
713
+ # The values are placeholders you should change.
714
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
715
+
716
+ cfn_volume_props = workspacesinstances.CfnVolumeProps(
717
+ availability_zone="availabilityZone",
718
+
719
+ # the properties below are optional
720
+ encrypted=False,
721
+ iops=123,
722
+ kms_key_id="kmsKeyId",
723
+ size_in_gb=123,
724
+ snapshot_id="snapshotId",
725
+ tag_specifications=[workspacesinstances.CfnVolume.TagSpecificationProperty(
726
+ resource_type="resourceType",
727
+ tags=[CfnTag(
728
+ key="key",
729
+ value="value"
730
+ )]
731
+ )],
732
+ throughput=123,
733
+ volume_type="volumeType"
734
+ )
735
+ '''
736
+ if __debug__:
737
+ type_hints = typing.get_type_hints(_typecheckingstub__86994d3c65438656f95433a2d79f0f9f2640fb4eb23141adf1234d9d1e1d53cd)
738
+ check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
739
+ check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
740
+ check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
741
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
742
+ check_type(argname="argument size_in_gb", value=size_in_gb, expected_type=type_hints["size_in_gb"])
743
+ check_type(argname="argument snapshot_id", value=snapshot_id, expected_type=type_hints["snapshot_id"])
744
+ check_type(argname="argument tag_specifications", value=tag_specifications, expected_type=type_hints["tag_specifications"])
745
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
746
+ check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
747
+ self._values: typing.Dict[builtins.str, typing.Any] = {
748
+ "availability_zone": availability_zone,
749
+ }
750
+ if encrypted is not None:
751
+ self._values["encrypted"] = encrypted
752
+ if iops is not None:
753
+ self._values["iops"] = iops
754
+ if kms_key_id is not None:
755
+ self._values["kms_key_id"] = kms_key_id
756
+ if size_in_gb is not None:
757
+ self._values["size_in_gb"] = size_in_gb
758
+ if snapshot_id is not None:
759
+ self._values["snapshot_id"] = snapshot_id
760
+ if tag_specifications is not None:
761
+ self._values["tag_specifications"] = tag_specifications
762
+ if throughput is not None:
763
+ self._values["throughput"] = throughput
764
+ if volume_type is not None:
765
+ self._values["volume_type"] = volume_type
766
+
767
+ @builtins.property
768
+ def availability_zone(self) -> builtins.str:
769
+ '''The Availability Zone in which to create the volume.
770
+
771
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-availabilityzone
772
+ '''
773
+ result = self._values.get("availability_zone")
774
+ assert result is not None, "Required property 'availability_zone' is missing"
775
+ return typing.cast(builtins.str, result)
776
+
777
+ @builtins.property
778
+ def encrypted(
779
+ self,
780
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
781
+ '''Indicates whether the volume should be encrypted.
782
+
783
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-encrypted
784
+ '''
785
+ result = self._values.get("encrypted")
786
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
787
+
788
+ @builtins.property
789
+ def iops(self) -> typing.Optional[jsii.Number]:
790
+ '''The number of I/O operations per second (IOPS).
791
+
792
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-iops
793
+ '''
794
+ result = self._values.get("iops")
795
+ return typing.cast(typing.Optional[jsii.Number], result)
796
+
797
+ @builtins.property
798
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
799
+ '''The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.
800
+
801
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-kmskeyid
802
+ '''
803
+ result = self._values.get("kms_key_id")
804
+ return typing.cast(typing.Optional[builtins.str], result)
805
+
806
+ @builtins.property
807
+ def size_in_gb(self) -> typing.Optional[jsii.Number]:
808
+ '''The size of the volume, in GiBs.
809
+
810
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-sizeingb
811
+ '''
812
+ result = self._values.get("size_in_gb")
813
+ return typing.cast(typing.Optional[jsii.Number], result)
814
+
815
+ @builtins.property
816
+ def snapshot_id(self) -> typing.Optional[builtins.str]:
817
+ '''The snapshot from which to create the volume.
818
+
819
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-snapshotid
820
+ '''
821
+ result = self._values.get("snapshot_id")
822
+ return typing.cast(typing.Optional[builtins.str], result)
823
+
824
+ @builtins.property
825
+ def tag_specifications(
826
+ self,
827
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVolume.TagSpecificationProperty]]]]:
828
+ '''The tags passed to EBS volume.
829
+
830
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-tagspecifications
831
+ '''
832
+ result = self._values.get("tag_specifications")
833
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVolume.TagSpecificationProperty]]]], result)
834
+
835
+ @builtins.property
836
+ def throughput(self) -> typing.Optional[jsii.Number]:
837
+ '''The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
838
+
839
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-throughput
840
+ '''
841
+ result = self._values.get("throughput")
842
+ return typing.cast(typing.Optional[jsii.Number], result)
843
+
844
+ @builtins.property
845
+ def volume_type(self) -> typing.Optional[builtins.str]:
846
+ '''The volume type.
847
+
848
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-volumetype
849
+ '''
850
+ result = self._values.get("volume_type")
851
+ return typing.cast(typing.Optional[builtins.str], result)
852
+
853
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
854
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
855
+
856
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
857
+ return not (rhs == self)
858
+
859
+ def __repr__(self) -> str:
860
+ return "CfnVolumeProps(%s)" % ", ".join(
861
+ k + "=" + repr(v) for k, v in self._values.items()
862
+ )
863
+
864
+
865
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
866
+ class CfnWorkspaceInstance(
867
+ _CfnResource_9df397a6,
868
+ metaclass=jsii.JSIIMeta,
869
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance",
870
+ ):
871
+ '''Resource Type definition for AWS::WorkspacesInstances::WorkspaceInstance.
872
+
873
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html
874
+ :cloudformationResource: AWS::WorkspacesInstances::WorkspaceInstance
875
+ :exampleMetadata: fixture=_generated
876
+
877
+ Example::
878
+
879
+ # The code below shows an example of how to instantiate this type.
880
+ # The values are placeholders you should change.
881
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
882
+
883
+ cfn_workspace_instance = workspacesinstances.CfnWorkspaceInstance(self, "MyCfnWorkspaceInstance",
884
+ managed_instance=workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty(
885
+ image_id="imageId",
886
+ instance_type="instanceType",
887
+
888
+ # the properties below are optional
889
+ block_device_mappings=[workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
890
+ device_name="deviceName",
891
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
892
+ encrypted=False,
893
+ iops=123,
894
+ kms_key_id="kmsKeyId",
895
+ throughput=123,
896
+ volume_size=123,
897
+ volume_type="volumeType"
898
+ ),
899
+ no_device="noDevice",
900
+ virtual_name="virtualName"
901
+ )],
902
+ cpu_options=workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
903
+ core_count=123,
904
+ threads_per_core=123
905
+ ),
906
+ credit_specification=workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
907
+ cpu_credits="cpuCredits"
908
+ ),
909
+ disable_api_stop=False,
910
+ ebs_optimized=False,
911
+ enclave_options=workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
912
+ enabled=False
913
+ ),
914
+ hibernation_options=workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
915
+ configured=False
916
+ ),
917
+ iam_instance_profile=workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
918
+ name="name"
919
+ ),
920
+ key_name="keyName",
921
+ maintenance_options=workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
922
+ auto_recovery="autoRecovery"
923
+ ),
924
+ metadata_options=workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
925
+ http_endpoint="httpEndpoint",
926
+ http_protocol_ipv6="httpProtocolIpv6",
927
+ http_put_response_hop_limit=123,
928
+ http_tokens="httpTokens",
929
+ instance_metadata_tags="instanceMetadataTags"
930
+ ),
931
+ monitoring=workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
932
+ enabled=False
933
+ ),
934
+ network_interfaces=[workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
935
+ description="description",
936
+ device_index=123,
937
+ groups=["groups"],
938
+ subnet_id="subnetId"
939
+ )],
940
+ network_performance_options=workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
941
+ bandwidth_weighting="bandwidthWeighting"
942
+ ),
943
+ placement=workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
944
+ availability_zone="availabilityZone",
945
+ group_name="groupName",
946
+ tenancy="tenancy"
947
+ ),
948
+ private_dns_name_options=workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
949
+ enable_resource_name_dns_aaaa_record=False,
950
+ enable_resource_name_dns_aRecord=False,
951
+ hostname_type="hostnameType"
952
+ ),
953
+ tag_specifications=[workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
954
+ resource_type="resourceType",
955
+ tags=[CfnTag(
956
+ key="key",
957
+ value="value"
958
+ )]
959
+ )],
960
+ user_data="userData"
961
+ ),
962
+ tags=[CfnTag(
963
+ key="key",
964
+ value="value"
965
+ )]
966
+ )
967
+ '''
968
+
969
+ def __init__(
970
+ self,
971
+ scope: _constructs_77d1e7e8.Construct,
972
+ id: builtins.str,
973
+ *,
974
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.ManagedInstanceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
975
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
976
+ ) -> None:
977
+ '''
978
+ :param scope: Scope in which this resource is defined.
979
+ :param id: Construct identifier for this resource (unique in its scope).
980
+ :param managed_instance:
981
+ :param tags:
982
+ '''
983
+ if __debug__:
984
+ type_hints = typing.get_type_hints(_typecheckingstub__fe297a4f0279d14c1f9c904fa95a44f828762333773f7e3a7c9943d3b9b3e3b3)
985
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
986
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
987
+ props = CfnWorkspaceInstanceProps(managed_instance=managed_instance, tags=tags)
988
+
989
+ jsii.create(self.__class__, self, [scope, id, props])
990
+
991
+ @jsii.member(jsii_name="inspect")
992
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
993
+ '''Examines the CloudFormation resource and discloses attributes.
994
+
995
+ :param inspector: tree inspector to collect and process attributes.
996
+ '''
997
+ if __debug__:
998
+ type_hints = typing.get_type_hints(_typecheckingstub__2bdc42635ac5557f3eb11885f29e281607cfb0594c2e299de906f90030a10deb)
999
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1000
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1001
+
1002
+ @jsii.member(jsii_name="renderProperties")
1003
+ def _render_properties(
1004
+ self,
1005
+ props: typing.Mapping[builtins.str, typing.Any],
1006
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1007
+ '''
1008
+ :param props: -
1009
+ '''
1010
+ if __debug__:
1011
+ type_hints = typing.get_type_hints(_typecheckingstub__5ec3702eceaf9b2e99eb781959d3fbe14573ce56bb19f427daba893407569847)
1012
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1013
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1014
+
1015
+ @jsii.python.classproperty
1016
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1017
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1018
+ '''The CloudFormation resource type name for this resource class.'''
1019
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1020
+
1021
+ @builtins.property
1022
+ @jsii.member(jsii_name="attrEc2ManagedInstance")
1023
+ def attr_ec2_managed_instance(self) -> _IResolvable_da3f097b:
1024
+ '''
1025
+ :cloudformationAttribute: EC2ManagedInstance
1026
+ '''
1027
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrEc2ManagedInstance"))
1028
+
1029
+ @builtins.property
1030
+ @jsii.member(jsii_name="attrEc2ManagedInstanceInstanceId")
1031
+ def attr_ec2_managed_instance_instance_id(self) -> builtins.str:
1032
+ '''
1033
+ :cloudformationAttribute: EC2ManagedInstance.InstanceId
1034
+ '''
1035
+ return typing.cast(builtins.str, jsii.get(self, "attrEc2ManagedInstanceInstanceId"))
1036
+
1037
+ @builtins.property
1038
+ @jsii.member(jsii_name="attrProvisionState")
1039
+ def attr_provision_state(self) -> builtins.str:
1040
+ '''The current state of the workspace instance.
1041
+
1042
+ :cloudformationAttribute: ProvisionState
1043
+ '''
1044
+ return typing.cast(builtins.str, jsii.get(self, "attrProvisionState"))
1045
+
1046
+ @builtins.property
1047
+ @jsii.member(jsii_name="attrWorkspaceInstanceId")
1048
+ def attr_workspace_instance_id(self) -> builtins.str:
1049
+ '''Unique identifier for the workspace instance.
1050
+
1051
+ :cloudformationAttribute: WorkspaceInstanceId
1052
+ '''
1053
+ return typing.cast(builtins.str, jsii.get(self, "attrWorkspaceInstanceId"))
1054
+
1055
+ @builtins.property
1056
+ @jsii.member(jsii_name="cdkTagManager")
1057
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1058
+ '''Tag Manager which manages the tags for this resource.'''
1059
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1060
+
1061
+ @builtins.property
1062
+ @jsii.member(jsii_name="cfnProperties")
1063
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1064
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1065
+
1066
+ @builtins.property
1067
+ @jsii.member(jsii_name="managedInstance")
1068
+ def managed_instance(
1069
+ self,
1070
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.ManagedInstanceProperty"]]:
1071
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.ManagedInstanceProperty"]], jsii.get(self, "managedInstance"))
1072
+
1073
+ @managed_instance.setter
1074
+ def managed_instance(
1075
+ self,
1076
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.ManagedInstanceProperty"]],
1077
+ ) -> None:
1078
+ if __debug__:
1079
+ type_hints = typing.get_type_hints(_typecheckingstub__f6fb81328f4cb605751ce72d14049d2c7dbe8255e2141c4d01d4204ed9b4adf0)
1080
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1081
+ jsii.set(self, "managedInstance", value) # pyright: ignore[reportArgumentType]
1082
+
1083
+ @builtins.property
1084
+ @jsii.member(jsii_name="tags")
1085
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1086
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1087
+
1088
+ @tags.setter
1089
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1090
+ if __debug__:
1091
+ type_hints = typing.get_type_hints(_typecheckingstub__58b2c86c1c3f77e59470dc4f588d2e8033f028f5127ba91d829c8c6add4de38a)
1092
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1093
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1094
+
1095
+ @jsii.data_type(
1096
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty",
1097
+ jsii_struct_bases=[],
1098
+ name_mapping={
1099
+ "device_name": "deviceName",
1100
+ "ebs": "ebs",
1101
+ "no_device": "noDevice",
1102
+ "virtual_name": "virtualName",
1103
+ },
1104
+ )
1105
+ class BlockDeviceMappingProperty:
1106
+ def __init__(
1107
+ self,
1108
+ *,
1109
+ device_name: typing.Optional[builtins.str] = None,
1110
+ ebs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.EbsBlockDeviceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1111
+ no_device: typing.Optional[builtins.str] = None,
1112
+ virtual_name: typing.Optional[builtins.str] = None,
1113
+ ) -> None:
1114
+ '''
1115
+ :param device_name:
1116
+ :param ebs:
1117
+ :param no_device:
1118
+ :param virtual_name:
1119
+
1120
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html
1121
+ :exampleMetadata: fixture=_generated
1122
+
1123
+ Example::
1124
+
1125
+ # The code below shows an example of how to instantiate this type.
1126
+ # The values are placeholders you should change.
1127
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1128
+
1129
+ block_device_mapping_property = workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
1130
+ device_name="deviceName",
1131
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
1132
+ encrypted=False,
1133
+ iops=123,
1134
+ kms_key_id="kmsKeyId",
1135
+ throughput=123,
1136
+ volume_size=123,
1137
+ volume_type="volumeType"
1138
+ ),
1139
+ no_device="noDevice",
1140
+ virtual_name="virtualName"
1141
+ )
1142
+ '''
1143
+ if __debug__:
1144
+ type_hints = typing.get_type_hints(_typecheckingstub__6f2d2dc4f023dfee96411ef0d53c3f207f589b520679a75d9c4a2ca0843d3994)
1145
+ check_type(argname="argument device_name", value=device_name, expected_type=type_hints["device_name"])
1146
+ check_type(argname="argument ebs", value=ebs, expected_type=type_hints["ebs"])
1147
+ check_type(argname="argument no_device", value=no_device, expected_type=type_hints["no_device"])
1148
+ check_type(argname="argument virtual_name", value=virtual_name, expected_type=type_hints["virtual_name"])
1149
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1150
+ if device_name is not None:
1151
+ self._values["device_name"] = device_name
1152
+ if ebs is not None:
1153
+ self._values["ebs"] = ebs
1154
+ if no_device is not None:
1155
+ self._values["no_device"] = no_device
1156
+ if virtual_name is not None:
1157
+ self._values["virtual_name"] = virtual_name
1158
+
1159
+ @builtins.property
1160
+ def device_name(self) -> typing.Optional[builtins.str]:
1161
+ '''
1162
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-devicename
1163
+ '''
1164
+ result = self._values.get("device_name")
1165
+ return typing.cast(typing.Optional[builtins.str], result)
1166
+
1167
+ @builtins.property
1168
+ def ebs(
1169
+ self,
1170
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EbsBlockDeviceProperty"]]:
1171
+ '''
1172
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-ebs
1173
+ '''
1174
+ result = self._values.get("ebs")
1175
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EbsBlockDeviceProperty"]], result)
1176
+
1177
+ @builtins.property
1178
+ def no_device(self) -> typing.Optional[builtins.str]:
1179
+ '''
1180
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-nodevice
1181
+ '''
1182
+ result = self._values.get("no_device")
1183
+ return typing.cast(typing.Optional[builtins.str], result)
1184
+
1185
+ @builtins.property
1186
+ def virtual_name(self) -> typing.Optional[builtins.str]:
1187
+ '''
1188
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-virtualname
1189
+ '''
1190
+ result = self._values.get("virtual_name")
1191
+ return typing.cast(typing.Optional[builtins.str], result)
1192
+
1193
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1194
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1195
+
1196
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1197
+ return not (rhs == self)
1198
+
1199
+ def __repr__(self) -> str:
1200
+ return "BlockDeviceMappingProperty(%s)" % ", ".join(
1201
+ k + "=" + repr(v) for k, v in self._values.items()
1202
+ )
1203
+
1204
+ @jsii.data_type(
1205
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty",
1206
+ jsii_struct_bases=[],
1207
+ name_mapping={"core_count": "coreCount", "threads_per_core": "threadsPerCore"},
1208
+ )
1209
+ class CpuOptionsRequestProperty:
1210
+ def __init__(
1211
+ self,
1212
+ *,
1213
+ core_count: typing.Optional[jsii.Number] = None,
1214
+ threads_per_core: typing.Optional[jsii.Number] = None,
1215
+ ) -> None:
1216
+ '''
1217
+ :param core_count:
1218
+ :param threads_per_core:
1219
+
1220
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-cpuoptionsrequest.html
1221
+ :exampleMetadata: fixture=_generated
1222
+
1223
+ Example::
1224
+
1225
+ # The code below shows an example of how to instantiate this type.
1226
+ # The values are placeholders you should change.
1227
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1228
+
1229
+ cpu_options_request_property = workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
1230
+ core_count=123,
1231
+ threads_per_core=123
1232
+ )
1233
+ '''
1234
+ if __debug__:
1235
+ type_hints = typing.get_type_hints(_typecheckingstub__baf2483b6c10091ca1060d8ca8cb538b6f9eb1223193ab69470e79d02ae05c0f)
1236
+ check_type(argname="argument core_count", value=core_count, expected_type=type_hints["core_count"])
1237
+ check_type(argname="argument threads_per_core", value=threads_per_core, expected_type=type_hints["threads_per_core"])
1238
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1239
+ if core_count is not None:
1240
+ self._values["core_count"] = core_count
1241
+ if threads_per_core is not None:
1242
+ self._values["threads_per_core"] = threads_per_core
1243
+
1244
+ @builtins.property
1245
+ def core_count(self) -> typing.Optional[jsii.Number]:
1246
+ '''
1247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-cpuoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-cpuoptionsrequest-corecount
1248
+ '''
1249
+ result = self._values.get("core_count")
1250
+ return typing.cast(typing.Optional[jsii.Number], result)
1251
+
1252
+ @builtins.property
1253
+ def threads_per_core(self) -> typing.Optional[jsii.Number]:
1254
+ '''
1255
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-cpuoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-cpuoptionsrequest-threadspercore
1256
+ '''
1257
+ result = self._values.get("threads_per_core")
1258
+ return typing.cast(typing.Optional[jsii.Number], result)
1259
+
1260
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1261
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1262
+
1263
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1264
+ return not (rhs == self)
1265
+
1266
+ def __repr__(self) -> str:
1267
+ return "CpuOptionsRequestProperty(%s)" % ", ".join(
1268
+ k + "=" + repr(v) for k, v in self._values.items()
1269
+ )
1270
+
1271
+ @jsii.data_type(
1272
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty",
1273
+ jsii_struct_bases=[],
1274
+ name_mapping={"cpu_credits": "cpuCredits"},
1275
+ )
1276
+ class CreditSpecificationRequestProperty:
1277
+ def __init__(
1278
+ self,
1279
+ *,
1280
+ cpu_credits: typing.Optional[builtins.str] = None,
1281
+ ) -> None:
1282
+ '''
1283
+ :param cpu_credits:
1284
+
1285
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-creditspecificationrequest.html
1286
+ :exampleMetadata: fixture=_generated
1287
+
1288
+ Example::
1289
+
1290
+ # The code below shows an example of how to instantiate this type.
1291
+ # The values are placeholders you should change.
1292
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1293
+
1294
+ credit_specification_request_property = workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
1295
+ cpu_credits="cpuCredits"
1296
+ )
1297
+ '''
1298
+ if __debug__:
1299
+ type_hints = typing.get_type_hints(_typecheckingstub__be827443f2405057687f0e728dd6b714e64976c6b7fdb53616ba22f38fe684f7)
1300
+ check_type(argname="argument cpu_credits", value=cpu_credits, expected_type=type_hints["cpu_credits"])
1301
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1302
+ if cpu_credits is not None:
1303
+ self._values["cpu_credits"] = cpu_credits
1304
+
1305
+ @builtins.property
1306
+ def cpu_credits(self) -> typing.Optional[builtins.str]:
1307
+ '''
1308
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-creditspecificationrequest.html#cfn-workspacesinstances-workspaceinstance-creditspecificationrequest-cpucredits
1309
+ '''
1310
+ result = self._values.get("cpu_credits")
1311
+ return typing.cast(typing.Optional[builtins.str], result)
1312
+
1313
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1314
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1315
+
1316
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1317
+ return not (rhs == self)
1318
+
1319
+ def __repr__(self) -> str:
1320
+ return "CreditSpecificationRequestProperty(%s)" % ", ".join(
1321
+ k + "=" + repr(v) for k, v in self._values.items()
1322
+ )
1323
+
1324
+ @jsii.data_type(
1325
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.EC2ManagedInstanceProperty",
1326
+ jsii_struct_bases=[],
1327
+ name_mapping={"instance_id": "instanceId"},
1328
+ )
1329
+ class EC2ManagedInstanceProperty:
1330
+ def __init__(
1331
+ self,
1332
+ *,
1333
+ instance_id: typing.Optional[builtins.str] = None,
1334
+ ) -> None:
1335
+ '''
1336
+ :param instance_id:
1337
+
1338
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ec2managedinstance.html
1339
+ :exampleMetadata: fixture=_generated
1340
+
1341
+ Example::
1342
+
1343
+ # The code below shows an example of how to instantiate this type.
1344
+ # The values are placeholders you should change.
1345
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1346
+
1347
+ e_c2_managed_instance_property = workspacesinstances.CfnWorkspaceInstance.EC2ManagedInstanceProperty(
1348
+ instance_id="instanceId"
1349
+ )
1350
+ '''
1351
+ if __debug__:
1352
+ type_hints = typing.get_type_hints(_typecheckingstub__fdf6ee9b22498f38a18bcb3d582068ef8ccfe59145f98269dc66087bebceba31)
1353
+ check_type(argname="argument instance_id", value=instance_id, expected_type=type_hints["instance_id"])
1354
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1355
+ if instance_id is not None:
1356
+ self._values["instance_id"] = instance_id
1357
+
1358
+ @builtins.property
1359
+ def instance_id(self) -> typing.Optional[builtins.str]:
1360
+ '''
1361
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ec2managedinstance.html#cfn-workspacesinstances-workspaceinstance-ec2managedinstance-instanceid
1362
+ '''
1363
+ result = self._values.get("instance_id")
1364
+ return typing.cast(typing.Optional[builtins.str], result)
1365
+
1366
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1367
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1368
+
1369
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1370
+ return not (rhs == self)
1371
+
1372
+ def __repr__(self) -> str:
1373
+ return "EC2ManagedInstanceProperty(%s)" % ", ".join(
1374
+ k + "=" + repr(v) for k, v in self._values.items()
1375
+ )
1376
+
1377
+ @jsii.data_type(
1378
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty",
1379
+ jsii_struct_bases=[],
1380
+ name_mapping={
1381
+ "encrypted": "encrypted",
1382
+ "iops": "iops",
1383
+ "kms_key_id": "kmsKeyId",
1384
+ "throughput": "throughput",
1385
+ "volume_size": "volumeSize",
1386
+ "volume_type": "volumeType",
1387
+ },
1388
+ )
1389
+ class EbsBlockDeviceProperty:
1390
+ def __init__(
1391
+ self,
1392
+ *,
1393
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1394
+ iops: typing.Optional[jsii.Number] = None,
1395
+ kms_key_id: typing.Optional[builtins.str] = None,
1396
+ throughput: typing.Optional[jsii.Number] = None,
1397
+ volume_size: typing.Optional[jsii.Number] = None,
1398
+ volume_type: typing.Optional[builtins.str] = None,
1399
+ ) -> None:
1400
+ '''
1401
+ :param encrypted:
1402
+ :param iops:
1403
+ :param kms_key_id:
1404
+ :param throughput:
1405
+ :param volume_size:
1406
+ :param volume_type:
1407
+
1408
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html
1409
+ :exampleMetadata: fixture=_generated
1410
+
1411
+ Example::
1412
+
1413
+ # The code below shows an example of how to instantiate this type.
1414
+ # The values are placeholders you should change.
1415
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1416
+
1417
+ ebs_block_device_property = workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
1418
+ encrypted=False,
1419
+ iops=123,
1420
+ kms_key_id="kmsKeyId",
1421
+ throughput=123,
1422
+ volume_size=123,
1423
+ volume_type="volumeType"
1424
+ )
1425
+ '''
1426
+ if __debug__:
1427
+ type_hints = typing.get_type_hints(_typecheckingstub__afafa3f2614378531f34f7c44be3d52735de40c84c8eb108e258a8bf3eb50e61)
1428
+ check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
1429
+ check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
1430
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
1431
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
1432
+ check_type(argname="argument volume_size", value=volume_size, expected_type=type_hints["volume_size"])
1433
+ check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
1434
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1435
+ if encrypted is not None:
1436
+ self._values["encrypted"] = encrypted
1437
+ if iops is not None:
1438
+ self._values["iops"] = iops
1439
+ if kms_key_id is not None:
1440
+ self._values["kms_key_id"] = kms_key_id
1441
+ if throughput is not None:
1442
+ self._values["throughput"] = throughput
1443
+ if volume_size is not None:
1444
+ self._values["volume_size"] = volume_size
1445
+ if volume_type is not None:
1446
+ self._values["volume_type"] = volume_type
1447
+
1448
+ @builtins.property
1449
+ def encrypted(
1450
+ self,
1451
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1452
+ '''
1453
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-encrypted
1454
+ '''
1455
+ result = self._values.get("encrypted")
1456
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1457
+
1458
+ @builtins.property
1459
+ def iops(self) -> typing.Optional[jsii.Number]:
1460
+ '''
1461
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-iops
1462
+ '''
1463
+ result = self._values.get("iops")
1464
+ return typing.cast(typing.Optional[jsii.Number], result)
1465
+
1466
+ @builtins.property
1467
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
1468
+ '''
1469
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-kmskeyid
1470
+ '''
1471
+ result = self._values.get("kms_key_id")
1472
+ return typing.cast(typing.Optional[builtins.str], result)
1473
+
1474
+ @builtins.property
1475
+ def throughput(self) -> typing.Optional[jsii.Number]:
1476
+ '''
1477
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-throughput
1478
+ '''
1479
+ result = self._values.get("throughput")
1480
+ return typing.cast(typing.Optional[jsii.Number], result)
1481
+
1482
+ @builtins.property
1483
+ def volume_size(self) -> typing.Optional[jsii.Number]:
1484
+ '''
1485
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-volumesize
1486
+ '''
1487
+ result = self._values.get("volume_size")
1488
+ return typing.cast(typing.Optional[jsii.Number], result)
1489
+
1490
+ @builtins.property
1491
+ def volume_type(self) -> typing.Optional[builtins.str]:
1492
+ '''
1493
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-volumetype
1494
+ '''
1495
+ result = self._values.get("volume_type")
1496
+ return typing.cast(typing.Optional[builtins.str], result)
1497
+
1498
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1499
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1500
+
1501
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1502
+ return not (rhs == self)
1503
+
1504
+ def __repr__(self) -> str:
1505
+ return "EbsBlockDeviceProperty(%s)" % ", ".join(
1506
+ k + "=" + repr(v) for k, v in self._values.items()
1507
+ )
1508
+
1509
+ @jsii.data_type(
1510
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty",
1511
+ jsii_struct_bases=[],
1512
+ name_mapping={"enabled": "enabled"},
1513
+ )
1514
+ class EnclaveOptionsRequestProperty:
1515
+ def __init__(
1516
+ self,
1517
+ *,
1518
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1519
+ ) -> None:
1520
+ '''
1521
+ :param enabled:
1522
+
1523
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-enclaveoptionsrequest.html
1524
+ :exampleMetadata: fixture=_generated
1525
+
1526
+ Example::
1527
+
1528
+ # The code below shows an example of how to instantiate this type.
1529
+ # The values are placeholders you should change.
1530
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1531
+
1532
+ enclave_options_request_property = workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
1533
+ enabled=False
1534
+ )
1535
+ '''
1536
+ if __debug__:
1537
+ type_hints = typing.get_type_hints(_typecheckingstub__5aaf83d8222c97044bf3b1051a0f48a71d78afefae567af0ee4fd1946ba8b25b)
1538
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
1539
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1540
+ if enabled is not None:
1541
+ self._values["enabled"] = enabled
1542
+
1543
+ @builtins.property
1544
+ def enabled(
1545
+ self,
1546
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1547
+ '''
1548
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-enclaveoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-enclaveoptionsrequest-enabled
1549
+ '''
1550
+ result = self._values.get("enabled")
1551
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1552
+
1553
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1554
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1555
+
1556
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1557
+ return not (rhs == self)
1558
+
1559
+ def __repr__(self) -> str:
1560
+ return "EnclaveOptionsRequestProperty(%s)" % ", ".join(
1561
+ k + "=" + repr(v) for k, v in self._values.items()
1562
+ )
1563
+
1564
+ @jsii.data_type(
1565
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty",
1566
+ jsii_struct_bases=[],
1567
+ name_mapping={"configured": "configured"},
1568
+ )
1569
+ class HibernationOptionsRequestProperty:
1570
+ def __init__(
1571
+ self,
1572
+ *,
1573
+ configured: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1574
+ ) -> None:
1575
+ '''
1576
+ :param configured:
1577
+
1578
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-hibernationoptionsrequest.html
1579
+ :exampleMetadata: fixture=_generated
1580
+
1581
+ Example::
1582
+
1583
+ # The code below shows an example of how to instantiate this type.
1584
+ # The values are placeholders you should change.
1585
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1586
+
1587
+ hibernation_options_request_property = workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
1588
+ configured=False
1589
+ )
1590
+ '''
1591
+ if __debug__:
1592
+ type_hints = typing.get_type_hints(_typecheckingstub__6c8991a0b12bd7048f141f964633e62a1f4e02c6996cbf5ff8a1bf1656d2254d)
1593
+ check_type(argname="argument configured", value=configured, expected_type=type_hints["configured"])
1594
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1595
+ if configured is not None:
1596
+ self._values["configured"] = configured
1597
+
1598
+ @builtins.property
1599
+ def configured(
1600
+ self,
1601
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1602
+ '''
1603
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-hibernationoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-hibernationoptionsrequest-configured
1604
+ '''
1605
+ result = self._values.get("configured")
1606
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1607
+
1608
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1609
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1610
+
1611
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1612
+ return not (rhs == self)
1613
+
1614
+ def __repr__(self) -> str:
1615
+ return "HibernationOptionsRequestProperty(%s)" % ", ".join(
1616
+ k + "=" + repr(v) for k, v in self._values.items()
1617
+ )
1618
+
1619
+ @jsii.data_type(
1620
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty",
1621
+ jsii_struct_bases=[],
1622
+ name_mapping={"name": "name"},
1623
+ )
1624
+ class IamInstanceProfileSpecificationProperty:
1625
+ def __init__(self, *, name: typing.Optional[builtins.str] = None) -> None:
1626
+ '''
1627
+ :param name:
1628
+
1629
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-iaminstanceprofilespecification.html
1630
+ :exampleMetadata: fixture=_generated
1631
+
1632
+ Example::
1633
+
1634
+ # The code below shows an example of how to instantiate this type.
1635
+ # The values are placeholders you should change.
1636
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1637
+
1638
+ iam_instance_profile_specification_property = workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
1639
+ name="name"
1640
+ )
1641
+ '''
1642
+ if __debug__:
1643
+ type_hints = typing.get_type_hints(_typecheckingstub__46446ab38acd11b881b5c7aac1c73f790aba6f0b8215d39325f4bb1081daf531)
1644
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1645
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1646
+ if name is not None:
1647
+ self._values["name"] = name
1648
+
1649
+ @builtins.property
1650
+ def name(self) -> typing.Optional[builtins.str]:
1651
+ '''
1652
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-iaminstanceprofilespecification.html#cfn-workspacesinstances-workspaceinstance-iaminstanceprofilespecification-name
1653
+ '''
1654
+ result = self._values.get("name")
1655
+ return typing.cast(typing.Optional[builtins.str], result)
1656
+
1657
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1658
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1659
+
1660
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1661
+ return not (rhs == self)
1662
+
1663
+ def __repr__(self) -> str:
1664
+ return "IamInstanceProfileSpecificationProperty(%s)" % ", ".join(
1665
+ k + "=" + repr(v) for k, v in self._values.items()
1666
+ )
1667
+
1668
+ @jsii.data_type(
1669
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty",
1670
+ jsii_struct_bases=[],
1671
+ name_mapping={"auto_recovery": "autoRecovery"},
1672
+ )
1673
+ class InstanceMaintenanceOptionsRequestProperty:
1674
+ def __init__(
1675
+ self,
1676
+ *,
1677
+ auto_recovery: typing.Optional[builtins.str] = None,
1678
+ ) -> None:
1679
+ '''
1680
+ :param auto_recovery:
1681
+
1682
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemaintenanceoptionsrequest.html
1683
+ :exampleMetadata: fixture=_generated
1684
+
1685
+ Example::
1686
+
1687
+ # The code below shows an example of how to instantiate this type.
1688
+ # The values are placeholders you should change.
1689
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1690
+
1691
+ instance_maintenance_options_request_property = workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
1692
+ auto_recovery="autoRecovery"
1693
+ )
1694
+ '''
1695
+ if __debug__:
1696
+ type_hints = typing.get_type_hints(_typecheckingstub__5785155bdccebc0d8fada1620d3c62726134a88a6a448d54e8ea0f622a0cfe50)
1697
+ check_type(argname="argument auto_recovery", value=auto_recovery, expected_type=type_hints["auto_recovery"])
1698
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1699
+ if auto_recovery is not None:
1700
+ self._values["auto_recovery"] = auto_recovery
1701
+
1702
+ @builtins.property
1703
+ def auto_recovery(self) -> typing.Optional[builtins.str]:
1704
+ '''
1705
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemaintenanceoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemaintenanceoptionsrequest-autorecovery
1706
+ '''
1707
+ result = self._values.get("auto_recovery")
1708
+ return typing.cast(typing.Optional[builtins.str], result)
1709
+
1710
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1711
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1712
+
1713
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1714
+ return not (rhs == self)
1715
+
1716
+ def __repr__(self) -> str:
1717
+ return "InstanceMaintenanceOptionsRequestProperty(%s)" % ", ".join(
1718
+ k + "=" + repr(v) for k, v in self._values.items()
1719
+ )
1720
+
1721
+ @jsii.data_type(
1722
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty",
1723
+ jsii_struct_bases=[],
1724
+ name_mapping={
1725
+ "http_endpoint": "httpEndpoint",
1726
+ "http_protocol_ipv6": "httpProtocolIpv6",
1727
+ "http_put_response_hop_limit": "httpPutResponseHopLimit",
1728
+ "http_tokens": "httpTokens",
1729
+ "instance_metadata_tags": "instanceMetadataTags",
1730
+ },
1731
+ )
1732
+ class InstanceMetadataOptionsRequestProperty:
1733
+ def __init__(
1734
+ self,
1735
+ *,
1736
+ http_endpoint: typing.Optional[builtins.str] = None,
1737
+ http_protocol_ipv6: typing.Optional[builtins.str] = None,
1738
+ http_put_response_hop_limit: typing.Optional[jsii.Number] = None,
1739
+ http_tokens: typing.Optional[builtins.str] = None,
1740
+ instance_metadata_tags: typing.Optional[builtins.str] = None,
1741
+ ) -> None:
1742
+ '''
1743
+ :param http_endpoint:
1744
+ :param http_protocol_ipv6:
1745
+ :param http_put_response_hop_limit:
1746
+ :param http_tokens:
1747
+ :param instance_metadata_tags:
1748
+
1749
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html
1750
+ :exampleMetadata: fixture=_generated
1751
+
1752
+ Example::
1753
+
1754
+ # The code below shows an example of how to instantiate this type.
1755
+ # The values are placeholders you should change.
1756
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1757
+
1758
+ instance_metadata_options_request_property = workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
1759
+ http_endpoint="httpEndpoint",
1760
+ http_protocol_ipv6="httpProtocolIpv6",
1761
+ http_put_response_hop_limit=123,
1762
+ http_tokens="httpTokens",
1763
+ instance_metadata_tags="instanceMetadataTags"
1764
+ )
1765
+ '''
1766
+ if __debug__:
1767
+ type_hints = typing.get_type_hints(_typecheckingstub__d879a9a1ea939eed5a5bf31a9e53a33bef78538d965c45115d7750157f87c88b)
1768
+ check_type(argname="argument http_endpoint", value=http_endpoint, expected_type=type_hints["http_endpoint"])
1769
+ check_type(argname="argument http_protocol_ipv6", value=http_protocol_ipv6, expected_type=type_hints["http_protocol_ipv6"])
1770
+ check_type(argname="argument http_put_response_hop_limit", value=http_put_response_hop_limit, expected_type=type_hints["http_put_response_hop_limit"])
1771
+ check_type(argname="argument http_tokens", value=http_tokens, expected_type=type_hints["http_tokens"])
1772
+ check_type(argname="argument instance_metadata_tags", value=instance_metadata_tags, expected_type=type_hints["instance_metadata_tags"])
1773
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1774
+ if http_endpoint is not None:
1775
+ self._values["http_endpoint"] = http_endpoint
1776
+ if http_protocol_ipv6 is not None:
1777
+ self._values["http_protocol_ipv6"] = http_protocol_ipv6
1778
+ if http_put_response_hop_limit is not None:
1779
+ self._values["http_put_response_hop_limit"] = http_put_response_hop_limit
1780
+ if http_tokens is not None:
1781
+ self._values["http_tokens"] = http_tokens
1782
+ if instance_metadata_tags is not None:
1783
+ self._values["instance_metadata_tags"] = instance_metadata_tags
1784
+
1785
+ @builtins.property
1786
+ def http_endpoint(self) -> typing.Optional[builtins.str]:
1787
+ '''
1788
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httpendpoint
1789
+ '''
1790
+ result = self._values.get("http_endpoint")
1791
+ return typing.cast(typing.Optional[builtins.str], result)
1792
+
1793
+ @builtins.property
1794
+ def http_protocol_ipv6(self) -> typing.Optional[builtins.str]:
1795
+ '''
1796
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httpprotocolipv6
1797
+ '''
1798
+ result = self._values.get("http_protocol_ipv6")
1799
+ return typing.cast(typing.Optional[builtins.str], result)
1800
+
1801
+ @builtins.property
1802
+ def http_put_response_hop_limit(self) -> typing.Optional[jsii.Number]:
1803
+ '''
1804
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httpputresponsehoplimit
1805
+ '''
1806
+ result = self._values.get("http_put_response_hop_limit")
1807
+ return typing.cast(typing.Optional[jsii.Number], result)
1808
+
1809
+ @builtins.property
1810
+ def http_tokens(self) -> typing.Optional[builtins.str]:
1811
+ '''
1812
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httptokens
1813
+ '''
1814
+ result = self._values.get("http_tokens")
1815
+ return typing.cast(typing.Optional[builtins.str], result)
1816
+
1817
+ @builtins.property
1818
+ def instance_metadata_tags(self) -> typing.Optional[builtins.str]:
1819
+ '''
1820
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-instancemetadatatags
1821
+ '''
1822
+ result = self._values.get("instance_metadata_tags")
1823
+ return typing.cast(typing.Optional[builtins.str], result)
1824
+
1825
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1826
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1827
+
1828
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1829
+ return not (rhs == self)
1830
+
1831
+ def __repr__(self) -> str:
1832
+ return "InstanceMetadataOptionsRequestProperty(%s)" % ", ".join(
1833
+ k + "=" + repr(v) for k, v in self._values.items()
1834
+ )
1835
+
1836
+ @jsii.data_type(
1837
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty",
1838
+ jsii_struct_bases=[],
1839
+ name_mapping={
1840
+ "description": "description",
1841
+ "device_index": "deviceIndex",
1842
+ "groups": "groups",
1843
+ "subnet_id": "subnetId",
1844
+ },
1845
+ )
1846
+ class InstanceNetworkInterfaceSpecificationProperty:
1847
+ def __init__(
1848
+ self,
1849
+ *,
1850
+ description: typing.Optional[builtins.str] = None,
1851
+ device_index: typing.Optional[jsii.Number] = None,
1852
+ groups: typing.Optional[typing.Sequence[builtins.str]] = None,
1853
+ subnet_id: typing.Optional[builtins.str] = None,
1854
+ ) -> None:
1855
+ '''
1856
+ :param description:
1857
+ :param device_index:
1858
+ :param groups:
1859
+ :param subnet_id:
1860
+
1861
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html
1862
+ :exampleMetadata: fixture=_generated
1863
+
1864
+ Example::
1865
+
1866
+ # The code below shows an example of how to instantiate this type.
1867
+ # The values are placeholders you should change.
1868
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1869
+
1870
+ instance_network_interface_specification_property = workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
1871
+ description="description",
1872
+ device_index=123,
1873
+ groups=["groups"],
1874
+ subnet_id="subnetId"
1875
+ )
1876
+ '''
1877
+ if __debug__:
1878
+ type_hints = typing.get_type_hints(_typecheckingstub__7c88a37359de0c57531f563cc84d1109a289e345ba61e892cf12f1611a31662d)
1879
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1880
+ check_type(argname="argument device_index", value=device_index, expected_type=type_hints["device_index"])
1881
+ check_type(argname="argument groups", value=groups, expected_type=type_hints["groups"])
1882
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
1883
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1884
+ if description is not None:
1885
+ self._values["description"] = description
1886
+ if device_index is not None:
1887
+ self._values["device_index"] = device_index
1888
+ if groups is not None:
1889
+ self._values["groups"] = groups
1890
+ if subnet_id is not None:
1891
+ self._values["subnet_id"] = subnet_id
1892
+
1893
+ @builtins.property
1894
+ def description(self) -> typing.Optional[builtins.str]:
1895
+ '''
1896
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-description
1897
+ '''
1898
+ result = self._values.get("description")
1899
+ return typing.cast(typing.Optional[builtins.str], result)
1900
+
1901
+ @builtins.property
1902
+ def device_index(self) -> typing.Optional[jsii.Number]:
1903
+ '''
1904
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-deviceindex
1905
+ '''
1906
+ result = self._values.get("device_index")
1907
+ return typing.cast(typing.Optional[jsii.Number], result)
1908
+
1909
+ @builtins.property
1910
+ def groups(self) -> typing.Optional[typing.List[builtins.str]]:
1911
+ '''
1912
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-groups
1913
+ '''
1914
+ result = self._values.get("groups")
1915
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1916
+
1917
+ @builtins.property
1918
+ def subnet_id(self) -> typing.Optional[builtins.str]:
1919
+ '''
1920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-subnetid
1921
+ '''
1922
+ result = self._values.get("subnet_id")
1923
+ return typing.cast(typing.Optional[builtins.str], result)
1924
+
1925
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1926
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1927
+
1928
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1929
+ return not (rhs == self)
1930
+
1931
+ def __repr__(self) -> str:
1932
+ return "InstanceNetworkInterfaceSpecificationProperty(%s)" % ", ".join(
1933
+ k + "=" + repr(v) for k, v in self._values.items()
1934
+ )
1935
+
1936
+ @jsii.data_type(
1937
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty",
1938
+ jsii_struct_bases=[],
1939
+ name_mapping={"bandwidth_weighting": "bandwidthWeighting"},
1940
+ )
1941
+ class InstanceNetworkPerformanceOptionsRequestProperty:
1942
+ def __init__(
1943
+ self,
1944
+ *,
1945
+ bandwidth_weighting: typing.Optional[builtins.str] = None,
1946
+ ) -> None:
1947
+ '''
1948
+ :param bandwidth_weighting:
1949
+
1950
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkperformanceoptionsrequest.html
1951
+ :exampleMetadata: fixture=_generated
1952
+
1953
+ Example::
1954
+
1955
+ # The code below shows an example of how to instantiate this type.
1956
+ # The values are placeholders you should change.
1957
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1958
+
1959
+ instance_network_performance_options_request_property = workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
1960
+ bandwidth_weighting="bandwidthWeighting"
1961
+ )
1962
+ '''
1963
+ if __debug__:
1964
+ type_hints = typing.get_type_hints(_typecheckingstub__8457689e343afe3fd18713b744f081cee9dcd43310c6b6befb13b25b56685b35)
1965
+ check_type(argname="argument bandwidth_weighting", value=bandwidth_weighting, expected_type=type_hints["bandwidth_weighting"])
1966
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1967
+ if bandwidth_weighting is not None:
1968
+ self._values["bandwidth_weighting"] = bandwidth_weighting
1969
+
1970
+ @builtins.property
1971
+ def bandwidth_weighting(self) -> typing.Optional[builtins.str]:
1972
+ '''
1973
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkperformanceoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancenetworkperformanceoptionsrequest-bandwidthweighting
1974
+ '''
1975
+ result = self._values.get("bandwidth_weighting")
1976
+ return typing.cast(typing.Optional[builtins.str], result)
1977
+
1978
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1979
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1980
+
1981
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1982
+ return not (rhs == self)
1983
+
1984
+ def __repr__(self) -> str:
1985
+ return "InstanceNetworkPerformanceOptionsRequestProperty(%s)" % ", ".join(
1986
+ k + "=" + repr(v) for k, v in self._values.items()
1987
+ )
1988
+
1989
+ @jsii.data_type(
1990
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty",
1991
+ jsii_struct_bases=[],
1992
+ name_mapping={
1993
+ "image_id": "imageId",
1994
+ "instance_type": "instanceType",
1995
+ "block_device_mappings": "blockDeviceMappings",
1996
+ "cpu_options": "cpuOptions",
1997
+ "credit_specification": "creditSpecification",
1998
+ "disable_api_stop": "disableApiStop",
1999
+ "ebs_optimized": "ebsOptimized",
2000
+ "enclave_options": "enclaveOptions",
2001
+ "hibernation_options": "hibernationOptions",
2002
+ "iam_instance_profile": "iamInstanceProfile",
2003
+ "key_name": "keyName",
2004
+ "maintenance_options": "maintenanceOptions",
2005
+ "metadata_options": "metadataOptions",
2006
+ "monitoring": "monitoring",
2007
+ "network_interfaces": "networkInterfaces",
2008
+ "network_performance_options": "networkPerformanceOptions",
2009
+ "placement": "placement",
2010
+ "private_dns_name_options": "privateDnsNameOptions",
2011
+ "tag_specifications": "tagSpecifications",
2012
+ "user_data": "userData",
2013
+ },
2014
+ )
2015
+ class ManagedInstanceProperty:
2016
+ def __init__(
2017
+ self,
2018
+ *,
2019
+ image_id: builtins.str,
2020
+ instance_type: builtins.str,
2021
+ block_device_mappings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.BlockDeviceMappingProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2022
+ cpu_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.CpuOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2023
+ credit_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.CreditSpecificationRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2024
+ disable_api_stop: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2025
+ ebs_optimized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2026
+ enclave_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.EnclaveOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2027
+ hibernation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.HibernationOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2028
+ iam_instance_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2029
+ key_name: typing.Optional[builtins.str] = None,
2030
+ maintenance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2031
+ metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2032
+ monitoring: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2033
+ network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2034
+ network_performance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2035
+ placement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.PlacementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2036
+ private_dns_name_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2037
+ tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.TagSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2038
+ user_data: typing.Optional[builtins.str] = None,
2039
+ ) -> None:
2040
+ '''
2041
+ :param image_id:
2042
+ :param instance_type:
2043
+ :param block_device_mappings:
2044
+ :param cpu_options:
2045
+ :param credit_specification:
2046
+ :param disable_api_stop:
2047
+ :param ebs_optimized:
2048
+ :param enclave_options:
2049
+ :param hibernation_options:
2050
+ :param iam_instance_profile:
2051
+ :param key_name:
2052
+ :param maintenance_options:
2053
+ :param metadata_options:
2054
+ :param monitoring:
2055
+ :param network_interfaces:
2056
+ :param network_performance_options:
2057
+ :param placement:
2058
+ :param private_dns_name_options:
2059
+ :param tag_specifications:
2060
+ :param user_data:
2061
+
2062
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html
2063
+ :exampleMetadata: fixture=_generated
2064
+
2065
+ Example::
2066
+
2067
+ # The code below shows an example of how to instantiate this type.
2068
+ # The values are placeholders you should change.
2069
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2070
+
2071
+ managed_instance_property = workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty(
2072
+ image_id="imageId",
2073
+ instance_type="instanceType",
2074
+
2075
+ # the properties below are optional
2076
+ block_device_mappings=[workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
2077
+ device_name="deviceName",
2078
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
2079
+ encrypted=False,
2080
+ iops=123,
2081
+ kms_key_id="kmsKeyId",
2082
+ throughput=123,
2083
+ volume_size=123,
2084
+ volume_type="volumeType"
2085
+ ),
2086
+ no_device="noDevice",
2087
+ virtual_name="virtualName"
2088
+ )],
2089
+ cpu_options=workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
2090
+ core_count=123,
2091
+ threads_per_core=123
2092
+ ),
2093
+ credit_specification=workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
2094
+ cpu_credits="cpuCredits"
2095
+ ),
2096
+ disable_api_stop=False,
2097
+ ebs_optimized=False,
2098
+ enclave_options=workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
2099
+ enabled=False
2100
+ ),
2101
+ hibernation_options=workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
2102
+ configured=False
2103
+ ),
2104
+ iam_instance_profile=workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
2105
+ name="name"
2106
+ ),
2107
+ key_name="keyName",
2108
+ maintenance_options=workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
2109
+ auto_recovery="autoRecovery"
2110
+ ),
2111
+ metadata_options=workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
2112
+ http_endpoint="httpEndpoint",
2113
+ http_protocol_ipv6="httpProtocolIpv6",
2114
+ http_put_response_hop_limit=123,
2115
+ http_tokens="httpTokens",
2116
+ instance_metadata_tags="instanceMetadataTags"
2117
+ ),
2118
+ monitoring=workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
2119
+ enabled=False
2120
+ ),
2121
+ network_interfaces=[workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
2122
+ description="description",
2123
+ device_index=123,
2124
+ groups=["groups"],
2125
+ subnet_id="subnetId"
2126
+ )],
2127
+ network_performance_options=workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
2128
+ bandwidth_weighting="bandwidthWeighting"
2129
+ ),
2130
+ placement=workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
2131
+ availability_zone="availabilityZone",
2132
+ group_name="groupName",
2133
+ tenancy="tenancy"
2134
+ ),
2135
+ private_dns_name_options=workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
2136
+ enable_resource_name_dns_aaaa_record=False,
2137
+ enable_resource_name_dns_aRecord=False,
2138
+ hostname_type="hostnameType"
2139
+ ),
2140
+ tag_specifications=[workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
2141
+ resource_type="resourceType",
2142
+ tags=[CfnTag(
2143
+ key="key",
2144
+ value="value"
2145
+ )]
2146
+ )],
2147
+ user_data="userData"
2148
+ )
2149
+ '''
2150
+ if __debug__:
2151
+ type_hints = typing.get_type_hints(_typecheckingstub__122edb12e6993ba3ae146e0faaf65a6eef7a6651e2293cb5479f0afe37198259)
2152
+ check_type(argname="argument image_id", value=image_id, expected_type=type_hints["image_id"])
2153
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
2154
+ check_type(argname="argument block_device_mappings", value=block_device_mappings, expected_type=type_hints["block_device_mappings"])
2155
+ check_type(argname="argument cpu_options", value=cpu_options, expected_type=type_hints["cpu_options"])
2156
+ check_type(argname="argument credit_specification", value=credit_specification, expected_type=type_hints["credit_specification"])
2157
+ check_type(argname="argument disable_api_stop", value=disable_api_stop, expected_type=type_hints["disable_api_stop"])
2158
+ check_type(argname="argument ebs_optimized", value=ebs_optimized, expected_type=type_hints["ebs_optimized"])
2159
+ check_type(argname="argument enclave_options", value=enclave_options, expected_type=type_hints["enclave_options"])
2160
+ check_type(argname="argument hibernation_options", value=hibernation_options, expected_type=type_hints["hibernation_options"])
2161
+ check_type(argname="argument iam_instance_profile", value=iam_instance_profile, expected_type=type_hints["iam_instance_profile"])
2162
+ check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
2163
+ check_type(argname="argument maintenance_options", value=maintenance_options, expected_type=type_hints["maintenance_options"])
2164
+ check_type(argname="argument metadata_options", value=metadata_options, expected_type=type_hints["metadata_options"])
2165
+ check_type(argname="argument monitoring", value=monitoring, expected_type=type_hints["monitoring"])
2166
+ check_type(argname="argument network_interfaces", value=network_interfaces, expected_type=type_hints["network_interfaces"])
2167
+ check_type(argname="argument network_performance_options", value=network_performance_options, expected_type=type_hints["network_performance_options"])
2168
+ check_type(argname="argument placement", value=placement, expected_type=type_hints["placement"])
2169
+ check_type(argname="argument private_dns_name_options", value=private_dns_name_options, expected_type=type_hints["private_dns_name_options"])
2170
+ check_type(argname="argument tag_specifications", value=tag_specifications, expected_type=type_hints["tag_specifications"])
2171
+ check_type(argname="argument user_data", value=user_data, expected_type=type_hints["user_data"])
2172
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2173
+ "image_id": image_id,
2174
+ "instance_type": instance_type,
2175
+ }
2176
+ if block_device_mappings is not None:
2177
+ self._values["block_device_mappings"] = block_device_mappings
2178
+ if cpu_options is not None:
2179
+ self._values["cpu_options"] = cpu_options
2180
+ if credit_specification is not None:
2181
+ self._values["credit_specification"] = credit_specification
2182
+ if disable_api_stop is not None:
2183
+ self._values["disable_api_stop"] = disable_api_stop
2184
+ if ebs_optimized is not None:
2185
+ self._values["ebs_optimized"] = ebs_optimized
2186
+ if enclave_options is not None:
2187
+ self._values["enclave_options"] = enclave_options
2188
+ if hibernation_options is not None:
2189
+ self._values["hibernation_options"] = hibernation_options
2190
+ if iam_instance_profile is not None:
2191
+ self._values["iam_instance_profile"] = iam_instance_profile
2192
+ if key_name is not None:
2193
+ self._values["key_name"] = key_name
2194
+ if maintenance_options is not None:
2195
+ self._values["maintenance_options"] = maintenance_options
2196
+ if metadata_options is not None:
2197
+ self._values["metadata_options"] = metadata_options
2198
+ if monitoring is not None:
2199
+ self._values["monitoring"] = monitoring
2200
+ if network_interfaces is not None:
2201
+ self._values["network_interfaces"] = network_interfaces
2202
+ if network_performance_options is not None:
2203
+ self._values["network_performance_options"] = network_performance_options
2204
+ if placement is not None:
2205
+ self._values["placement"] = placement
2206
+ if private_dns_name_options is not None:
2207
+ self._values["private_dns_name_options"] = private_dns_name_options
2208
+ if tag_specifications is not None:
2209
+ self._values["tag_specifications"] = tag_specifications
2210
+ if user_data is not None:
2211
+ self._values["user_data"] = user_data
2212
+
2213
+ @builtins.property
2214
+ def image_id(self) -> builtins.str:
2215
+ '''
2216
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-imageid
2217
+ '''
2218
+ result = self._values.get("image_id")
2219
+ assert result is not None, "Required property 'image_id' is missing"
2220
+ return typing.cast(builtins.str, result)
2221
+
2222
+ @builtins.property
2223
+ def instance_type(self) -> builtins.str:
2224
+ '''
2225
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-instancetype
2226
+ '''
2227
+ result = self._values.get("instance_type")
2228
+ assert result is not None, "Required property 'instance_type' is missing"
2229
+ return typing.cast(builtins.str, result)
2230
+
2231
+ @builtins.property
2232
+ def block_device_mappings(
2233
+ self,
2234
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.BlockDeviceMappingProperty"]]]]:
2235
+ '''
2236
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-blockdevicemappings
2237
+ '''
2238
+ result = self._values.get("block_device_mappings")
2239
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.BlockDeviceMappingProperty"]]]], result)
2240
+
2241
+ @builtins.property
2242
+ def cpu_options(
2243
+ self,
2244
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CpuOptionsRequestProperty"]]:
2245
+ '''
2246
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-cpuoptions
2247
+ '''
2248
+ result = self._values.get("cpu_options")
2249
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CpuOptionsRequestProperty"]], result)
2250
+
2251
+ @builtins.property
2252
+ def credit_specification(
2253
+ self,
2254
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CreditSpecificationRequestProperty"]]:
2255
+ '''
2256
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-creditspecification
2257
+ '''
2258
+ result = self._values.get("credit_specification")
2259
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CreditSpecificationRequestProperty"]], result)
2260
+
2261
+ @builtins.property
2262
+ def disable_api_stop(
2263
+ self,
2264
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2265
+ '''
2266
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-disableapistop
2267
+ '''
2268
+ result = self._values.get("disable_api_stop")
2269
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2270
+
2271
+ @builtins.property
2272
+ def ebs_optimized(
2273
+ self,
2274
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2275
+ '''
2276
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-ebsoptimized
2277
+ '''
2278
+ result = self._values.get("ebs_optimized")
2279
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2280
+
2281
+ @builtins.property
2282
+ def enclave_options(
2283
+ self,
2284
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EnclaveOptionsRequestProperty"]]:
2285
+ '''
2286
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-enclaveoptions
2287
+ '''
2288
+ result = self._values.get("enclave_options")
2289
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EnclaveOptionsRequestProperty"]], result)
2290
+
2291
+ @builtins.property
2292
+ def hibernation_options(
2293
+ self,
2294
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.HibernationOptionsRequestProperty"]]:
2295
+ '''
2296
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-hibernationoptions
2297
+ '''
2298
+ result = self._values.get("hibernation_options")
2299
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.HibernationOptionsRequestProperty"]], result)
2300
+
2301
+ @builtins.property
2302
+ def iam_instance_profile(
2303
+ self,
2304
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty"]]:
2305
+ '''
2306
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-iaminstanceprofile
2307
+ '''
2308
+ result = self._values.get("iam_instance_profile")
2309
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty"]], result)
2310
+
2311
+ @builtins.property
2312
+ def key_name(self) -> typing.Optional[builtins.str]:
2313
+ '''
2314
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-keyname
2315
+ '''
2316
+ result = self._values.get("key_name")
2317
+ return typing.cast(typing.Optional[builtins.str], result)
2318
+
2319
+ @builtins.property
2320
+ def maintenance_options(
2321
+ self,
2322
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty"]]:
2323
+ '''
2324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-maintenanceoptions
2325
+ '''
2326
+ result = self._values.get("maintenance_options")
2327
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty"]], result)
2328
+
2329
+ @builtins.property
2330
+ def metadata_options(
2331
+ self,
2332
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty"]]:
2333
+ '''
2334
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-metadataoptions
2335
+ '''
2336
+ result = self._values.get("metadata_options")
2337
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty"]], result)
2338
+
2339
+ @builtins.property
2340
+ def monitoring(
2341
+ self,
2342
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty"]]:
2343
+ '''
2344
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-monitoring
2345
+ '''
2346
+ result = self._values.get("monitoring")
2347
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty"]], result)
2348
+
2349
+ @builtins.property
2350
+ def network_interfaces(
2351
+ self,
2352
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty"]]]]:
2353
+ '''
2354
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-networkinterfaces
2355
+ '''
2356
+ result = self._values.get("network_interfaces")
2357
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty"]]]], result)
2358
+
2359
+ @builtins.property
2360
+ def network_performance_options(
2361
+ self,
2362
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty"]]:
2363
+ '''
2364
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-networkperformanceoptions
2365
+ '''
2366
+ result = self._values.get("network_performance_options")
2367
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty"]], result)
2368
+
2369
+ @builtins.property
2370
+ def placement(
2371
+ self,
2372
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PlacementProperty"]]:
2373
+ '''
2374
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-placement
2375
+ '''
2376
+ result = self._values.get("placement")
2377
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PlacementProperty"]], result)
2378
+
2379
+ @builtins.property
2380
+ def private_dns_name_options(
2381
+ self,
2382
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty"]]:
2383
+ '''
2384
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-privatednsnameoptions
2385
+ '''
2386
+ result = self._values.get("private_dns_name_options")
2387
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty"]], result)
2388
+
2389
+ @builtins.property
2390
+ def tag_specifications(
2391
+ self,
2392
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.TagSpecificationProperty"]]]]:
2393
+ '''
2394
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-tagspecifications
2395
+ '''
2396
+ result = self._values.get("tag_specifications")
2397
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.TagSpecificationProperty"]]]], result)
2398
+
2399
+ @builtins.property
2400
+ def user_data(self) -> typing.Optional[builtins.str]:
2401
+ '''
2402
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-userdata
2403
+ '''
2404
+ result = self._values.get("user_data")
2405
+ return typing.cast(typing.Optional[builtins.str], result)
2406
+
2407
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2408
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2409
+
2410
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2411
+ return not (rhs == self)
2412
+
2413
+ def __repr__(self) -> str:
2414
+ return "ManagedInstanceProperty(%s)" % ", ".join(
2415
+ k + "=" + repr(v) for k, v in self._values.items()
2416
+ )
2417
+
2418
+ @jsii.data_type(
2419
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.PlacementProperty",
2420
+ jsii_struct_bases=[],
2421
+ name_mapping={
2422
+ "availability_zone": "availabilityZone",
2423
+ "group_name": "groupName",
2424
+ "tenancy": "tenancy",
2425
+ },
2426
+ )
2427
+ class PlacementProperty:
2428
+ def __init__(
2429
+ self,
2430
+ *,
2431
+ availability_zone: typing.Optional[builtins.str] = None,
2432
+ group_name: typing.Optional[builtins.str] = None,
2433
+ tenancy: typing.Optional[builtins.str] = None,
2434
+ ) -> None:
2435
+ '''
2436
+ :param availability_zone:
2437
+ :param group_name:
2438
+ :param tenancy:
2439
+
2440
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html
2441
+ :exampleMetadata: fixture=_generated
2442
+
2443
+ Example::
2444
+
2445
+ # The code below shows an example of how to instantiate this type.
2446
+ # The values are placeholders you should change.
2447
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2448
+
2449
+ placement_property = workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
2450
+ availability_zone="availabilityZone",
2451
+ group_name="groupName",
2452
+ tenancy="tenancy"
2453
+ )
2454
+ '''
2455
+ if __debug__:
2456
+ type_hints = typing.get_type_hints(_typecheckingstub__74aaa065dbb77262ecab6552e5fde4ac2723c645be4dde2327c06e281386c1f8)
2457
+ check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
2458
+ check_type(argname="argument group_name", value=group_name, expected_type=type_hints["group_name"])
2459
+ check_type(argname="argument tenancy", value=tenancy, expected_type=type_hints["tenancy"])
2460
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2461
+ if availability_zone is not None:
2462
+ self._values["availability_zone"] = availability_zone
2463
+ if group_name is not None:
2464
+ self._values["group_name"] = group_name
2465
+ if tenancy is not None:
2466
+ self._values["tenancy"] = tenancy
2467
+
2468
+ @builtins.property
2469
+ def availability_zone(self) -> typing.Optional[builtins.str]:
2470
+ '''
2471
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-availabilityzone
2472
+ '''
2473
+ result = self._values.get("availability_zone")
2474
+ return typing.cast(typing.Optional[builtins.str], result)
2475
+
2476
+ @builtins.property
2477
+ def group_name(self) -> typing.Optional[builtins.str]:
2478
+ '''
2479
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-groupname
2480
+ '''
2481
+ result = self._values.get("group_name")
2482
+ return typing.cast(typing.Optional[builtins.str], result)
2483
+
2484
+ @builtins.property
2485
+ def tenancy(self) -> typing.Optional[builtins.str]:
2486
+ '''
2487
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-tenancy
2488
+ '''
2489
+ result = self._values.get("tenancy")
2490
+ return typing.cast(typing.Optional[builtins.str], result)
2491
+
2492
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2493
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2494
+
2495
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2496
+ return not (rhs == self)
2497
+
2498
+ def __repr__(self) -> str:
2499
+ return "PlacementProperty(%s)" % ", ".join(
2500
+ k + "=" + repr(v) for k, v in self._values.items()
2501
+ )
2502
+
2503
+ @jsii.data_type(
2504
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty",
2505
+ jsii_struct_bases=[],
2506
+ name_mapping={
2507
+ "enable_resource_name_dns_aaaa_record": "enableResourceNameDnsAaaaRecord",
2508
+ "enable_resource_name_dns_a_record": "enableResourceNameDnsARecord",
2509
+ "hostname_type": "hostnameType",
2510
+ },
2511
+ )
2512
+ class PrivateDnsNameOptionsRequestProperty:
2513
+ def __init__(
2514
+ self,
2515
+ *,
2516
+ enable_resource_name_dns_aaaa_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2517
+ enable_resource_name_dns_a_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2518
+ hostname_type: typing.Optional[builtins.str] = None,
2519
+ ) -> None:
2520
+ '''
2521
+ :param enable_resource_name_dns_aaaa_record:
2522
+ :param enable_resource_name_dns_a_record:
2523
+ :param hostname_type:
2524
+
2525
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html
2526
+ :exampleMetadata: fixture=_generated
2527
+
2528
+ Example::
2529
+
2530
+ # The code below shows an example of how to instantiate this type.
2531
+ # The values are placeholders you should change.
2532
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2533
+
2534
+ private_dns_name_options_request_property = workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
2535
+ enable_resource_name_dns_aaaa_record=False,
2536
+ enable_resource_name_dns_aRecord=False,
2537
+ hostname_type="hostnameType"
2538
+ )
2539
+ '''
2540
+ if __debug__:
2541
+ type_hints = typing.get_type_hints(_typecheckingstub__5bcd696ce9417cfc6075ca9f9d64535711403bc6dc26a7e1e325bcb0b416dccc)
2542
+ check_type(argname="argument enable_resource_name_dns_aaaa_record", value=enable_resource_name_dns_aaaa_record, expected_type=type_hints["enable_resource_name_dns_aaaa_record"])
2543
+ check_type(argname="argument enable_resource_name_dns_a_record", value=enable_resource_name_dns_a_record, expected_type=type_hints["enable_resource_name_dns_a_record"])
2544
+ check_type(argname="argument hostname_type", value=hostname_type, expected_type=type_hints["hostname_type"])
2545
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2546
+ if enable_resource_name_dns_aaaa_record is not None:
2547
+ self._values["enable_resource_name_dns_aaaa_record"] = enable_resource_name_dns_aaaa_record
2548
+ if enable_resource_name_dns_a_record is not None:
2549
+ self._values["enable_resource_name_dns_a_record"] = enable_resource_name_dns_a_record
2550
+ if hostname_type is not None:
2551
+ self._values["hostname_type"] = hostname_type
2552
+
2553
+ @builtins.property
2554
+ def enable_resource_name_dns_aaaa_record(
2555
+ self,
2556
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2557
+ '''
2558
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest-enableresourcenamednsaaaarecord
2559
+ '''
2560
+ result = self._values.get("enable_resource_name_dns_aaaa_record")
2561
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2562
+
2563
+ @builtins.property
2564
+ def enable_resource_name_dns_a_record(
2565
+ self,
2566
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2567
+ '''
2568
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest-enableresourcenamednsarecord
2569
+ '''
2570
+ result = self._values.get("enable_resource_name_dns_a_record")
2571
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2572
+
2573
+ @builtins.property
2574
+ def hostname_type(self) -> typing.Optional[builtins.str]:
2575
+ '''
2576
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest-hostnametype
2577
+ '''
2578
+ result = self._values.get("hostname_type")
2579
+ return typing.cast(typing.Optional[builtins.str], result)
2580
+
2581
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2582
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2583
+
2584
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2585
+ return not (rhs == self)
2586
+
2587
+ def __repr__(self) -> str:
2588
+ return "PrivateDnsNameOptionsRequestProperty(%s)" % ", ".join(
2589
+ k + "=" + repr(v) for k, v in self._values.items()
2590
+ )
2591
+
2592
+ @jsii.data_type(
2593
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty",
2594
+ jsii_struct_bases=[],
2595
+ name_mapping={"enabled": "enabled"},
2596
+ )
2597
+ class RunInstancesMonitoringEnabledProperty:
2598
+ def __init__(
2599
+ self,
2600
+ *,
2601
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2602
+ ) -> None:
2603
+ '''
2604
+ :param enabled:
2605
+
2606
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-runinstancesmonitoringenabled.html
2607
+ :exampleMetadata: fixture=_generated
2608
+
2609
+ Example::
2610
+
2611
+ # The code below shows an example of how to instantiate this type.
2612
+ # The values are placeholders you should change.
2613
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2614
+
2615
+ run_instances_monitoring_enabled_property = workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
2616
+ enabled=False
2617
+ )
2618
+ '''
2619
+ if __debug__:
2620
+ type_hints = typing.get_type_hints(_typecheckingstub__6fcd9d05f58e0d776ba7b11b076d5a7c565bc9ea5ce223eab03cdac46e660811)
2621
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
2622
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2623
+ if enabled is not None:
2624
+ self._values["enabled"] = enabled
2625
+
2626
+ @builtins.property
2627
+ def enabled(
2628
+ self,
2629
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2630
+ '''
2631
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-runinstancesmonitoringenabled.html#cfn-workspacesinstances-workspaceinstance-runinstancesmonitoringenabled-enabled
2632
+ '''
2633
+ result = self._values.get("enabled")
2634
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2635
+
2636
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2637
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2638
+
2639
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2640
+ return not (rhs == self)
2641
+
2642
+ def __repr__(self) -> str:
2643
+ return "RunInstancesMonitoringEnabledProperty(%s)" % ", ".join(
2644
+ k + "=" + repr(v) for k, v in self._values.items()
2645
+ )
2646
+
2647
+ @jsii.data_type(
2648
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty",
2649
+ jsii_struct_bases=[],
2650
+ name_mapping={"resource_type": "resourceType", "tags": "tags"},
2651
+ )
2652
+ class TagSpecificationProperty:
2653
+ def __init__(
2654
+ self,
2655
+ *,
2656
+ resource_type: typing.Optional[builtins.str] = None,
2657
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2658
+ ) -> None:
2659
+ '''
2660
+ :param resource_type:
2661
+ :param tags:
2662
+
2663
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-tagspecification.html
2664
+ :exampleMetadata: fixture=_generated
2665
+
2666
+ Example::
2667
+
2668
+ # The code below shows an example of how to instantiate this type.
2669
+ # The values are placeholders you should change.
2670
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2671
+
2672
+ tag_specification_property = workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
2673
+ resource_type="resourceType",
2674
+ tags=[CfnTag(
2675
+ key="key",
2676
+ value="value"
2677
+ )]
2678
+ )
2679
+ '''
2680
+ if __debug__:
2681
+ type_hints = typing.get_type_hints(_typecheckingstub__a80a115a0fb3e43ec2f01b3395420a80cbdd00bb61da5e1c9176167d6eb9bbf0)
2682
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
2683
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2684
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2685
+ if resource_type is not None:
2686
+ self._values["resource_type"] = resource_type
2687
+ if tags is not None:
2688
+ self._values["tags"] = tags
2689
+
2690
+ @builtins.property
2691
+ def resource_type(self) -> typing.Optional[builtins.str]:
2692
+ '''
2693
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-tagspecification.html#cfn-workspacesinstances-workspaceinstance-tagspecification-resourcetype
2694
+ '''
2695
+ result = self._values.get("resource_type")
2696
+ return typing.cast(typing.Optional[builtins.str], result)
2697
+
2698
+ @builtins.property
2699
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2700
+ '''
2701
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-tagspecification.html#cfn-workspacesinstances-workspaceinstance-tagspecification-tags
2702
+ '''
2703
+ result = self._values.get("tags")
2704
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2705
+
2706
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2707
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2708
+
2709
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2710
+ return not (rhs == self)
2711
+
2712
+ def __repr__(self) -> str:
2713
+ return "TagSpecificationProperty(%s)" % ", ".join(
2714
+ k + "=" + repr(v) for k, v in self._values.items()
2715
+ )
2716
+
2717
+
2718
+ @jsii.data_type(
2719
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstanceProps",
2720
+ jsii_struct_bases=[],
2721
+ name_mapping={"managed_instance": "managedInstance", "tags": "tags"},
2722
+ )
2723
+ class CfnWorkspaceInstanceProps:
2724
+ def __init__(
2725
+ self,
2726
+ *,
2727
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.ManagedInstanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2728
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2729
+ ) -> None:
2730
+ '''Properties for defining a ``CfnWorkspaceInstance``.
2731
+
2732
+ :param managed_instance:
2733
+ :param tags:
2734
+
2735
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html
2736
+ :exampleMetadata: fixture=_generated
2737
+
2738
+ Example::
2739
+
2740
+ # The code below shows an example of how to instantiate this type.
2741
+ # The values are placeholders you should change.
2742
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2743
+
2744
+ cfn_workspace_instance_props = workspacesinstances.CfnWorkspaceInstanceProps(
2745
+ managed_instance=workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty(
2746
+ image_id="imageId",
2747
+ instance_type="instanceType",
2748
+
2749
+ # the properties below are optional
2750
+ block_device_mappings=[workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
2751
+ device_name="deviceName",
2752
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
2753
+ encrypted=False,
2754
+ iops=123,
2755
+ kms_key_id="kmsKeyId",
2756
+ throughput=123,
2757
+ volume_size=123,
2758
+ volume_type="volumeType"
2759
+ ),
2760
+ no_device="noDevice",
2761
+ virtual_name="virtualName"
2762
+ )],
2763
+ cpu_options=workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
2764
+ core_count=123,
2765
+ threads_per_core=123
2766
+ ),
2767
+ credit_specification=workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
2768
+ cpu_credits="cpuCredits"
2769
+ ),
2770
+ disable_api_stop=False,
2771
+ ebs_optimized=False,
2772
+ enclave_options=workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
2773
+ enabled=False
2774
+ ),
2775
+ hibernation_options=workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
2776
+ configured=False
2777
+ ),
2778
+ iam_instance_profile=workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
2779
+ name="name"
2780
+ ),
2781
+ key_name="keyName",
2782
+ maintenance_options=workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
2783
+ auto_recovery="autoRecovery"
2784
+ ),
2785
+ metadata_options=workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
2786
+ http_endpoint="httpEndpoint",
2787
+ http_protocol_ipv6="httpProtocolIpv6",
2788
+ http_put_response_hop_limit=123,
2789
+ http_tokens="httpTokens",
2790
+ instance_metadata_tags="instanceMetadataTags"
2791
+ ),
2792
+ monitoring=workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
2793
+ enabled=False
2794
+ ),
2795
+ network_interfaces=[workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
2796
+ description="description",
2797
+ device_index=123,
2798
+ groups=["groups"],
2799
+ subnet_id="subnetId"
2800
+ )],
2801
+ network_performance_options=workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
2802
+ bandwidth_weighting="bandwidthWeighting"
2803
+ ),
2804
+ placement=workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
2805
+ availability_zone="availabilityZone",
2806
+ group_name="groupName",
2807
+ tenancy="tenancy"
2808
+ ),
2809
+ private_dns_name_options=workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
2810
+ enable_resource_name_dns_aaaa_record=False,
2811
+ enable_resource_name_dns_aRecord=False,
2812
+ hostname_type="hostnameType"
2813
+ ),
2814
+ tag_specifications=[workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
2815
+ resource_type="resourceType",
2816
+ tags=[CfnTag(
2817
+ key="key",
2818
+ value="value"
2819
+ )]
2820
+ )],
2821
+ user_data="userData"
2822
+ ),
2823
+ tags=[CfnTag(
2824
+ key="key",
2825
+ value="value"
2826
+ )]
2827
+ )
2828
+ '''
2829
+ if __debug__:
2830
+ type_hints = typing.get_type_hints(_typecheckingstub__5d4292dcb083e5a048440cd4455e31dfc65f5b3dd4c844b99e38e6c3941cca08)
2831
+ check_type(argname="argument managed_instance", value=managed_instance, expected_type=type_hints["managed_instance"])
2832
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2833
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2834
+ if managed_instance is not None:
2835
+ self._values["managed_instance"] = managed_instance
2836
+ if tags is not None:
2837
+ self._values["tags"] = tags
2838
+
2839
+ @builtins.property
2840
+ def managed_instance(
2841
+ self,
2842
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspaceInstance.ManagedInstanceProperty]]:
2843
+ '''
2844
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance
2845
+ '''
2846
+ result = self._values.get("managed_instance")
2847
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspaceInstance.ManagedInstanceProperty]], result)
2848
+
2849
+ @builtins.property
2850
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2851
+ '''
2852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html#cfn-workspacesinstances-workspaceinstance-tags
2853
+ '''
2854
+ result = self._values.get("tags")
2855
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2856
+
2857
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2858
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2859
+
2860
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2861
+ return not (rhs == self)
2862
+
2863
+ def __repr__(self) -> str:
2864
+ return "CfnWorkspaceInstanceProps(%s)" % ", ".join(
2865
+ k + "=" + repr(v) for k, v in self._values.items()
2866
+ )
2867
+
2868
+
2869
+ __all__ = [
2870
+ "CfnVolume",
2871
+ "CfnVolumeAssociation",
2872
+ "CfnVolumeAssociationProps",
2873
+ "CfnVolumeProps",
2874
+ "CfnWorkspaceInstance",
2875
+ "CfnWorkspaceInstanceProps",
2876
+ ]
2877
+
2878
+ publication.publish()
2879
+
2880
+ def _typecheckingstub__6f8f538e7b445e64dae7c3f3fa5cbf03f73a9175df0c28d38e372410d7a38644(
2881
+ scope: _constructs_77d1e7e8.Construct,
2882
+ id: builtins.str,
2883
+ *,
2884
+ availability_zone: builtins.str,
2885
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2886
+ iops: typing.Optional[jsii.Number] = None,
2887
+ kms_key_id: typing.Optional[builtins.str] = None,
2888
+ size_in_gb: typing.Optional[jsii.Number] = None,
2889
+ snapshot_id: typing.Optional[builtins.str] = None,
2890
+ tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVolume.TagSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2891
+ throughput: typing.Optional[jsii.Number] = None,
2892
+ volume_type: typing.Optional[builtins.str] = None,
2893
+ ) -> None:
2894
+ """Type checking stubs"""
2895
+ pass
2896
+
2897
+ def _typecheckingstub__685ee3c99d00c4a98137add5e1954d76422417da17f64b863cea2c0824dea902(
2898
+ inspector: _TreeInspector_488e0dd5,
2899
+ ) -> None:
2900
+ """Type checking stubs"""
2901
+ pass
2902
+
2903
+ def _typecheckingstub__50ddfbc291d3e556ace0dc6e9d82cfedb078a4a3cbb9ef9e8eac039d0e82d9e6(
2904
+ props: typing.Mapping[builtins.str, typing.Any],
2905
+ ) -> None:
2906
+ """Type checking stubs"""
2907
+ pass
2908
+
2909
+ def _typecheckingstub__e9f5f1fdafc059b4dc0f72801057c79e690b2878e7ac2fdf540ab305cb1db5b8(
2910
+ value: builtins.str,
2911
+ ) -> None:
2912
+ """Type checking stubs"""
2913
+ pass
2914
+
2915
+ def _typecheckingstub__2545bcf2397b591eeb5bc2020672daea19e4969515b96c2982ba337dfe90a159(
2916
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2917
+ ) -> None:
2918
+ """Type checking stubs"""
2919
+ pass
2920
+
2921
+ def _typecheckingstub__ed1876d81e0f42a3b54883c4648bf7cf155fa880a498cacc96a0945d5032084c(
2922
+ value: typing.Optional[jsii.Number],
2923
+ ) -> None:
2924
+ """Type checking stubs"""
2925
+ pass
2926
+
2927
+ def _typecheckingstub__395b2ede7d0057a6fa453fc8de076050bcc1806edcbaeecc76c37f56b5befabc(
2928
+ value: typing.Optional[builtins.str],
2929
+ ) -> None:
2930
+ """Type checking stubs"""
2931
+ pass
2932
+
2933
+ def _typecheckingstub__ac8bac9f32006bab210d99c61fa194ffe0daa28445242538135f5024937fed35(
2934
+ value: typing.Optional[jsii.Number],
2935
+ ) -> None:
2936
+ """Type checking stubs"""
2937
+ pass
2938
+
2939
+ def _typecheckingstub__d59cb75f780fcc1524e9d8f2469747f8c6f2bbfc350d8662efddf91bcec54be4(
2940
+ value: typing.Optional[builtins.str],
2941
+ ) -> None:
2942
+ """Type checking stubs"""
2943
+ pass
2944
+
2945
+ def _typecheckingstub__7afbacaf7f3ea12aff8077fba424159c4a78dabec81d0e15c2cf21552d0eca48(
2946
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVolume.TagSpecificationProperty]]]],
2947
+ ) -> None:
2948
+ """Type checking stubs"""
2949
+ pass
2950
+
2951
+ def _typecheckingstub__cd4dae6ee80b4f1583ff940c92723ae5abc6127d8abd48ca72184266298e68d5(
2952
+ value: typing.Optional[jsii.Number],
2953
+ ) -> None:
2954
+ """Type checking stubs"""
2955
+ pass
2956
+
2957
+ def _typecheckingstub__5ce69be7eab4b12a5677916d7b89ed00c676fbd7d9858d3c8fd894ed8a963d70(
2958
+ value: typing.Optional[builtins.str],
2959
+ ) -> None:
2960
+ """Type checking stubs"""
2961
+ pass
2962
+
2963
+ def _typecheckingstub__0902e5172f6b16ac0cad62cbc3b7188ce843a8d38d90dcc5c86591e6acf47988(
2964
+ *,
2965
+ resource_type: typing.Optional[builtins.str] = None,
2966
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2967
+ ) -> None:
2968
+ """Type checking stubs"""
2969
+ pass
2970
+
2971
+ def _typecheckingstub__d7eec0daa83c1024898d2dd124cb4f461e56903d8a98401eb4d02742f55a5ba8(
2972
+ scope: _constructs_77d1e7e8.Construct,
2973
+ id: builtins.str,
2974
+ *,
2975
+ device: builtins.str,
2976
+ volume_id: builtins.str,
2977
+ workspace_instance_id: builtins.str,
2978
+ disassociate_mode: typing.Optional[builtins.str] = None,
2979
+ ) -> None:
2980
+ """Type checking stubs"""
2981
+ pass
2982
+
2983
+ def _typecheckingstub__5fd0989a57e9649b7a4d590f7c91b99524c0760e7a9573d04c9a0651e66ba9b4(
2984
+ inspector: _TreeInspector_488e0dd5,
2985
+ ) -> None:
2986
+ """Type checking stubs"""
2987
+ pass
2988
+
2989
+ def _typecheckingstub__9edb2ba816767d7bd7866452c6fad9e22e451376ace13728983cb1007430d513(
2990
+ props: typing.Mapping[builtins.str, typing.Any],
2991
+ ) -> None:
2992
+ """Type checking stubs"""
2993
+ pass
2994
+
2995
+ def _typecheckingstub__a2c067e418598328cb19e2ca662460d196bbf4f0edd016a89d56ca6b09b96ae9(
2996
+ value: builtins.str,
2997
+ ) -> None:
2998
+ """Type checking stubs"""
2999
+ pass
3000
+
3001
+ def _typecheckingstub__6c66f015cf8f3049bd728d95ffef2a32c21bd81393c29537303adaf4e86d6829(
3002
+ value: builtins.str,
3003
+ ) -> None:
3004
+ """Type checking stubs"""
3005
+ pass
3006
+
3007
+ def _typecheckingstub__cb0e90de13632397d9f05ecf786f58d468973d0cf21a6f5c435c070b2c03b819(
3008
+ value: builtins.str,
3009
+ ) -> None:
3010
+ """Type checking stubs"""
3011
+ pass
3012
+
3013
+ def _typecheckingstub__d1139240ee9e52471c21751caa541f36622002b63b2edb0a487ae73612ae098a(
3014
+ value: typing.Optional[builtins.str],
3015
+ ) -> None:
3016
+ """Type checking stubs"""
3017
+ pass
3018
+
3019
+ def _typecheckingstub__7f051309343f88ebe1cc3dc3f2fff77a39c42174a07969dff75f195781a41fbf(
3020
+ *,
3021
+ device: builtins.str,
3022
+ volume_id: builtins.str,
3023
+ workspace_instance_id: builtins.str,
3024
+ disassociate_mode: typing.Optional[builtins.str] = None,
3025
+ ) -> None:
3026
+ """Type checking stubs"""
3027
+ pass
3028
+
3029
+ def _typecheckingstub__86994d3c65438656f95433a2d79f0f9f2640fb4eb23141adf1234d9d1e1d53cd(
3030
+ *,
3031
+ availability_zone: builtins.str,
3032
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3033
+ iops: typing.Optional[jsii.Number] = None,
3034
+ kms_key_id: typing.Optional[builtins.str] = None,
3035
+ size_in_gb: typing.Optional[jsii.Number] = None,
3036
+ snapshot_id: typing.Optional[builtins.str] = None,
3037
+ tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVolume.TagSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3038
+ throughput: typing.Optional[jsii.Number] = None,
3039
+ volume_type: typing.Optional[builtins.str] = None,
3040
+ ) -> None:
3041
+ """Type checking stubs"""
3042
+ pass
3043
+
3044
+ def _typecheckingstub__fe297a4f0279d14c1f9c904fa95a44f828762333773f7e3a7c9943d3b9b3e3b3(
3045
+ scope: _constructs_77d1e7e8.Construct,
3046
+ id: builtins.str,
3047
+ *,
3048
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.ManagedInstanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3049
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3050
+ ) -> None:
3051
+ """Type checking stubs"""
3052
+ pass
3053
+
3054
+ def _typecheckingstub__2bdc42635ac5557f3eb11885f29e281607cfb0594c2e299de906f90030a10deb(
3055
+ inspector: _TreeInspector_488e0dd5,
3056
+ ) -> None:
3057
+ """Type checking stubs"""
3058
+ pass
3059
+
3060
+ def _typecheckingstub__5ec3702eceaf9b2e99eb781959d3fbe14573ce56bb19f427daba893407569847(
3061
+ props: typing.Mapping[builtins.str, typing.Any],
3062
+ ) -> None:
3063
+ """Type checking stubs"""
3064
+ pass
3065
+
3066
+ def _typecheckingstub__f6fb81328f4cb605751ce72d14049d2c7dbe8255e2141c4d01d4204ed9b4adf0(
3067
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspaceInstance.ManagedInstanceProperty]],
3068
+ ) -> None:
3069
+ """Type checking stubs"""
3070
+ pass
3071
+
3072
+ def _typecheckingstub__58b2c86c1c3f77e59470dc4f588d2e8033f028f5127ba91d829c8c6add4de38a(
3073
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3074
+ ) -> None:
3075
+ """Type checking stubs"""
3076
+ pass
3077
+
3078
+ def _typecheckingstub__6f2d2dc4f023dfee96411ef0d53c3f207f589b520679a75d9c4a2ca0843d3994(
3079
+ *,
3080
+ device_name: typing.Optional[builtins.str] = None,
3081
+ ebs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.EbsBlockDeviceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3082
+ no_device: typing.Optional[builtins.str] = None,
3083
+ virtual_name: typing.Optional[builtins.str] = None,
3084
+ ) -> None:
3085
+ """Type checking stubs"""
3086
+ pass
3087
+
3088
+ def _typecheckingstub__baf2483b6c10091ca1060d8ca8cb538b6f9eb1223193ab69470e79d02ae05c0f(
3089
+ *,
3090
+ core_count: typing.Optional[jsii.Number] = None,
3091
+ threads_per_core: typing.Optional[jsii.Number] = None,
3092
+ ) -> None:
3093
+ """Type checking stubs"""
3094
+ pass
3095
+
3096
+ def _typecheckingstub__be827443f2405057687f0e728dd6b714e64976c6b7fdb53616ba22f38fe684f7(
3097
+ *,
3098
+ cpu_credits: typing.Optional[builtins.str] = None,
3099
+ ) -> None:
3100
+ """Type checking stubs"""
3101
+ pass
3102
+
3103
+ def _typecheckingstub__fdf6ee9b22498f38a18bcb3d582068ef8ccfe59145f98269dc66087bebceba31(
3104
+ *,
3105
+ instance_id: typing.Optional[builtins.str] = None,
3106
+ ) -> None:
3107
+ """Type checking stubs"""
3108
+ pass
3109
+
3110
+ def _typecheckingstub__afafa3f2614378531f34f7c44be3d52735de40c84c8eb108e258a8bf3eb50e61(
3111
+ *,
3112
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3113
+ iops: typing.Optional[jsii.Number] = None,
3114
+ kms_key_id: typing.Optional[builtins.str] = None,
3115
+ throughput: typing.Optional[jsii.Number] = None,
3116
+ volume_size: typing.Optional[jsii.Number] = None,
3117
+ volume_type: typing.Optional[builtins.str] = None,
3118
+ ) -> None:
3119
+ """Type checking stubs"""
3120
+ pass
3121
+
3122
+ def _typecheckingstub__5aaf83d8222c97044bf3b1051a0f48a71d78afefae567af0ee4fd1946ba8b25b(
3123
+ *,
3124
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3125
+ ) -> None:
3126
+ """Type checking stubs"""
3127
+ pass
3128
+
3129
+ def _typecheckingstub__6c8991a0b12bd7048f141f964633e62a1f4e02c6996cbf5ff8a1bf1656d2254d(
3130
+ *,
3131
+ configured: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3132
+ ) -> None:
3133
+ """Type checking stubs"""
3134
+ pass
3135
+
3136
+ def _typecheckingstub__46446ab38acd11b881b5c7aac1c73f790aba6f0b8215d39325f4bb1081daf531(
3137
+ *,
3138
+ name: typing.Optional[builtins.str] = None,
3139
+ ) -> None:
3140
+ """Type checking stubs"""
3141
+ pass
3142
+
3143
+ def _typecheckingstub__5785155bdccebc0d8fada1620d3c62726134a88a6a448d54e8ea0f622a0cfe50(
3144
+ *,
3145
+ auto_recovery: typing.Optional[builtins.str] = None,
3146
+ ) -> None:
3147
+ """Type checking stubs"""
3148
+ pass
3149
+
3150
+ def _typecheckingstub__d879a9a1ea939eed5a5bf31a9e53a33bef78538d965c45115d7750157f87c88b(
3151
+ *,
3152
+ http_endpoint: typing.Optional[builtins.str] = None,
3153
+ http_protocol_ipv6: typing.Optional[builtins.str] = None,
3154
+ http_put_response_hop_limit: typing.Optional[jsii.Number] = None,
3155
+ http_tokens: typing.Optional[builtins.str] = None,
3156
+ instance_metadata_tags: typing.Optional[builtins.str] = None,
3157
+ ) -> None:
3158
+ """Type checking stubs"""
3159
+ pass
3160
+
3161
+ def _typecheckingstub__7c88a37359de0c57531f563cc84d1109a289e345ba61e892cf12f1611a31662d(
3162
+ *,
3163
+ description: typing.Optional[builtins.str] = None,
3164
+ device_index: typing.Optional[jsii.Number] = None,
3165
+ groups: typing.Optional[typing.Sequence[builtins.str]] = None,
3166
+ subnet_id: typing.Optional[builtins.str] = None,
3167
+ ) -> None:
3168
+ """Type checking stubs"""
3169
+ pass
3170
+
3171
+ def _typecheckingstub__8457689e343afe3fd18713b744f081cee9dcd43310c6b6befb13b25b56685b35(
3172
+ *,
3173
+ bandwidth_weighting: typing.Optional[builtins.str] = None,
3174
+ ) -> None:
3175
+ """Type checking stubs"""
3176
+ pass
3177
+
3178
+ def _typecheckingstub__122edb12e6993ba3ae146e0faaf65a6eef7a6651e2293cb5479f0afe37198259(
3179
+ *,
3180
+ image_id: builtins.str,
3181
+ instance_type: builtins.str,
3182
+ block_device_mappings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.BlockDeviceMappingProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3183
+ cpu_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.CpuOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3184
+ credit_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.CreditSpecificationRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3185
+ disable_api_stop: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3186
+ ebs_optimized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3187
+ enclave_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.EnclaveOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3188
+ hibernation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.HibernationOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3189
+ iam_instance_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3190
+ key_name: typing.Optional[builtins.str] = None,
3191
+ maintenance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3192
+ metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3193
+ monitoring: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3194
+ network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3195
+ network_performance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3196
+ placement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.PlacementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3197
+ private_dns_name_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3198
+ tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.TagSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3199
+ user_data: typing.Optional[builtins.str] = None,
3200
+ ) -> None:
3201
+ """Type checking stubs"""
3202
+ pass
3203
+
3204
+ def _typecheckingstub__74aaa065dbb77262ecab6552e5fde4ac2723c645be4dde2327c06e281386c1f8(
3205
+ *,
3206
+ availability_zone: typing.Optional[builtins.str] = None,
3207
+ group_name: typing.Optional[builtins.str] = None,
3208
+ tenancy: typing.Optional[builtins.str] = None,
3209
+ ) -> None:
3210
+ """Type checking stubs"""
3211
+ pass
3212
+
3213
+ def _typecheckingstub__5bcd696ce9417cfc6075ca9f9d64535711403bc6dc26a7e1e325bcb0b416dccc(
3214
+ *,
3215
+ enable_resource_name_dns_aaaa_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3216
+ enable_resource_name_dns_a_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3217
+ hostname_type: typing.Optional[builtins.str] = None,
3218
+ ) -> None:
3219
+ """Type checking stubs"""
3220
+ pass
3221
+
3222
+ def _typecheckingstub__6fcd9d05f58e0d776ba7b11b076d5a7c565bc9ea5ce223eab03cdac46e660811(
3223
+ *,
3224
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3225
+ ) -> None:
3226
+ """Type checking stubs"""
3227
+ pass
3228
+
3229
+ def _typecheckingstub__a80a115a0fb3e43ec2f01b3395420a80cbdd00bb61da5e1c9176167d6eb9bbf0(
3230
+ *,
3231
+ resource_type: typing.Optional[builtins.str] = None,
3232
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3233
+ ) -> None:
3234
+ """Type checking stubs"""
3235
+ pass
3236
+
3237
+ def _typecheckingstub__5d4292dcb083e5a048440cd4455e31dfc65f5b3dd4c844b99e38e6c3941cca08(
3238
+ *,
3239
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.ManagedInstanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3240
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3241
+ ) -> None:
3242
+ """Type checking stubs"""
3243
+ pass