aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.0__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 (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3940 @@
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
+ from ..interfaces.aws_workspacesinstances import (
81
+ IVolumeAssociationRef as _IVolumeAssociationRef_90d38960,
82
+ IVolumeRef as _IVolumeRef_f9942488,
83
+ IWorkspaceInstanceRef as _IWorkspaceInstanceRef_d89b0013,
84
+ VolumeAssociationReference as _VolumeAssociationReference_c8e01483,
85
+ VolumeReference as _VolumeReference_6f16a4e3,
86
+ WorkspaceInstanceReference as _WorkspaceInstanceReference_34972c28,
87
+ )
88
+
89
+
90
+ @jsii.implements(_IInspectable_c2943556, _IVolumeRef_f9942488)
91
+ class CfnVolume(
92
+ _CfnResource_9df397a6,
93
+ metaclass=jsii.JSIIMeta,
94
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolume",
95
+ ):
96
+ '''Resource Type definition for AWS::WorkspacesInstances::Volume - Manages WorkSpaces Volume resources.
97
+
98
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html
99
+ :cloudformationResource: AWS::WorkspacesInstances::Volume
100
+ :exampleMetadata: fixture=_generated
101
+
102
+ Example::
103
+
104
+ # The code below shows an example of how to instantiate this type.
105
+ # The values are placeholders you should change.
106
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
107
+
108
+ cfn_volume = workspacesinstances.CfnVolume(self, "MyCfnVolume",
109
+ availability_zone="availabilityZone",
110
+
111
+ # the properties below are optional
112
+ encrypted=False,
113
+ iops=123,
114
+ kms_key_id="kmsKeyId",
115
+ size_in_gb=123,
116
+ snapshot_id="snapshotId",
117
+ tag_specifications=[workspacesinstances.CfnVolume.TagSpecificationProperty(
118
+ resource_type="resourceType",
119
+ tags=[CfnTag(
120
+ key="key",
121
+ value="value"
122
+ )]
123
+ )],
124
+ throughput=123,
125
+ volume_type="volumeType"
126
+ )
127
+ '''
128
+
129
+ def __init__(
130
+ self,
131
+ scope: _constructs_77d1e7e8.Construct,
132
+ id: builtins.str,
133
+ *,
134
+ availability_zone: builtins.str,
135
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
136
+ iops: typing.Optional[jsii.Number] = None,
137
+ kms_key_id: typing.Optional[builtins.str] = None,
138
+ size_in_gb: typing.Optional[jsii.Number] = None,
139
+ snapshot_id: typing.Optional[builtins.str] = None,
140
+ 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,
141
+ throughput: typing.Optional[jsii.Number] = None,
142
+ volume_type: typing.Optional[builtins.str] = None,
143
+ ) -> None:
144
+ '''Create a new ``AWS::WorkspacesInstances::Volume``.
145
+
146
+ :param scope: Scope in which this resource is defined.
147
+ :param id: Construct identifier for this resource (unique in its scope).
148
+ :param availability_zone: The Availability Zone in which to create the volume.
149
+ :param encrypted: Indicates whether the volume should be encrypted.
150
+ :param iops: The number of I/O operations per second (IOPS).
151
+ :param kms_key_id: The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.
152
+ :param size_in_gb: The size of the volume, in GiBs.
153
+ :param snapshot_id: The snapshot from which to create the volume.
154
+ :param tag_specifications: The tags passed to EBS volume.
155
+ :param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
156
+ :param volume_type: The volume type.
157
+ '''
158
+ if __debug__:
159
+ type_hints = typing.get_type_hints(_typecheckingstub__6f8f538e7b445e64dae7c3f3fa5cbf03f73a9175df0c28d38e372410d7a38644)
160
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
161
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
162
+ props = CfnVolumeProps(
163
+ availability_zone=availability_zone,
164
+ encrypted=encrypted,
165
+ iops=iops,
166
+ kms_key_id=kms_key_id,
167
+ size_in_gb=size_in_gb,
168
+ snapshot_id=snapshot_id,
169
+ tag_specifications=tag_specifications,
170
+ throughput=throughput,
171
+ volume_type=volume_type,
172
+ )
173
+
174
+ jsii.create(self.__class__, self, [scope, id, props])
175
+
176
+ @jsii.member(jsii_name="inspect")
177
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
178
+ '''Examines the CloudFormation resource and discloses attributes.
179
+
180
+ :param inspector: tree inspector to collect and process attributes.
181
+ '''
182
+ if __debug__:
183
+ type_hints = typing.get_type_hints(_typecheckingstub__685ee3c99d00c4a98137add5e1954d76422417da17f64b863cea2c0824dea902)
184
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
185
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
186
+
187
+ @jsii.member(jsii_name="renderProperties")
188
+ def _render_properties(
189
+ self,
190
+ props: typing.Mapping[builtins.str, typing.Any],
191
+ ) -> typing.Mapping[builtins.str, typing.Any]:
192
+ '''
193
+ :param props: -
194
+ '''
195
+ if __debug__:
196
+ type_hints = typing.get_type_hints(_typecheckingstub__50ddfbc291d3e556ace0dc6e9d82cfedb078a4a3cbb9ef9e8eac039d0e82d9e6)
197
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
198
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
199
+
200
+ @jsii.python.classproperty
201
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
202
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
203
+ '''The CloudFormation resource type name for this resource class.'''
204
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
205
+
206
+ @builtins.property
207
+ @jsii.member(jsii_name="attrVolumeId")
208
+ def attr_volume_id(self) -> builtins.str:
209
+ '''Unique identifier for the volume.
210
+
211
+ :cloudformationAttribute: VolumeId
212
+ '''
213
+ return typing.cast(builtins.str, jsii.get(self, "attrVolumeId"))
214
+
215
+ @builtins.property
216
+ @jsii.member(jsii_name="cfnProperties")
217
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
218
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
219
+
220
+ @builtins.property
221
+ @jsii.member(jsii_name="volumeRef")
222
+ def volume_ref(self) -> _VolumeReference_6f16a4e3:
223
+ '''A reference to a Volume resource.'''
224
+ return typing.cast(_VolumeReference_6f16a4e3, jsii.get(self, "volumeRef"))
225
+
226
+ @builtins.property
227
+ @jsii.member(jsii_name="availabilityZone")
228
+ def availability_zone(self) -> builtins.str:
229
+ '''The Availability Zone in which to create the volume.'''
230
+ return typing.cast(builtins.str, jsii.get(self, "availabilityZone"))
231
+
232
+ @availability_zone.setter
233
+ def availability_zone(self, value: builtins.str) -> None:
234
+ if __debug__:
235
+ type_hints = typing.get_type_hints(_typecheckingstub__e9f5f1fdafc059b4dc0f72801057c79e690b2878e7ac2fdf540ab305cb1db5b8)
236
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
237
+ jsii.set(self, "availabilityZone", value) # pyright: ignore[reportArgumentType]
238
+
239
+ @builtins.property
240
+ @jsii.member(jsii_name="encrypted")
241
+ def encrypted(
242
+ self,
243
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
244
+ '''Indicates whether the volume should be encrypted.'''
245
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "encrypted"))
246
+
247
+ @encrypted.setter
248
+ def encrypted(
249
+ self,
250
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
251
+ ) -> None:
252
+ if __debug__:
253
+ type_hints = typing.get_type_hints(_typecheckingstub__2545bcf2397b591eeb5bc2020672daea19e4969515b96c2982ba337dfe90a159)
254
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
255
+ jsii.set(self, "encrypted", value) # pyright: ignore[reportArgumentType]
256
+
257
+ @builtins.property
258
+ @jsii.member(jsii_name="iops")
259
+ def iops(self) -> typing.Optional[jsii.Number]:
260
+ '''The number of I/O operations per second (IOPS).'''
261
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "iops"))
262
+
263
+ @iops.setter
264
+ def iops(self, value: typing.Optional[jsii.Number]) -> None:
265
+ if __debug__:
266
+ type_hints = typing.get_type_hints(_typecheckingstub__ed1876d81e0f42a3b54883c4648bf7cf155fa880a498cacc96a0945d5032084c)
267
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
268
+ jsii.set(self, "iops", value) # pyright: ignore[reportArgumentType]
269
+
270
+ @builtins.property
271
+ @jsii.member(jsii_name="kmsKeyId")
272
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
273
+ '''The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.'''
274
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyId"))
275
+
276
+ @kms_key_id.setter
277
+ def kms_key_id(self, value: typing.Optional[builtins.str]) -> None:
278
+ if __debug__:
279
+ type_hints = typing.get_type_hints(_typecheckingstub__395b2ede7d0057a6fa453fc8de076050bcc1806edcbaeecc76c37f56b5befabc)
280
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
281
+ jsii.set(self, "kmsKeyId", value) # pyright: ignore[reportArgumentType]
282
+
283
+ @builtins.property
284
+ @jsii.member(jsii_name="sizeInGb")
285
+ def size_in_gb(self) -> typing.Optional[jsii.Number]:
286
+ '''The size of the volume, in GiBs.'''
287
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "sizeInGb"))
288
+
289
+ @size_in_gb.setter
290
+ def size_in_gb(self, value: typing.Optional[jsii.Number]) -> None:
291
+ if __debug__:
292
+ type_hints = typing.get_type_hints(_typecheckingstub__ac8bac9f32006bab210d99c61fa194ffe0daa28445242538135f5024937fed35)
293
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
294
+ jsii.set(self, "sizeInGb", value) # pyright: ignore[reportArgumentType]
295
+
296
+ @builtins.property
297
+ @jsii.member(jsii_name="snapshotId")
298
+ def snapshot_id(self) -> typing.Optional[builtins.str]:
299
+ '''The snapshot from which to create the volume.'''
300
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "snapshotId"))
301
+
302
+ @snapshot_id.setter
303
+ def snapshot_id(self, value: typing.Optional[builtins.str]) -> None:
304
+ if __debug__:
305
+ type_hints = typing.get_type_hints(_typecheckingstub__d59cb75f780fcc1524e9d8f2469747f8c6f2bbfc350d8662efddf91bcec54be4)
306
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
307
+ jsii.set(self, "snapshotId", value) # pyright: ignore[reportArgumentType]
308
+
309
+ @builtins.property
310
+ @jsii.member(jsii_name="tagSpecifications")
311
+ def tag_specifications(
312
+ self,
313
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVolume.TagSpecificationProperty"]]]]:
314
+ '''The tags passed to EBS volume.'''
315
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVolume.TagSpecificationProperty"]]]], jsii.get(self, "tagSpecifications"))
316
+
317
+ @tag_specifications.setter
318
+ def tag_specifications(
319
+ self,
320
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnVolume.TagSpecificationProperty"]]]],
321
+ ) -> None:
322
+ if __debug__:
323
+ type_hints = typing.get_type_hints(_typecheckingstub__7afbacaf7f3ea12aff8077fba424159c4a78dabec81d0e15c2cf21552d0eca48)
324
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
325
+ jsii.set(self, "tagSpecifications", value) # pyright: ignore[reportArgumentType]
326
+
327
+ @builtins.property
328
+ @jsii.member(jsii_name="throughput")
329
+ def throughput(self) -> typing.Optional[jsii.Number]:
330
+ '''The throughput to provision for a volume, with a maximum of 1,000 MiB/s.'''
331
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "throughput"))
332
+
333
+ @throughput.setter
334
+ def throughput(self, value: typing.Optional[jsii.Number]) -> None:
335
+ if __debug__:
336
+ type_hints = typing.get_type_hints(_typecheckingstub__cd4dae6ee80b4f1583ff940c92723ae5abc6127d8abd48ca72184266298e68d5)
337
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
338
+ jsii.set(self, "throughput", value) # pyright: ignore[reportArgumentType]
339
+
340
+ @builtins.property
341
+ @jsii.member(jsii_name="volumeType")
342
+ def volume_type(self) -> typing.Optional[builtins.str]:
343
+ '''The volume type.'''
344
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "volumeType"))
345
+
346
+ @volume_type.setter
347
+ def volume_type(self, value: typing.Optional[builtins.str]) -> None:
348
+ if __debug__:
349
+ type_hints = typing.get_type_hints(_typecheckingstub__5ce69be7eab4b12a5677916d7b89ed00c676fbd7d9858d3c8fd894ed8a963d70)
350
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
351
+ jsii.set(self, "volumeType", value) # pyright: ignore[reportArgumentType]
352
+
353
+ @jsii.data_type(
354
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolume.TagSpecificationProperty",
355
+ jsii_struct_bases=[],
356
+ name_mapping={"resource_type": "resourceType", "tags": "tags"},
357
+ )
358
+ class TagSpecificationProperty:
359
+ def __init__(
360
+ self,
361
+ *,
362
+ resource_type: typing.Optional[builtins.str] = None,
363
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
364
+ ) -> None:
365
+ '''
366
+ :param resource_type:
367
+ :param tags: The tags to apply to the resource.
368
+
369
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-volume-tagspecification.html
370
+ :exampleMetadata: fixture=_generated
371
+
372
+ Example::
373
+
374
+ # The code below shows an example of how to instantiate this type.
375
+ # The values are placeholders you should change.
376
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
377
+
378
+ tag_specification_property = workspacesinstances.CfnVolume.TagSpecificationProperty(
379
+ resource_type="resourceType",
380
+ tags=[CfnTag(
381
+ key="key",
382
+ value="value"
383
+ )]
384
+ )
385
+ '''
386
+ if __debug__:
387
+ type_hints = typing.get_type_hints(_typecheckingstub__0902e5172f6b16ac0cad62cbc3b7188ce843a8d38d90dcc5c86591e6acf47988)
388
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
389
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
390
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
391
+ if resource_type is not None:
392
+ self._values["resource_type"] = resource_type
393
+ if tags is not None:
394
+ self._values["tags"] = tags
395
+
396
+ @builtins.property
397
+ def resource_type(self) -> typing.Optional[builtins.str]:
398
+ '''
399
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-volume-tagspecification.html#cfn-workspacesinstances-volume-tagspecification-resourcetype
400
+ '''
401
+ result = self._values.get("resource_type")
402
+ return typing.cast(typing.Optional[builtins.str], result)
403
+
404
+ @builtins.property
405
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
406
+ '''The tags to apply to the resource.
407
+
408
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-volume-tagspecification.html#cfn-workspacesinstances-volume-tagspecification-tags
409
+ '''
410
+ result = self._values.get("tags")
411
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
412
+
413
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
414
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
415
+
416
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
417
+ return not (rhs == self)
418
+
419
+ def __repr__(self) -> str:
420
+ return "TagSpecificationProperty(%s)" % ", ".join(
421
+ k + "=" + repr(v) for k, v in self._values.items()
422
+ )
423
+
424
+
425
+ @jsii.implements(_IInspectable_c2943556, _IVolumeAssociationRef_90d38960)
426
+ class CfnVolumeAssociation(
427
+ _CfnResource_9df397a6,
428
+ metaclass=jsii.JSIIMeta,
429
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolumeAssociation",
430
+ ):
431
+ '''Resource Type definition for AWS::WorkspacesInstances::VolumeAssociation.
432
+
433
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html
434
+ :cloudformationResource: AWS::WorkspacesInstances::VolumeAssociation
435
+ :exampleMetadata: fixture=_generated
436
+
437
+ Example::
438
+
439
+ # The code below shows an example of how to instantiate this type.
440
+ # The values are placeholders you should change.
441
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
442
+
443
+ cfn_volume_association = workspacesinstances.CfnVolumeAssociation(self, "MyCfnVolumeAssociation",
444
+ device="device",
445
+ volume_id="volumeId",
446
+ workspace_instance_id="workspaceInstanceId",
447
+
448
+ # the properties below are optional
449
+ disassociate_mode="disassociateMode"
450
+ )
451
+ '''
452
+
453
+ def __init__(
454
+ self,
455
+ scope: _constructs_77d1e7e8.Construct,
456
+ id: builtins.str,
457
+ *,
458
+ device: builtins.str,
459
+ volume_id: builtins.str,
460
+ workspace_instance_id: builtins.str,
461
+ disassociate_mode: typing.Optional[builtins.str] = None,
462
+ ) -> None:
463
+ '''Create a new ``AWS::WorkspacesInstances::VolumeAssociation``.
464
+
465
+ :param scope: Scope in which this resource is defined.
466
+ :param id: Construct identifier for this resource (unique in its scope).
467
+ :param device: The device name for the volume attachment.
468
+ :param volume_id: ID of the volume to attach to the workspace instance.
469
+ :param workspace_instance_id: ID of the workspace instance to associate with the volume.
470
+ :param disassociate_mode: Mode to use when disassociating the volume.
471
+ '''
472
+ if __debug__:
473
+ type_hints = typing.get_type_hints(_typecheckingstub__d7eec0daa83c1024898d2dd124cb4f461e56903d8a98401eb4d02742f55a5ba8)
474
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
475
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
476
+ props = CfnVolumeAssociationProps(
477
+ device=device,
478
+ volume_id=volume_id,
479
+ workspace_instance_id=workspace_instance_id,
480
+ disassociate_mode=disassociate_mode,
481
+ )
482
+
483
+ jsii.create(self.__class__, self, [scope, id, props])
484
+
485
+ @jsii.member(jsii_name="inspect")
486
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
487
+ '''Examines the CloudFormation resource and discloses attributes.
488
+
489
+ :param inspector: tree inspector to collect and process attributes.
490
+ '''
491
+ if __debug__:
492
+ type_hints = typing.get_type_hints(_typecheckingstub__5fd0989a57e9649b7a4d590f7c91b99524c0760e7a9573d04c9a0651e66ba9b4)
493
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
494
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
495
+
496
+ @jsii.member(jsii_name="renderProperties")
497
+ def _render_properties(
498
+ self,
499
+ props: typing.Mapping[builtins.str, typing.Any],
500
+ ) -> typing.Mapping[builtins.str, typing.Any]:
501
+ '''
502
+ :param props: -
503
+ '''
504
+ if __debug__:
505
+ type_hints = typing.get_type_hints(_typecheckingstub__9edb2ba816767d7bd7866452c6fad9e22e451376ace13728983cb1007430d513)
506
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
507
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
508
+
509
+ @jsii.python.classproperty
510
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
511
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
512
+ '''The CloudFormation resource type name for this resource class.'''
513
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
514
+
515
+ @builtins.property
516
+ @jsii.member(jsii_name="cfnProperties")
517
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
518
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
519
+
520
+ @builtins.property
521
+ @jsii.member(jsii_name="volumeAssociationRef")
522
+ def volume_association_ref(self) -> _VolumeAssociationReference_c8e01483:
523
+ '''A reference to a VolumeAssociation resource.'''
524
+ return typing.cast(_VolumeAssociationReference_c8e01483, jsii.get(self, "volumeAssociationRef"))
525
+
526
+ @builtins.property
527
+ @jsii.member(jsii_name="device")
528
+ def device(self) -> builtins.str:
529
+ '''The device name for the volume attachment.'''
530
+ return typing.cast(builtins.str, jsii.get(self, "device"))
531
+
532
+ @device.setter
533
+ def device(self, value: builtins.str) -> None:
534
+ if __debug__:
535
+ type_hints = typing.get_type_hints(_typecheckingstub__a2c067e418598328cb19e2ca662460d196bbf4f0edd016a89d56ca6b09b96ae9)
536
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
537
+ jsii.set(self, "device", value) # pyright: ignore[reportArgumentType]
538
+
539
+ @builtins.property
540
+ @jsii.member(jsii_name="volumeId")
541
+ def volume_id(self) -> builtins.str:
542
+ '''ID of the volume to attach to the workspace instance.'''
543
+ return typing.cast(builtins.str, jsii.get(self, "volumeId"))
544
+
545
+ @volume_id.setter
546
+ def volume_id(self, value: builtins.str) -> None:
547
+ if __debug__:
548
+ type_hints = typing.get_type_hints(_typecheckingstub__6c66f015cf8f3049bd728d95ffef2a32c21bd81393c29537303adaf4e86d6829)
549
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
550
+ jsii.set(self, "volumeId", value) # pyright: ignore[reportArgumentType]
551
+
552
+ @builtins.property
553
+ @jsii.member(jsii_name="workspaceInstanceId")
554
+ def workspace_instance_id(self) -> builtins.str:
555
+ '''ID of the workspace instance to associate with the volume.'''
556
+ return typing.cast(builtins.str, jsii.get(self, "workspaceInstanceId"))
557
+
558
+ @workspace_instance_id.setter
559
+ def workspace_instance_id(self, value: builtins.str) -> None:
560
+ if __debug__:
561
+ type_hints = typing.get_type_hints(_typecheckingstub__cb0e90de13632397d9f05ecf786f58d468973d0cf21a6f5c435c070b2c03b819)
562
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
563
+ jsii.set(self, "workspaceInstanceId", value) # pyright: ignore[reportArgumentType]
564
+
565
+ @builtins.property
566
+ @jsii.member(jsii_name="disassociateMode")
567
+ def disassociate_mode(self) -> typing.Optional[builtins.str]:
568
+ '''Mode to use when disassociating the volume.'''
569
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "disassociateMode"))
570
+
571
+ @disassociate_mode.setter
572
+ def disassociate_mode(self, value: typing.Optional[builtins.str]) -> None:
573
+ if __debug__:
574
+ type_hints = typing.get_type_hints(_typecheckingstub__d1139240ee9e52471c21751caa541f36622002b63b2edb0a487ae73612ae098a)
575
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
576
+ jsii.set(self, "disassociateMode", value) # pyright: ignore[reportArgumentType]
577
+
578
+
579
+ @jsii.data_type(
580
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolumeAssociationProps",
581
+ jsii_struct_bases=[],
582
+ name_mapping={
583
+ "device": "device",
584
+ "volume_id": "volumeId",
585
+ "workspace_instance_id": "workspaceInstanceId",
586
+ "disassociate_mode": "disassociateMode",
587
+ },
588
+ )
589
+ class CfnVolumeAssociationProps:
590
+ def __init__(
591
+ self,
592
+ *,
593
+ device: builtins.str,
594
+ volume_id: builtins.str,
595
+ workspace_instance_id: builtins.str,
596
+ disassociate_mode: typing.Optional[builtins.str] = None,
597
+ ) -> None:
598
+ '''Properties for defining a ``CfnVolumeAssociation``.
599
+
600
+ :param device: The device name for the volume attachment.
601
+ :param volume_id: ID of the volume to attach to the workspace instance.
602
+ :param workspace_instance_id: ID of the workspace instance to associate with the volume.
603
+ :param disassociate_mode: Mode to use when disassociating the volume.
604
+
605
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html
606
+ :exampleMetadata: fixture=_generated
607
+
608
+ Example::
609
+
610
+ # The code below shows an example of how to instantiate this type.
611
+ # The values are placeholders you should change.
612
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
613
+
614
+ cfn_volume_association_props = workspacesinstances.CfnVolumeAssociationProps(
615
+ device="device",
616
+ volume_id="volumeId",
617
+ workspace_instance_id="workspaceInstanceId",
618
+
619
+ # the properties below are optional
620
+ disassociate_mode="disassociateMode"
621
+ )
622
+ '''
623
+ if __debug__:
624
+ type_hints = typing.get_type_hints(_typecheckingstub__7f051309343f88ebe1cc3dc3f2fff77a39c42174a07969dff75f195781a41fbf)
625
+ check_type(argname="argument device", value=device, expected_type=type_hints["device"])
626
+ check_type(argname="argument volume_id", value=volume_id, expected_type=type_hints["volume_id"])
627
+ check_type(argname="argument workspace_instance_id", value=workspace_instance_id, expected_type=type_hints["workspace_instance_id"])
628
+ check_type(argname="argument disassociate_mode", value=disassociate_mode, expected_type=type_hints["disassociate_mode"])
629
+ self._values: typing.Dict[builtins.str, typing.Any] = {
630
+ "device": device,
631
+ "volume_id": volume_id,
632
+ "workspace_instance_id": workspace_instance_id,
633
+ }
634
+ if disassociate_mode is not None:
635
+ self._values["disassociate_mode"] = disassociate_mode
636
+
637
+ @builtins.property
638
+ def device(self) -> builtins.str:
639
+ '''The device name for the volume attachment.
640
+
641
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-device
642
+ '''
643
+ result = self._values.get("device")
644
+ assert result is not None, "Required property 'device' is missing"
645
+ return typing.cast(builtins.str, result)
646
+
647
+ @builtins.property
648
+ def volume_id(self) -> builtins.str:
649
+ '''ID of the volume to attach to the workspace instance.
650
+
651
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-volumeid
652
+ '''
653
+ result = self._values.get("volume_id")
654
+ assert result is not None, "Required property 'volume_id' is missing"
655
+ return typing.cast(builtins.str, result)
656
+
657
+ @builtins.property
658
+ def workspace_instance_id(self) -> builtins.str:
659
+ '''ID of the workspace instance to associate with the volume.
660
+
661
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-workspaceinstanceid
662
+ '''
663
+ result = self._values.get("workspace_instance_id")
664
+ assert result is not None, "Required property 'workspace_instance_id' is missing"
665
+ return typing.cast(builtins.str, result)
666
+
667
+ @builtins.property
668
+ def disassociate_mode(self) -> typing.Optional[builtins.str]:
669
+ '''Mode to use when disassociating the volume.
670
+
671
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volumeassociation.html#cfn-workspacesinstances-volumeassociation-disassociatemode
672
+ '''
673
+ result = self._values.get("disassociate_mode")
674
+ return typing.cast(typing.Optional[builtins.str], result)
675
+
676
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
677
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
678
+
679
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
680
+ return not (rhs == self)
681
+
682
+ def __repr__(self) -> str:
683
+ return "CfnVolumeAssociationProps(%s)" % ", ".join(
684
+ k + "=" + repr(v) for k, v in self._values.items()
685
+ )
686
+
687
+
688
+ @jsii.data_type(
689
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnVolumeProps",
690
+ jsii_struct_bases=[],
691
+ name_mapping={
692
+ "availability_zone": "availabilityZone",
693
+ "encrypted": "encrypted",
694
+ "iops": "iops",
695
+ "kms_key_id": "kmsKeyId",
696
+ "size_in_gb": "sizeInGb",
697
+ "snapshot_id": "snapshotId",
698
+ "tag_specifications": "tagSpecifications",
699
+ "throughput": "throughput",
700
+ "volume_type": "volumeType",
701
+ },
702
+ )
703
+ class CfnVolumeProps:
704
+ def __init__(
705
+ self,
706
+ *,
707
+ availability_zone: builtins.str,
708
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
709
+ iops: typing.Optional[jsii.Number] = None,
710
+ kms_key_id: typing.Optional[builtins.str] = None,
711
+ size_in_gb: typing.Optional[jsii.Number] = None,
712
+ snapshot_id: typing.Optional[builtins.str] = None,
713
+ 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,
714
+ throughput: typing.Optional[jsii.Number] = None,
715
+ volume_type: typing.Optional[builtins.str] = None,
716
+ ) -> None:
717
+ '''Properties for defining a ``CfnVolume``.
718
+
719
+ :param availability_zone: The Availability Zone in which to create the volume.
720
+ :param encrypted: Indicates whether the volume should be encrypted.
721
+ :param iops: The number of I/O operations per second (IOPS).
722
+ :param kms_key_id: The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.
723
+ :param size_in_gb: The size of the volume, in GiBs.
724
+ :param snapshot_id: The snapshot from which to create the volume.
725
+ :param tag_specifications: The tags passed to EBS volume.
726
+ :param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
727
+ :param volume_type: The volume type.
728
+
729
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html
730
+ :exampleMetadata: fixture=_generated
731
+
732
+ Example::
733
+
734
+ # The code below shows an example of how to instantiate this type.
735
+ # The values are placeholders you should change.
736
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
737
+
738
+ cfn_volume_props = workspacesinstances.CfnVolumeProps(
739
+ availability_zone="availabilityZone",
740
+
741
+ # the properties below are optional
742
+ encrypted=False,
743
+ iops=123,
744
+ kms_key_id="kmsKeyId",
745
+ size_in_gb=123,
746
+ snapshot_id="snapshotId",
747
+ tag_specifications=[workspacesinstances.CfnVolume.TagSpecificationProperty(
748
+ resource_type="resourceType",
749
+ tags=[CfnTag(
750
+ key="key",
751
+ value="value"
752
+ )]
753
+ )],
754
+ throughput=123,
755
+ volume_type="volumeType"
756
+ )
757
+ '''
758
+ if __debug__:
759
+ type_hints = typing.get_type_hints(_typecheckingstub__86994d3c65438656f95433a2d79f0f9f2640fb4eb23141adf1234d9d1e1d53cd)
760
+ check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
761
+ check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
762
+ check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
763
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
764
+ check_type(argname="argument size_in_gb", value=size_in_gb, expected_type=type_hints["size_in_gb"])
765
+ check_type(argname="argument snapshot_id", value=snapshot_id, expected_type=type_hints["snapshot_id"])
766
+ check_type(argname="argument tag_specifications", value=tag_specifications, expected_type=type_hints["tag_specifications"])
767
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
768
+ check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
769
+ self._values: typing.Dict[builtins.str, typing.Any] = {
770
+ "availability_zone": availability_zone,
771
+ }
772
+ if encrypted is not None:
773
+ self._values["encrypted"] = encrypted
774
+ if iops is not None:
775
+ self._values["iops"] = iops
776
+ if kms_key_id is not None:
777
+ self._values["kms_key_id"] = kms_key_id
778
+ if size_in_gb is not None:
779
+ self._values["size_in_gb"] = size_in_gb
780
+ if snapshot_id is not None:
781
+ self._values["snapshot_id"] = snapshot_id
782
+ if tag_specifications is not None:
783
+ self._values["tag_specifications"] = tag_specifications
784
+ if throughput is not None:
785
+ self._values["throughput"] = throughput
786
+ if volume_type is not None:
787
+ self._values["volume_type"] = volume_type
788
+
789
+ @builtins.property
790
+ def availability_zone(self) -> builtins.str:
791
+ '''The Availability Zone in which to create the volume.
792
+
793
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-availabilityzone
794
+ '''
795
+ result = self._values.get("availability_zone")
796
+ assert result is not None, "Required property 'availability_zone' is missing"
797
+ return typing.cast(builtins.str, result)
798
+
799
+ @builtins.property
800
+ def encrypted(
801
+ self,
802
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
803
+ '''Indicates whether the volume should be encrypted.
804
+
805
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-encrypted
806
+ '''
807
+ result = self._values.get("encrypted")
808
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
809
+
810
+ @builtins.property
811
+ def iops(self) -> typing.Optional[jsii.Number]:
812
+ '''The number of I/O operations per second (IOPS).
813
+
814
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-iops
815
+ '''
816
+ result = self._values.get("iops")
817
+ return typing.cast(typing.Optional[jsii.Number], result)
818
+
819
+ @builtins.property
820
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
821
+ '''The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption.
822
+
823
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-kmskeyid
824
+ '''
825
+ result = self._values.get("kms_key_id")
826
+ return typing.cast(typing.Optional[builtins.str], result)
827
+
828
+ @builtins.property
829
+ def size_in_gb(self) -> typing.Optional[jsii.Number]:
830
+ '''The size of the volume, in GiBs.
831
+
832
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-sizeingb
833
+ '''
834
+ result = self._values.get("size_in_gb")
835
+ return typing.cast(typing.Optional[jsii.Number], result)
836
+
837
+ @builtins.property
838
+ def snapshot_id(self) -> typing.Optional[builtins.str]:
839
+ '''The snapshot from which to create the volume.
840
+
841
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-snapshotid
842
+ '''
843
+ result = self._values.get("snapshot_id")
844
+ return typing.cast(typing.Optional[builtins.str], result)
845
+
846
+ @builtins.property
847
+ def tag_specifications(
848
+ self,
849
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVolume.TagSpecificationProperty]]]]:
850
+ '''The tags passed to EBS volume.
851
+
852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-tagspecifications
853
+ '''
854
+ result = self._values.get("tag_specifications")
855
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVolume.TagSpecificationProperty]]]], result)
856
+
857
+ @builtins.property
858
+ def throughput(self) -> typing.Optional[jsii.Number]:
859
+ '''The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
860
+
861
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-throughput
862
+ '''
863
+ result = self._values.get("throughput")
864
+ return typing.cast(typing.Optional[jsii.Number], result)
865
+
866
+ @builtins.property
867
+ def volume_type(self) -> typing.Optional[builtins.str]:
868
+ '''The volume type.
869
+
870
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-volume.html#cfn-workspacesinstances-volume-volumetype
871
+ '''
872
+ result = self._values.get("volume_type")
873
+ return typing.cast(typing.Optional[builtins.str], result)
874
+
875
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
876
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
877
+
878
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
879
+ return not (rhs == self)
880
+
881
+ def __repr__(self) -> str:
882
+ return "CfnVolumeProps(%s)" % ", ".join(
883
+ k + "=" + repr(v) for k, v in self._values.items()
884
+ )
885
+
886
+
887
+ @jsii.implements(_IInspectable_c2943556, _IWorkspaceInstanceRef_d89b0013, _ITaggableV2_4e6798f8)
888
+ class CfnWorkspaceInstance(
889
+ _CfnResource_9df397a6,
890
+ metaclass=jsii.JSIIMeta,
891
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance",
892
+ ):
893
+ '''Resource Type definition for AWS::WorkspacesInstances::WorkspaceInstance.
894
+
895
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html
896
+ :cloudformationResource: AWS::WorkspacesInstances::WorkspaceInstance
897
+ :exampleMetadata: fixture=_generated
898
+
899
+ Example::
900
+
901
+ # The code below shows an example of how to instantiate this type.
902
+ # The values are placeholders you should change.
903
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
904
+
905
+ cfn_workspace_instance = workspacesinstances.CfnWorkspaceInstance(self, "MyCfnWorkspaceInstance",
906
+ managed_instance=workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty(
907
+ image_id="imageId",
908
+ instance_type="instanceType",
909
+
910
+ # the properties below are optional
911
+ block_device_mappings=[workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
912
+ device_name="deviceName",
913
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
914
+ encrypted=False,
915
+ iops=123,
916
+ kms_key_id="kmsKeyId",
917
+ throughput=123,
918
+ volume_size=123,
919
+ volume_type="volumeType"
920
+ ),
921
+ no_device="noDevice",
922
+ virtual_name="virtualName"
923
+ )],
924
+ capacity_reservation_specification=workspacesinstances.CfnWorkspaceInstance.CapacityReservationSpecificationProperty(
925
+ capacity_reservation_preference="capacityReservationPreference",
926
+ capacity_reservation_target=workspacesinstances.CfnWorkspaceInstance.CapacityReservationTargetProperty(
927
+ capacity_reservation_id="capacityReservationId",
928
+ capacity_reservation_resource_group_arn="capacityReservationResourceGroupArn"
929
+ )
930
+ ),
931
+ cpu_options=workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
932
+ core_count=123,
933
+ threads_per_core=123
934
+ ),
935
+ credit_specification=workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
936
+ cpu_credits="cpuCredits"
937
+ ),
938
+ disable_api_stop=False,
939
+ ebs_optimized=False,
940
+ enable_primary_ipv6=False,
941
+ enclave_options=workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
942
+ enabled=False
943
+ ),
944
+ hibernation_options=workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
945
+ configured=False
946
+ ),
947
+ iam_instance_profile=workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
948
+ arn="arn",
949
+ name="name"
950
+ ),
951
+ instance_market_options=workspacesinstances.CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty(
952
+ market_type="marketType",
953
+ spot_options=workspacesinstances.CfnWorkspaceInstance.SpotMarketOptionsProperty(
954
+ instance_interruption_behavior="instanceInterruptionBehavior",
955
+ max_price="maxPrice",
956
+ spot_instance_type="spotInstanceType",
957
+ valid_until_utc="validUntilUtc"
958
+ )
959
+ ),
960
+ ipv6_address_count=123,
961
+ key_name="keyName",
962
+ license_specifications=[workspacesinstances.CfnWorkspaceInstance.LicenseConfigurationRequestProperty(
963
+ license_configuration_arn="licenseConfigurationArn"
964
+ )],
965
+ maintenance_options=workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
966
+ auto_recovery="autoRecovery"
967
+ ),
968
+ metadata_options=workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
969
+ http_endpoint="httpEndpoint",
970
+ http_protocol_ipv6="httpProtocolIpv6",
971
+ http_put_response_hop_limit=123,
972
+ http_tokens="httpTokens",
973
+ instance_metadata_tags="instanceMetadataTags"
974
+ ),
975
+ monitoring=workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
976
+ enabled=False
977
+ ),
978
+ network_interfaces=[workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
979
+ description="description",
980
+ device_index=123,
981
+ groups=["groups"],
982
+ subnet_id="subnetId"
983
+ )],
984
+ network_performance_options=workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
985
+ bandwidth_weighting="bandwidthWeighting"
986
+ ),
987
+ placement=workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
988
+ availability_zone="availabilityZone",
989
+ group_id="groupId",
990
+ group_name="groupName",
991
+ partition_number=123,
992
+ tenancy="tenancy"
993
+ ),
994
+ private_dns_name_options=workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
995
+ enable_resource_name_dns_aaaa_record=False,
996
+ enable_resource_name_dns_aRecord=False,
997
+ hostname_type="hostnameType"
998
+ ),
999
+ subnet_id="subnetId",
1000
+ tag_specifications=[workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
1001
+ resource_type="resourceType",
1002
+ tags=[CfnTag(
1003
+ key="key",
1004
+ value="value"
1005
+ )]
1006
+ )],
1007
+ user_data="userData"
1008
+ ),
1009
+ tags=[CfnTag(
1010
+ key="key",
1011
+ value="value"
1012
+ )]
1013
+ )
1014
+ '''
1015
+
1016
+ def __init__(
1017
+ self,
1018
+ scope: _constructs_77d1e7e8.Construct,
1019
+ id: builtins.str,
1020
+ *,
1021
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.ManagedInstanceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1022
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1023
+ ) -> None:
1024
+ '''Create a new ``AWS::WorkspacesInstances::WorkspaceInstance``.
1025
+
1026
+ :param scope: Scope in which this resource is defined.
1027
+ :param id: Construct identifier for this resource (unique in its scope).
1028
+ :param managed_instance:
1029
+ :param tags:
1030
+ '''
1031
+ if __debug__:
1032
+ type_hints = typing.get_type_hints(_typecheckingstub__fe297a4f0279d14c1f9c904fa95a44f828762333773f7e3a7c9943d3b9b3e3b3)
1033
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1034
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1035
+ props = CfnWorkspaceInstanceProps(managed_instance=managed_instance, tags=tags)
1036
+
1037
+ jsii.create(self.__class__, self, [scope, id, props])
1038
+
1039
+ @jsii.member(jsii_name="fromWorkspaceInstanceId")
1040
+ @builtins.classmethod
1041
+ def from_workspace_instance_id(
1042
+ cls,
1043
+ scope: _constructs_77d1e7e8.Construct,
1044
+ id: builtins.str,
1045
+ workspace_instance_id: builtins.str,
1046
+ ) -> _IWorkspaceInstanceRef_d89b0013:
1047
+ '''Creates a new IWorkspaceInstanceRef from a workspaceInstanceId.
1048
+
1049
+ :param scope: -
1050
+ :param id: -
1051
+ :param workspace_instance_id: -
1052
+ '''
1053
+ if __debug__:
1054
+ type_hints = typing.get_type_hints(_typecheckingstub__a94e20479c19b53a7fbafb99ee8ea99ff43ba48f27b5660512919fc6b36a8f4f)
1055
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1056
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1057
+ check_type(argname="argument workspace_instance_id", value=workspace_instance_id, expected_type=type_hints["workspace_instance_id"])
1058
+ return typing.cast(_IWorkspaceInstanceRef_d89b0013, jsii.sinvoke(cls, "fromWorkspaceInstanceId", [scope, id, workspace_instance_id]))
1059
+
1060
+ @jsii.member(jsii_name="inspect")
1061
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1062
+ '''Examines the CloudFormation resource and discloses attributes.
1063
+
1064
+ :param inspector: tree inspector to collect and process attributes.
1065
+ '''
1066
+ if __debug__:
1067
+ type_hints = typing.get_type_hints(_typecheckingstub__2bdc42635ac5557f3eb11885f29e281607cfb0594c2e299de906f90030a10deb)
1068
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1069
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1070
+
1071
+ @jsii.member(jsii_name="renderProperties")
1072
+ def _render_properties(
1073
+ self,
1074
+ props: typing.Mapping[builtins.str, typing.Any],
1075
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1076
+ '''
1077
+ :param props: -
1078
+ '''
1079
+ if __debug__:
1080
+ type_hints = typing.get_type_hints(_typecheckingstub__5ec3702eceaf9b2e99eb781959d3fbe14573ce56bb19f427daba893407569847)
1081
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1082
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1083
+
1084
+ @jsii.python.classproperty
1085
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1086
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1087
+ '''The CloudFormation resource type name for this resource class.'''
1088
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1089
+
1090
+ @builtins.property
1091
+ @jsii.member(jsii_name="attrEc2ManagedInstance")
1092
+ def attr_ec2_managed_instance(self) -> _IResolvable_da3f097b:
1093
+ '''
1094
+ :cloudformationAttribute: EC2ManagedInstance
1095
+ '''
1096
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrEc2ManagedInstance"))
1097
+
1098
+ @builtins.property
1099
+ @jsii.member(jsii_name="attrEc2ManagedInstanceInstanceId")
1100
+ def attr_ec2_managed_instance_instance_id(self) -> builtins.str:
1101
+ '''
1102
+ :cloudformationAttribute: EC2ManagedInstance.InstanceId
1103
+ '''
1104
+ return typing.cast(builtins.str, jsii.get(self, "attrEc2ManagedInstanceInstanceId"))
1105
+
1106
+ @builtins.property
1107
+ @jsii.member(jsii_name="attrProvisionState")
1108
+ def attr_provision_state(self) -> builtins.str:
1109
+ '''The current state of the workspace instance.
1110
+
1111
+ :cloudformationAttribute: ProvisionState
1112
+ '''
1113
+ return typing.cast(builtins.str, jsii.get(self, "attrProvisionState"))
1114
+
1115
+ @builtins.property
1116
+ @jsii.member(jsii_name="attrWorkspaceInstanceId")
1117
+ def attr_workspace_instance_id(self) -> builtins.str:
1118
+ '''Unique identifier for the workspace instance.
1119
+
1120
+ :cloudformationAttribute: WorkspaceInstanceId
1121
+ '''
1122
+ return typing.cast(builtins.str, jsii.get(self, "attrWorkspaceInstanceId"))
1123
+
1124
+ @builtins.property
1125
+ @jsii.member(jsii_name="cdkTagManager")
1126
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1127
+ '''Tag Manager which manages the tags for this resource.'''
1128
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1129
+
1130
+ @builtins.property
1131
+ @jsii.member(jsii_name="cfnProperties")
1132
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1133
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1134
+
1135
+ @builtins.property
1136
+ @jsii.member(jsii_name="workspaceInstanceRef")
1137
+ def workspace_instance_ref(self) -> _WorkspaceInstanceReference_34972c28:
1138
+ '''A reference to a WorkspaceInstance resource.'''
1139
+ return typing.cast(_WorkspaceInstanceReference_34972c28, jsii.get(self, "workspaceInstanceRef"))
1140
+
1141
+ @builtins.property
1142
+ @jsii.member(jsii_name="managedInstance")
1143
+ def managed_instance(
1144
+ self,
1145
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.ManagedInstanceProperty"]]:
1146
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.ManagedInstanceProperty"]], jsii.get(self, "managedInstance"))
1147
+
1148
+ @managed_instance.setter
1149
+ def managed_instance(
1150
+ self,
1151
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.ManagedInstanceProperty"]],
1152
+ ) -> None:
1153
+ if __debug__:
1154
+ type_hints = typing.get_type_hints(_typecheckingstub__f6fb81328f4cb605751ce72d14049d2c7dbe8255e2141c4d01d4204ed9b4adf0)
1155
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1156
+ jsii.set(self, "managedInstance", value) # pyright: ignore[reportArgumentType]
1157
+
1158
+ @builtins.property
1159
+ @jsii.member(jsii_name="tags")
1160
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1161
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1162
+
1163
+ @tags.setter
1164
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1165
+ if __debug__:
1166
+ type_hints = typing.get_type_hints(_typecheckingstub__58b2c86c1c3f77e59470dc4f588d2e8033f028f5127ba91d829c8c6add4de38a)
1167
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1168
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1169
+
1170
+ @jsii.data_type(
1171
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty",
1172
+ jsii_struct_bases=[],
1173
+ name_mapping={
1174
+ "device_name": "deviceName",
1175
+ "ebs": "ebs",
1176
+ "no_device": "noDevice",
1177
+ "virtual_name": "virtualName",
1178
+ },
1179
+ )
1180
+ class BlockDeviceMappingProperty:
1181
+ def __init__(
1182
+ self,
1183
+ *,
1184
+ device_name: typing.Optional[builtins.str] = None,
1185
+ ebs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.EbsBlockDeviceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1186
+ no_device: typing.Optional[builtins.str] = None,
1187
+ virtual_name: typing.Optional[builtins.str] = None,
1188
+ ) -> None:
1189
+ '''
1190
+ :param device_name:
1191
+ :param ebs:
1192
+ :param no_device:
1193
+ :param virtual_name:
1194
+
1195
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html
1196
+ :exampleMetadata: fixture=_generated
1197
+
1198
+ Example::
1199
+
1200
+ # The code below shows an example of how to instantiate this type.
1201
+ # The values are placeholders you should change.
1202
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1203
+
1204
+ block_device_mapping_property = workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
1205
+ device_name="deviceName",
1206
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
1207
+ encrypted=False,
1208
+ iops=123,
1209
+ kms_key_id="kmsKeyId",
1210
+ throughput=123,
1211
+ volume_size=123,
1212
+ volume_type="volumeType"
1213
+ ),
1214
+ no_device="noDevice",
1215
+ virtual_name="virtualName"
1216
+ )
1217
+ '''
1218
+ if __debug__:
1219
+ type_hints = typing.get_type_hints(_typecheckingstub__6f2d2dc4f023dfee96411ef0d53c3f207f589b520679a75d9c4a2ca0843d3994)
1220
+ check_type(argname="argument device_name", value=device_name, expected_type=type_hints["device_name"])
1221
+ check_type(argname="argument ebs", value=ebs, expected_type=type_hints["ebs"])
1222
+ check_type(argname="argument no_device", value=no_device, expected_type=type_hints["no_device"])
1223
+ check_type(argname="argument virtual_name", value=virtual_name, expected_type=type_hints["virtual_name"])
1224
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1225
+ if device_name is not None:
1226
+ self._values["device_name"] = device_name
1227
+ if ebs is not None:
1228
+ self._values["ebs"] = ebs
1229
+ if no_device is not None:
1230
+ self._values["no_device"] = no_device
1231
+ if virtual_name is not None:
1232
+ self._values["virtual_name"] = virtual_name
1233
+
1234
+ @builtins.property
1235
+ def device_name(self) -> typing.Optional[builtins.str]:
1236
+ '''
1237
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-devicename
1238
+ '''
1239
+ result = self._values.get("device_name")
1240
+ return typing.cast(typing.Optional[builtins.str], result)
1241
+
1242
+ @builtins.property
1243
+ def ebs(
1244
+ self,
1245
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EbsBlockDeviceProperty"]]:
1246
+ '''
1247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-ebs
1248
+ '''
1249
+ result = self._values.get("ebs")
1250
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EbsBlockDeviceProperty"]], result)
1251
+
1252
+ @builtins.property
1253
+ def no_device(self) -> typing.Optional[builtins.str]:
1254
+ '''
1255
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-nodevice
1256
+ '''
1257
+ result = self._values.get("no_device")
1258
+ return typing.cast(typing.Optional[builtins.str], result)
1259
+
1260
+ @builtins.property
1261
+ def virtual_name(self) -> typing.Optional[builtins.str]:
1262
+ '''
1263
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-blockdevicemapping.html#cfn-workspacesinstances-workspaceinstance-blockdevicemapping-virtualname
1264
+ '''
1265
+ result = self._values.get("virtual_name")
1266
+ return typing.cast(typing.Optional[builtins.str], result)
1267
+
1268
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1269
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1270
+
1271
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1272
+ return not (rhs == self)
1273
+
1274
+ def __repr__(self) -> str:
1275
+ return "BlockDeviceMappingProperty(%s)" % ", ".join(
1276
+ k + "=" + repr(v) for k, v in self._values.items()
1277
+ )
1278
+
1279
+ @jsii.data_type(
1280
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.CapacityReservationSpecificationProperty",
1281
+ jsii_struct_bases=[],
1282
+ name_mapping={
1283
+ "capacity_reservation_preference": "capacityReservationPreference",
1284
+ "capacity_reservation_target": "capacityReservationTarget",
1285
+ },
1286
+ )
1287
+ class CapacityReservationSpecificationProperty:
1288
+ def __init__(
1289
+ self,
1290
+ *,
1291
+ capacity_reservation_preference: typing.Optional[builtins.str] = None,
1292
+ capacity_reservation_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.CapacityReservationTargetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1293
+ ) -> None:
1294
+ '''
1295
+ :param capacity_reservation_preference:
1296
+ :param capacity_reservation_target:
1297
+
1298
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-capacityreservationspecification.html
1299
+ :exampleMetadata: fixture=_generated
1300
+
1301
+ Example::
1302
+
1303
+ # The code below shows an example of how to instantiate this type.
1304
+ # The values are placeholders you should change.
1305
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1306
+
1307
+ capacity_reservation_specification_property = workspacesinstances.CfnWorkspaceInstance.CapacityReservationSpecificationProperty(
1308
+ capacity_reservation_preference="capacityReservationPreference",
1309
+ capacity_reservation_target=workspacesinstances.CfnWorkspaceInstance.CapacityReservationTargetProperty(
1310
+ capacity_reservation_id="capacityReservationId",
1311
+ capacity_reservation_resource_group_arn="capacityReservationResourceGroupArn"
1312
+ )
1313
+ )
1314
+ '''
1315
+ if __debug__:
1316
+ type_hints = typing.get_type_hints(_typecheckingstub__2c7447c1d8e8482ef6a31cfa322dfe54d81154cc75e07f12f4604ce41d71d250)
1317
+ check_type(argname="argument capacity_reservation_preference", value=capacity_reservation_preference, expected_type=type_hints["capacity_reservation_preference"])
1318
+ check_type(argname="argument capacity_reservation_target", value=capacity_reservation_target, expected_type=type_hints["capacity_reservation_target"])
1319
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1320
+ if capacity_reservation_preference is not None:
1321
+ self._values["capacity_reservation_preference"] = capacity_reservation_preference
1322
+ if capacity_reservation_target is not None:
1323
+ self._values["capacity_reservation_target"] = capacity_reservation_target
1324
+
1325
+ @builtins.property
1326
+ def capacity_reservation_preference(self) -> typing.Optional[builtins.str]:
1327
+ '''
1328
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-capacityreservationspecification.html#cfn-workspacesinstances-workspaceinstance-capacityreservationspecification-capacityreservationpreference
1329
+ '''
1330
+ result = self._values.get("capacity_reservation_preference")
1331
+ return typing.cast(typing.Optional[builtins.str], result)
1332
+
1333
+ @builtins.property
1334
+ def capacity_reservation_target(
1335
+ self,
1336
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CapacityReservationTargetProperty"]]:
1337
+ '''
1338
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-capacityreservationspecification.html#cfn-workspacesinstances-workspaceinstance-capacityreservationspecification-capacityreservationtarget
1339
+ '''
1340
+ result = self._values.get("capacity_reservation_target")
1341
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CapacityReservationTargetProperty"]], result)
1342
+
1343
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1344
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1345
+
1346
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1347
+ return not (rhs == self)
1348
+
1349
+ def __repr__(self) -> str:
1350
+ return "CapacityReservationSpecificationProperty(%s)" % ", ".join(
1351
+ k + "=" + repr(v) for k, v in self._values.items()
1352
+ )
1353
+
1354
+ @jsii.data_type(
1355
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.CapacityReservationTargetProperty",
1356
+ jsii_struct_bases=[],
1357
+ name_mapping={
1358
+ "capacity_reservation_id": "capacityReservationId",
1359
+ "capacity_reservation_resource_group_arn": "capacityReservationResourceGroupArn",
1360
+ },
1361
+ )
1362
+ class CapacityReservationTargetProperty:
1363
+ def __init__(
1364
+ self,
1365
+ *,
1366
+ capacity_reservation_id: typing.Optional[builtins.str] = None,
1367
+ capacity_reservation_resource_group_arn: typing.Optional[builtins.str] = None,
1368
+ ) -> None:
1369
+ '''
1370
+ :param capacity_reservation_id:
1371
+ :param capacity_reservation_resource_group_arn:
1372
+
1373
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-capacityreservationtarget.html
1374
+ :exampleMetadata: fixture=_generated
1375
+
1376
+ Example::
1377
+
1378
+ # The code below shows an example of how to instantiate this type.
1379
+ # The values are placeholders you should change.
1380
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1381
+
1382
+ capacity_reservation_target_property = workspacesinstances.CfnWorkspaceInstance.CapacityReservationTargetProperty(
1383
+ capacity_reservation_id="capacityReservationId",
1384
+ capacity_reservation_resource_group_arn="capacityReservationResourceGroupArn"
1385
+ )
1386
+ '''
1387
+ if __debug__:
1388
+ type_hints = typing.get_type_hints(_typecheckingstub__d9f436a25da0d1e919f4f55d90c75f8795f4997204e2fa4a394b043328fc1f18)
1389
+ check_type(argname="argument capacity_reservation_id", value=capacity_reservation_id, expected_type=type_hints["capacity_reservation_id"])
1390
+ check_type(argname="argument capacity_reservation_resource_group_arn", value=capacity_reservation_resource_group_arn, expected_type=type_hints["capacity_reservation_resource_group_arn"])
1391
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1392
+ if capacity_reservation_id is not None:
1393
+ self._values["capacity_reservation_id"] = capacity_reservation_id
1394
+ if capacity_reservation_resource_group_arn is not None:
1395
+ self._values["capacity_reservation_resource_group_arn"] = capacity_reservation_resource_group_arn
1396
+
1397
+ @builtins.property
1398
+ def capacity_reservation_id(self) -> typing.Optional[builtins.str]:
1399
+ '''
1400
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-capacityreservationtarget.html#cfn-workspacesinstances-workspaceinstance-capacityreservationtarget-capacityreservationid
1401
+ '''
1402
+ result = self._values.get("capacity_reservation_id")
1403
+ return typing.cast(typing.Optional[builtins.str], result)
1404
+
1405
+ @builtins.property
1406
+ def capacity_reservation_resource_group_arn(
1407
+ self,
1408
+ ) -> typing.Optional[builtins.str]:
1409
+ '''
1410
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-capacityreservationtarget.html#cfn-workspacesinstances-workspaceinstance-capacityreservationtarget-capacityreservationresourcegrouparn
1411
+ '''
1412
+ result = self._values.get("capacity_reservation_resource_group_arn")
1413
+ return typing.cast(typing.Optional[builtins.str], result)
1414
+
1415
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1416
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1417
+
1418
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1419
+ return not (rhs == self)
1420
+
1421
+ def __repr__(self) -> str:
1422
+ return "CapacityReservationTargetProperty(%s)" % ", ".join(
1423
+ k + "=" + repr(v) for k, v in self._values.items()
1424
+ )
1425
+
1426
+ @jsii.data_type(
1427
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty",
1428
+ jsii_struct_bases=[],
1429
+ name_mapping={"core_count": "coreCount", "threads_per_core": "threadsPerCore"},
1430
+ )
1431
+ class CpuOptionsRequestProperty:
1432
+ def __init__(
1433
+ self,
1434
+ *,
1435
+ core_count: typing.Optional[jsii.Number] = None,
1436
+ threads_per_core: typing.Optional[jsii.Number] = None,
1437
+ ) -> None:
1438
+ '''
1439
+ :param core_count:
1440
+ :param threads_per_core:
1441
+
1442
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-cpuoptionsrequest.html
1443
+ :exampleMetadata: fixture=_generated
1444
+
1445
+ Example::
1446
+
1447
+ # The code below shows an example of how to instantiate this type.
1448
+ # The values are placeholders you should change.
1449
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1450
+
1451
+ cpu_options_request_property = workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
1452
+ core_count=123,
1453
+ threads_per_core=123
1454
+ )
1455
+ '''
1456
+ if __debug__:
1457
+ type_hints = typing.get_type_hints(_typecheckingstub__baf2483b6c10091ca1060d8ca8cb538b6f9eb1223193ab69470e79d02ae05c0f)
1458
+ check_type(argname="argument core_count", value=core_count, expected_type=type_hints["core_count"])
1459
+ check_type(argname="argument threads_per_core", value=threads_per_core, expected_type=type_hints["threads_per_core"])
1460
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1461
+ if core_count is not None:
1462
+ self._values["core_count"] = core_count
1463
+ if threads_per_core is not None:
1464
+ self._values["threads_per_core"] = threads_per_core
1465
+
1466
+ @builtins.property
1467
+ def core_count(self) -> typing.Optional[jsii.Number]:
1468
+ '''
1469
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-cpuoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-cpuoptionsrequest-corecount
1470
+ '''
1471
+ result = self._values.get("core_count")
1472
+ return typing.cast(typing.Optional[jsii.Number], result)
1473
+
1474
+ @builtins.property
1475
+ def threads_per_core(self) -> typing.Optional[jsii.Number]:
1476
+ '''
1477
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-cpuoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-cpuoptionsrequest-threadspercore
1478
+ '''
1479
+ result = self._values.get("threads_per_core")
1480
+ return typing.cast(typing.Optional[jsii.Number], result)
1481
+
1482
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1483
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1484
+
1485
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1486
+ return not (rhs == self)
1487
+
1488
+ def __repr__(self) -> str:
1489
+ return "CpuOptionsRequestProperty(%s)" % ", ".join(
1490
+ k + "=" + repr(v) for k, v in self._values.items()
1491
+ )
1492
+
1493
+ @jsii.data_type(
1494
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty",
1495
+ jsii_struct_bases=[],
1496
+ name_mapping={"cpu_credits": "cpuCredits"},
1497
+ )
1498
+ class CreditSpecificationRequestProperty:
1499
+ def __init__(
1500
+ self,
1501
+ *,
1502
+ cpu_credits: typing.Optional[builtins.str] = None,
1503
+ ) -> None:
1504
+ '''
1505
+ :param cpu_credits:
1506
+
1507
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-creditspecificationrequest.html
1508
+ :exampleMetadata: fixture=_generated
1509
+
1510
+ Example::
1511
+
1512
+ # The code below shows an example of how to instantiate this type.
1513
+ # The values are placeholders you should change.
1514
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1515
+
1516
+ credit_specification_request_property = workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
1517
+ cpu_credits="cpuCredits"
1518
+ )
1519
+ '''
1520
+ if __debug__:
1521
+ type_hints = typing.get_type_hints(_typecheckingstub__be827443f2405057687f0e728dd6b714e64976c6b7fdb53616ba22f38fe684f7)
1522
+ check_type(argname="argument cpu_credits", value=cpu_credits, expected_type=type_hints["cpu_credits"])
1523
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1524
+ if cpu_credits is not None:
1525
+ self._values["cpu_credits"] = cpu_credits
1526
+
1527
+ @builtins.property
1528
+ def cpu_credits(self) -> typing.Optional[builtins.str]:
1529
+ '''
1530
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-creditspecificationrequest.html#cfn-workspacesinstances-workspaceinstance-creditspecificationrequest-cpucredits
1531
+ '''
1532
+ result = self._values.get("cpu_credits")
1533
+ return typing.cast(typing.Optional[builtins.str], result)
1534
+
1535
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1536
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1537
+
1538
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1539
+ return not (rhs == self)
1540
+
1541
+ def __repr__(self) -> str:
1542
+ return "CreditSpecificationRequestProperty(%s)" % ", ".join(
1543
+ k + "=" + repr(v) for k, v in self._values.items()
1544
+ )
1545
+
1546
+ @jsii.data_type(
1547
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.EC2ManagedInstanceProperty",
1548
+ jsii_struct_bases=[],
1549
+ name_mapping={"instance_id": "instanceId"},
1550
+ )
1551
+ class EC2ManagedInstanceProperty:
1552
+ def __init__(
1553
+ self,
1554
+ *,
1555
+ instance_id: typing.Optional[builtins.str] = None,
1556
+ ) -> None:
1557
+ '''
1558
+ :param instance_id:
1559
+
1560
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ec2managedinstance.html
1561
+ :exampleMetadata: fixture=_generated
1562
+
1563
+ Example::
1564
+
1565
+ # The code below shows an example of how to instantiate this type.
1566
+ # The values are placeholders you should change.
1567
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1568
+
1569
+ e_c2_managed_instance_property = workspacesinstances.CfnWorkspaceInstance.EC2ManagedInstanceProperty(
1570
+ instance_id="instanceId"
1571
+ )
1572
+ '''
1573
+ if __debug__:
1574
+ type_hints = typing.get_type_hints(_typecheckingstub__fdf6ee9b22498f38a18bcb3d582068ef8ccfe59145f98269dc66087bebceba31)
1575
+ check_type(argname="argument instance_id", value=instance_id, expected_type=type_hints["instance_id"])
1576
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1577
+ if instance_id is not None:
1578
+ self._values["instance_id"] = instance_id
1579
+
1580
+ @builtins.property
1581
+ def instance_id(self) -> typing.Optional[builtins.str]:
1582
+ '''
1583
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ec2managedinstance.html#cfn-workspacesinstances-workspaceinstance-ec2managedinstance-instanceid
1584
+ '''
1585
+ result = self._values.get("instance_id")
1586
+ return typing.cast(typing.Optional[builtins.str], result)
1587
+
1588
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1589
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1590
+
1591
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1592
+ return not (rhs == self)
1593
+
1594
+ def __repr__(self) -> str:
1595
+ return "EC2ManagedInstanceProperty(%s)" % ", ".join(
1596
+ k + "=" + repr(v) for k, v in self._values.items()
1597
+ )
1598
+
1599
+ @jsii.data_type(
1600
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty",
1601
+ jsii_struct_bases=[],
1602
+ name_mapping={
1603
+ "encrypted": "encrypted",
1604
+ "iops": "iops",
1605
+ "kms_key_id": "kmsKeyId",
1606
+ "throughput": "throughput",
1607
+ "volume_size": "volumeSize",
1608
+ "volume_type": "volumeType",
1609
+ },
1610
+ )
1611
+ class EbsBlockDeviceProperty:
1612
+ def __init__(
1613
+ self,
1614
+ *,
1615
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1616
+ iops: typing.Optional[jsii.Number] = None,
1617
+ kms_key_id: typing.Optional[builtins.str] = None,
1618
+ throughput: typing.Optional[jsii.Number] = None,
1619
+ volume_size: typing.Optional[jsii.Number] = None,
1620
+ volume_type: typing.Optional[builtins.str] = None,
1621
+ ) -> None:
1622
+ '''
1623
+ :param encrypted:
1624
+ :param iops:
1625
+ :param kms_key_id:
1626
+ :param throughput:
1627
+ :param volume_size:
1628
+ :param volume_type:
1629
+
1630
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html
1631
+ :exampleMetadata: fixture=_generated
1632
+
1633
+ Example::
1634
+
1635
+ # The code below shows an example of how to instantiate this type.
1636
+ # The values are placeholders you should change.
1637
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1638
+
1639
+ ebs_block_device_property = workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
1640
+ encrypted=False,
1641
+ iops=123,
1642
+ kms_key_id="kmsKeyId",
1643
+ throughput=123,
1644
+ volume_size=123,
1645
+ volume_type="volumeType"
1646
+ )
1647
+ '''
1648
+ if __debug__:
1649
+ type_hints = typing.get_type_hints(_typecheckingstub__afafa3f2614378531f34f7c44be3d52735de40c84c8eb108e258a8bf3eb50e61)
1650
+ check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
1651
+ check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
1652
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
1653
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
1654
+ check_type(argname="argument volume_size", value=volume_size, expected_type=type_hints["volume_size"])
1655
+ check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
1656
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1657
+ if encrypted is not None:
1658
+ self._values["encrypted"] = encrypted
1659
+ if iops is not None:
1660
+ self._values["iops"] = iops
1661
+ if kms_key_id is not None:
1662
+ self._values["kms_key_id"] = kms_key_id
1663
+ if throughput is not None:
1664
+ self._values["throughput"] = throughput
1665
+ if volume_size is not None:
1666
+ self._values["volume_size"] = volume_size
1667
+ if volume_type is not None:
1668
+ self._values["volume_type"] = volume_type
1669
+
1670
+ @builtins.property
1671
+ def encrypted(
1672
+ self,
1673
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1674
+ '''
1675
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-encrypted
1676
+ '''
1677
+ result = self._values.get("encrypted")
1678
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1679
+
1680
+ @builtins.property
1681
+ def iops(self) -> typing.Optional[jsii.Number]:
1682
+ '''
1683
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-iops
1684
+ '''
1685
+ result = self._values.get("iops")
1686
+ return typing.cast(typing.Optional[jsii.Number], result)
1687
+
1688
+ @builtins.property
1689
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
1690
+ '''
1691
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-kmskeyid
1692
+ '''
1693
+ result = self._values.get("kms_key_id")
1694
+ return typing.cast(typing.Optional[builtins.str], result)
1695
+
1696
+ @builtins.property
1697
+ def throughput(self) -> typing.Optional[jsii.Number]:
1698
+ '''
1699
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-throughput
1700
+ '''
1701
+ result = self._values.get("throughput")
1702
+ return typing.cast(typing.Optional[jsii.Number], result)
1703
+
1704
+ @builtins.property
1705
+ def volume_size(self) -> typing.Optional[jsii.Number]:
1706
+ '''
1707
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-volumesize
1708
+ '''
1709
+ result = self._values.get("volume_size")
1710
+ return typing.cast(typing.Optional[jsii.Number], result)
1711
+
1712
+ @builtins.property
1713
+ def volume_type(self) -> typing.Optional[builtins.str]:
1714
+ '''
1715
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-ebsblockdevice.html#cfn-workspacesinstances-workspaceinstance-ebsblockdevice-volumetype
1716
+ '''
1717
+ result = self._values.get("volume_type")
1718
+ return typing.cast(typing.Optional[builtins.str], result)
1719
+
1720
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1721
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1722
+
1723
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1724
+ return not (rhs == self)
1725
+
1726
+ def __repr__(self) -> str:
1727
+ return "EbsBlockDeviceProperty(%s)" % ", ".join(
1728
+ k + "=" + repr(v) for k, v in self._values.items()
1729
+ )
1730
+
1731
+ @jsii.data_type(
1732
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty",
1733
+ jsii_struct_bases=[],
1734
+ name_mapping={"enabled": "enabled"},
1735
+ )
1736
+ class EnclaveOptionsRequestProperty:
1737
+ def __init__(
1738
+ self,
1739
+ *,
1740
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1741
+ ) -> None:
1742
+ '''
1743
+ :param enabled:
1744
+
1745
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-enclaveoptionsrequest.html
1746
+ :exampleMetadata: fixture=_generated
1747
+
1748
+ Example::
1749
+
1750
+ # The code below shows an example of how to instantiate this type.
1751
+ # The values are placeholders you should change.
1752
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1753
+
1754
+ enclave_options_request_property = workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
1755
+ enabled=False
1756
+ )
1757
+ '''
1758
+ if __debug__:
1759
+ type_hints = typing.get_type_hints(_typecheckingstub__5aaf83d8222c97044bf3b1051a0f48a71d78afefae567af0ee4fd1946ba8b25b)
1760
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
1761
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1762
+ if enabled is not None:
1763
+ self._values["enabled"] = enabled
1764
+
1765
+ @builtins.property
1766
+ def enabled(
1767
+ self,
1768
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1769
+ '''
1770
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-enclaveoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-enclaveoptionsrequest-enabled
1771
+ '''
1772
+ result = self._values.get("enabled")
1773
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1774
+
1775
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1776
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1777
+
1778
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1779
+ return not (rhs == self)
1780
+
1781
+ def __repr__(self) -> str:
1782
+ return "EnclaveOptionsRequestProperty(%s)" % ", ".join(
1783
+ k + "=" + repr(v) for k, v in self._values.items()
1784
+ )
1785
+
1786
+ @jsii.data_type(
1787
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty",
1788
+ jsii_struct_bases=[],
1789
+ name_mapping={"configured": "configured"},
1790
+ )
1791
+ class HibernationOptionsRequestProperty:
1792
+ def __init__(
1793
+ self,
1794
+ *,
1795
+ configured: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1796
+ ) -> None:
1797
+ '''
1798
+ :param configured:
1799
+
1800
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-hibernationoptionsrequest.html
1801
+ :exampleMetadata: fixture=_generated
1802
+
1803
+ Example::
1804
+
1805
+ # The code below shows an example of how to instantiate this type.
1806
+ # The values are placeholders you should change.
1807
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1808
+
1809
+ hibernation_options_request_property = workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
1810
+ configured=False
1811
+ )
1812
+ '''
1813
+ if __debug__:
1814
+ type_hints = typing.get_type_hints(_typecheckingstub__6c8991a0b12bd7048f141f964633e62a1f4e02c6996cbf5ff8a1bf1656d2254d)
1815
+ check_type(argname="argument configured", value=configured, expected_type=type_hints["configured"])
1816
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1817
+ if configured is not None:
1818
+ self._values["configured"] = configured
1819
+
1820
+ @builtins.property
1821
+ def configured(
1822
+ self,
1823
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1824
+ '''
1825
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-hibernationoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-hibernationoptionsrequest-configured
1826
+ '''
1827
+ result = self._values.get("configured")
1828
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1829
+
1830
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1831
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1832
+
1833
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1834
+ return not (rhs == self)
1835
+
1836
+ def __repr__(self) -> str:
1837
+ return "HibernationOptionsRequestProperty(%s)" % ", ".join(
1838
+ k + "=" + repr(v) for k, v in self._values.items()
1839
+ )
1840
+
1841
+ @jsii.data_type(
1842
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty",
1843
+ jsii_struct_bases=[],
1844
+ name_mapping={"arn": "arn", "name": "name"},
1845
+ )
1846
+ class IamInstanceProfileSpecificationProperty:
1847
+ def __init__(
1848
+ self,
1849
+ *,
1850
+ arn: typing.Optional[builtins.str] = None,
1851
+ name: typing.Optional[builtins.str] = None,
1852
+ ) -> None:
1853
+ '''
1854
+ :param arn:
1855
+ :param name:
1856
+
1857
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-iaminstanceprofilespecification.html
1858
+ :exampleMetadata: fixture=_generated
1859
+
1860
+ Example::
1861
+
1862
+ # The code below shows an example of how to instantiate this type.
1863
+ # The values are placeholders you should change.
1864
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1865
+
1866
+ iam_instance_profile_specification_property = workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
1867
+ arn="arn",
1868
+ name="name"
1869
+ )
1870
+ '''
1871
+ if __debug__:
1872
+ type_hints = typing.get_type_hints(_typecheckingstub__46446ab38acd11b881b5c7aac1c73f790aba6f0b8215d39325f4bb1081daf531)
1873
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
1874
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1875
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1876
+ if arn is not None:
1877
+ self._values["arn"] = arn
1878
+ if name is not None:
1879
+ self._values["name"] = name
1880
+
1881
+ @builtins.property
1882
+ def arn(self) -> typing.Optional[builtins.str]:
1883
+ '''
1884
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-iaminstanceprofilespecification.html#cfn-workspacesinstances-workspaceinstance-iaminstanceprofilespecification-arn
1885
+ '''
1886
+ result = self._values.get("arn")
1887
+ return typing.cast(typing.Optional[builtins.str], result)
1888
+
1889
+ @builtins.property
1890
+ def name(self) -> typing.Optional[builtins.str]:
1891
+ '''
1892
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-iaminstanceprofilespecification.html#cfn-workspacesinstances-workspaceinstance-iaminstanceprofilespecification-name
1893
+ '''
1894
+ result = self._values.get("name")
1895
+ return typing.cast(typing.Optional[builtins.str], result)
1896
+
1897
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1898
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1899
+
1900
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1901
+ return not (rhs == self)
1902
+
1903
+ def __repr__(self) -> str:
1904
+ return "IamInstanceProfileSpecificationProperty(%s)" % ", ".join(
1905
+ k + "=" + repr(v) for k, v in self._values.items()
1906
+ )
1907
+
1908
+ @jsii.data_type(
1909
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty",
1910
+ jsii_struct_bases=[],
1911
+ name_mapping={"auto_recovery": "autoRecovery"},
1912
+ )
1913
+ class InstanceMaintenanceOptionsRequestProperty:
1914
+ def __init__(
1915
+ self,
1916
+ *,
1917
+ auto_recovery: typing.Optional[builtins.str] = None,
1918
+ ) -> None:
1919
+ '''
1920
+ :param auto_recovery:
1921
+
1922
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemaintenanceoptionsrequest.html
1923
+ :exampleMetadata: fixture=_generated
1924
+
1925
+ Example::
1926
+
1927
+ # The code below shows an example of how to instantiate this type.
1928
+ # The values are placeholders you should change.
1929
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1930
+
1931
+ instance_maintenance_options_request_property = workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
1932
+ auto_recovery="autoRecovery"
1933
+ )
1934
+ '''
1935
+ if __debug__:
1936
+ type_hints = typing.get_type_hints(_typecheckingstub__5785155bdccebc0d8fada1620d3c62726134a88a6a448d54e8ea0f622a0cfe50)
1937
+ check_type(argname="argument auto_recovery", value=auto_recovery, expected_type=type_hints["auto_recovery"])
1938
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1939
+ if auto_recovery is not None:
1940
+ self._values["auto_recovery"] = auto_recovery
1941
+
1942
+ @builtins.property
1943
+ def auto_recovery(self) -> typing.Optional[builtins.str]:
1944
+ '''
1945
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemaintenanceoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemaintenanceoptionsrequest-autorecovery
1946
+ '''
1947
+ result = self._values.get("auto_recovery")
1948
+ return typing.cast(typing.Optional[builtins.str], result)
1949
+
1950
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1951
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1952
+
1953
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1954
+ return not (rhs == self)
1955
+
1956
+ def __repr__(self) -> str:
1957
+ return "InstanceMaintenanceOptionsRequestProperty(%s)" % ", ".join(
1958
+ k + "=" + repr(v) for k, v in self._values.items()
1959
+ )
1960
+
1961
+ @jsii.data_type(
1962
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty",
1963
+ jsii_struct_bases=[],
1964
+ name_mapping={"market_type": "marketType", "spot_options": "spotOptions"},
1965
+ )
1966
+ class InstanceMarketOptionsRequestProperty:
1967
+ def __init__(
1968
+ self,
1969
+ *,
1970
+ market_type: typing.Optional[builtins.str] = None,
1971
+ spot_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.SpotMarketOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1972
+ ) -> None:
1973
+ '''
1974
+ :param market_type:
1975
+ :param spot_options:
1976
+
1977
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemarketoptionsrequest.html
1978
+ :exampleMetadata: fixture=_generated
1979
+
1980
+ Example::
1981
+
1982
+ # The code below shows an example of how to instantiate this type.
1983
+ # The values are placeholders you should change.
1984
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
1985
+
1986
+ instance_market_options_request_property = workspacesinstances.CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty(
1987
+ market_type="marketType",
1988
+ spot_options=workspacesinstances.CfnWorkspaceInstance.SpotMarketOptionsProperty(
1989
+ instance_interruption_behavior="instanceInterruptionBehavior",
1990
+ max_price="maxPrice",
1991
+ spot_instance_type="spotInstanceType",
1992
+ valid_until_utc="validUntilUtc"
1993
+ )
1994
+ )
1995
+ '''
1996
+ if __debug__:
1997
+ type_hints = typing.get_type_hints(_typecheckingstub__b98b268bcbc4c8517d4411ff3cec97b75028e2bf24bcfbe5187fddb5e5ddf912)
1998
+ check_type(argname="argument market_type", value=market_type, expected_type=type_hints["market_type"])
1999
+ check_type(argname="argument spot_options", value=spot_options, expected_type=type_hints["spot_options"])
2000
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2001
+ if market_type is not None:
2002
+ self._values["market_type"] = market_type
2003
+ if spot_options is not None:
2004
+ self._values["spot_options"] = spot_options
2005
+
2006
+ @builtins.property
2007
+ def market_type(self) -> typing.Optional[builtins.str]:
2008
+ '''
2009
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemarketoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemarketoptionsrequest-markettype
2010
+ '''
2011
+ result = self._values.get("market_type")
2012
+ return typing.cast(typing.Optional[builtins.str], result)
2013
+
2014
+ @builtins.property
2015
+ def spot_options(
2016
+ self,
2017
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.SpotMarketOptionsProperty"]]:
2018
+ '''
2019
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemarketoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemarketoptionsrequest-spotoptions
2020
+ '''
2021
+ result = self._values.get("spot_options")
2022
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.SpotMarketOptionsProperty"]], result)
2023
+
2024
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2025
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2026
+
2027
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2028
+ return not (rhs == self)
2029
+
2030
+ def __repr__(self) -> str:
2031
+ return "InstanceMarketOptionsRequestProperty(%s)" % ", ".join(
2032
+ k + "=" + repr(v) for k, v in self._values.items()
2033
+ )
2034
+
2035
+ @jsii.data_type(
2036
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty",
2037
+ jsii_struct_bases=[],
2038
+ name_mapping={
2039
+ "http_endpoint": "httpEndpoint",
2040
+ "http_protocol_ipv6": "httpProtocolIpv6",
2041
+ "http_put_response_hop_limit": "httpPutResponseHopLimit",
2042
+ "http_tokens": "httpTokens",
2043
+ "instance_metadata_tags": "instanceMetadataTags",
2044
+ },
2045
+ )
2046
+ class InstanceMetadataOptionsRequestProperty:
2047
+ def __init__(
2048
+ self,
2049
+ *,
2050
+ http_endpoint: typing.Optional[builtins.str] = None,
2051
+ http_protocol_ipv6: typing.Optional[builtins.str] = None,
2052
+ http_put_response_hop_limit: typing.Optional[jsii.Number] = None,
2053
+ http_tokens: typing.Optional[builtins.str] = None,
2054
+ instance_metadata_tags: typing.Optional[builtins.str] = None,
2055
+ ) -> None:
2056
+ '''
2057
+ :param http_endpoint:
2058
+ :param http_protocol_ipv6:
2059
+ :param http_put_response_hop_limit:
2060
+ :param http_tokens:
2061
+ :param instance_metadata_tags:
2062
+
2063
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html
2064
+ :exampleMetadata: fixture=_generated
2065
+
2066
+ Example::
2067
+
2068
+ # The code below shows an example of how to instantiate this type.
2069
+ # The values are placeholders you should change.
2070
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2071
+
2072
+ instance_metadata_options_request_property = workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
2073
+ http_endpoint="httpEndpoint",
2074
+ http_protocol_ipv6="httpProtocolIpv6",
2075
+ http_put_response_hop_limit=123,
2076
+ http_tokens="httpTokens",
2077
+ instance_metadata_tags="instanceMetadataTags"
2078
+ )
2079
+ '''
2080
+ if __debug__:
2081
+ type_hints = typing.get_type_hints(_typecheckingstub__d879a9a1ea939eed5a5bf31a9e53a33bef78538d965c45115d7750157f87c88b)
2082
+ check_type(argname="argument http_endpoint", value=http_endpoint, expected_type=type_hints["http_endpoint"])
2083
+ check_type(argname="argument http_protocol_ipv6", value=http_protocol_ipv6, expected_type=type_hints["http_protocol_ipv6"])
2084
+ check_type(argname="argument http_put_response_hop_limit", value=http_put_response_hop_limit, expected_type=type_hints["http_put_response_hop_limit"])
2085
+ check_type(argname="argument http_tokens", value=http_tokens, expected_type=type_hints["http_tokens"])
2086
+ check_type(argname="argument instance_metadata_tags", value=instance_metadata_tags, expected_type=type_hints["instance_metadata_tags"])
2087
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2088
+ if http_endpoint is not None:
2089
+ self._values["http_endpoint"] = http_endpoint
2090
+ if http_protocol_ipv6 is not None:
2091
+ self._values["http_protocol_ipv6"] = http_protocol_ipv6
2092
+ if http_put_response_hop_limit is not None:
2093
+ self._values["http_put_response_hop_limit"] = http_put_response_hop_limit
2094
+ if http_tokens is not None:
2095
+ self._values["http_tokens"] = http_tokens
2096
+ if instance_metadata_tags is not None:
2097
+ self._values["instance_metadata_tags"] = instance_metadata_tags
2098
+
2099
+ @builtins.property
2100
+ def http_endpoint(self) -> typing.Optional[builtins.str]:
2101
+ '''
2102
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httpendpoint
2103
+ '''
2104
+ result = self._values.get("http_endpoint")
2105
+ return typing.cast(typing.Optional[builtins.str], result)
2106
+
2107
+ @builtins.property
2108
+ def http_protocol_ipv6(self) -> typing.Optional[builtins.str]:
2109
+ '''
2110
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httpprotocolipv6
2111
+ '''
2112
+ result = self._values.get("http_protocol_ipv6")
2113
+ return typing.cast(typing.Optional[builtins.str], result)
2114
+
2115
+ @builtins.property
2116
+ def http_put_response_hop_limit(self) -> typing.Optional[jsii.Number]:
2117
+ '''
2118
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httpputresponsehoplimit
2119
+ '''
2120
+ result = self._values.get("http_put_response_hop_limit")
2121
+ return typing.cast(typing.Optional[jsii.Number], result)
2122
+
2123
+ @builtins.property
2124
+ def http_tokens(self) -> typing.Optional[builtins.str]:
2125
+ '''
2126
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-httptokens
2127
+ '''
2128
+ result = self._values.get("http_tokens")
2129
+ return typing.cast(typing.Optional[builtins.str], result)
2130
+
2131
+ @builtins.property
2132
+ def instance_metadata_tags(self) -> typing.Optional[builtins.str]:
2133
+ '''
2134
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancemetadataoptionsrequest-instancemetadatatags
2135
+ '''
2136
+ result = self._values.get("instance_metadata_tags")
2137
+ return typing.cast(typing.Optional[builtins.str], result)
2138
+
2139
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2140
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2141
+
2142
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2143
+ return not (rhs == self)
2144
+
2145
+ def __repr__(self) -> str:
2146
+ return "InstanceMetadataOptionsRequestProperty(%s)" % ", ".join(
2147
+ k + "=" + repr(v) for k, v in self._values.items()
2148
+ )
2149
+
2150
+ @jsii.data_type(
2151
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty",
2152
+ jsii_struct_bases=[],
2153
+ name_mapping={
2154
+ "description": "description",
2155
+ "device_index": "deviceIndex",
2156
+ "groups": "groups",
2157
+ "subnet_id": "subnetId",
2158
+ },
2159
+ )
2160
+ class InstanceNetworkInterfaceSpecificationProperty:
2161
+ def __init__(
2162
+ self,
2163
+ *,
2164
+ description: typing.Optional[builtins.str] = None,
2165
+ device_index: typing.Optional[jsii.Number] = None,
2166
+ groups: typing.Optional[typing.Sequence[builtins.str]] = None,
2167
+ subnet_id: typing.Optional[builtins.str] = None,
2168
+ ) -> None:
2169
+ '''
2170
+ :param description:
2171
+ :param device_index:
2172
+ :param groups:
2173
+ :param subnet_id:
2174
+
2175
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html
2176
+ :exampleMetadata: fixture=_generated
2177
+
2178
+ Example::
2179
+
2180
+ # The code below shows an example of how to instantiate this type.
2181
+ # The values are placeholders you should change.
2182
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2183
+
2184
+ instance_network_interface_specification_property = workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
2185
+ description="description",
2186
+ device_index=123,
2187
+ groups=["groups"],
2188
+ subnet_id="subnetId"
2189
+ )
2190
+ '''
2191
+ if __debug__:
2192
+ type_hints = typing.get_type_hints(_typecheckingstub__7c88a37359de0c57531f563cc84d1109a289e345ba61e892cf12f1611a31662d)
2193
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2194
+ check_type(argname="argument device_index", value=device_index, expected_type=type_hints["device_index"])
2195
+ check_type(argname="argument groups", value=groups, expected_type=type_hints["groups"])
2196
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
2197
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2198
+ if description is not None:
2199
+ self._values["description"] = description
2200
+ if device_index is not None:
2201
+ self._values["device_index"] = device_index
2202
+ if groups is not None:
2203
+ self._values["groups"] = groups
2204
+ if subnet_id is not None:
2205
+ self._values["subnet_id"] = subnet_id
2206
+
2207
+ @builtins.property
2208
+ def description(self) -> typing.Optional[builtins.str]:
2209
+ '''
2210
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-description
2211
+ '''
2212
+ result = self._values.get("description")
2213
+ return typing.cast(typing.Optional[builtins.str], result)
2214
+
2215
+ @builtins.property
2216
+ def device_index(self) -> typing.Optional[jsii.Number]:
2217
+ '''
2218
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-deviceindex
2219
+ '''
2220
+ result = self._values.get("device_index")
2221
+ return typing.cast(typing.Optional[jsii.Number], result)
2222
+
2223
+ @builtins.property
2224
+ def groups(self) -> typing.Optional[typing.List[builtins.str]]:
2225
+ '''
2226
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-groups
2227
+ '''
2228
+ result = self._values.get("groups")
2229
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2230
+
2231
+ @builtins.property
2232
+ def subnet_id(self) -> typing.Optional[builtins.str]:
2233
+ '''
2234
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification.html#cfn-workspacesinstances-workspaceinstance-instancenetworkinterfacespecification-subnetid
2235
+ '''
2236
+ result = self._values.get("subnet_id")
2237
+ return typing.cast(typing.Optional[builtins.str], result)
2238
+
2239
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2240
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2241
+
2242
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2243
+ return not (rhs == self)
2244
+
2245
+ def __repr__(self) -> str:
2246
+ return "InstanceNetworkInterfaceSpecificationProperty(%s)" % ", ".join(
2247
+ k + "=" + repr(v) for k, v in self._values.items()
2248
+ )
2249
+
2250
+ @jsii.data_type(
2251
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty",
2252
+ jsii_struct_bases=[],
2253
+ name_mapping={"bandwidth_weighting": "bandwidthWeighting"},
2254
+ )
2255
+ class InstanceNetworkPerformanceOptionsRequestProperty:
2256
+ def __init__(
2257
+ self,
2258
+ *,
2259
+ bandwidth_weighting: typing.Optional[builtins.str] = None,
2260
+ ) -> None:
2261
+ '''
2262
+ :param bandwidth_weighting:
2263
+
2264
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkperformanceoptionsrequest.html
2265
+ :exampleMetadata: fixture=_generated
2266
+
2267
+ Example::
2268
+
2269
+ # The code below shows an example of how to instantiate this type.
2270
+ # The values are placeholders you should change.
2271
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2272
+
2273
+ instance_network_performance_options_request_property = workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
2274
+ bandwidth_weighting="bandwidthWeighting"
2275
+ )
2276
+ '''
2277
+ if __debug__:
2278
+ type_hints = typing.get_type_hints(_typecheckingstub__8457689e343afe3fd18713b744f081cee9dcd43310c6b6befb13b25b56685b35)
2279
+ check_type(argname="argument bandwidth_weighting", value=bandwidth_weighting, expected_type=type_hints["bandwidth_weighting"])
2280
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2281
+ if bandwidth_weighting is not None:
2282
+ self._values["bandwidth_weighting"] = bandwidth_weighting
2283
+
2284
+ @builtins.property
2285
+ def bandwidth_weighting(self) -> typing.Optional[builtins.str]:
2286
+ '''
2287
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-instancenetworkperformanceoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-instancenetworkperformanceoptionsrequest-bandwidthweighting
2288
+ '''
2289
+ result = self._values.get("bandwidth_weighting")
2290
+ return typing.cast(typing.Optional[builtins.str], result)
2291
+
2292
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2293
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2294
+
2295
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2296
+ return not (rhs == self)
2297
+
2298
+ def __repr__(self) -> str:
2299
+ return "InstanceNetworkPerformanceOptionsRequestProperty(%s)" % ", ".join(
2300
+ k + "=" + repr(v) for k, v in self._values.items()
2301
+ )
2302
+
2303
+ @jsii.data_type(
2304
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.LicenseConfigurationRequestProperty",
2305
+ jsii_struct_bases=[],
2306
+ name_mapping={"license_configuration_arn": "licenseConfigurationArn"},
2307
+ )
2308
+ class LicenseConfigurationRequestProperty:
2309
+ def __init__(
2310
+ self,
2311
+ *,
2312
+ license_configuration_arn: typing.Optional[builtins.str] = None,
2313
+ ) -> None:
2314
+ '''
2315
+ :param license_configuration_arn:
2316
+
2317
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-licenseconfigurationrequest.html
2318
+ :exampleMetadata: fixture=_generated
2319
+
2320
+ Example::
2321
+
2322
+ # The code below shows an example of how to instantiate this type.
2323
+ # The values are placeholders you should change.
2324
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2325
+
2326
+ license_configuration_request_property = workspacesinstances.CfnWorkspaceInstance.LicenseConfigurationRequestProperty(
2327
+ license_configuration_arn="licenseConfigurationArn"
2328
+ )
2329
+ '''
2330
+ if __debug__:
2331
+ type_hints = typing.get_type_hints(_typecheckingstub__88bcc842cecd4571abd8f35580c280ee36aed2ea9152364e215ff691575d151e)
2332
+ check_type(argname="argument license_configuration_arn", value=license_configuration_arn, expected_type=type_hints["license_configuration_arn"])
2333
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2334
+ if license_configuration_arn is not None:
2335
+ self._values["license_configuration_arn"] = license_configuration_arn
2336
+
2337
+ @builtins.property
2338
+ def license_configuration_arn(self) -> typing.Optional[builtins.str]:
2339
+ '''
2340
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-licenseconfigurationrequest.html#cfn-workspacesinstances-workspaceinstance-licenseconfigurationrequest-licenseconfigurationarn
2341
+ '''
2342
+ result = self._values.get("license_configuration_arn")
2343
+ return typing.cast(typing.Optional[builtins.str], result)
2344
+
2345
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2346
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2347
+
2348
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2349
+ return not (rhs == self)
2350
+
2351
+ def __repr__(self) -> str:
2352
+ return "LicenseConfigurationRequestProperty(%s)" % ", ".join(
2353
+ k + "=" + repr(v) for k, v in self._values.items()
2354
+ )
2355
+
2356
+ @jsii.data_type(
2357
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty",
2358
+ jsii_struct_bases=[],
2359
+ name_mapping={
2360
+ "image_id": "imageId",
2361
+ "instance_type": "instanceType",
2362
+ "block_device_mappings": "blockDeviceMappings",
2363
+ "capacity_reservation_specification": "capacityReservationSpecification",
2364
+ "cpu_options": "cpuOptions",
2365
+ "credit_specification": "creditSpecification",
2366
+ "disable_api_stop": "disableApiStop",
2367
+ "ebs_optimized": "ebsOptimized",
2368
+ "enable_primary_ipv6": "enablePrimaryIpv6",
2369
+ "enclave_options": "enclaveOptions",
2370
+ "hibernation_options": "hibernationOptions",
2371
+ "iam_instance_profile": "iamInstanceProfile",
2372
+ "instance_market_options": "instanceMarketOptions",
2373
+ "ipv6_address_count": "ipv6AddressCount",
2374
+ "key_name": "keyName",
2375
+ "license_specifications": "licenseSpecifications",
2376
+ "maintenance_options": "maintenanceOptions",
2377
+ "metadata_options": "metadataOptions",
2378
+ "monitoring": "monitoring",
2379
+ "network_interfaces": "networkInterfaces",
2380
+ "network_performance_options": "networkPerformanceOptions",
2381
+ "placement": "placement",
2382
+ "private_dns_name_options": "privateDnsNameOptions",
2383
+ "subnet_id": "subnetId",
2384
+ "tag_specifications": "tagSpecifications",
2385
+ "user_data": "userData",
2386
+ },
2387
+ )
2388
+ class ManagedInstanceProperty:
2389
+ def __init__(
2390
+ self,
2391
+ *,
2392
+ image_id: builtins.str,
2393
+ instance_type: builtins.str,
2394
+ 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,
2395
+ capacity_reservation_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.CapacityReservationSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2396
+ cpu_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.CpuOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2397
+ credit_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.CreditSpecificationRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2398
+ disable_api_stop: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2399
+ ebs_optimized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2400
+ enable_primary_ipv6: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2401
+ enclave_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.EnclaveOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2402
+ hibernation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.HibernationOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2403
+ iam_instance_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2404
+ instance_market_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2405
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
2406
+ key_name: typing.Optional[builtins.str] = None,
2407
+ license_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.LicenseConfigurationRequestProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2408
+ maintenance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2409
+ metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2410
+ monitoring: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2411
+ 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,
2412
+ network_performance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2413
+ placement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.PlacementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2414
+ private_dns_name_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2415
+ subnet_id: typing.Optional[builtins.str] = None,
2416
+ 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,
2417
+ user_data: typing.Optional[builtins.str] = None,
2418
+ ) -> None:
2419
+ '''
2420
+ :param image_id:
2421
+ :param instance_type:
2422
+ :param block_device_mappings:
2423
+ :param capacity_reservation_specification:
2424
+ :param cpu_options:
2425
+ :param credit_specification:
2426
+ :param disable_api_stop:
2427
+ :param ebs_optimized:
2428
+ :param enable_primary_ipv6:
2429
+ :param enclave_options:
2430
+ :param hibernation_options:
2431
+ :param iam_instance_profile:
2432
+ :param instance_market_options:
2433
+ :param ipv6_address_count:
2434
+ :param key_name:
2435
+ :param license_specifications:
2436
+ :param maintenance_options:
2437
+ :param metadata_options:
2438
+ :param monitoring:
2439
+ :param network_interfaces:
2440
+ :param network_performance_options:
2441
+ :param placement:
2442
+ :param private_dns_name_options:
2443
+ :param subnet_id:
2444
+ :param tag_specifications:
2445
+ :param user_data:
2446
+
2447
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html
2448
+ :exampleMetadata: fixture=_generated
2449
+
2450
+ Example::
2451
+
2452
+ # The code below shows an example of how to instantiate this type.
2453
+ # The values are placeholders you should change.
2454
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2455
+
2456
+ managed_instance_property = workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty(
2457
+ image_id="imageId",
2458
+ instance_type="instanceType",
2459
+
2460
+ # the properties below are optional
2461
+ block_device_mappings=[workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
2462
+ device_name="deviceName",
2463
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
2464
+ encrypted=False,
2465
+ iops=123,
2466
+ kms_key_id="kmsKeyId",
2467
+ throughput=123,
2468
+ volume_size=123,
2469
+ volume_type="volumeType"
2470
+ ),
2471
+ no_device="noDevice",
2472
+ virtual_name="virtualName"
2473
+ )],
2474
+ capacity_reservation_specification=workspacesinstances.CfnWorkspaceInstance.CapacityReservationSpecificationProperty(
2475
+ capacity_reservation_preference="capacityReservationPreference",
2476
+ capacity_reservation_target=workspacesinstances.CfnWorkspaceInstance.CapacityReservationTargetProperty(
2477
+ capacity_reservation_id="capacityReservationId",
2478
+ capacity_reservation_resource_group_arn="capacityReservationResourceGroupArn"
2479
+ )
2480
+ ),
2481
+ cpu_options=workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
2482
+ core_count=123,
2483
+ threads_per_core=123
2484
+ ),
2485
+ credit_specification=workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
2486
+ cpu_credits="cpuCredits"
2487
+ ),
2488
+ disable_api_stop=False,
2489
+ ebs_optimized=False,
2490
+ enable_primary_ipv6=False,
2491
+ enclave_options=workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
2492
+ enabled=False
2493
+ ),
2494
+ hibernation_options=workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
2495
+ configured=False
2496
+ ),
2497
+ iam_instance_profile=workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
2498
+ arn="arn",
2499
+ name="name"
2500
+ ),
2501
+ instance_market_options=workspacesinstances.CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty(
2502
+ market_type="marketType",
2503
+ spot_options=workspacesinstances.CfnWorkspaceInstance.SpotMarketOptionsProperty(
2504
+ instance_interruption_behavior="instanceInterruptionBehavior",
2505
+ max_price="maxPrice",
2506
+ spot_instance_type="spotInstanceType",
2507
+ valid_until_utc="validUntilUtc"
2508
+ )
2509
+ ),
2510
+ ipv6_address_count=123,
2511
+ key_name="keyName",
2512
+ license_specifications=[workspacesinstances.CfnWorkspaceInstance.LicenseConfigurationRequestProperty(
2513
+ license_configuration_arn="licenseConfigurationArn"
2514
+ )],
2515
+ maintenance_options=workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
2516
+ auto_recovery="autoRecovery"
2517
+ ),
2518
+ metadata_options=workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
2519
+ http_endpoint="httpEndpoint",
2520
+ http_protocol_ipv6="httpProtocolIpv6",
2521
+ http_put_response_hop_limit=123,
2522
+ http_tokens="httpTokens",
2523
+ instance_metadata_tags="instanceMetadataTags"
2524
+ ),
2525
+ monitoring=workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
2526
+ enabled=False
2527
+ ),
2528
+ network_interfaces=[workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
2529
+ description="description",
2530
+ device_index=123,
2531
+ groups=["groups"],
2532
+ subnet_id="subnetId"
2533
+ )],
2534
+ network_performance_options=workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
2535
+ bandwidth_weighting="bandwidthWeighting"
2536
+ ),
2537
+ placement=workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
2538
+ availability_zone="availabilityZone",
2539
+ group_id="groupId",
2540
+ group_name="groupName",
2541
+ partition_number=123,
2542
+ tenancy="tenancy"
2543
+ ),
2544
+ private_dns_name_options=workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
2545
+ enable_resource_name_dns_aaaa_record=False,
2546
+ enable_resource_name_dns_aRecord=False,
2547
+ hostname_type="hostnameType"
2548
+ ),
2549
+ subnet_id="subnetId",
2550
+ tag_specifications=[workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
2551
+ resource_type="resourceType",
2552
+ tags=[CfnTag(
2553
+ key="key",
2554
+ value="value"
2555
+ )]
2556
+ )],
2557
+ user_data="userData"
2558
+ )
2559
+ '''
2560
+ if __debug__:
2561
+ type_hints = typing.get_type_hints(_typecheckingstub__122edb12e6993ba3ae146e0faaf65a6eef7a6651e2293cb5479f0afe37198259)
2562
+ check_type(argname="argument image_id", value=image_id, expected_type=type_hints["image_id"])
2563
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
2564
+ check_type(argname="argument block_device_mappings", value=block_device_mappings, expected_type=type_hints["block_device_mappings"])
2565
+ check_type(argname="argument capacity_reservation_specification", value=capacity_reservation_specification, expected_type=type_hints["capacity_reservation_specification"])
2566
+ check_type(argname="argument cpu_options", value=cpu_options, expected_type=type_hints["cpu_options"])
2567
+ check_type(argname="argument credit_specification", value=credit_specification, expected_type=type_hints["credit_specification"])
2568
+ check_type(argname="argument disable_api_stop", value=disable_api_stop, expected_type=type_hints["disable_api_stop"])
2569
+ check_type(argname="argument ebs_optimized", value=ebs_optimized, expected_type=type_hints["ebs_optimized"])
2570
+ check_type(argname="argument enable_primary_ipv6", value=enable_primary_ipv6, expected_type=type_hints["enable_primary_ipv6"])
2571
+ check_type(argname="argument enclave_options", value=enclave_options, expected_type=type_hints["enclave_options"])
2572
+ check_type(argname="argument hibernation_options", value=hibernation_options, expected_type=type_hints["hibernation_options"])
2573
+ check_type(argname="argument iam_instance_profile", value=iam_instance_profile, expected_type=type_hints["iam_instance_profile"])
2574
+ check_type(argname="argument instance_market_options", value=instance_market_options, expected_type=type_hints["instance_market_options"])
2575
+ check_type(argname="argument ipv6_address_count", value=ipv6_address_count, expected_type=type_hints["ipv6_address_count"])
2576
+ check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
2577
+ check_type(argname="argument license_specifications", value=license_specifications, expected_type=type_hints["license_specifications"])
2578
+ check_type(argname="argument maintenance_options", value=maintenance_options, expected_type=type_hints["maintenance_options"])
2579
+ check_type(argname="argument metadata_options", value=metadata_options, expected_type=type_hints["metadata_options"])
2580
+ check_type(argname="argument monitoring", value=monitoring, expected_type=type_hints["monitoring"])
2581
+ check_type(argname="argument network_interfaces", value=network_interfaces, expected_type=type_hints["network_interfaces"])
2582
+ check_type(argname="argument network_performance_options", value=network_performance_options, expected_type=type_hints["network_performance_options"])
2583
+ check_type(argname="argument placement", value=placement, expected_type=type_hints["placement"])
2584
+ check_type(argname="argument private_dns_name_options", value=private_dns_name_options, expected_type=type_hints["private_dns_name_options"])
2585
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
2586
+ check_type(argname="argument tag_specifications", value=tag_specifications, expected_type=type_hints["tag_specifications"])
2587
+ check_type(argname="argument user_data", value=user_data, expected_type=type_hints["user_data"])
2588
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2589
+ "image_id": image_id,
2590
+ "instance_type": instance_type,
2591
+ }
2592
+ if block_device_mappings is not None:
2593
+ self._values["block_device_mappings"] = block_device_mappings
2594
+ if capacity_reservation_specification is not None:
2595
+ self._values["capacity_reservation_specification"] = capacity_reservation_specification
2596
+ if cpu_options is not None:
2597
+ self._values["cpu_options"] = cpu_options
2598
+ if credit_specification is not None:
2599
+ self._values["credit_specification"] = credit_specification
2600
+ if disable_api_stop is not None:
2601
+ self._values["disable_api_stop"] = disable_api_stop
2602
+ if ebs_optimized is not None:
2603
+ self._values["ebs_optimized"] = ebs_optimized
2604
+ if enable_primary_ipv6 is not None:
2605
+ self._values["enable_primary_ipv6"] = enable_primary_ipv6
2606
+ if enclave_options is not None:
2607
+ self._values["enclave_options"] = enclave_options
2608
+ if hibernation_options is not None:
2609
+ self._values["hibernation_options"] = hibernation_options
2610
+ if iam_instance_profile is not None:
2611
+ self._values["iam_instance_profile"] = iam_instance_profile
2612
+ if instance_market_options is not None:
2613
+ self._values["instance_market_options"] = instance_market_options
2614
+ if ipv6_address_count is not None:
2615
+ self._values["ipv6_address_count"] = ipv6_address_count
2616
+ if key_name is not None:
2617
+ self._values["key_name"] = key_name
2618
+ if license_specifications is not None:
2619
+ self._values["license_specifications"] = license_specifications
2620
+ if maintenance_options is not None:
2621
+ self._values["maintenance_options"] = maintenance_options
2622
+ if metadata_options is not None:
2623
+ self._values["metadata_options"] = metadata_options
2624
+ if monitoring is not None:
2625
+ self._values["monitoring"] = monitoring
2626
+ if network_interfaces is not None:
2627
+ self._values["network_interfaces"] = network_interfaces
2628
+ if network_performance_options is not None:
2629
+ self._values["network_performance_options"] = network_performance_options
2630
+ if placement is not None:
2631
+ self._values["placement"] = placement
2632
+ if private_dns_name_options is not None:
2633
+ self._values["private_dns_name_options"] = private_dns_name_options
2634
+ if subnet_id is not None:
2635
+ self._values["subnet_id"] = subnet_id
2636
+ if tag_specifications is not None:
2637
+ self._values["tag_specifications"] = tag_specifications
2638
+ if user_data is not None:
2639
+ self._values["user_data"] = user_data
2640
+
2641
+ @builtins.property
2642
+ def image_id(self) -> builtins.str:
2643
+ '''
2644
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-imageid
2645
+ '''
2646
+ result = self._values.get("image_id")
2647
+ assert result is not None, "Required property 'image_id' is missing"
2648
+ return typing.cast(builtins.str, result)
2649
+
2650
+ @builtins.property
2651
+ def instance_type(self) -> builtins.str:
2652
+ '''
2653
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-instancetype
2654
+ '''
2655
+ result = self._values.get("instance_type")
2656
+ assert result is not None, "Required property 'instance_type' is missing"
2657
+ return typing.cast(builtins.str, result)
2658
+
2659
+ @builtins.property
2660
+ def block_device_mappings(
2661
+ self,
2662
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.BlockDeviceMappingProperty"]]]]:
2663
+ '''
2664
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-blockdevicemappings
2665
+ '''
2666
+ result = self._values.get("block_device_mappings")
2667
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.BlockDeviceMappingProperty"]]]], result)
2668
+
2669
+ @builtins.property
2670
+ def capacity_reservation_specification(
2671
+ self,
2672
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CapacityReservationSpecificationProperty"]]:
2673
+ '''
2674
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-capacityreservationspecification
2675
+ '''
2676
+ result = self._values.get("capacity_reservation_specification")
2677
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CapacityReservationSpecificationProperty"]], result)
2678
+
2679
+ @builtins.property
2680
+ def cpu_options(
2681
+ self,
2682
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CpuOptionsRequestProperty"]]:
2683
+ '''
2684
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-cpuoptions
2685
+ '''
2686
+ result = self._values.get("cpu_options")
2687
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CpuOptionsRequestProperty"]], result)
2688
+
2689
+ @builtins.property
2690
+ def credit_specification(
2691
+ self,
2692
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CreditSpecificationRequestProperty"]]:
2693
+ '''
2694
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-creditspecification
2695
+ '''
2696
+ result = self._values.get("credit_specification")
2697
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.CreditSpecificationRequestProperty"]], result)
2698
+
2699
+ @builtins.property
2700
+ def disable_api_stop(
2701
+ self,
2702
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2703
+ '''
2704
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-disableapistop
2705
+ '''
2706
+ result = self._values.get("disable_api_stop")
2707
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2708
+
2709
+ @builtins.property
2710
+ def ebs_optimized(
2711
+ self,
2712
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2713
+ '''
2714
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-ebsoptimized
2715
+ '''
2716
+ result = self._values.get("ebs_optimized")
2717
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2718
+
2719
+ @builtins.property
2720
+ def enable_primary_ipv6(
2721
+ self,
2722
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2723
+ '''
2724
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-enableprimaryipv6
2725
+ '''
2726
+ result = self._values.get("enable_primary_ipv6")
2727
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2728
+
2729
+ @builtins.property
2730
+ def enclave_options(
2731
+ self,
2732
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EnclaveOptionsRequestProperty"]]:
2733
+ '''
2734
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-enclaveoptions
2735
+ '''
2736
+ result = self._values.get("enclave_options")
2737
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.EnclaveOptionsRequestProperty"]], result)
2738
+
2739
+ @builtins.property
2740
+ def hibernation_options(
2741
+ self,
2742
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.HibernationOptionsRequestProperty"]]:
2743
+ '''
2744
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-hibernationoptions
2745
+ '''
2746
+ result = self._values.get("hibernation_options")
2747
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.HibernationOptionsRequestProperty"]], result)
2748
+
2749
+ @builtins.property
2750
+ def iam_instance_profile(
2751
+ self,
2752
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty"]]:
2753
+ '''
2754
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-iaminstanceprofile
2755
+ '''
2756
+ result = self._values.get("iam_instance_profile")
2757
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty"]], result)
2758
+
2759
+ @builtins.property
2760
+ def instance_market_options(
2761
+ self,
2762
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty"]]:
2763
+ '''
2764
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-instancemarketoptions
2765
+ '''
2766
+ result = self._values.get("instance_market_options")
2767
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty"]], result)
2768
+
2769
+ @builtins.property
2770
+ def ipv6_address_count(self) -> typing.Optional[jsii.Number]:
2771
+ '''
2772
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-ipv6addresscount
2773
+ '''
2774
+ result = self._values.get("ipv6_address_count")
2775
+ return typing.cast(typing.Optional[jsii.Number], result)
2776
+
2777
+ @builtins.property
2778
+ def key_name(self) -> typing.Optional[builtins.str]:
2779
+ '''
2780
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-keyname
2781
+ '''
2782
+ result = self._values.get("key_name")
2783
+ return typing.cast(typing.Optional[builtins.str], result)
2784
+
2785
+ @builtins.property
2786
+ def license_specifications(
2787
+ self,
2788
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.LicenseConfigurationRequestProperty"]]]]:
2789
+ '''
2790
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-licensespecifications
2791
+ '''
2792
+ result = self._values.get("license_specifications")
2793
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.LicenseConfigurationRequestProperty"]]]], result)
2794
+
2795
+ @builtins.property
2796
+ def maintenance_options(
2797
+ self,
2798
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty"]]:
2799
+ '''
2800
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-maintenanceoptions
2801
+ '''
2802
+ result = self._values.get("maintenance_options")
2803
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty"]], result)
2804
+
2805
+ @builtins.property
2806
+ def metadata_options(
2807
+ self,
2808
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty"]]:
2809
+ '''
2810
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-metadataoptions
2811
+ '''
2812
+ result = self._values.get("metadata_options")
2813
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty"]], result)
2814
+
2815
+ @builtins.property
2816
+ def monitoring(
2817
+ self,
2818
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty"]]:
2819
+ '''
2820
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-monitoring
2821
+ '''
2822
+ result = self._values.get("monitoring")
2823
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty"]], result)
2824
+
2825
+ @builtins.property
2826
+ def network_interfaces(
2827
+ self,
2828
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty"]]]]:
2829
+ '''
2830
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-networkinterfaces
2831
+ '''
2832
+ result = self._values.get("network_interfaces")
2833
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty"]]]], result)
2834
+
2835
+ @builtins.property
2836
+ def network_performance_options(
2837
+ self,
2838
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty"]]:
2839
+ '''
2840
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-networkperformanceoptions
2841
+ '''
2842
+ result = self._values.get("network_performance_options")
2843
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty"]], result)
2844
+
2845
+ @builtins.property
2846
+ def placement(
2847
+ self,
2848
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PlacementProperty"]]:
2849
+ '''
2850
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-placement
2851
+ '''
2852
+ result = self._values.get("placement")
2853
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PlacementProperty"]], result)
2854
+
2855
+ @builtins.property
2856
+ def private_dns_name_options(
2857
+ self,
2858
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty"]]:
2859
+ '''
2860
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-privatednsnameoptions
2861
+ '''
2862
+ result = self._values.get("private_dns_name_options")
2863
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty"]], result)
2864
+
2865
+ @builtins.property
2866
+ def subnet_id(self) -> typing.Optional[builtins.str]:
2867
+ '''
2868
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-subnetid
2869
+ '''
2870
+ result = self._values.get("subnet_id")
2871
+ return typing.cast(typing.Optional[builtins.str], result)
2872
+
2873
+ @builtins.property
2874
+ def tag_specifications(
2875
+ self,
2876
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.TagSpecificationProperty"]]]]:
2877
+ '''
2878
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-tagspecifications
2879
+ '''
2880
+ result = self._values.get("tag_specifications")
2881
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspaceInstance.TagSpecificationProperty"]]]], result)
2882
+
2883
+ @builtins.property
2884
+ def user_data(self) -> typing.Optional[builtins.str]:
2885
+ '''
2886
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-managedinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance-userdata
2887
+ '''
2888
+ result = self._values.get("user_data")
2889
+ return typing.cast(typing.Optional[builtins.str], result)
2890
+
2891
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2892
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2893
+
2894
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2895
+ return not (rhs == self)
2896
+
2897
+ def __repr__(self) -> str:
2898
+ return "ManagedInstanceProperty(%s)" % ", ".join(
2899
+ k + "=" + repr(v) for k, v in self._values.items()
2900
+ )
2901
+
2902
+ @jsii.data_type(
2903
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.PlacementProperty",
2904
+ jsii_struct_bases=[],
2905
+ name_mapping={
2906
+ "availability_zone": "availabilityZone",
2907
+ "group_id": "groupId",
2908
+ "group_name": "groupName",
2909
+ "partition_number": "partitionNumber",
2910
+ "tenancy": "tenancy",
2911
+ },
2912
+ )
2913
+ class PlacementProperty:
2914
+ def __init__(
2915
+ self,
2916
+ *,
2917
+ availability_zone: typing.Optional[builtins.str] = None,
2918
+ group_id: typing.Optional[builtins.str] = None,
2919
+ group_name: typing.Optional[builtins.str] = None,
2920
+ partition_number: typing.Optional[jsii.Number] = None,
2921
+ tenancy: typing.Optional[builtins.str] = None,
2922
+ ) -> None:
2923
+ '''
2924
+ :param availability_zone:
2925
+ :param group_id:
2926
+ :param group_name:
2927
+ :param partition_number:
2928
+ :param tenancy:
2929
+
2930
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html
2931
+ :exampleMetadata: fixture=_generated
2932
+
2933
+ Example::
2934
+
2935
+ # The code below shows an example of how to instantiate this type.
2936
+ # The values are placeholders you should change.
2937
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
2938
+
2939
+ placement_property = workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
2940
+ availability_zone="availabilityZone",
2941
+ group_id="groupId",
2942
+ group_name="groupName",
2943
+ partition_number=123,
2944
+ tenancy="tenancy"
2945
+ )
2946
+ '''
2947
+ if __debug__:
2948
+ type_hints = typing.get_type_hints(_typecheckingstub__74aaa065dbb77262ecab6552e5fde4ac2723c645be4dde2327c06e281386c1f8)
2949
+ check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
2950
+ check_type(argname="argument group_id", value=group_id, expected_type=type_hints["group_id"])
2951
+ check_type(argname="argument group_name", value=group_name, expected_type=type_hints["group_name"])
2952
+ check_type(argname="argument partition_number", value=partition_number, expected_type=type_hints["partition_number"])
2953
+ check_type(argname="argument tenancy", value=tenancy, expected_type=type_hints["tenancy"])
2954
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2955
+ if availability_zone is not None:
2956
+ self._values["availability_zone"] = availability_zone
2957
+ if group_id is not None:
2958
+ self._values["group_id"] = group_id
2959
+ if group_name is not None:
2960
+ self._values["group_name"] = group_name
2961
+ if partition_number is not None:
2962
+ self._values["partition_number"] = partition_number
2963
+ if tenancy is not None:
2964
+ self._values["tenancy"] = tenancy
2965
+
2966
+ @builtins.property
2967
+ def availability_zone(self) -> typing.Optional[builtins.str]:
2968
+ '''
2969
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-availabilityzone
2970
+ '''
2971
+ result = self._values.get("availability_zone")
2972
+ return typing.cast(typing.Optional[builtins.str], result)
2973
+
2974
+ @builtins.property
2975
+ def group_id(self) -> typing.Optional[builtins.str]:
2976
+ '''
2977
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-groupid
2978
+ '''
2979
+ result = self._values.get("group_id")
2980
+ return typing.cast(typing.Optional[builtins.str], result)
2981
+
2982
+ @builtins.property
2983
+ def group_name(self) -> typing.Optional[builtins.str]:
2984
+ '''
2985
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-groupname
2986
+ '''
2987
+ result = self._values.get("group_name")
2988
+ return typing.cast(typing.Optional[builtins.str], result)
2989
+
2990
+ @builtins.property
2991
+ def partition_number(self) -> typing.Optional[jsii.Number]:
2992
+ '''
2993
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-partitionnumber
2994
+ '''
2995
+ result = self._values.get("partition_number")
2996
+ return typing.cast(typing.Optional[jsii.Number], result)
2997
+
2998
+ @builtins.property
2999
+ def tenancy(self) -> typing.Optional[builtins.str]:
3000
+ '''
3001
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-placement.html#cfn-workspacesinstances-workspaceinstance-placement-tenancy
3002
+ '''
3003
+ result = self._values.get("tenancy")
3004
+ return typing.cast(typing.Optional[builtins.str], result)
3005
+
3006
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3007
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3008
+
3009
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3010
+ return not (rhs == self)
3011
+
3012
+ def __repr__(self) -> str:
3013
+ return "PlacementProperty(%s)" % ", ".join(
3014
+ k + "=" + repr(v) for k, v in self._values.items()
3015
+ )
3016
+
3017
+ @jsii.data_type(
3018
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty",
3019
+ jsii_struct_bases=[],
3020
+ name_mapping={
3021
+ "enable_resource_name_dns_aaaa_record": "enableResourceNameDnsAaaaRecord",
3022
+ "enable_resource_name_dns_a_record": "enableResourceNameDnsARecord",
3023
+ "hostname_type": "hostnameType",
3024
+ },
3025
+ )
3026
+ class PrivateDnsNameOptionsRequestProperty:
3027
+ def __init__(
3028
+ self,
3029
+ *,
3030
+ enable_resource_name_dns_aaaa_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3031
+ enable_resource_name_dns_a_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3032
+ hostname_type: typing.Optional[builtins.str] = None,
3033
+ ) -> None:
3034
+ '''
3035
+ :param enable_resource_name_dns_aaaa_record:
3036
+ :param enable_resource_name_dns_a_record:
3037
+ :param hostname_type:
3038
+
3039
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html
3040
+ :exampleMetadata: fixture=_generated
3041
+
3042
+ Example::
3043
+
3044
+ # The code below shows an example of how to instantiate this type.
3045
+ # The values are placeholders you should change.
3046
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
3047
+
3048
+ private_dns_name_options_request_property = workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
3049
+ enable_resource_name_dns_aaaa_record=False,
3050
+ enable_resource_name_dns_aRecord=False,
3051
+ hostname_type="hostnameType"
3052
+ )
3053
+ '''
3054
+ if __debug__:
3055
+ type_hints = typing.get_type_hints(_typecheckingstub__5bcd696ce9417cfc6075ca9f9d64535711403bc6dc26a7e1e325bcb0b416dccc)
3056
+ 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"])
3057
+ 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"])
3058
+ check_type(argname="argument hostname_type", value=hostname_type, expected_type=type_hints["hostname_type"])
3059
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3060
+ if enable_resource_name_dns_aaaa_record is not None:
3061
+ self._values["enable_resource_name_dns_aaaa_record"] = enable_resource_name_dns_aaaa_record
3062
+ if enable_resource_name_dns_a_record is not None:
3063
+ self._values["enable_resource_name_dns_a_record"] = enable_resource_name_dns_a_record
3064
+ if hostname_type is not None:
3065
+ self._values["hostname_type"] = hostname_type
3066
+
3067
+ @builtins.property
3068
+ def enable_resource_name_dns_aaaa_record(
3069
+ self,
3070
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3071
+ '''
3072
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest-enableresourcenamednsaaaarecord
3073
+ '''
3074
+ result = self._values.get("enable_resource_name_dns_aaaa_record")
3075
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3076
+
3077
+ @builtins.property
3078
+ def enable_resource_name_dns_a_record(
3079
+ self,
3080
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3081
+ '''
3082
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest-enableresourcenamednsarecord
3083
+ '''
3084
+ result = self._values.get("enable_resource_name_dns_a_record")
3085
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3086
+
3087
+ @builtins.property
3088
+ def hostname_type(self) -> typing.Optional[builtins.str]:
3089
+ '''
3090
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest.html#cfn-workspacesinstances-workspaceinstance-privatednsnameoptionsrequest-hostnametype
3091
+ '''
3092
+ result = self._values.get("hostname_type")
3093
+ return typing.cast(typing.Optional[builtins.str], result)
3094
+
3095
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3096
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3097
+
3098
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3099
+ return not (rhs == self)
3100
+
3101
+ def __repr__(self) -> str:
3102
+ return "PrivateDnsNameOptionsRequestProperty(%s)" % ", ".join(
3103
+ k + "=" + repr(v) for k, v in self._values.items()
3104
+ )
3105
+
3106
+ @jsii.data_type(
3107
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty",
3108
+ jsii_struct_bases=[],
3109
+ name_mapping={"enabled": "enabled"},
3110
+ )
3111
+ class RunInstancesMonitoringEnabledProperty:
3112
+ def __init__(
3113
+ self,
3114
+ *,
3115
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3116
+ ) -> None:
3117
+ '''
3118
+ :param enabled:
3119
+
3120
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-runinstancesmonitoringenabled.html
3121
+ :exampleMetadata: fixture=_generated
3122
+
3123
+ Example::
3124
+
3125
+ # The code below shows an example of how to instantiate this type.
3126
+ # The values are placeholders you should change.
3127
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
3128
+
3129
+ run_instances_monitoring_enabled_property = workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
3130
+ enabled=False
3131
+ )
3132
+ '''
3133
+ if __debug__:
3134
+ type_hints = typing.get_type_hints(_typecheckingstub__6fcd9d05f58e0d776ba7b11b076d5a7c565bc9ea5ce223eab03cdac46e660811)
3135
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
3136
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3137
+ if enabled is not None:
3138
+ self._values["enabled"] = enabled
3139
+
3140
+ @builtins.property
3141
+ def enabled(
3142
+ self,
3143
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3144
+ '''
3145
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-runinstancesmonitoringenabled.html#cfn-workspacesinstances-workspaceinstance-runinstancesmonitoringenabled-enabled
3146
+ '''
3147
+ result = self._values.get("enabled")
3148
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3149
+
3150
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3151
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3152
+
3153
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3154
+ return not (rhs == self)
3155
+
3156
+ def __repr__(self) -> str:
3157
+ return "RunInstancesMonitoringEnabledProperty(%s)" % ", ".join(
3158
+ k + "=" + repr(v) for k, v in self._values.items()
3159
+ )
3160
+
3161
+ @jsii.data_type(
3162
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.SpotMarketOptionsProperty",
3163
+ jsii_struct_bases=[],
3164
+ name_mapping={
3165
+ "instance_interruption_behavior": "instanceInterruptionBehavior",
3166
+ "max_price": "maxPrice",
3167
+ "spot_instance_type": "spotInstanceType",
3168
+ "valid_until_utc": "validUntilUtc",
3169
+ },
3170
+ )
3171
+ class SpotMarketOptionsProperty:
3172
+ def __init__(
3173
+ self,
3174
+ *,
3175
+ instance_interruption_behavior: typing.Optional[builtins.str] = None,
3176
+ max_price: typing.Optional[builtins.str] = None,
3177
+ spot_instance_type: typing.Optional[builtins.str] = None,
3178
+ valid_until_utc: typing.Optional[builtins.str] = None,
3179
+ ) -> None:
3180
+ '''
3181
+ :param instance_interruption_behavior:
3182
+ :param max_price:
3183
+ :param spot_instance_type:
3184
+ :param valid_until_utc:
3185
+
3186
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-spotmarketoptions.html
3187
+ :exampleMetadata: fixture=_generated
3188
+
3189
+ Example::
3190
+
3191
+ # The code below shows an example of how to instantiate this type.
3192
+ # The values are placeholders you should change.
3193
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
3194
+
3195
+ spot_market_options_property = workspacesinstances.CfnWorkspaceInstance.SpotMarketOptionsProperty(
3196
+ instance_interruption_behavior="instanceInterruptionBehavior",
3197
+ max_price="maxPrice",
3198
+ spot_instance_type="spotInstanceType",
3199
+ valid_until_utc="validUntilUtc"
3200
+ )
3201
+ '''
3202
+ if __debug__:
3203
+ type_hints = typing.get_type_hints(_typecheckingstub__3f2b025a20b39464357aca8413f9d8b09d278990163112ca1429525ca31400ea)
3204
+ check_type(argname="argument instance_interruption_behavior", value=instance_interruption_behavior, expected_type=type_hints["instance_interruption_behavior"])
3205
+ check_type(argname="argument max_price", value=max_price, expected_type=type_hints["max_price"])
3206
+ check_type(argname="argument spot_instance_type", value=spot_instance_type, expected_type=type_hints["spot_instance_type"])
3207
+ check_type(argname="argument valid_until_utc", value=valid_until_utc, expected_type=type_hints["valid_until_utc"])
3208
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3209
+ if instance_interruption_behavior is not None:
3210
+ self._values["instance_interruption_behavior"] = instance_interruption_behavior
3211
+ if max_price is not None:
3212
+ self._values["max_price"] = max_price
3213
+ if spot_instance_type is not None:
3214
+ self._values["spot_instance_type"] = spot_instance_type
3215
+ if valid_until_utc is not None:
3216
+ self._values["valid_until_utc"] = valid_until_utc
3217
+
3218
+ @builtins.property
3219
+ def instance_interruption_behavior(self) -> typing.Optional[builtins.str]:
3220
+ '''
3221
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-spotmarketoptions.html#cfn-workspacesinstances-workspaceinstance-spotmarketoptions-instanceinterruptionbehavior
3222
+ '''
3223
+ result = self._values.get("instance_interruption_behavior")
3224
+ return typing.cast(typing.Optional[builtins.str], result)
3225
+
3226
+ @builtins.property
3227
+ def max_price(self) -> typing.Optional[builtins.str]:
3228
+ '''
3229
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-spotmarketoptions.html#cfn-workspacesinstances-workspaceinstance-spotmarketoptions-maxprice
3230
+ '''
3231
+ result = self._values.get("max_price")
3232
+ return typing.cast(typing.Optional[builtins.str], result)
3233
+
3234
+ @builtins.property
3235
+ def spot_instance_type(self) -> typing.Optional[builtins.str]:
3236
+ '''
3237
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-spotmarketoptions.html#cfn-workspacesinstances-workspaceinstance-spotmarketoptions-spotinstancetype
3238
+ '''
3239
+ result = self._values.get("spot_instance_type")
3240
+ return typing.cast(typing.Optional[builtins.str], result)
3241
+
3242
+ @builtins.property
3243
+ def valid_until_utc(self) -> typing.Optional[builtins.str]:
3244
+ '''
3245
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-spotmarketoptions.html#cfn-workspacesinstances-workspaceinstance-spotmarketoptions-validuntilutc
3246
+ '''
3247
+ result = self._values.get("valid_until_utc")
3248
+ return typing.cast(typing.Optional[builtins.str], result)
3249
+
3250
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3251
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3252
+
3253
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3254
+ return not (rhs == self)
3255
+
3256
+ def __repr__(self) -> str:
3257
+ return "SpotMarketOptionsProperty(%s)" % ", ".join(
3258
+ k + "=" + repr(v) for k, v in self._values.items()
3259
+ )
3260
+
3261
+ @jsii.data_type(
3262
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty",
3263
+ jsii_struct_bases=[],
3264
+ name_mapping={"resource_type": "resourceType", "tags": "tags"},
3265
+ )
3266
+ class TagSpecificationProperty:
3267
+ def __init__(
3268
+ self,
3269
+ *,
3270
+ resource_type: typing.Optional[builtins.str] = None,
3271
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3272
+ ) -> None:
3273
+ '''
3274
+ :param resource_type:
3275
+ :param tags:
3276
+
3277
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-tagspecification.html
3278
+ :exampleMetadata: fixture=_generated
3279
+
3280
+ Example::
3281
+
3282
+ # The code below shows an example of how to instantiate this type.
3283
+ # The values are placeholders you should change.
3284
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
3285
+
3286
+ tag_specification_property = workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
3287
+ resource_type="resourceType",
3288
+ tags=[CfnTag(
3289
+ key="key",
3290
+ value="value"
3291
+ )]
3292
+ )
3293
+ '''
3294
+ if __debug__:
3295
+ type_hints = typing.get_type_hints(_typecheckingstub__a80a115a0fb3e43ec2f01b3395420a80cbdd00bb61da5e1c9176167d6eb9bbf0)
3296
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
3297
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3298
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3299
+ if resource_type is not None:
3300
+ self._values["resource_type"] = resource_type
3301
+ if tags is not None:
3302
+ self._values["tags"] = tags
3303
+
3304
+ @builtins.property
3305
+ def resource_type(self) -> typing.Optional[builtins.str]:
3306
+ '''
3307
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-tagspecification.html#cfn-workspacesinstances-workspaceinstance-tagspecification-resourcetype
3308
+ '''
3309
+ result = self._values.get("resource_type")
3310
+ return typing.cast(typing.Optional[builtins.str], result)
3311
+
3312
+ @builtins.property
3313
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3314
+ '''
3315
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspacesinstances-workspaceinstance-tagspecification.html#cfn-workspacesinstances-workspaceinstance-tagspecification-tags
3316
+ '''
3317
+ result = self._values.get("tags")
3318
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3319
+
3320
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3321
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3322
+
3323
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3324
+ return not (rhs == self)
3325
+
3326
+ def __repr__(self) -> str:
3327
+ return "TagSpecificationProperty(%s)" % ", ".join(
3328
+ k + "=" + repr(v) for k, v in self._values.items()
3329
+ )
3330
+
3331
+
3332
+ @jsii.data_type(
3333
+ jsii_type="aws-cdk-lib.aws_workspacesinstances.CfnWorkspaceInstanceProps",
3334
+ jsii_struct_bases=[],
3335
+ name_mapping={"managed_instance": "managedInstance", "tags": "tags"},
3336
+ )
3337
+ class CfnWorkspaceInstanceProps:
3338
+ def __init__(
3339
+ self,
3340
+ *,
3341
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.ManagedInstanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3342
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3343
+ ) -> None:
3344
+ '''Properties for defining a ``CfnWorkspaceInstance``.
3345
+
3346
+ :param managed_instance:
3347
+ :param tags:
3348
+
3349
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html
3350
+ :exampleMetadata: fixture=_generated
3351
+
3352
+ Example::
3353
+
3354
+ # The code below shows an example of how to instantiate this type.
3355
+ # The values are placeholders you should change.
3356
+ from aws_cdk import aws_workspacesinstances as workspacesinstances
3357
+
3358
+ cfn_workspace_instance_props = workspacesinstances.CfnWorkspaceInstanceProps(
3359
+ managed_instance=workspacesinstances.CfnWorkspaceInstance.ManagedInstanceProperty(
3360
+ image_id="imageId",
3361
+ instance_type="instanceType",
3362
+
3363
+ # the properties below are optional
3364
+ block_device_mappings=[workspacesinstances.CfnWorkspaceInstance.BlockDeviceMappingProperty(
3365
+ device_name="deviceName",
3366
+ ebs=workspacesinstances.CfnWorkspaceInstance.EbsBlockDeviceProperty(
3367
+ encrypted=False,
3368
+ iops=123,
3369
+ kms_key_id="kmsKeyId",
3370
+ throughput=123,
3371
+ volume_size=123,
3372
+ volume_type="volumeType"
3373
+ ),
3374
+ no_device="noDevice",
3375
+ virtual_name="virtualName"
3376
+ )],
3377
+ capacity_reservation_specification=workspacesinstances.CfnWorkspaceInstance.CapacityReservationSpecificationProperty(
3378
+ capacity_reservation_preference="capacityReservationPreference",
3379
+ capacity_reservation_target=workspacesinstances.CfnWorkspaceInstance.CapacityReservationTargetProperty(
3380
+ capacity_reservation_id="capacityReservationId",
3381
+ capacity_reservation_resource_group_arn="capacityReservationResourceGroupArn"
3382
+ )
3383
+ ),
3384
+ cpu_options=workspacesinstances.CfnWorkspaceInstance.CpuOptionsRequestProperty(
3385
+ core_count=123,
3386
+ threads_per_core=123
3387
+ ),
3388
+ credit_specification=workspacesinstances.CfnWorkspaceInstance.CreditSpecificationRequestProperty(
3389
+ cpu_credits="cpuCredits"
3390
+ ),
3391
+ disable_api_stop=False,
3392
+ ebs_optimized=False,
3393
+ enable_primary_ipv6=False,
3394
+ enclave_options=workspacesinstances.CfnWorkspaceInstance.EnclaveOptionsRequestProperty(
3395
+ enabled=False
3396
+ ),
3397
+ hibernation_options=workspacesinstances.CfnWorkspaceInstance.HibernationOptionsRequestProperty(
3398
+ configured=False
3399
+ ),
3400
+ iam_instance_profile=workspacesinstances.CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty(
3401
+ arn="arn",
3402
+ name="name"
3403
+ ),
3404
+ instance_market_options=workspacesinstances.CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty(
3405
+ market_type="marketType",
3406
+ spot_options=workspacesinstances.CfnWorkspaceInstance.SpotMarketOptionsProperty(
3407
+ instance_interruption_behavior="instanceInterruptionBehavior",
3408
+ max_price="maxPrice",
3409
+ spot_instance_type="spotInstanceType",
3410
+ valid_until_utc="validUntilUtc"
3411
+ )
3412
+ ),
3413
+ ipv6_address_count=123,
3414
+ key_name="keyName",
3415
+ license_specifications=[workspacesinstances.CfnWorkspaceInstance.LicenseConfigurationRequestProperty(
3416
+ license_configuration_arn="licenseConfigurationArn"
3417
+ )],
3418
+ maintenance_options=workspacesinstances.CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty(
3419
+ auto_recovery="autoRecovery"
3420
+ ),
3421
+ metadata_options=workspacesinstances.CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty(
3422
+ http_endpoint="httpEndpoint",
3423
+ http_protocol_ipv6="httpProtocolIpv6",
3424
+ http_put_response_hop_limit=123,
3425
+ http_tokens="httpTokens",
3426
+ instance_metadata_tags="instanceMetadataTags"
3427
+ ),
3428
+ monitoring=workspacesinstances.CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty(
3429
+ enabled=False
3430
+ ),
3431
+ network_interfaces=[workspacesinstances.CfnWorkspaceInstance.InstanceNetworkInterfaceSpecificationProperty(
3432
+ description="description",
3433
+ device_index=123,
3434
+ groups=["groups"],
3435
+ subnet_id="subnetId"
3436
+ )],
3437
+ network_performance_options=workspacesinstances.CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty(
3438
+ bandwidth_weighting="bandwidthWeighting"
3439
+ ),
3440
+ placement=workspacesinstances.CfnWorkspaceInstance.PlacementProperty(
3441
+ availability_zone="availabilityZone",
3442
+ group_id="groupId",
3443
+ group_name="groupName",
3444
+ partition_number=123,
3445
+ tenancy="tenancy"
3446
+ ),
3447
+ private_dns_name_options=workspacesinstances.CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty(
3448
+ enable_resource_name_dns_aaaa_record=False,
3449
+ enable_resource_name_dns_aRecord=False,
3450
+ hostname_type="hostnameType"
3451
+ ),
3452
+ subnet_id="subnetId",
3453
+ tag_specifications=[workspacesinstances.CfnWorkspaceInstance.TagSpecificationProperty(
3454
+ resource_type="resourceType",
3455
+ tags=[CfnTag(
3456
+ key="key",
3457
+ value="value"
3458
+ )]
3459
+ )],
3460
+ user_data="userData"
3461
+ ),
3462
+ tags=[CfnTag(
3463
+ key="key",
3464
+ value="value"
3465
+ )]
3466
+ )
3467
+ '''
3468
+ if __debug__:
3469
+ type_hints = typing.get_type_hints(_typecheckingstub__5d4292dcb083e5a048440cd4455e31dfc65f5b3dd4c844b99e38e6c3941cca08)
3470
+ check_type(argname="argument managed_instance", value=managed_instance, expected_type=type_hints["managed_instance"])
3471
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3472
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3473
+ if managed_instance is not None:
3474
+ self._values["managed_instance"] = managed_instance
3475
+ if tags is not None:
3476
+ self._values["tags"] = tags
3477
+
3478
+ @builtins.property
3479
+ def managed_instance(
3480
+ self,
3481
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspaceInstance.ManagedInstanceProperty]]:
3482
+ '''
3483
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html#cfn-workspacesinstances-workspaceinstance-managedinstance
3484
+ '''
3485
+ result = self._values.get("managed_instance")
3486
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspaceInstance.ManagedInstanceProperty]], result)
3487
+
3488
+ @builtins.property
3489
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3490
+ '''
3491
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesinstances-workspaceinstance.html#cfn-workspacesinstances-workspaceinstance-tags
3492
+ '''
3493
+ result = self._values.get("tags")
3494
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3495
+
3496
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3497
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3498
+
3499
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3500
+ return not (rhs == self)
3501
+
3502
+ def __repr__(self) -> str:
3503
+ return "CfnWorkspaceInstanceProps(%s)" % ", ".join(
3504
+ k + "=" + repr(v) for k, v in self._values.items()
3505
+ )
3506
+
3507
+
3508
+ __all__ = [
3509
+ "CfnVolume",
3510
+ "CfnVolumeAssociation",
3511
+ "CfnVolumeAssociationProps",
3512
+ "CfnVolumeProps",
3513
+ "CfnWorkspaceInstance",
3514
+ "CfnWorkspaceInstanceProps",
3515
+ ]
3516
+
3517
+ publication.publish()
3518
+
3519
+ def _typecheckingstub__6f8f538e7b445e64dae7c3f3fa5cbf03f73a9175df0c28d38e372410d7a38644(
3520
+ scope: _constructs_77d1e7e8.Construct,
3521
+ id: builtins.str,
3522
+ *,
3523
+ availability_zone: builtins.str,
3524
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3525
+ iops: typing.Optional[jsii.Number] = None,
3526
+ kms_key_id: typing.Optional[builtins.str] = None,
3527
+ size_in_gb: typing.Optional[jsii.Number] = None,
3528
+ snapshot_id: typing.Optional[builtins.str] = None,
3529
+ 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,
3530
+ throughput: typing.Optional[jsii.Number] = None,
3531
+ volume_type: typing.Optional[builtins.str] = None,
3532
+ ) -> None:
3533
+ """Type checking stubs"""
3534
+ pass
3535
+
3536
+ def _typecheckingstub__685ee3c99d00c4a98137add5e1954d76422417da17f64b863cea2c0824dea902(
3537
+ inspector: _TreeInspector_488e0dd5,
3538
+ ) -> None:
3539
+ """Type checking stubs"""
3540
+ pass
3541
+
3542
+ def _typecheckingstub__50ddfbc291d3e556ace0dc6e9d82cfedb078a4a3cbb9ef9e8eac039d0e82d9e6(
3543
+ props: typing.Mapping[builtins.str, typing.Any],
3544
+ ) -> None:
3545
+ """Type checking stubs"""
3546
+ pass
3547
+
3548
+ def _typecheckingstub__e9f5f1fdafc059b4dc0f72801057c79e690b2878e7ac2fdf540ab305cb1db5b8(
3549
+ value: builtins.str,
3550
+ ) -> None:
3551
+ """Type checking stubs"""
3552
+ pass
3553
+
3554
+ def _typecheckingstub__2545bcf2397b591eeb5bc2020672daea19e4969515b96c2982ba337dfe90a159(
3555
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3556
+ ) -> None:
3557
+ """Type checking stubs"""
3558
+ pass
3559
+
3560
+ def _typecheckingstub__ed1876d81e0f42a3b54883c4648bf7cf155fa880a498cacc96a0945d5032084c(
3561
+ value: typing.Optional[jsii.Number],
3562
+ ) -> None:
3563
+ """Type checking stubs"""
3564
+ pass
3565
+
3566
+ def _typecheckingstub__395b2ede7d0057a6fa453fc8de076050bcc1806edcbaeecc76c37f56b5befabc(
3567
+ value: typing.Optional[builtins.str],
3568
+ ) -> None:
3569
+ """Type checking stubs"""
3570
+ pass
3571
+
3572
+ def _typecheckingstub__ac8bac9f32006bab210d99c61fa194ffe0daa28445242538135f5024937fed35(
3573
+ value: typing.Optional[jsii.Number],
3574
+ ) -> None:
3575
+ """Type checking stubs"""
3576
+ pass
3577
+
3578
+ def _typecheckingstub__d59cb75f780fcc1524e9d8f2469747f8c6f2bbfc350d8662efddf91bcec54be4(
3579
+ value: typing.Optional[builtins.str],
3580
+ ) -> None:
3581
+ """Type checking stubs"""
3582
+ pass
3583
+
3584
+ def _typecheckingstub__7afbacaf7f3ea12aff8077fba424159c4a78dabec81d0e15c2cf21552d0eca48(
3585
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnVolume.TagSpecificationProperty]]]],
3586
+ ) -> None:
3587
+ """Type checking stubs"""
3588
+ pass
3589
+
3590
+ def _typecheckingstub__cd4dae6ee80b4f1583ff940c92723ae5abc6127d8abd48ca72184266298e68d5(
3591
+ value: typing.Optional[jsii.Number],
3592
+ ) -> None:
3593
+ """Type checking stubs"""
3594
+ pass
3595
+
3596
+ def _typecheckingstub__5ce69be7eab4b12a5677916d7b89ed00c676fbd7d9858d3c8fd894ed8a963d70(
3597
+ value: typing.Optional[builtins.str],
3598
+ ) -> None:
3599
+ """Type checking stubs"""
3600
+ pass
3601
+
3602
+ def _typecheckingstub__0902e5172f6b16ac0cad62cbc3b7188ce843a8d38d90dcc5c86591e6acf47988(
3603
+ *,
3604
+ resource_type: typing.Optional[builtins.str] = None,
3605
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3606
+ ) -> None:
3607
+ """Type checking stubs"""
3608
+ pass
3609
+
3610
+ def _typecheckingstub__d7eec0daa83c1024898d2dd124cb4f461e56903d8a98401eb4d02742f55a5ba8(
3611
+ scope: _constructs_77d1e7e8.Construct,
3612
+ id: builtins.str,
3613
+ *,
3614
+ device: builtins.str,
3615
+ volume_id: builtins.str,
3616
+ workspace_instance_id: builtins.str,
3617
+ disassociate_mode: typing.Optional[builtins.str] = None,
3618
+ ) -> None:
3619
+ """Type checking stubs"""
3620
+ pass
3621
+
3622
+ def _typecheckingstub__5fd0989a57e9649b7a4d590f7c91b99524c0760e7a9573d04c9a0651e66ba9b4(
3623
+ inspector: _TreeInspector_488e0dd5,
3624
+ ) -> None:
3625
+ """Type checking stubs"""
3626
+ pass
3627
+
3628
+ def _typecheckingstub__9edb2ba816767d7bd7866452c6fad9e22e451376ace13728983cb1007430d513(
3629
+ props: typing.Mapping[builtins.str, typing.Any],
3630
+ ) -> None:
3631
+ """Type checking stubs"""
3632
+ pass
3633
+
3634
+ def _typecheckingstub__a2c067e418598328cb19e2ca662460d196bbf4f0edd016a89d56ca6b09b96ae9(
3635
+ value: builtins.str,
3636
+ ) -> None:
3637
+ """Type checking stubs"""
3638
+ pass
3639
+
3640
+ def _typecheckingstub__6c66f015cf8f3049bd728d95ffef2a32c21bd81393c29537303adaf4e86d6829(
3641
+ value: builtins.str,
3642
+ ) -> None:
3643
+ """Type checking stubs"""
3644
+ pass
3645
+
3646
+ def _typecheckingstub__cb0e90de13632397d9f05ecf786f58d468973d0cf21a6f5c435c070b2c03b819(
3647
+ value: builtins.str,
3648
+ ) -> None:
3649
+ """Type checking stubs"""
3650
+ pass
3651
+
3652
+ def _typecheckingstub__d1139240ee9e52471c21751caa541f36622002b63b2edb0a487ae73612ae098a(
3653
+ value: typing.Optional[builtins.str],
3654
+ ) -> None:
3655
+ """Type checking stubs"""
3656
+ pass
3657
+
3658
+ def _typecheckingstub__7f051309343f88ebe1cc3dc3f2fff77a39c42174a07969dff75f195781a41fbf(
3659
+ *,
3660
+ device: builtins.str,
3661
+ volume_id: builtins.str,
3662
+ workspace_instance_id: builtins.str,
3663
+ disassociate_mode: typing.Optional[builtins.str] = None,
3664
+ ) -> None:
3665
+ """Type checking stubs"""
3666
+ pass
3667
+
3668
+ def _typecheckingstub__86994d3c65438656f95433a2d79f0f9f2640fb4eb23141adf1234d9d1e1d53cd(
3669
+ *,
3670
+ availability_zone: builtins.str,
3671
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3672
+ iops: typing.Optional[jsii.Number] = None,
3673
+ kms_key_id: typing.Optional[builtins.str] = None,
3674
+ size_in_gb: typing.Optional[jsii.Number] = None,
3675
+ snapshot_id: typing.Optional[builtins.str] = None,
3676
+ 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,
3677
+ throughput: typing.Optional[jsii.Number] = None,
3678
+ volume_type: typing.Optional[builtins.str] = None,
3679
+ ) -> None:
3680
+ """Type checking stubs"""
3681
+ pass
3682
+
3683
+ def _typecheckingstub__fe297a4f0279d14c1f9c904fa95a44f828762333773f7e3a7c9943d3b9b3e3b3(
3684
+ scope: _constructs_77d1e7e8.Construct,
3685
+ id: builtins.str,
3686
+ *,
3687
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.ManagedInstanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3688
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3689
+ ) -> None:
3690
+ """Type checking stubs"""
3691
+ pass
3692
+
3693
+ def _typecheckingstub__a94e20479c19b53a7fbafb99ee8ea99ff43ba48f27b5660512919fc6b36a8f4f(
3694
+ scope: _constructs_77d1e7e8.Construct,
3695
+ id: builtins.str,
3696
+ workspace_instance_id: builtins.str,
3697
+ ) -> None:
3698
+ """Type checking stubs"""
3699
+ pass
3700
+
3701
+ def _typecheckingstub__2bdc42635ac5557f3eb11885f29e281607cfb0594c2e299de906f90030a10deb(
3702
+ inspector: _TreeInspector_488e0dd5,
3703
+ ) -> None:
3704
+ """Type checking stubs"""
3705
+ pass
3706
+
3707
+ def _typecheckingstub__5ec3702eceaf9b2e99eb781959d3fbe14573ce56bb19f427daba893407569847(
3708
+ props: typing.Mapping[builtins.str, typing.Any],
3709
+ ) -> None:
3710
+ """Type checking stubs"""
3711
+ pass
3712
+
3713
+ def _typecheckingstub__f6fb81328f4cb605751ce72d14049d2c7dbe8255e2141c4d01d4204ed9b4adf0(
3714
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspaceInstance.ManagedInstanceProperty]],
3715
+ ) -> None:
3716
+ """Type checking stubs"""
3717
+ pass
3718
+
3719
+ def _typecheckingstub__58b2c86c1c3f77e59470dc4f588d2e8033f028f5127ba91d829c8c6add4de38a(
3720
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3721
+ ) -> None:
3722
+ """Type checking stubs"""
3723
+ pass
3724
+
3725
+ def _typecheckingstub__6f2d2dc4f023dfee96411ef0d53c3f207f589b520679a75d9c4a2ca0843d3994(
3726
+ *,
3727
+ device_name: typing.Optional[builtins.str] = None,
3728
+ ebs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.EbsBlockDeviceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3729
+ no_device: typing.Optional[builtins.str] = None,
3730
+ virtual_name: typing.Optional[builtins.str] = None,
3731
+ ) -> None:
3732
+ """Type checking stubs"""
3733
+ pass
3734
+
3735
+ def _typecheckingstub__2c7447c1d8e8482ef6a31cfa322dfe54d81154cc75e07f12f4604ce41d71d250(
3736
+ *,
3737
+ capacity_reservation_preference: typing.Optional[builtins.str] = None,
3738
+ capacity_reservation_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.CapacityReservationTargetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3739
+ ) -> None:
3740
+ """Type checking stubs"""
3741
+ pass
3742
+
3743
+ def _typecheckingstub__d9f436a25da0d1e919f4f55d90c75f8795f4997204e2fa4a394b043328fc1f18(
3744
+ *,
3745
+ capacity_reservation_id: typing.Optional[builtins.str] = None,
3746
+ capacity_reservation_resource_group_arn: typing.Optional[builtins.str] = None,
3747
+ ) -> None:
3748
+ """Type checking stubs"""
3749
+ pass
3750
+
3751
+ def _typecheckingstub__baf2483b6c10091ca1060d8ca8cb538b6f9eb1223193ab69470e79d02ae05c0f(
3752
+ *,
3753
+ core_count: typing.Optional[jsii.Number] = None,
3754
+ threads_per_core: typing.Optional[jsii.Number] = None,
3755
+ ) -> None:
3756
+ """Type checking stubs"""
3757
+ pass
3758
+
3759
+ def _typecheckingstub__be827443f2405057687f0e728dd6b714e64976c6b7fdb53616ba22f38fe684f7(
3760
+ *,
3761
+ cpu_credits: typing.Optional[builtins.str] = None,
3762
+ ) -> None:
3763
+ """Type checking stubs"""
3764
+ pass
3765
+
3766
+ def _typecheckingstub__fdf6ee9b22498f38a18bcb3d582068ef8ccfe59145f98269dc66087bebceba31(
3767
+ *,
3768
+ instance_id: typing.Optional[builtins.str] = None,
3769
+ ) -> None:
3770
+ """Type checking stubs"""
3771
+ pass
3772
+
3773
+ def _typecheckingstub__afafa3f2614378531f34f7c44be3d52735de40c84c8eb108e258a8bf3eb50e61(
3774
+ *,
3775
+ encrypted: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3776
+ iops: typing.Optional[jsii.Number] = None,
3777
+ kms_key_id: typing.Optional[builtins.str] = None,
3778
+ throughput: typing.Optional[jsii.Number] = None,
3779
+ volume_size: typing.Optional[jsii.Number] = None,
3780
+ volume_type: typing.Optional[builtins.str] = None,
3781
+ ) -> None:
3782
+ """Type checking stubs"""
3783
+ pass
3784
+
3785
+ def _typecheckingstub__5aaf83d8222c97044bf3b1051a0f48a71d78afefae567af0ee4fd1946ba8b25b(
3786
+ *,
3787
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3788
+ ) -> None:
3789
+ """Type checking stubs"""
3790
+ pass
3791
+
3792
+ def _typecheckingstub__6c8991a0b12bd7048f141f964633e62a1f4e02c6996cbf5ff8a1bf1656d2254d(
3793
+ *,
3794
+ configured: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3795
+ ) -> None:
3796
+ """Type checking stubs"""
3797
+ pass
3798
+
3799
+ def _typecheckingstub__46446ab38acd11b881b5c7aac1c73f790aba6f0b8215d39325f4bb1081daf531(
3800
+ *,
3801
+ arn: typing.Optional[builtins.str] = None,
3802
+ name: typing.Optional[builtins.str] = None,
3803
+ ) -> None:
3804
+ """Type checking stubs"""
3805
+ pass
3806
+
3807
+ def _typecheckingstub__5785155bdccebc0d8fada1620d3c62726134a88a6a448d54e8ea0f622a0cfe50(
3808
+ *,
3809
+ auto_recovery: typing.Optional[builtins.str] = None,
3810
+ ) -> None:
3811
+ """Type checking stubs"""
3812
+ pass
3813
+
3814
+ def _typecheckingstub__b98b268bcbc4c8517d4411ff3cec97b75028e2bf24bcfbe5187fddb5e5ddf912(
3815
+ *,
3816
+ market_type: typing.Optional[builtins.str] = None,
3817
+ spot_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.SpotMarketOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3818
+ ) -> None:
3819
+ """Type checking stubs"""
3820
+ pass
3821
+
3822
+ def _typecheckingstub__d879a9a1ea939eed5a5bf31a9e53a33bef78538d965c45115d7750157f87c88b(
3823
+ *,
3824
+ http_endpoint: typing.Optional[builtins.str] = None,
3825
+ http_protocol_ipv6: typing.Optional[builtins.str] = None,
3826
+ http_put_response_hop_limit: typing.Optional[jsii.Number] = None,
3827
+ http_tokens: typing.Optional[builtins.str] = None,
3828
+ instance_metadata_tags: typing.Optional[builtins.str] = None,
3829
+ ) -> None:
3830
+ """Type checking stubs"""
3831
+ pass
3832
+
3833
+ def _typecheckingstub__7c88a37359de0c57531f563cc84d1109a289e345ba61e892cf12f1611a31662d(
3834
+ *,
3835
+ description: typing.Optional[builtins.str] = None,
3836
+ device_index: typing.Optional[jsii.Number] = None,
3837
+ groups: typing.Optional[typing.Sequence[builtins.str]] = None,
3838
+ subnet_id: typing.Optional[builtins.str] = None,
3839
+ ) -> None:
3840
+ """Type checking stubs"""
3841
+ pass
3842
+
3843
+ def _typecheckingstub__8457689e343afe3fd18713b744f081cee9dcd43310c6b6befb13b25b56685b35(
3844
+ *,
3845
+ bandwidth_weighting: typing.Optional[builtins.str] = None,
3846
+ ) -> None:
3847
+ """Type checking stubs"""
3848
+ pass
3849
+
3850
+ def _typecheckingstub__88bcc842cecd4571abd8f35580c280ee36aed2ea9152364e215ff691575d151e(
3851
+ *,
3852
+ license_configuration_arn: typing.Optional[builtins.str] = None,
3853
+ ) -> None:
3854
+ """Type checking stubs"""
3855
+ pass
3856
+
3857
+ def _typecheckingstub__122edb12e6993ba3ae146e0faaf65a6eef7a6651e2293cb5479f0afe37198259(
3858
+ *,
3859
+ image_id: builtins.str,
3860
+ instance_type: builtins.str,
3861
+ 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,
3862
+ capacity_reservation_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.CapacityReservationSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3863
+ cpu_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.CpuOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3864
+ credit_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.CreditSpecificationRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3865
+ disable_api_stop: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3866
+ ebs_optimized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3867
+ enable_primary_ipv6: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3868
+ enclave_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.EnclaveOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3869
+ hibernation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.HibernationOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3870
+ iam_instance_profile: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.IamInstanceProfileSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3871
+ instance_market_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceMarketOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3872
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
3873
+ key_name: typing.Optional[builtins.str] = None,
3874
+ license_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.LicenseConfigurationRequestProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3875
+ maintenance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceMaintenanceOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3876
+ metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceMetadataOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3877
+ monitoring: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.RunInstancesMonitoringEnabledProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3878
+ 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,
3879
+ network_performance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.InstanceNetworkPerformanceOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3880
+ placement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.PlacementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3881
+ private_dns_name_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.PrivateDnsNameOptionsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3882
+ subnet_id: typing.Optional[builtins.str] = None,
3883
+ 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,
3884
+ user_data: typing.Optional[builtins.str] = None,
3885
+ ) -> None:
3886
+ """Type checking stubs"""
3887
+ pass
3888
+
3889
+ def _typecheckingstub__74aaa065dbb77262ecab6552e5fde4ac2723c645be4dde2327c06e281386c1f8(
3890
+ *,
3891
+ availability_zone: typing.Optional[builtins.str] = None,
3892
+ group_id: typing.Optional[builtins.str] = None,
3893
+ group_name: typing.Optional[builtins.str] = None,
3894
+ partition_number: typing.Optional[jsii.Number] = None,
3895
+ tenancy: typing.Optional[builtins.str] = None,
3896
+ ) -> None:
3897
+ """Type checking stubs"""
3898
+ pass
3899
+
3900
+ def _typecheckingstub__5bcd696ce9417cfc6075ca9f9d64535711403bc6dc26a7e1e325bcb0b416dccc(
3901
+ *,
3902
+ enable_resource_name_dns_aaaa_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3903
+ enable_resource_name_dns_a_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3904
+ hostname_type: typing.Optional[builtins.str] = None,
3905
+ ) -> None:
3906
+ """Type checking stubs"""
3907
+ pass
3908
+
3909
+ def _typecheckingstub__6fcd9d05f58e0d776ba7b11b076d5a7c565bc9ea5ce223eab03cdac46e660811(
3910
+ *,
3911
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3912
+ ) -> None:
3913
+ """Type checking stubs"""
3914
+ pass
3915
+
3916
+ def _typecheckingstub__3f2b025a20b39464357aca8413f9d8b09d278990163112ca1429525ca31400ea(
3917
+ *,
3918
+ instance_interruption_behavior: typing.Optional[builtins.str] = None,
3919
+ max_price: typing.Optional[builtins.str] = None,
3920
+ spot_instance_type: typing.Optional[builtins.str] = None,
3921
+ valid_until_utc: typing.Optional[builtins.str] = None,
3922
+ ) -> None:
3923
+ """Type checking stubs"""
3924
+ pass
3925
+
3926
+ def _typecheckingstub__a80a115a0fb3e43ec2f01b3395420a80cbdd00bb61da5e1c9176167d6eb9bbf0(
3927
+ *,
3928
+ resource_type: typing.Optional[builtins.str] = None,
3929
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3930
+ ) -> None:
3931
+ """Type checking stubs"""
3932
+ pass
3933
+
3934
+ def _typecheckingstub__5d4292dcb083e5a048440cd4455e31dfc65f5b3dd4c844b99e38e6c3941cca08(
3935
+ *,
3936
+ managed_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspaceInstance.ManagedInstanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3937
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3938
+ ) -> None:
3939
+ """Type checking stubs"""
3940
+ pass