aws-cdk-lib 2.195.0__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 (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.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 +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  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 +75 -10
  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 +136 -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 +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  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 +165 -60
  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 +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  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 +611 -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 +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -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 +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -68,9 +68,37 @@ from .. import (
68
68
  TagManager as _TagManager_0a598cb3,
69
69
  TreeInspector as _TreeInspector_488e0dd5,
70
70
  )
71
+ from ..interfaces.aws_datasync import (
72
+ AgentReference as _AgentReference_4ce8de2b,
73
+ IAgentRef as _IAgentRef_7dc116ab,
74
+ ILocationAzureBlobRef as _ILocationAzureBlobRef_4f77cc54,
75
+ ILocationEFSRef as _ILocationEFSRef_6fba5e2e,
76
+ ILocationFSxLustreRef as _ILocationFSxLustreRef_af5bc776,
77
+ ILocationFSxONTAPRef as _ILocationFSxONTAPRef_f2d23af5,
78
+ ILocationFSxOpenZFSRef as _ILocationFSxOpenZFSRef_bf79198a,
79
+ ILocationFSxWindowsRef as _ILocationFSxWindowsRef_21eff906,
80
+ ILocationHDFSRef as _ILocationHDFSRef_7984fa07,
81
+ ILocationNFSRef as _ILocationNFSRef_01d78c69,
82
+ ILocationObjectStorageRef as _ILocationObjectStorageRef_76d6ff54,
83
+ ILocationS3Ref as _ILocationS3Ref_5240f1a4,
84
+ ILocationSMBRef as _ILocationSMBRef_b540cf9f,
85
+ ITaskRef as _ITaskRef_0571d67b,
86
+ LocationAzureBlobReference as _LocationAzureBlobReference_60bcd854,
87
+ LocationEFSReference as _LocationEFSReference_72d5c472,
88
+ LocationFSxLustreReference as _LocationFSxLustreReference_4b4c8fcd,
89
+ LocationFSxONTAPReference as _LocationFSxONTAPReference_696c1d88,
90
+ LocationFSxOpenZFSReference as _LocationFSxOpenZFSReference_ff06c64f,
91
+ LocationFSxWindowsReference as _LocationFSxWindowsReference_7de311b2,
92
+ LocationHDFSReference as _LocationHDFSReference_c3d0d6b5,
93
+ LocationNFSReference as _LocationNFSReference_163b2bab,
94
+ LocationObjectStorageReference as _LocationObjectStorageReference_5b3d36b8,
95
+ LocationS3Reference as _LocationS3Reference_113b17ee,
96
+ LocationSMBReference as _LocationSMBReference_9787936e,
97
+ TaskReference as _TaskReference_56755658,
98
+ )
71
99
 
72
100
 
73
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
101
+ @jsii.implements(_IInspectable_c2943556, _IAgentRef_7dc116ab, _ITaggable_36806126)
74
102
  class CfnAgent(
75
103
  _CfnResource_9df397a6,
76
104
  metaclass=jsii.JSIIMeta,
@@ -121,7 +149,8 @@ class CfnAgent(
121
149
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
122
150
  vpc_endpoint_id: typing.Optional[builtins.str] = None,
123
151
  ) -> None:
124
- '''
152
+ '''Create a new ``AWS::DataSync::Agent``.
153
+
125
154
  :param scope: Scope in which this resource is defined.
126
155
  :param id: Construct identifier for this resource (unique in its scope).
127
156
  :param activation_key: Specifies your DataSync agent's activation key. If you don't have an activation key, see `Activating your agent <https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html>`_ .
@@ -176,6 +205,12 @@ class CfnAgent(
176
205
  '''The CloudFormation resource type name for this resource class.'''
177
206
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
178
207
 
208
+ @builtins.property
209
+ @jsii.member(jsii_name="agentRef")
210
+ def agent_ref(self) -> _AgentReference_4ce8de2b:
211
+ '''A reference to a Agent resource.'''
212
+ return typing.cast(_AgentReference_4ce8de2b, jsii.get(self, "agentRef"))
213
+
179
214
  @builtins.property
180
215
  @jsii.member(jsii_name="attrAgentArn")
181
216
  def attr_agent_arn(self) -> builtins.str:
@@ -450,7 +485,7 @@ class CfnAgentProps:
450
485
  )
451
486
 
452
487
 
453
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
488
+ @jsii.implements(_IInspectable_c2943556, _ILocationAzureBlobRef_4f77cc54, _ITaggableV2_4e6798f8)
454
489
  class CfnLocationAzureBlob(
455
490
  _CfnResource_9df397a6,
456
491
  metaclass=jsii.JSIIMeta,
@@ -458,9 +493,9 @@ class CfnLocationAzureBlob(
458
493
  ):
459
494
  '''Creates a transfer *location* for a Microsoft Azure Blob Storage container.
460
495
 
461
- AWS DataSync can use this location as a transfer source or destination.
496
+ AWS DataSync can use this location as a transfer source or destination. You can make transfers with or without a `DataSync agent <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent>`_ that connects to your container.
462
497
 
463
- Before you begin, make sure you know `how DataSync accesses Azure Blob Storage <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access>`_ and works with `access tiers <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers>`_ and `blob types <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types>`_ . You also need a `DataSync agent <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent>`_ that can connect to your container.
498
+ Before you begin, make sure you know `how DataSync accesses Azure Blob Storage <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access>`_ and works with `access tiers <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers>`_ and `blob types <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types>`_ .
464
499
 
465
500
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html
466
501
  :cloudformationResource: AWS::DataSync::LocationAzureBlob
@@ -473,16 +508,24 @@ class CfnLocationAzureBlob(
473
508
  from aws_cdk import aws_datasync as datasync
474
509
 
475
510
  cfn_location_azure_blob = datasync.CfnLocationAzureBlob(self, "MyCfnLocationAzureBlob",
476
- agent_arns=["agentArns"],
477
511
  azure_blob_authentication_type="azureBlobAuthenticationType",
478
512
 
479
513
  # the properties below are optional
514
+ agent_arns=["agentArns"],
480
515
  azure_access_tier="azureAccessTier",
481
516
  azure_blob_container_url="azureBlobContainerUrl",
482
517
  azure_blob_sas_configuration=datasync.CfnLocationAzureBlob.AzureBlobSasConfigurationProperty(
483
518
  azure_blob_sas_token="azureBlobSasToken"
484
519
  ),
485
520
  azure_blob_type="azureBlobType",
521
+ cmk_secret_config=datasync.CfnLocationAzureBlob.CmkSecretConfigProperty(
522
+ kms_key_arn="kmsKeyArn",
523
+ secret_arn="secretArn"
524
+ ),
525
+ custom_secret_config=datasync.CfnLocationAzureBlob.CustomSecretConfigProperty(
526
+ secret_access_role_arn="secretAccessRoleArn",
527
+ secret_arn="secretArn"
528
+ ),
486
529
  subdirectory="subdirectory",
487
530
  tags=[CfnTag(
488
531
  key="key",
@@ -496,24 +539,29 @@ class CfnLocationAzureBlob(
496
539
  scope: _constructs_77d1e7e8.Construct,
497
540
  id: builtins.str,
498
541
  *,
499
- agent_arns: typing.Sequence[builtins.str],
500
542
  azure_blob_authentication_type: builtins.str,
543
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
501
544
  azure_access_tier: typing.Optional[builtins.str] = None,
502
545
  azure_blob_container_url: typing.Optional[builtins.str] = None,
503
546
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationAzureBlob.AzureBlobSasConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
504
547
  azure_blob_type: typing.Optional[builtins.str] = None,
548
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationAzureBlob.CmkSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
549
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationAzureBlob.CustomSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
505
550
  subdirectory: typing.Optional[builtins.str] = None,
506
551
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
507
552
  ) -> None:
508
- '''
553
+ '''Create a new ``AWS::DataSync::LocationAzureBlob``.
554
+
509
555
  :param scope: Scope in which this resource is defined.
510
556
  :param id: Construct identifier for this resource (unique in its scope).
511
- :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
512
557
  :param azure_blob_authentication_type: Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS). Default: - "SAS"
558
+ :param agent_arns: (Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ . .. epigraph:: Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
513
559
  :param azure_access_tier: Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see `Access tiers <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers>`_ . Default: - "HOT"
514
560
  :param azure_blob_container_url: Specifies the URL of the Azure Blob Storage container involved in your transfer.
515
- :param azure_blob_sas_configuration: Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
561
+ :param azure_blob_sas_configuration: Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage. .. epigraph:: If you provide an authentication token using ``SasConfiguration`` , but do not provide secret configuration details using ``CmkSecretConfig`` or ``CustomSecretConfig`` , then DataSync stores the token using your AWS account's secrets manager secret.
516
562
  :param azure_blob_type: Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the `Azure Blob Storage documentation <https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs>`_ . Default: - "BLOCK"
563
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key . .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
564
+ :param custom_secret_config: Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret. .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
517
565
  :param subdirectory: Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
518
566
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.
519
567
  '''
@@ -522,12 +570,14 @@ class CfnLocationAzureBlob(
522
570
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
523
571
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
524
572
  props = CfnLocationAzureBlobProps(
525
- agent_arns=agent_arns,
526
573
  azure_blob_authentication_type=azure_blob_authentication_type,
574
+ agent_arns=agent_arns,
527
575
  azure_access_tier=azure_access_tier,
528
576
  azure_blob_container_url=azure_blob_container_url,
529
577
  azure_blob_sas_configuration=azure_blob_sas_configuration,
530
578
  azure_blob_type=azure_blob_type,
579
+ cmk_secret_config=cmk_secret_config,
580
+ custom_secret_config=custom_secret_config,
531
581
  subdirectory=subdirectory,
532
582
  tags=tags,
533
583
  )
@@ -564,6 +614,17 @@ class CfnLocationAzureBlob(
564
614
  '''The CloudFormation resource type name for this resource class.'''
565
615
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
566
616
 
617
+ @builtins.property
618
+ @jsii.member(jsii_name="attrCmkSecretConfigSecretArn")
619
+ def attr_cmk_secret_config_secret_arn(self) -> builtins.str:
620
+ '''Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.
621
+
622
+ This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
623
+
624
+ :cloudformationAttribute: CmkSecretConfig.SecretArn
625
+ '''
626
+ return typing.cast(builtins.str, jsii.get(self, "attrCmkSecretConfigSecretArn"))
627
+
567
628
  @builtins.property
568
629
  @jsii.member(jsii_name="attrLocationArn")
569
630
  def attr_location_arn(self) -> builtins.str:
@@ -582,6 +643,17 @@ class CfnLocationAzureBlob(
582
643
  '''
583
644
  return typing.cast(builtins.str, jsii.get(self, "attrLocationUri"))
584
645
 
646
+ @builtins.property
647
+ @jsii.member(jsii_name="attrManagedSecretConfig")
648
+ def attr_managed_secret_config(self) -> _IResolvable_da3f097b:
649
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
650
+
651
+ DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
652
+
653
+ :cloudformationAttribute: ManagedSecretConfig
654
+ '''
655
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrManagedSecretConfig"))
656
+
585
657
  @builtins.property
586
658
  @jsii.member(jsii_name="cdkTagManager")
587
659
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -594,17 +666,10 @@ class CfnLocationAzureBlob(
594
666
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
595
667
 
596
668
  @builtins.property
597
- @jsii.member(jsii_name="agentArns")
598
- def agent_arns(self) -> typing.List[builtins.str]:
599
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.'''
600
- return typing.cast(typing.List[builtins.str], jsii.get(self, "agentArns"))
601
-
602
- @agent_arns.setter
603
- def agent_arns(self, value: typing.List[builtins.str]) -> None:
604
- if __debug__:
605
- type_hints = typing.get_type_hints(_typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459)
606
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
607
- jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
669
+ @jsii.member(jsii_name="locationAzureBlobRef")
670
+ def location_azure_blob_ref(self) -> _LocationAzureBlobReference_60bcd854:
671
+ '''A reference to a LocationAzureBlob resource.'''
672
+ return typing.cast(_LocationAzureBlobReference_60bcd854, jsii.get(self, "locationAzureBlobRef"))
608
673
 
609
674
  @builtins.property
610
675
  @jsii.member(jsii_name="azureBlobAuthenticationType")
@@ -619,6 +684,19 @@ class CfnLocationAzureBlob(
619
684
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
620
685
  jsii.set(self, "azureBlobAuthenticationType", value) # pyright: ignore[reportArgumentType]
621
686
 
687
+ @builtins.property
688
+ @jsii.member(jsii_name="agentArns")
689
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
690
+ '''(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.'''
691
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "agentArns"))
692
+
693
+ @agent_arns.setter
694
+ def agent_arns(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
695
+ if __debug__:
696
+ type_hints = typing.get_type_hints(_typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459)
697
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
698
+ jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
699
+
622
700
  @builtins.property
623
701
  @jsii.member(jsii_name="azureAccessTier")
624
702
  def azure_access_tier(self) -> typing.Optional[builtins.str]:
@@ -676,6 +754,42 @@ class CfnLocationAzureBlob(
676
754
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
677
755
  jsii.set(self, "azureBlobType", value) # pyright: ignore[reportArgumentType]
678
756
 
757
+ @builtins.property
758
+ @jsii.member(jsii_name="cmkSecretConfig")
759
+ def cmk_secret_config(
760
+ self,
761
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]]:
762
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .'''
763
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]], jsii.get(self, "cmkSecretConfig"))
764
+
765
+ @cmk_secret_config.setter
766
+ def cmk_secret_config(
767
+ self,
768
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]],
769
+ ) -> None:
770
+ if __debug__:
771
+ type_hints = typing.get_type_hints(_typecheckingstub__bbe60c9e1409294412076468854254983957a988d2e0d53f2fa73767e4a48525)
772
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
773
+ jsii.set(self, "cmkSecretConfig", value) # pyright: ignore[reportArgumentType]
774
+
775
+ @builtins.property
776
+ @jsii.member(jsii_name="customSecretConfig")
777
+ def custom_secret_config(
778
+ self,
779
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]]:
780
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text.'''
781
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]], jsii.get(self, "customSecretConfig"))
782
+
783
+ @custom_secret_config.setter
784
+ def custom_secret_config(
785
+ self,
786
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]],
787
+ ) -> None:
788
+ if __debug__:
789
+ type_hints = typing.get_type_hints(_typecheckingstub__3276084bb32edc8f06759cb50268fc7821cd740602d985f3b1b967d5267f90dc)
790
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
791
+ jsii.set(self, "customSecretConfig", value) # pyright: ignore[reportArgumentType]
792
+
679
793
  @builtins.property
680
794
  @jsii.member(jsii_name="subdirectory")
681
795
  def subdirectory(self) -> typing.Optional[builtins.str]:
@@ -760,17 +874,230 @@ class CfnLocationAzureBlob(
760
874
  k + "=" + repr(v) for k, v in self._values.items()
761
875
  )
762
876
 
877
+ @jsii.data_type(
878
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.CmkSecretConfigProperty",
879
+ jsii_struct_bases=[],
880
+ name_mapping={"kms_key_arn": "kmsKeyArn", "secret_arn": "secretArn"},
881
+ )
882
+ class CmkSecretConfigProperty:
883
+ def __init__(
884
+ self,
885
+ *,
886
+ kms_key_arn: typing.Optional[builtins.str] = None,
887
+ secret_arn: typing.Optional[builtins.str] = None,
888
+ ) -> None:
889
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
890
+
891
+ .. epigraph::
892
+
893
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
894
+
895
+ :param kms_key_arn: Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` . DataSync provides this key to AWS Secrets Manager .
896
+ :param secret_arn: Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
897
+
898
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html
899
+ :exampleMetadata: fixture=_generated
900
+
901
+ Example::
902
+
903
+ # The code below shows an example of how to instantiate this type.
904
+ # The values are placeholders you should change.
905
+ from aws_cdk import aws_datasync as datasync
906
+
907
+ cmk_secret_config_property = datasync.CfnLocationAzureBlob.CmkSecretConfigProperty(
908
+ kms_key_arn="kmsKeyArn",
909
+ secret_arn="secretArn"
910
+ )
911
+ '''
912
+ if __debug__:
913
+ type_hints = typing.get_type_hints(_typecheckingstub__d03d5287185c3e65174404788128d96c2205212b3aa189dc5803a4b4b4b8ab36)
914
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
915
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
916
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
917
+ if kms_key_arn is not None:
918
+ self._values["kms_key_arn"] = kms_key_arn
919
+ if secret_arn is not None:
920
+ self._values["secret_arn"] = secret_arn
921
+
922
+ @builtins.property
923
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
924
+ '''Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` .
925
+
926
+ DataSync provides this key to AWS Secrets Manager .
927
+
928
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-kmskeyarn
929
+ '''
930
+ result = self._values.get("kms_key_arn")
931
+ return typing.cast(typing.Optional[builtins.str], result)
932
+
933
+ @builtins.property
934
+ def secret_arn(self) -> typing.Optional[builtins.str]:
935
+ '''Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.
936
+
937
+ This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
938
+
939
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-secretarn
940
+ '''
941
+ result = self._values.get("secret_arn")
942
+ return typing.cast(typing.Optional[builtins.str], result)
943
+
944
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
945
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
946
+
947
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
948
+ return not (rhs == self)
949
+
950
+ def __repr__(self) -> str:
951
+ return "CmkSecretConfigProperty(%s)" % ", ".join(
952
+ k + "=" + repr(v) for k, v in self._values.items()
953
+ )
954
+
955
+ @jsii.data_type(
956
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.CustomSecretConfigProperty",
957
+ jsii_struct_bases=[],
958
+ name_mapping={
959
+ "secret_access_role_arn": "secretAccessRoleArn",
960
+ "secret_arn": "secretArn",
961
+ },
962
+ )
963
+ class CustomSecretConfigProperty:
964
+ def __init__(
965
+ self,
966
+ *,
967
+ secret_access_role_arn: builtins.str,
968
+ secret_arn: builtins.str,
969
+ ) -> None:
970
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text.
971
+
972
+ This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
973
+ .. epigraph::
974
+
975
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
976
+
977
+ :param secret_access_role_arn: Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
978
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
979
+
980
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html
981
+ :exampleMetadata: fixture=_generated
982
+
983
+ Example::
984
+
985
+ # The code below shows an example of how to instantiate this type.
986
+ # The values are placeholders you should change.
987
+ from aws_cdk import aws_datasync as datasync
988
+
989
+ custom_secret_config_property = datasync.CfnLocationAzureBlob.CustomSecretConfigProperty(
990
+ secret_access_role_arn="secretAccessRoleArn",
991
+ secret_arn="secretArn"
992
+ )
993
+ '''
994
+ if __debug__:
995
+ type_hints = typing.get_type_hints(_typecheckingstub__0b2d06a0f90feb2e23667a772b3c70d85bf30ee5c9bef02d35fd7339fdffaf93)
996
+ check_type(argname="argument secret_access_role_arn", value=secret_access_role_arn, expected_type=type_hints["secret_access_role_arn"])
997
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
998
+ self._values: typing.Dict[builtins.str, typing.Any] = {
999
+ "secret_access_role_arn": secret_access_role_arn,
1000
+ "secret_arn": secret_arn,
1001
+ }
1002
+
1003
+ @builtins.property
1004
+ def secret_access_role_arn(self) -> builtins.str:
1005
+ '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
1006
+
1007
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretaccessrolearn
1008
+ '''
1009
+ result = self._values.get("secret_access_role_arn")
1010
+ assert result is not None, "Required property 'secret_access_role_arn' is missing"
1011
+ return typing.cast(builtins.str, result)
1012
+
1013
+ @builtins.property
1014
+ def secret_arn(self) -> builtins.str:
1015
+ '''Specifies the ARN for an AWS Secrets Manager secret.
1016
+
1017
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretarn
1018
+ '''
1019
+ result = self._values.get("secret_arn")
1020
+ assert result is not None, "Required property 'secret_arn' is missing"
1021
+ return typing.cast(builtins.str, result)
1022
+
1023
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1024
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1025
+
1026
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1027
+ return not (rhs == self)
1028
+
1029
+ def __repr__(self) -> str:
1030
+ return "CustomSecretConfigProperty(%s)" % ", ".join(
1031
+ k + "=" + repr(v) for k, v in self._values.items()
1032
+ )
1033
+
1034
+ @jsii.data_type(
1035
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.ManagedSecretConfigProperty",
1036
+ jsii_struct_bases=[],
1037
+ name_mapping={"secret_arn": "secretArn"},
1038
+ )
1039
+ class ManagedSecretConfigProperty:
1040
+ def __init__(self, *, secret_arn: builtins.str) -> None:
1041
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
1042
+
1043
+ DataSync uses the default AWS -managed KMS key to encrypt this secret in AWS Secrets Manager .
1044
+
1045
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
1046
+
1047
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-managedsecretconfig.html
1048
+ :exampleMetadata: fixture=_generated
1049
+
1050
+ Example::
1051
+
1052
+ # The code below shows an example of how to instantiate this type.
1053
+ # The values are placeholders you should change.
1054
+ from aws_cdk import aws_datasync as datasync
1055
+
1056
+ managed_secret_config_property = datasync.CfnLocationAzureBlob.ManagedSecretConfigProperty(
1057
+ secret_arn="secretArn"
1058
+ )
1059
+ '''
1060
+ if __debug__:
1061
+ type_hints = typing.get_type_hints(_typecheckingstub__8ed16453ba6567e90e7b3e0e37a7206cf71efddb64e1cca1af96064be80c9609)
1062
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
1063
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1064
+ "secret_arn": secret_arn,
1065
+ }
1066
+
1067
+ @builtins.property
1068
+ def secret_arn(self) -> builtins.str:
1069
+ '''Specifies the ARN for an AWS Secrets Manager secret.
1070
+
1071
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-managedsecretconfig.html#cfn-datasync-locationazureblob-managedsecretconfig-secretarn
1072
+ '''
1073
+ result = self._values.get("secret_arn")
1074
+ assert result is not None, "Required property 'secret_arn' is missing"
1075
+ return typing.cast(builtins.str, result)
1076
+
1077
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1078
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1079
+
1080
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1081
+ return not (rhs == self)
1082
+
1083
+ def __repr__(self) -> str:
1084
+ return "ManagedSecretConfigProperty(%s)" % ", ".join(
1085
+ k + "=" + repr(v) for k, v in self._values.items()
1086
+ )
1087
+
763
1088
 
764
1089
  @jsii.data_type(
765
1090
  jsii_type="aws-cdk-lib.aws_datasync.CfnLocationAzureBlobProps",
766
1091
  jsii_struct_bases=[],
767
1092
  name_mapping={
768
- "agent_arns": "agentArns",
769
1093
  "azure_blob_authentication_type": "azureBlobAuthenticationType",
1094
+ "agent_arns": "agentArns",
770
1095
  "azure_access_tier": "azureAccessTier",
771
1096
  "azure_blob_container_url": "azureBlobContainerUrl",
772
1097
  "azure_blob_sas_configuration": "azureBlobSasConfiguration",
773
1098
  "azure_blob_type": "azureBlobType",
1099
+ "cmk_secret_config": "cmkSecretConfig",
1100
+ "custom_secret_config": "customSecretConfig",
774
1101
  "subdirectory": "subdirectory",
775
1102
  "tags": "tags",
776
1103
  },
@@ -779,23 +1106,27 @@ class CfnLocationAzureBlobProps:
779
1106
  def __init__(
780
1107
  self,
781
1108
  *,
782
- agent_arns: typing.Sequence[builtins.str],
783
1109
  azure_blob_authentication_type: builtins.str,
1110
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
784
1111
  azure_access_tier: typing.Optional[builtins.str] = None,
785
1112
  azure_blob_container_url: typing.Optional[builtins.str] = None,
786
1113
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.AzureBlobSasConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
787
1114
  azure_blob_type: typing.Optional[builtins.str] = None,
1115
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1116
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
788
1117
  subdirectory: typing.Optional[builtins.str] = None,
789
1118
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
790
1119
  ) -> None:
791
1120
  '''Properties for defining a ``CfnLocationAzureBlob``.
792
1121
 
793
- :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
794
1122
  :param azure_blob_authentication_type: Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS). Default: - "SAS"
1123
+ :param agent_arns: (Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter. You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ . .. epigraph:: Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
795
1124
  :param azure_access_tier: Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see `Access tiers <https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers>`_ . Default: - "HOT"
796
1125
  :param azure_blob_container_url: Specifies the URL of the Azure Blob Storage container involved in your transfer.
797
- :param azure_blob_sas_configuration: Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
1126
+ :param azure_blob_sas_configuration: Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage. .. epigraph:: If you provide an authentication token using ``SasConfiguration`` , but do not provide secret configuration details using ``CmkSecretConfig`` or ``CustomSecretConfig`` , then DataSync stores the token using your AWS account's secrets manager secret.
798
1127
  :param azure_blob_type: Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the `Azure Blob Storage documentation <https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs>`_ . Default: - "BLOCK"
1128
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key . .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
1129
+ :param custom_secret_config: Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret. .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
799
1130
  :param subdirectory: Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
800
1131
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your transfer location.
801
1132
 
@@ -809,16 +1140,24 @@ class CfnLocationAzureBlobProps:
809
1140
  from aws_cdk import aws_datasync as datasync
810
1141
 
811
1142
  cfn_location_azure_blob_props = datasync.CfnLocationAzureBlobProps(
812
- agent_arns=["agentArns"],
813
1143
  azure_blob_authentication_type="azureBlobAuthenticationType",
814
1144
 
815
1145
  # the properties below are optional
1146
+ agent_arns=["agentArns"],
816
1147
  azure_access_tier="azureAccessTier",
817
1148
  azure_blob_container_url="azureBlobContainerUrl",
818
1149
  azure_blob_sas_configuration=datasync.CfnLocationAzureBlob.AzureBlobSasConfigurationProperty(
819
1150
  azure_blob_sas_token="azureBlobSasToken"
820
1151
  ),
821
1152
  azure_blob_type="azureBlobType",
1153
+ cmk_secret_config=datasync.CfnLocationAzureBlob.CmkSecretConfigProperty(
1154
+ kms_key_arn="kmsKeyArn",
1155
+ secret_arn="secretArn"
1156
+ ),
1157
+ custom_secret_config=datasync.CfnLocationAzureBlob.CustomSecretConfigProperty(
1158
+ secret_access_role_arn="secretAccessRoleArn",
1159
+ secret_arn="secretArn"
1160
+ ),
822
1161
  subdirectory="subdirectory",
823
1162
  tags=[CfnTag(
824
1163
  key="key",
@@ -828,18 +1167,21 @@ class CfnLocationAzureBlobProps:
828
1167
  '''
829
1168
  if __debug__:
830
1169
  type_hints = typing.get_type_hints(_typecheckingstub__d386b9f5845962fa66385393ccc6424f66b9aee312fecdc96fe3ec242f754bf1)
831
- check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
832
1170
  check_type(argname="argument azure_blob_authentication_type", value=azure_blob_authentication_type, expected_type=type_hints["azure_blob_authentication_type"])
1171
+ check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
833
1172
  check_type(argname="argument azure_access_tier", value=azure_access_tier, expected_type=type_hints["azure_access_tier"])
834
1173
  check_type(argname="argument azure_blob_container_url", value=azure_blob_container_url, expected_type=type_hints["azure_blob_container_url"])
835
1174
  check_type(argname="argument azure_blob_sas_configuration", value=azure_blob_sas_configuration, expected_type=type_hints["azure_blob_sas_configuration"])
836
1175
  check_type(argname="argument azure_blob_type", value=azure_blob_type, expected_type=type_hints["azure_blob_type"])
1176
+ check_type(argname="argument cmk_secret_config", value=cmk_secret_config, expected_type=type_hints["cmk_secret_config"])
1177
+ check_type(argname="argument custom_secret_config", value=custom_secret_config, expected_type=type_hints["custom_secret_config"])
837
1178
  check_type(argname="argument subdirectory", value=subdirectory, expected_type=type_hints["subdirectory"])
838
1179
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
839
1180
  self._values: typing.Dict[builtins.str, typing.Any] = {
840
- "agent_arns": agent_arns,
841
1181
  "azure_blob_authentication_type": azure_blob_authentication_type,
842
1182
  }
1183
+ if agent_arns is not None:
1184
+ self._values["agent_arns"] = agent_arns
843
1185
  if azure_access_tier is not None:
844
1186
  self._values["azure_access_tier"] = azure_access_tier
845
1187
  if azure_blob_container_url is not None:
@@ -848,23 +1190,15 @@ class CfnLocationAzureBlobProps:
848
1190
  self._values["azure_blob_sas_configuration"] = azure_blob_sas_configuration
849
1191
  if azure_blob_type is not None:
850
1192
  self._values["azure_blob_type"] = azure_blob_type
1193
+ if cmk_secret_config is not None:
1194
+ self._values["cmk_secret_config"] = cmk_secret_config
1195
+ if custom_secret_config is not None:
1196
+ self._values["custom_secret_config"] = custom_secret_config
851
1197
  if subdirectory is not None:
852
1198
  self._values["subdirectory"] = subdirectory
853
1199
  if tags is not None:
854
1200
  self._values["tags"] = tags
855
1201
 
856
- @builtins.property
857
- def agent_arns(self) -> typing.List[builtins.str]:
858
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
859
-
860
- You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
861
-
862
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-agentarns
863
- '''
864
- result = self._values.get("agent_arns")
865
- assert result is not None, "Required property 'agent_arns' is missing"
866
- return typing.cast(typing.List[builtins.str], result)
867
-
868
1202
  @builtins.property
869
1203
  def azure_blob_authentication_type(self) -> builtins.str:
870
1204
  '''Specifies the authentication method DataSync uses to access your Azure Blob Storage.
@@ -879,6 +1213,22 @@ class CfnLocationAzureBlobProps:
879
1213
  assert result is not None, "Required property 'azure_blob_authentication_type' is missing"
880
1214
  return typing.cast(builtins.str, result)
881
1215
 
1216
+ @builtins.property
1217
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
1218
+ '''(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
1219
+
1220
+ If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.
1221
+
1222
+ You can specify more than one agent. For more information, see `Using multiple agents for your transfer <https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html>`_ .
1223
+ .. epigraph::
1224
+
1225
+ Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
1226
+
1227
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-agentarns
1228
+ '''
1229
+ result = self._values.get("agent_arns")
1230
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1231
+
882
1232
  @builtins.property
883
1233
  def azure_access_tier(self) -> typing.Optional[builtins.str]:
884
1234
  '''Specifies the access tier that you want your objects or files transferred into.
@@ -907,6 +1257,10 @@ class CfnLocationAzureBlobProps:
907
1257
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.AzureBlobSasConfigurationProperty]]:
908
1258
  '''Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
909
1259
 
1260
+ .. epigraph::
1261
+
1262
+ If you provide an authentication token using ``SasConfiguration`` , but do not provide secret configuration details using ``CmkSecretConfig`` or ``CustomSecretConfig`` , then DataSync stores the token using your AWS account's secrets manager secret.
1263
+
910
1264
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureblobsasconfiguration
911
1265
  '''
912
1266
  result = self._values.get("azure_blob_sas_configuration")
@@ -925,6 +1279,37 @@ class CfnLocationAzureBlobProps:
925
1279
  result = self._values.get("azure_blob_type")
926
1280
  return typing.cast(typing.Optional[builtins.str], result)
927
1281
 
1282
+ @builtins.property
1283
+ def cmk_secret_config(
1284
+ self,
1285
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CmkSecretConfigProperty]]:
1286
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
1287
+
1288
+ .. epigraph::
1289
+
1290
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
1291
+
1292
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-cmksecretconfig
1293
+ '''
1294
+ result = self._values.get("cmk_secret_config")
1295
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CmkSecretConfigProperty]], result)
1296
+
1297
+ @builtins.property
1298
+ def custom_secret_config(
1299
+ self,
1300
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CustomSecretConfigProperty]]:
1301
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text.
1302
+
1303
+ This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
1304
+ .. epigraph::
1305
+
1306
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
1307
+
1308
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-customsecretconfig
1309
+ '''
1310
+ result = self._values.get("custom_secret_config")
1311
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CustomSecretConfigProperty]], result)
1312
+
928
1313
  @builtins.property
929
1314
  def subdirectory(self) -> typing.Optional[builtins.str]:
930
1315
  '''Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
@@ -957,7 +1342,7 @@ class CfnLocationAzureBlobProps:
957
1342
  )
958
1343
 
959
1344
 
960
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1345
+ @jsii.implements(_IInspectable_c2943556, _ILocationEFSRef_6fba5e2e, _ITaggable_36806126)
961
1346
  class CfnLocationEFS(
962
1347
  _CfnResource_9df397a6,
963
1348
  metaclass=jsii.JSIIMeta,
@@ -1009,7 +1394,8 @@ class CfnLocationEFS(
1009
1394
  subdirectory: typing.Optional[builtins.str] = None,
1010
1395
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1011
1396
  ) -> None:
1012
- '''
1397
+ '''Create a new ``AWS::DataSync::LocationEFS``.
1398
+
1013
1399
  :param scope: Scope in which this resource is defined.
1014
1400
  :param id: Construct identifier for this resource (unique in its scope).
1015
1401
  :param ec2_config: Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's `mount targets <https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html>`_ .
@@ -1089,6 +1475,12 @@ class CfnLocationEFS(
1089
1475
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1090
1476
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1091
1477
 
1478
+ @builtins.property
1479
+ @jsii.member(jsii_name="locationEfsRef")
1480
+ def location_efs_ref(self) -> _LocationEFSReference_72d5c472:
1481
+ '''A reference to a LocationEFS resource.'''
1482
+ return typing.cast(_LocationEFSReference_72d5c472, jsii.get(self, "locationEfsRef"))
1483
+
1092
1484
  @builtins.property
1093
1485
  @jsii.member(jsii_name="tags")
1094
1486
  def tags(self) -> _TagManager_0a598cb3:
@@ -1209,7 +1601,7 @@ class CfnLocationEFS(
1209
1601
  '''The subnet and security groups that AWS DataSync uses to connect to one of your Amazon EFS file system's `mount targets <https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html>`_ .
1210
1602
 
1211
1603
  :param security_group_arns: Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.
1212
- :param subnet_arn: Specifies the ARN of a subnet where DataSync creates the `network interfaces <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces>`_ for managing traffic during your transfer. The subnet must be located: - In the same virtual private cloud (VPC) as the Amazon EFS file system. - In the same Availability Zone as at least one mount target for the Amazon EFS file system. .. epigraph:: You don't need to specify a subnet that includes a file system mount target.
1604
+ :param subnet_arn: Specifies the ARN of a subnet where DataSync creates the `network interfaces <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces.html>`_ for managing traffic during your transfer. The subnet must be located: - In the same virtual private cloud (VPC) as the Amazon EFS file system. - In the same Availability Zone as at least one mount target for the Amazon EFS file system. .. epigraph:: You don't need to specify a subnet that includes a file system mount target.
1213
1605
 
1214
1606
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html
1215
1607
  :exampleMetadata: fixture=_generated
@@ -1246,7 +1638,7 @@ class CfnLocationEFS(
1246
1638
 
1247
1639
  @builtins.property
1248
1640
  def subnet_arn(self) -> builtins.str:
1249
- '''Specifies the ARN of a subnet where DataSync creates the `network interfaces <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces>`_ for managing traffic during your transfer.
1641
+ '''Specifies the ARN of a subnet where DataSync creates the `network interfaces <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces.html>`_ for managing traffic during your transfer.
1250
1642
 
1251
1643
  The subnet must be located:
1252
1644
 
@@ -1452,7 +1844,7 @@ class CfnLocationEFSProps:
1452
1844
  )
1453
1845
 
1454
1846
 
1455
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1847
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxLustreRef_af5bc776, _ITaggable_36806126)
1456
1848
  class CfnLocationFSxLustre(
1457
1849
  _CfnResource_9df397a6,
1458
1850
  metaclass=jsii.JSIIMeta,
@@ -1493,7 +1885,8 @@ class CfnLocationFSxLustre(
1493
1885
  subdirectory: typing.Optional[builtins.str] = None,
1494
1886
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1495
1887
  ) -> None:
1496
- '''
1888
+ '''Create a new ``AWS::DataSync::LocationFSxLustre``.
1889
+
1497
1890
  :param scope: Scope in which this resource is defined.
1498
1891
  :param id: Construct identifier for this resource (unique in its scope).
1499
1892
  :param security_group_arns: The ARNs of the security groups that are used to configure the FSx for Lustre file system. *Pattern* : ``^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`` *Length constraints* : Maximum length of 128.
@@ -1567,6 +1960,12 @@ class CfnLocationFSxLustre(
1567
1960
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1568
1961
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1569
1962
 
1963
+ @builtins.property
1964
+ @jsii.member(jsii_name="locationFSxLustreRef")
1965
+ def location_f_sx_lustre_ref(self) -> _LocationFSxLustreReference_4b4c8fcd:
1966
+ '''A reference to a LocationFSxLustre resource.'''
1967
+ return typing.cast(_LocationFSxLustreReference_4b4c8fcd, jsii.get(self, "locationFSxLustreRef"))
1968
+
1570
1969
  @builtins.property
1571
1970
  @jsii.member(jsii_name="tags")
1572
1971
  def tags(self) -> _TagManager_0a598cb3:
@@ -1749,7 +2148,7 @@ class CfnLocationFSxLustreProps:
1749
2148
  )
1750
2149
 
1751
2150
 
1752
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2151
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxONTAPRef_f2d23af5, _ITaggable_36806126)
1753
2152
  class CfnLocationFSxONTAP(
1754
2153
  _CfnResource_9df397a6,
1755
2154
  metaclass=jsii.JSIIMeta,
@@ -1810,7 +2209,8 @@ class CfnLocationFSxONTAP(
1810
2209
  subdirectory: typing.Optional[builtins.str] = None,
1811
2210
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1812
2211
  ) -> None:
1813
- '''
2212
+ '''Create a new ``AWS::DataSync::LocationFSxONTAP``.
2213
+
1814
2214
  :param scope: Scope in which this resource is defined.
1815
2215
  :param id: Construct identifier for this resource (unique in its scope).
1816
2216
  :param security_group_arns: Specifies the Amazon Resource Names (ARNs) of the security groups that DataSync can use to access your FSx for ONTAP file system. You must configure the security groups to allow outbound traffic on the following ports (depending on the protocol that you're using): - *Network File System (NFS)* : TCP ports 111, 635, and 2049 - *Server Message Block (SMB)* : TCP port 445 Your file system's security groups must also allow inbound traffic on the same port.
@@ -1895,6 +2295,12 @@ class CfnLocationFSxONTAP(
1895
2295
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1896
2296
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1897
2297
 
2298
+ @builtins.property
2299
+ @jsii.member(jsii_name="locationFSxOntapRef")
2300
+ def location_f_sx_ontap_ref(self) -> _LocationFSxONTAPReference_696c1d88:
2301
+ '''A reference to a LocationFSxONTAP resource.'''
2302
+ return typing.cast(_LocationFSxONTAPReference_696c1d88, jsii.get(self, "locationFSxOntapRef"))
2303
+
1898
2304
  @builtins.property
1899
2305
  @jsii.member(jsii_name="tags")
1900
2306
  def tags(self) -> _TagManager_0a598cb3:
@@ -2541,7 +2947,7 @@ class CfnLocationFSxONTAPProps:
2541
2947
  )
2542
2948
 
2543
2949
 
2544
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2950
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxOpenZFSRef_bf79198a, _ITaggable_36806126)
2545
2951
  class CfnLocationFSxOpenZFS(
2546
2952
  _CfnResource_9df397a6,
2547
2953
  metaclass=jsii.JSIIMeta,
@@ -2590,7 +2996,8 @@ class CfnLocationFSxOpenZFS(
2590
2996
  subdirectory: typing.Optional[builtins.str] = None,
2591
2997
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2592
2998
  ) -> None:
2593
- '''
2999
+ '''Create a new ``AWS::DataSync::LocationFSxOpenZFS``.
3000
+
2594
3001
  :param scope: Scope in which this resource is defined.
2595
3002
  :param id: Construct identifier for this resource (unique in its scope).
2596
3003
  :param protocol: The type of protocol that AWS DataSync uses to access your file system.
@@ -2667,7 +3074,13 @@ class CfnLocationFSxOpenZFS(
2667
3074
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2668
3075
 
2669
3076
  @builtins.property
2670
- @jsii.member(jsii_name="tags")
3077
+ @jsii.member(jsii_name="locationFSxOpenZfsRef")
3078
+ def location_f_sx_open_zfs_ref(self) -> _LocationFSxOpenZFSReference_ff06c64f:
3079
+ '''A reference to a LocationFSxOpenZFS resource.'''
3080
+ return typing.cast(_LocationFSxOpenZFSReference_ff06c64f, jsii.get(self, "locationFSxOpenZfsRef"))
3081
+
3082
+ @builtins.property
3083
+ @jsii.member(jsii_name="tags")
2671
3084
  def tags(self) -> _TagManager_0a598cb3:
2672
3085
  '''Tag Manager which manages the tags for this resource.'''
2673
3086
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
@@ -3067,7 +3480,7 @@ class CfnLocationFSxOpenZFSProps:
3067
3480
  )
3068
3481
 
3069
3482
 
3070
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3483
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxWindowsRef_21eff906, _ITaggable_36806126)
3071
3484
  class CfnLocationFSxWindows(
3072
3485
  _CfnResource_9df397a6,
3073
3486
  metaclass=jsii.JSIIMeta,
@@ -3114,7 +3527,8 @@ class CfnLocationFSxWindows(
3114
3527
  subdirectory: typing.Optional[builtins.str] = None,
3115
3528
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3116
3529
  ) -> None:
3117
- '''
3530
+ '''Create a new ``AWS::DataSync::LocationFSxWindows``.
3531
+
3118
3532
  :param scope: Scope in which this resource is defined.
3119
3533
  :param id: Construct identifier for this resource (unique in its scope).
3120
3534
  :param security_group_arns: The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Windows File Server file system. *Pattern* : ``^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$`` *Length constraints* : Maximum length of 128.
@@ -3194,6 +3608,12 @@ class CfnLocationFSxWindows(
3194
3608
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3195
3609
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3196
3610
 
3611
+ @builtins.property
3612
+ @jsii.member(jsii_name="locationFSxWindowsRef")
3613
+ def location_f_sx_windows_ref(self) -> _LocationFSxWindowsReference_7de311b2:
3614
+ '''A reference to a LocationFSxWindows resource.'''
3615
+ return typing.cast(_LocationFSxWindowsReference_7de311b2, jsii.get(self, "locationFSxWindowsRef"))
3616
+
3197
3617
  @builtins.property
3198
3618
  @jsii.member(jsii_name="tags")
3199
3619
  def tags(self) -> _TagManager_0a598cb3:
@@ -3464,7 +3884,7 @@ class CfnLocationFSxWindowsProps:
3464
3884
  )
3465
3885
 
3466
3886
 
3467
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3887
+ @jsii.implements(_IInspectable_c2943556, _ILocationHDFSRef_7984fa07, _ITaggable_36806126)
3468
3888
  class CfnLocationHDFS(
3469
3889
  _CfnResource_9df397a6,
3470
3890
  metaclass=jsii.JSIIMeta,
@@ -3529,7 +3949,8 @@ class CfnLocationHDFS(
3529
3949
  subdirectory: typing.Optional[builtins.str] = None,
3530
3950
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3531
3951
  ) -> None:
3532
- '''
3952
+ '''Create a new ``AWS::DataSync::LocationHDFS``.
3953
+
3533
3954
  :param scope: Scope in which this resource is defined.
3534
3955
  :param id: Construct identifier for this resource (unique in its scope).
3535
3956
  :param agent_arns: The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.
@@ -3621,6 +4042,12 @@ class CfnLocationHDFS(
3621
4042
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3622
4043
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3623
4044
 
4045
+ @builtins.property
4046
+ @jsii.member(jsii_name="locationHdfsRef")
4047
+ def location_hdfs_ref(self) -> _LocationHDFSReference_c3d0d6b5:
4048
+ '''A reference to a LocationHDFS resource.'''
4049
+ return typing.cast(_LocationHDFSReference_c3d0d6b5, jsii.get(self, "locationHdfsRef"))
4050
+
3624
4051
  @builtins.property
3625
4052
  @jsii.member(jsii_name="tags")
3626
4053
  def tags(self) -> _TagManager_0a598cb3:
@@ -4248,7 +4675,7 @@ class CfnLocationHDFSProps:
4248
4675
  )
4249
4676
 
4250
4677
 
4251
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
4678
+ @jsii.implements(_IInspectable_c2943556, _ILocationNFSRef_01d78c69, _ITaggable_36806126)
4252
4679
  class CfnLocationNFS(
4253
4680
  _CfnResource_9df397a6,
4254
4681
  metaclass=jsii.JSIIMeta,
@@ -4295,12 +4722,13 @@ class CfnLocationNFS(
4295
4722
  subdirectory: typing.Optional[builtins.str] = None,
4296
4723
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4297
4724
  ) -> None:
4298
- '''
4725
+ '''Create a new ``AWS::DataSync::LocationNFS``.
4726
+
4299
4727
  :param scope: Scope in which this resource is defined.
4300
4728
  :param id: Construct identifier for this resource (unique in its scope).
4301
4729
  :param on_prem_config: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server. You can specify more than one agent. For more information, see `Using multiple DataSync agents <https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents>`_ .
4302
4730
  :param mount_options: Specifies the options that DataSync can use to mount your NFS file server.
4303
- :param server_hostname: Specifies the DNS name or IP version 4 address of the NFS file server that your DataSync agent connects to.
4731
+ :param server_hostname: Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.
4304
4732
  :param subdirectory: Specifies the export path in your NFS file server that you want DataSync to mount. This path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see `Accessing NFS file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs>`_ .
4305
4733
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.
4306
4734
  '''
@@ -4371,6 +4799,12 @@ class CfnLocationNFS(
4371
4799
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4372
4800
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4373
4801
 
4802
+ @builtins.property
4803
+ @jsii.member(jsii_name="locationNfsRef")
4804
+ def location_nfs_ref(self) -> _LocationNFSReference_163b2bab:
4805
+ '''A reference to a LocationNFS resource.'''
4806
+ return typing.cast(_LocationNFSReference_163b2bab, jsii.get(self, "locationNfsRef"))
4807
+
4374
4808
  @builtins.property
4375
4809
  @jsii.member(jsii_name="tags")
4376
4810
  def tags(self) -> _TagManager_0a598cb3:
@@ -4416,7 +4850,7 @@ class CfnLocationNFS(
4416
4850
  @builtins.property
4417
4851
  @jsii.member(jsii_name="serverHostname")
4418
4852
  def server_hostname(self) -> typing.Optional[builtins.str]:
4419
- '''Specifies the DNS name or IP version 4 address of the NFS file server that your DataSync agent connects to.'''
4853
+ '''Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.'''
4420
4854
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverHostname"))
4421
4855
 
4422
4856
  @server_hostname.setter
@@ -4596,7 +5030,7 @@ class CfnLocationNFSProps:
4596
5030
 
4597
5031
  :param on_prem_config: Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server. You can specify more than one agent. For more information, see `Using multiple DataSync agents <https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents>`_ .
4598
5032
  :param mount_options: Specifies the options that DataSync can use to mount your NFS file server.
4599
- :param server_hostname: Specifies the DNS name or IP version 4 address of the NFS file server that your DataSync agent connects to.
5033
+ :param server_hostname: Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.
4600
5034
  :param subdirectory: Specifies the export path in your NFS file server that you want DataSync to mount. This path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see `Accessing NFS file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs>`_ .
4601
5035
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.
4602
5036
 
@@ -4672,7 +5106,7 @@ class CfnLocationNFSProps:
4672
5106
 
4673
5107
  @builtins.property
4674
5108
  def server_hostname(self) -> typing.Optional[builtins.str]:
4675
- '''Specifies the DNS name or IP version 4 address of the NFS file server that your DataSync agent connects to.
5109
+ '''Specifies the DNS name or IP address (IPv4 or IPv6) of the NFS file server that your DataSync agent connects to.
4676
5110
 
4677
5111
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html#cfn-datasync-locationnfs-serverhostname
4678
5112
  '''
@@ -4713,7 +5147,7 @@ class CfnLocationNFSProps:
4713
5147
  )
4714
5148
 
4715
5149
 
4716
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
5150
+ @jsii.implements(_IInspectable_c2943556, _ILocationObjectStorageRef_76d6ff54, _ITaggable_36806126)
4717
5151
  class CfnLocationObjectStorage(
4718
5152
  _CfnResource_9df397a6,
4719
5153
  metaclass=jsii.JSIIMeta,
@@ -4734,11 +5168,17 @@ class CfnLocationObjectStorage(
4734
5168
  from aws_cdk import aws_datasync as datasync
4735
5169
 
4736
5170
  cfn_location_object_storage = datasync.CfnLocationObjectStorage(self, "MyCfnLocationObjectStorage",
4737
- agent_arns=["agentArns"],
4738
-
4739
- # the properties below are optional
4740
5171
  access_key="accessKey",
5172
+ agent_arns=["agentArns"],
4741
5173
  bucket_name="bucketName",
5174
+ cmk_secret_config=datasync.CfnLocationObjectStorage.CmkSecretConfigProperty(
5175
+ kms_key_arn="kmsKeyArn",
5176
+ secret_arn="secretArn"
5177
+ ),
5178
+ custom_secret_config=datasync.CfnLocationObjectStorage.CustomSecretConfigProperty(
5179
+ secret_access_role_arn="secretAccessRoleArn",
5180
+ secret_arn="secretArn"
5181
+ ),
4742
5182
  secret_key="secretKey",
4743
5183
  server_certificate="serverCertificate",
4744
5184
  server_hostname="serverHostname",
@@ -4757,9 +5197,11 @@ class CfnLocationObjectStorage(
4757
5197
  scope: _constructs_77d1e7e8.Construct,
4758
5198
  id: builtins.str,
4759
5199
  *,
4760
- agent_arns: typing.Sequence[builtins.str],
4761
5200
  access_key: typing.Optional[builtins.str] = None,
5201
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
4762
5202
  bucket_name: typing.Optional[builtins.str] = None,
5203
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationObjectStorage.CmkSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5204
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationObjectStorage.CustomSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4763
5205
  secret_key: typing.Optional[builtins.str] = None,
4764
5206
  server_certificate: typing.Optional[builtins.str] = None,
4765
5207
  server_hostname: typing.Optional[builtins.str] = None,
@@ -4768,17 +5210,20 @@ class CfnLocationObjectStorage(
4768
5210
  subdirectory: typing.Optional[builtins.str] = None,
4769
5211
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4770
5212
  ) -> None:
4771
- '''
5213
+ '''Create a new ``AWS::DataSync::LocationObjectStorage``.
5214
+
4772
5215
  :param scope: Scope in which this resource is defined.
4773
5216
  :param id: Construct identifier for this resource (unique in its scope).
4774
- :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
4775
5217
  :param access_key: Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
5218
+ :param agent_arns: (Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter. .. epigraph:: Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
4776
5219
  :param bucket_name: Specifies the name of the object storage bucket involved in the transfer.
4777
- :param secret_key: Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
5220
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, which includes the ``SecretKey`` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key . When you include this paramater as part of a ``CreateLocationObjectStorage`` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the ``SecretKey`` parameter to create a DataSync-managed secret to store the location access credentials. Make sure the DataSync has permission to access the KMS key that you specify. .. epigraph:: You can use either ``CmkSecretConfig`` (with ``SecretKey`` ) or ``CustomSecretConfig`` (without ``SecretKey`` ) to provide credentials for a ``CreateLocationObjectStorage`` request. Do not provide both parameters for the same request.
5221
+ :param custom_secret_config: Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret. .. epigraph:: You can use either ``CmkSecretConfig`` (with ``SecretKey`` ) or ``CustomSecretConfig`` (without ``SecretKey`` ) to provide credentials for a ``CreateLocationObjectStorage`` request. Do not provide both parameters for the same request.
5222
+ :param secret_key: Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server. .. epigraph:: If you provide a secret using ``SecretKey`` , but do not provide secret configuration details using ``CmkSecretConfig`` or ``CustomSecretConfig`` , then DataSync stores the token using your AWS account's Secrets Manager secret.
4778
5223
  :param server_certificate: Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single ``.pem`` file with a full certificate chain (for example, ``file:///home/user/.ssh/object_storage_certificates.pem`` ). The certificate chain might include: - The object storage system's certificate - All intermediate certificates (if there are any) - The root certificate of the signing CA You can concatenate your certificates into a ``.pem`` file (which can be up to 32768 bytes before base64 encoding). The following example ``cat`` command creates an ``object_storage_certificates.pem`` file that includes three certificates: ``cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`` To use this parameter, configure ``ServerProtocol`` to ``HTTPS`` .
4779
- :param server_hostname: Specifies the domain name or IP version 4 (IPv4) address of the object storage server that your DataSync agent connects to.
5224
+ :param server_hostname: Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.
4780
5225
  :param server_port: Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
4781
- :param server_protocol: Specifies the protocol that your object storage server uses to communicate.
5226
+ :param server_protocol: Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is ``HTTPS`` .
4782
5227
  :param subdirectory: Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.
4783
5228
  :param tags: Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.
4784
5229
  '''
@@ -4787,9 +5232,11 @@ class CfnLocationObjectStorage(
4787
5232
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4788
5233
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4789
5234
  props = CfnLocationObjectStorageProps(
4790
- agent_arns=agent_arns,
4791
5235
  access_key=access_key,
5236
+ agent_arns=agent_arns,
4792
5237
  bucket_name=bucket_name,
5238
+ cmk_secret_config=cmk_secret_config,
5239
+ custom_secret_config=custom_secret_config,
4793
5240
  secret_key=secret_key,
4794
5241
  server_certificate=server_certificate,
4795
5242
  server_hostname=server_hostname,
@@ -4831,6 +5278,17 @@ class CfnLocationObjectStorage(
4831
5278
  '''The CloudFormation resource type name for this resource class.'''
4832
5279
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4833
5280
 
5281
+ @builtins.property
5282
+ @jsii.member(jsii_name="attrCmkSecretConfigSecretArn")
5283
+ def attr_cmk_secret_config_secret_arn(self) -> builtins.str:
5284
+ '''Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.
5285
+
5286
+ This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
5287
+
5288
+ :cloudformationAttribute: CmkSecretConfig.SecretArn
5289
+ '''
5290
+ return typing.cast(builtins.str, jsii.get(self, "attrCmkSecretConfigSecretArn"))
5291
+
4834
5292
  @builtins.property
4835
5293
  @jsii.member(jsii_name="attrLocationArn")
4836
5294
  def attr_location_arn(self) -> builtins.str:
@@ -4849,30 +5307,34 @@ class CfnLocationObjectStorage(
4849
5307
  '''
4850
5308
  return typing.cast(builtins.str, jsii.get(self, "attrLocationUri"))
4851
5309
 
5310
+ @builtins.property
5311
+ @jsii.member(jsii_name="attrManagedSecretConfig")
5312
+ def attr_managed_secret_config(self) -> _IResolvable_da3f097b:
5313
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
5314
+
5315
+ DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
5316
+
5317
+ :cloudformationAttribute: ManagedSecretConfig
5318
+ '''
5319
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrManagedSecretConfig"))
5320
+
4852
5321
  @builtins.property
4853
5322
  @jsii.member(jsii_name="cfnProperties")
4854
5323
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4855
5324
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4856
5325
 
5326
+ @builtins.property
5327
+ @jsii.member(jsii_name="locationObjectStorageRef")
5328
+ def location_object_storage_ref(self) -> _LocationObjectStorageReference_5b3d36b8:
5329
+ '''A reference to a LocationObjectStorage resource.'''
5330
+ return typing.cast(_LocationObjectStorageReference_5b3d36b8, jsii.get(self, "locationObjectStorageRef"))
5331
+
4857
5332
  @builtins.property
4858
5333
  @jsii.member(jsii_name="tags")
4859
5334
  def tags(self) -> _TagManager_0a598cb3:
4860
5335
  '''Tag Manager which manages the tags for this resource.'''
4861
5336
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
4862
5337
 
4863
- @builtins.property
4864
- @jsii.member(jsii_name="agentArns")
4865
- def agent_arns(self) -> typing.List[builtins.str]:
4866
- '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.'''
4867
- return typing.cast(typing.List[builtins.str], jsii.get(self, "agentArns"))
4868
-
4869
- @agent_arns.setter
4870
- def agent_arns(self, value: typing.List[builtins.str]) -> None:
4871
- if __debug__:
4872
- type_hints = typing.get_type_hints(_typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec)
4873
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4874
- jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
4875
-
4876
5338
  @builtins.property
4877
5339
  @jsii.member(jsii_name="accessKey")
4878
5340
  def access_key(self) -> typing.Optional[builtins.str]:
@@ -4886,6 +5348,19 @@ class CfnLocationObjectStorage(
4886
5348
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4887
5349
  jsii.set(self, "accessKey", value) # pyright: ignore[reportArgumentType]
4888
5350
 
5351
+ @builtins.property
5352
+ @jsii.member(jsii_name="agentArns")
5353
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
5354
+ '''(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.'''
5355
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "agentArns"))
5356
+
5357
+ @agent_arns.setter
5358
+ def agent_arns(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
5359
+ if __debug__:
5360
+ type_hints = typing.get_type_hints(_typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec)
5361
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5362
+ jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
5363
+
4889
5364
  @builtins.property
4890
5365
  @jsii.member(jsii_name="bucketName")
4891
5366
  def bucket_name(self) -> typing.Optional[builtins.str]:
@@ -4899,6 +5374,42 @@ class CfnLocationObjectStorage(
4899
5374
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4900
5375
  jsii.set(self, "bucketName", value) # pyright: ignore[reportArgumentType]
4901
5376
 
5377
+ @builtins.property
5378
+ @jsii.member(jsii_name="cmkSecretConfig")
5379
+ def cmk_secret_config(
5380
+ self,
5381
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]]:
5382
+ '''Specifies configuration information for a DataSync-managed secret, which includes the ``SecretKey`` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .'''
5383
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]], jsii.get(self, "cmkSecretConfig"))
5384
+
5385
+ @cmk_secret_config.setter
5386
+ def cmk_secret_config(
5387
+ self,
5388
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]],
5389
+ ) -> None:
5390
+ if __debug__:
5391
+ type_hints = typing.get_type_hints(_typecheckingstub__750d7a103b8b00f0ab06ca1128b92bb839b2b91e71e5a388ec467dacd0fb58b6)
5392
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5393
+ jsii.set(self, "cmkSecretConfig", value) # pyright: ignore[reportArgumentType]
5394
+
5395
+ @builtins.property
5396
+ @jsii.member(jsii_name="customSecretConfig")
5397
+ def custom_secret_config(
5398
+ self,
5399
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]]:
5400
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text.'''
5401
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]], jsii.get(self, "customSecretConfig"))
5402
+
5403
+ @custom_secret_config.setter
5404
+ def custom_secret_config(
5405
+ self,
5406
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]],
5407
+ ) -> None:
5408
+ if __debug__:
5409
+ type_hints = typing.get_type_hints(_typecheckingstub__f8e807a4053a1cf75e73e9841ea082806de0e3097bc4b377492cf4268c03a8c5)
5410
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5411
+ jsii.set(self, "customSecretConfig", value) # pyright: ignore[reportArgumentType]
5412
+
4902
5413
  @builtins.property
4903
5414
  @jsii.member(jsii_name="secretKey")
4904
5415
  def secret_key(self) -> typing.Optional[builtins.str]:
@@ -4928,7 +5439,7 @@ class CfnLocationObjectStorage(
4928
5439
  @builtins.property
4929
5440
  @jsii.member(jsii_name="serverHostname")
4930
5441
  def server_hostname(self) -> typing.Optional[builtins.str]:
4931
- '''Specifies the domain name or IP version 4 (IPv4) address of the object storage server that your DataSync agent connects to.'''
5442
+ '''Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.'''
4932
5443
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverHostname"))
4933
5444
 
4934
5445
  @server_hostname.setter
@@ -4990,14 +5501,227 @@ class CfnLocationObjectStorage(
4990
5501
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4991
5502
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
4992
5503
 
5504
+ @jsii.data_type(
5505
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.CmkSecretConfigProperty",
5506
+ jsii_struct_bases=[],
5507
+ name_mapping={"kms_key_arn": "kmsKeyArn", "secret_arn": "secretArn"},
5508
+ )
5509
+ class CmkSecretConfigProperty:
5510
+ def __init__(
5511
+ self,
5512
+ *,
5513
+ kms_key_arn: typing.Optional[builtins.str] = None,
5514
+ secret_arn: typing.Optional[builtins.str] = None,
5515
+ ) -> None:
5516
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
5517
+
5518
+ .. epigraph::
5519
+
5520
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
5521
+
5522
+ :param kms_key_arn: Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` . DataSync provides this key to AWS Secrets Manager .
5523
+ :param secret_arn: Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
5524
+
5525
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html
5526
+ :exampleMetadata: fixture=_generated
5527
+
5528
+ Example::
5529
+
5530
+ # The code below shows an example of how to instantiate this type.
5531
+ # The values are placeholders you should change.
5532
+ from aws_cdk import aws_datasync as datasync
5533
+
5534
+ cmk_secret_config_property = datasync.CfnLocationObjectStorage.CmkSecretConfigProperty(
5535
+ kms_key_arn="kmsKeyArn",
5536
+ secret_arn="secretArn"
5537
+ )
5538
+ '''
5539
+ if __debug__:
5540
+ type_hints = typing.get_type_hints(_typecheckingstub__86e020e5a613eca69f847ddcabf398915f10f12953f8b4391e961243da06c955)
5541
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
5542
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
5543
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5544
+ if kms_key_arn is not None:
5545
+ self._values["kms_key_arn"] = kms_key_arn
5546
+ if secret_arn is not None:
5547
+ self._values["secret_arn"] = secret_arn
5548
+
5549
+ @builtins.property
5550
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
5551
+ '''Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` .
5552
+
5553
+ DataSync provides this key to AWS Secrets Manager .
5554
+
5555
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-kmskeyarn
5556
+ '''
5557
+ result = self._values.get("kms_key_arn")
5558
+ return typing.cast(typing.Optional[builtins.str], result)
5559
+
5560
+ @builtins.property
5561
+ def secret_arn(self) -> typing.Optional[builtins.str]:
5562
+ '''Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.
5563
+
5564
+ This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
5565
+
5566
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-secretarn
5567
+ '''
5568
+ result = self._values.get("secret_arn")
5569
+ return typing.cast(typing.Optional[builtins.str], result)
5570
+
5571
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5572
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5573
+
5574
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5575
+ return not (rhs == self)
5576
+
5577
+ def __repr__(self) -> str:
5578
+ return "CmkSecretConfigProperty(%s)" % ", ".join(
5579
+ k + "=" + repr(v) for k, v in self._values.items()
5580
+ )
5581
+
5582
+ @jsii.data_type(
5583
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.CustomSecretConfigProperty",
5584
+ jsii_struct_bases=[],
5585
+ name_mapping={
5586
+ "secret_access_role_arn": "secretAccessRoleArn",
5587
+ "secret_arn": "secretArn",
5588
+ },
5589
+ )
5590
+ class CustomSecretConfigProperty:
5591
+ def __init__(
5592
+ self,
5593
+ *,
5594
+ secret_access_role_arn: builtins.str,
5595
+ secret_arn: builtins.str,
5596
+ ) -> None:
5597
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text.
5598
+
5599
+ This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
5600
+ .. epigraph::
5601
+
5602
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
5603
+
5604
+ :param secret_access_role_arn: Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
5605
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
5606
+
5607
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html
5608
+ :exampleMetadata: fixture=_generated
5609
+
5610
+ Example::
5611
+
5612
+ # The code below shows an example of how to instantiate this type.
5613
+ # The values are placeholders you should change.
5614
+ from aws_cdk import aws_datasync as datasync
5615
+
5616
+ custom_secret_config_property = datasync.CfnLocationObjectStorage.CustomSecretConfigProperty(
5617
+ secret_access_role_arn="secretAccessRoleArn",
5618
+ secret_arn="secretArn"
5619
+ )
5620
+ '''
5621
+ if __debug__:
5622
+ type_hints = typing.get_type_hints(_typecheckingstub__630b549b792c8efcdd58178e432579f521d2a86cc91c662fd9c77d74c4293cb8)
5623
+ check_type(argname="argument secret_access_role_arn", value=secret_access_role_arn, expected_type=type_hints["secret_access_role_arn"])
5624
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
5625
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5626
+ "secret_access_role_arn": secret_access_role_arn,
5627
+ "secret_arn": secret_arn,
5628
+ }
5629
+
5630
+ @builtins.property
5631
+ def secret_access_role_arn(self) -> builtins.str:
5632
+ '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
5633
+
5634
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretaccessrolearn
5635
+ '''
5636
+ result = self._values.get("secret_access_role_arn")
5637
+ assert result is not None, "Required property 'secret_access_role_arn' is missing"
5638
+ return typing.cast(builtins.str, result)
5639
+
5640
+ @builtins.property
5641
+ def secret_arn(self) -> builtins.str:
5642
+ '''Specifies the ARN for an AWS Secrets Manager secret.
5643
+
5644
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretarn
5645
+ '''
5646
+ result = self._values.get("secret_arn")
5647
+ assert result is not None, "Required property 'secret_arn' is missing"
5648
+ return typing.cast(builtins.str, result)
5649
+
5650
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5651
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5652
+
5653
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5654
+ return not (rhs == self)
5655
+
5656
+ def __repr__(self) -> str:
5657
+ return "CustomSecretConfigProperty(%s)" % ", ".join(
5658
+ k + "=" + repr(v) for k, v in self._values.items()
5659
+ )
5660
+
5661
+ @jsii.data_type(
5662
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.ManagedSecretConfigProperty",
5663
+ jsii_struct_bases=[],
5664
+ name_mapping={"secret_arn": "secretArn"},
5665
+ )
5666
+ class ManagedSecretConfigProperty:
5667
+ def __init__(self, *, secret_arn: builtins.str) -> None:
5668
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
5669
+
5670
+ DataSync uses the default AWS -managed KMS key to encrypt this secret in AWS Secrets Manager .
5671
+
5672
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
5673
+
5674
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-managedsecretconfig.html
5675
+ :exampleMetadata: fixture=_generated
5676
+
5677
+ Example::
5678
+
5679
+ # The code below shows an example of how to instantiate this type.
5680
+ # The values are placeholders you should change.
5681
+ from aws_cdk import aws_datasync as datasync
5682
+
5683
+ managed_secret_config_property = datasync.CfnLocationObjectStorage.ManagedSecretConfigProperty(
5684
+ secret_arn="secretArn"
5685
+ )
5686
+ '''
5687
+ if __debug__:
5688
+ type_hints = typing.get_type_hints(_typecheckingstub__65c61b34a40852805ad1d8c34da183c741fa3a1957daae2b986eb1a616335549)
5689
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
5690
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5691
+ "secret_arn": secret_arn,
5692
+ }
5693
+
5694
+ @builtins.property
5695
+ def secret_arn(self) -> builtins.str:
5696
+ '''Specifies the ARN for an AWS Secrets Manager secret.
5697
+
5698
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-managedsecretconfig.html#cfn-datasync-locationobjectstorage-managedsecretconfig-secretarn
5699
+ '''
5700
+ result = self._values.get("secret_arn")
5701
+ assert result is not None, "Required property 'secret_arn' is missing"
5702
+ return typing.cast(builtins.str, result)
5703
+
5704
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5705
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5706
+
5707
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5708
+ return not (rhs == self)
5709
+
5710
+ def __repr__(self) -> str:
5711
+ return "ManagedSecretConfigProperty(%s)" % ", ".join(
5712
+ k + "=" + repr(v) for k, v in self._values.items()
5713
+ )
5714
+
4993
5715
 
4994
5716
  @jsii.data_type(
4995
5717
  jsii_type="aws-cdk-lib.aws_datasync.CfnLocationObjectStorageProps",
4996
5718
  jsii_struct_bases=[],
4997
5719
  name_mapping={
4998
- "agent_arns": "agentArns",
4999
5720
  "access_key": "accessKey",
5721
+ "agent_arns": "agentArns",
5000
5722
  "bucket_name": "bucketName",
5723
+ "cmk_secret_config": "cmkSecretConfig",
5724
+ "custom_secret_config": "customSecretConfig",
5001
5725
  "secret_key": "secretKey",
5002
5726
  "server_certificate": "serverCertificate",
5003
5727
  "server_hostname": "serverHostname",
@@ -5011,9 +5735,11 @@ class CfnLocationObjectStorageProps:
5011
5735
  def __init__(
5012
5736
  self,
5013
5737
  *,
5014
- agent_arns: typing.Sequence[builtins.str],
5015
5738
  access_key: typing.Optional[builtins.str] = None,
5739
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
5016
5740
  bucket_name: typing.Optional[builtins.str] = None,
5741
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5742
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5017
5743
  secret_key: typing.Optional[builtins.str] = None,
5018
5744
  server_certificate: typing.Optional[builtins.str] = None,
5019
5745
  server_hostname: typing.Optional[builtins.str] = None,
@@ -5024,14 +5750,16 @@ class CfnLocationObjectStorageProps:
5024
5750
  ) -> None:
5025
5751
  '''Properties for defining a ``CfnLocationObjectStorage``.
5026
5752
 
5027
- :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
5028
5753
  :param access_key: Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
5754
+ :param agent_arns: (Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter. .. epigraph:: Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
5029
5755
  :param bucket_name: Specifies the name of the object storage bucket involved in the transfer.
5030
- :param secret_key: Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
5756
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, which includes the ``SecretKey`` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key . When you include this paramater as part of a ``CreateLocationObjectStorage`` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the ``SecretKey`` parameter to create a DataSync-managed secret to store the location access credentials. Make sure the DataSync has permission to access the KMS key that you specify. .. epigraph:: You can use either ``CmkSecretConfig`` (with ``SecretKey`` ) or ``CustomSecretConfig`` (without ``SecretKey`` ) to provide credentials for a ``CreateLocationObjectStorage`` request. Do not provide both parameters for the same request.
5757
+ :param custom_secret_config: Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret. .. epigraph:: You can use either ``CmkSecretConfig`` (with ``SecretKey`` ) or ``CustomSecretConfig`` (without ``SecretKey`` ) to provide credentials for a ``CreateLocationObjectStorage`` request. Do not provide both parameters for the same request.
5758
+ :param secret_key: Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server. .. epigraph:: If you provide a secret using ``SecretKey`` , but do not provide secret configuration details using ``CmkSecretConfig`` or ``CustomSecretConfig`` , then DataSync stores the token using your AWS account's Secrets Manager secret.
5031
5759
  :param server_certificate: Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single ``.pem`` file with a full certificate chain (for example, ``file:///home/user/.ssh/object_storage_certificates.pem`` ). The certificate chain might include: - The object storage system's certificate - All intermediate certificates (if there are any) - The root certificate of the signing CA You can concatenate your certificates into a ``.pem`` file (which can be up to 32768 bytes before base64 encoding). The following example ``cat`` command creates an ``object_storage_certificates.pem`` file that includes three certificates: ``cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem`` To use this parameter, configure ``ServerProtocol`` to ``HTTPS`` .
5032
- :param server_hostname: Specifies the domain name or IP version 4 (IPv4) address of the object storage server that your DataSync agent connects to.
5760
+ :param server_hostname: Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.
5033
5761
  :param server_port: Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
5034
- :param server_protocol: Specifies the protocol that your object storage server uses to communicate.
5762
+ :param server_protocol: Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is ``HTTPS`` .
5035
5763
  :param subdirectory: Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.
5036
5764
  :param tags: Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.
5037
5765
 
@@ -5045,11 +5773,17 @@ class CfnLocationObjectStorageProps:
5045
5773
  from aws_cdk import aws_datasync as datasync
5046
5774
 
5047
5775
  cfn_location_object_storage_props = datasync.CfnLocationObjectStorageProps(
5048
- agent_arns=["agentArns"],
5049
-
5050
- # the properties below are optional
5051
5776
  access_key="accessKey",
5777
+ agent_arns=["agentArns"],
5052
5778
  bucket_name="bucketName",
5779
+ cmk_secret_config=datasync.CfnLocationObjectStorage.CmkSecretConfigProperty(
5780
+ kms_key_arn="kmsKeyArn",
5781
+ secret_arn="secretArn"
5782
+ ),
5783
+ custom_secret_config=datasync.CfnLocationObjectStorage.CustomSecretConfigProperty(
5784
+ secret_access_role_arn="secretAccessRoleArn",
5785
+ secret_arn="secretArn"
5786
+ ),
5053
5787
  secret_key="secretKey",
5054
5788
  server_certificate="serverCertificate",
5055
5789
  server_hostname="serverHostname",
@@ -5064,9 +5798,11 @@ class CfnLocationObjectStorageProps:
5064
5798
  '''
5065
5799
  if __debug__:
5066
5800
  type_hints = typing.get_type_hints(_typecheckingstub__d542a26da4e93d9d103e234c98ed367d8b6bea7d295017a32de5525e1ec22b45)
5067
- check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
5068
5801
  check_type(argname="argument access_key", value=access_key, expected_type=type_hints["access_key"])
5802
+ check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
5069
5803
  check_type(argname="argument bucket_name", value=bucket_name, expected_type=type_hints["bucket_name"])
5804
+ check_type(argname="argument cmk_secret_config", value=cmk_secret_config, expected_type=type_hints["cmk_secret_config"])
5805
+ check_type(argname="argument custom_secret_config", value=custom_secret_config, expected_type=type_hints["custom_secret_config"])
5070
5806
  check_type(argname="argument secret_key", value=secret_key, expected_type=type_hints["secret_key"])
5071
5807
  check_type(argname="argument server_certificate", value=server_certificate, expected_type=type_hints["server_certificate"])
5072
5808
  check_type(argname="argument server_hostname", value=server_hostname, expected_type=type_hints["server_hostname"])
@@ -5074,13 +5810,17 @@ class CfnLocationObjectStorageProps:
5074
5810
  check_type(argname="argument server_protocol", value=server_protocol, expected_type=type_hints["server_protocol"])
5075
5811
  check_type(argname="argument subdirectory", value=subdirectory, expected_type=type_hints["subdirectory"])
5076
5812
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
5077
- self._values: typing.Dict[builtins.str, typing.Any] = {
5078
- "agent_arns": agent_arns,
5079
- }
5813
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5080
5814
  if access_key is not None:
5081
5815
  self._values["access_key"] = access_key
5816
+ if agent_arns is not None:
5817
+ self._values["agent_arns"] = agent_arns
5082
5818
  if bucket_name is not None:
5083
5819
  self._values["bucket_name"] = bucket_name
5820
+ if cmk_secret_config is not None:
5821
+ self._values["cmk_secret_config"] = cmk_secret_config
5822
+ if custom_secret_config is not None:
5823
+ self._values["custom_secret_config"] = custom_secret_config
5084
5824
  if secret_key is not None:
5085
5825
  self._values["secret_key"] = secret_key
5086
5826
  if server_certificate is not None:
@@ -5096,16 +5836,6 @@ class CfnLocationObjectStorageProps:
5096
5836
  if tags is not None:
5097
5837
  self._values["tags"] = tags
5098
5838
 
5099
- @builtins.property
5100
- def agent_arns(self) -> typing.List[builtins.str]:
5101
- '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
5102
-
5103
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-agentarns
5104
- '''
5105
- result = self._values.get("agent_arns")
5106
- assert result is not None, "Required property 'agent_arns' is missing"
5107
- return typing.cast(typing.List[builtins.str], result)
5108
-
5109
5839
  @builtins.property
5110
5840
  def access_key(self) -> typing.Optional[builtins.str]:
5111
5841
  '''Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
@@ -5115,6 +5845,20 @@ class CfnLocationObjectStorageProps:
5115
5845
  result = self._values.get("access_key")
5116
5846
  return typing.cast(typing.Optional[builtins.str], result)
5117
5847
 
5848
+ @builtins.property
5849
+ def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
5850
+ '''(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
5851
+
5852
+ If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.
5853
+ .. epigraph::
5854
+
5855
+ Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
5856
+
5857
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-agentarns
5858
+ '''
5859
+ result = self._values.get("agent_arns")
5860
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5861
+
5118
5862
  @builtins.property
5119
5863
  def bucket_name(self) -> typing.Optional[builtins.str]:
5120
5864
  '''Specifies the name of the object storage bucket involved in the transfer.
@@ -5125,23 +5869,61 @@ class CfnLocationObjectStorageProps:
5125
5869
  return typing.cast(typing.Optional[builtins.str], result)
5126
5870
 
5127
5871
  @builtins.property
5128
- def secret_key(self) -> typing.Optional[builtins.str]:
5129
- '''Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
5872
+ def cmk_secret_config(
5873
+ self,
5874
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CmkSecretConfigProperty]]:
5875
+ '''Specifies configuration information for a DataSync-managed secret, which includes the ``SecretKey`` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .
5130
5876
 
5131
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-secretkey
5877
+ When you include this paramater as part of a ``CreateLocationObjectStorage`` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the ``SecretKey`` parameter to create a DataSync-managed secret to store the location access credentials.
5878
+
5879
+ Make sure the DataSync has permission to access the KMS key that you specify.
5880
+ .. epigraph::
5881
+
5882
+ You can use either ``CmkSecretConfig`` (with ``SecretKey`` ) or ``CustomSecretConfig`` (without ``SecretKey`` ) to provide credentials for a ``CreateLocationObjectStorage`` request. Do not provide both parameters for the same request.
5883
+
5884
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-cmksecretconfig
5132
5885
  '''
5133
- result = self._values.get("secret_key")
5134
- return typing.cast(typing.Optional[builtins.str], result)
5886
+ result = self._values.get("cmk_secret_config")
5887
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CmkSecretConfigProperty]], result)
5135
5888
 
5136
5889
  @builtins.property
5137
- def server_certificate(self) -> typing.Optional[builtins.str]:
5138
- '''Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA).
5890
+ def custom_secret_config(
5891
+ self,
5892
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CustomSecretConfigProperty]]:
5893
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text.
5139
5894
 
5140
- You must specify a single ``.pem`` file with a full certificate chain (for example, ``file:///home/user/.ssh/object_storage_certificates.pem`` ).
5895
+ This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
5896
+ .. epigraph::
5141
5897
 
5142
- The certificate chain might include:
5898
+ You can use either ``CmkSecretConfig`` (with ``SecretKey`` ) or ``CustomSecretConfig`` (without ``SecretKey`` ) to provide credentials for a ``CreateLocationObjectStorage`` request. Do not provide both parameters for the same request.
5143
5899
 
5144
- - The object storage system's certificate
5900
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-customsecretconfig
5901
+ '''
5902
+ result = self._values.get("custom_secret_config")
5903
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CustomSecretConfigProperty]], result)
5904
+
5905
+ @builtins.property
5906
+ def secret_key(self) -> typing.Optional[builtins.str]:
5907
+ '''Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
5908
+
5909
+ .. epigraph::
5910
+
5911
+ If you provide a secret using ``SecretKey`` , but do not provide secret configuration details using ``CmkSecretConfig`` or ``CustomSecretConfig`` , then DataSync stores the token using your AWS account's Secrets Manager secret.
5912
+
5913
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-secretkey
5914
+ '''
5915
+ result = self._values.get("secret_key")
5916
+ return typing.cast(typing.Optional[builtins.str], result)
5917
+
5918
+ @builtins.property
5919
+ def server_certificate(self) -> typing.Optional[builtins.str]:
5920
+ '''Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA).
5921
+
5922
+ You must specify a single ``.pem`` file with a full certificate chain (for example, ``file:///home/user/.ssh/object_storage_certificates.pem`` ).
5923
+
5924
+ The certificate chain might include:
5925
+
5926
+ - The object storage system's certificate
5145
5927
  - All intermediate certificates (if there are any)
5146
5928
  - The root certificate of the signing CA
5147
5929
 
@@ -5158,7 +5940,7 @@ class CfnLocationObjectStorageProps:
5158
5940
 
5159
5941
  @builtins.property
5160
5942
  def server_hostname(self) -> typing.Optional[builtins.str]:
5161
- '''Specifies the domain name or IP version 4 (IPv4) address of the object storage server that your DataSync agent connects to.
5943
+ '''Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.
5162
5944
 
5163
5945
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverhostname
5164
5946
  '''
@@ -5178,6 +5960,8 @@ class CfnLocationObjectStorageProps:
5178
5960
  def server_protocol(self) -> typing.Optional[builtins.str]:
5179
5961
  '''Specifies the protocol that your object storage server uses to communicate.
5180
5962
 
5963
+ If not specified, the default value is ``HTTPS`` .
5964
+
5181
5965
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverprotocol
5182
5966
  '''
5183
5967
  result = self._values.get("server_protocol")
@@ -5217,7 +6001,7 @@ class CfnLocationObjectStorageProps:
5217
6001
  )
5218
6002
 
5219
6003
 
5220
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6004
+ @jsii.implements(_IInspectable_c2943556, _ILocationS3Ref_5240f1a4, _ITaggable_36806126)
5221
6005
  class CfnLocationS3(
5222
6006
  _CfnResource_9df397a6,
5223
6007
  metaclass=jsii.JSIIMeta,
@@ -5264,7 +6048,8 @@ class CfnLocationS3(
5264
6048
  subdirectory: typing.Optional[builtins.str] = None,
5265
6049
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5266
6050
  ) -> None:
5267
- '''
6051
+ '''Create a new ``AWS::DataSync::LocationS3``.
6052
+
5268
6053
  :param scope: Scope in which this resource is defined.
5269
6054
  :param id: Construct identifier for this resource (unique in its scope).
5270
6055
  :param s3_config: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket. For detailed information about using such a role, see `Creating a Location for Amazon S3 <https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location>`_ in the *AWS DataSync User Guide* .
@@ -5340,6 +6125,12 @@ class CfnLocationS3(
5340
6125
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5341
6126
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5342
6127
 
6128
+ @builtins.property
6129
+ @jsii.member(jsii_name="locationS3Ref")
6130
+ def location_s3_ref(self) -> _LocationS3Reference_113b17ee:
6131
+ '''A reference to a LocationS3 resource.'''
6132
+ return typing.cast(_LocationS3Reference_113b17ee, jsii.get(self, "locationS3Ref"))
6133
+
5343
6134
  @builtins.property
5344
6135
  @jsii.member(jsii_name="tags")
5345
6136
  def tags(self) -> _TagManager_0a598cb3:
@@ -5622,7 +6413,7 @@ class CfnLocationS3Props:
5622
6413
  )
5623
6414
 
5624
6415
 
5625
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6416
+ @jsii.implements(_IInspectable_c2943556, _ILocationSMBRef_b540cf9f, _ITaggable_36806126)
5626
6417
  class CfnLocationSMB(
5627
6418
  _CfnResource_9df397a6,
5628
6419
  metaclass=jsii.JSIIMeta,
@@ -5645,6 +6436,14 @@ class CfnLocationSMB(
5645
6436
 
5646
6437
  # the properties below are optional
5647
6438
  authentication_type="authenticationType",
6439
+ cmk_secret_config=datasync.CfnLocationSMB.CmkSecretConfigProperty(
6440
+ kms_key_arn="kmsKeyArn",
6441
+ secret_arn="secretArn"
6442
+ ),
6443
+ custom_secret_config=datasync.CfnLocationSMB.CustomSecretConfigProperty(
6444
+ secret_access_role_arn="secretAccessRoleArn",
6445
+ secret_arn="secretArn"
6446
+ ),
5648
6447
  dns_ip_addresses=["dnsIpAddresses"],
5649
6448
  domain="domain",
5650
6449
  kerberos_keytab="kerberosKeytab",
@@ -5671,6 +6470,8 @@ class CfnLocationSMB(
5671
6470
  *,
5672
6471
  agent_arns: typing.Sequence[builtins.str],
5673
6472
  authentication_type: typing.Optional[builtins.str] = None,
6473
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationSMB.CmkSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6474
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLocationSMB.CustomSecretConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5674
6475
  dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
5675
6476
  domain: typing.Optional[builtins.str] = None,
5676
6477
  kerberos_keytab: typing.Optional[builtins.str] = None,
@@ -5683,19 +6484,22 @@ class CfnLocationSMB(
5683
6484
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5684
6485
  user: typing.Optional[builtins.str] = None,
5685
6486
  ) -> None:
5686
- '''
6487
+ '''Create a new ``AWS::DataSync::LocationSMB``.
6488
+
5687
6489
  :param scope: Scope in which this resource is defined.
5688
6490
  :param id: Construct identifier for this resource (unique in its scope).
5689
6491
  :param agent_arns: Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).
5690
- :param authentication_type: Specifies the authentication protocol that DataSync uses to connect to your SMB file server. DataSync supports ``NTLM`` (default) and ``KERBEROS`` authentication. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
5691
- :param dns_ip_addresses: Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if ``AuthenticationType`` is set to ``KERBEROS`` . If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
6492
+ :param authentication_type: The authentication mode used to determine identity of user.
6493
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key . .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
6494
+ :param custom_secret_config: Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret. .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
6495
+ :param dns_ip_addresses: Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
5692
6496
  :param domain: Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` . If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.
5693
- :param kerberos_keytab: Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys. The file must be base64 encoded. To avoid task execution errors, make sure that the Kerberos principal that you use to create the keytab file matches exactly what you specify for ``KerberosPrincipal`` .
5694
- :param kerberos_krb5_conf: Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration. The file must be base64 encoded.
5695
- :param kerberos_principal: Specifies a Kerberos prinicpal, which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. A Kerberos principal might look like ``HOST/kerberosuser@MYDOMAIN.ORG`` . Principal names are case sensitive. Your DataSync task execution will fail if the principal that you specify for this parameter doesnt exactly match the principal that you use to create the keytab file.
6497
+ :param kerberos_keytab: The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.
6498
+ :param kerberos_krb5_conf: The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.
6499
+ :param kerberos_principal: Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.
5696
6500
  :param mount_options: Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
5697
6501
  :param password: Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
5698
- :param server_hostname: Specifies the domain name or IP address of the SMB file server that your DataSync agent connects to. Remember the following when configuring this parameter: - You can't specify an IP version 6 (IPv6) address. - If you're using Kerberos authentication, you must specify a domain name.
6502
+ :param server_hostname: Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to. .. epigraph:: If you're using Kerberos authentication, you must specify a domain name.
5699
6503
  :param subdirectory: Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, ``/path/to/subdirectory`` ). Make sure that other SMB clients in your network can also mount this path. To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
5700
6504
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.
5701
6505
  :param user: Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server. This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` . For information about choosing a user with the right level of access for your transfer, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
@@ -5707,6 +6511,8 @@ class CfnLocationSMB(
5707
6511
  props = CfnLocationSMBProps(
5708
6512
  agent_arns=agent_arns,
5709
6513
  authentication_type=authentication_type,
6514
+ cmk_secret_config=cmk_secret_config,
6515
+ custom_secret_config=custom_secret_config,
5710
6516
  dns_ip_addresses=dns_ip_addresses,
5711
6517
  domain=domain,
5712
6518
  kerberos_keytab=kerberos_keytab,
@@ -5752,6 +6558,17 @@ class CfnLocationSMB(
5752
6558
  '''The CloudFormation resource type name for this resource class.'''
5753
6559
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
5754
6560
 
6561
+ @builtins.property
6562
+ @jsii.member(jsii_name="attrCmkSecretConfigSecretArn")
6563
+ def attr_cmk_secret_config_secret_arn(self) -> builtins.str:
6564
+ '''Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.
6565
+
6566
+ This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
6567
+
6568
+ :cloudformationAttribute: CmkSecretConfig.SecretArn
6569
+ '''
6570
+ return typing.cast(builtins.str, jsii.get(self, "attrCmkSecretConfigSecretArn"))
6571
+
5755
6572
  @builtins.property
5756
6573
  @jsii.member(jsii_name="attrLocationArn")
5757
6574
  def attr_location_arn(self) -> builtins.str:
@@ -5770,11 +6587,28 @@ class CfnLocationSMB(
5770
6587
  '''
5771
6588
  return typing.cast(builtins.str, jsii.get(self, "attrLocationUri"))
5772
6589
 
6590
+ @builtins.property
6591
+ @jsii.member(jsii_name="attrManagedSecretConfig")
6592
+ def attr_managed_secret_config(self) -> _IResolvable_da3f097b:
6593
+ '''Specifies configuration information for a DataSync-managed secret, such as a password or set of credentials that DataSync uses to access a specific transfer location.
6594
+
6595
+ DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
6596
+
6597
+ :cloudformationAttribute: ManagedSecretConfig
6598
+ '''
6599
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrManagedSecretConfig"))
6600
+
5773
6601
  @builtins.property
5774
6602
  @jsii.member(jsii_name="cfnProperties")
5775
6603
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5776
6604
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5777
6605
 
6606
+ @builtins.property
6607
+ @jsii.member(jsii_name="locationSmbRef")
6608
+ def location_smb_ref(self) -> _LocationSMBReference_9787936e:
6609
+ '''A reference to a LocationSMB resource.'''
6610
+ return typing.cast(_LocationSMBReference_9787936e, jsii.get(self, "locationSmbRef"))
6611
+
5778
6612
  @builtins.property
5779
6613
  @jsii.member(jsii_name="tags")
5780
6614
  def tags(self) -> _TagManager_0a598cb3:
@@ -5797,7 +6631,7 @@ class CfnLocationSMB(
5797
6631
  @builtins.property
5798
6632
  @jsii.member(jsii_name="authenticationType")
5799
6633
  def authentication_type(self) -> typing.Optional[builtins.str]:
5800
- '''Specifies the authentication protocol that DataSync uses to connect to your SMB file server.'''
6634
+ '''The authentication mode used to determine identity of user.'''
5801
6635
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "authenticationType"))
5802
6636
 
5803
6637
  @authentication_type.setter
@@ -5807,6 +6641,42 @@ class CfnLocationSMB(
5807
6641
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5808
6642
  jsii.set(self, "authenticationType", value) # pyright: ignore[reportArgumentType]
5809
6643
 
6644
+ @builtins.property
6645
+ @jsii.member(jsii_name="cmkSecretConfig")
6646
+ def cmk_secret_config(
6647
+ self,
6648
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationSMB.CmkSecretConfigProperty"]]:
6649
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .'''
6650
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationSMB.CmkSecretConfigProperty"]], jsii.get(self, "cmkSecretConfig"))
6651
+
6652
+ @cmk_secret_config.setter
6653
+ def cmk_secret_config(
6654
+ self,
6655
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationSMB.CmkSecretConfigProperty"]],
6656
+ ) -> None:
6657
+ if __debug__:
6658
+ type_hints = typing.get_type_hints(_typecheckingstub__e407ec55488adbc9f81891a5e15e237e234b987b6214eb331162a8b63f344324)
6659
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6660
+ jsii.set(self, "cmkSecretConfig", value) # pyright: ignore[reportArgumentType]
6661
+
6662
+ @builtins.property
6663
+ @jsii.member(jsii_name="customSecretConfig")
6664
+ def custom_secret_config(
6665
+ self,
6666
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationSMB.CustomSecretConfigProperty"]]:
6667
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text.'''
6668
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationSMB.CustomSecretConfigProperty"]], jsii.get(self, "customSecretConfig"))
6669
+
6670
+ @custom_secret_config.setter
6671
+ def custom_secret_config(
6672
+ self,
6673
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationSMB.CustomSecretConfigProperty"]],
6674
+ ) -> None:
6675
+ if __debug__:
6676
+ type_hints = typing.get_type_hints(_typecheckingstub__fde88b8f3a9b839e4f9087f93f80eb219e3a48609302336a5ed68bd2edec2ebb)
6677
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6678
+ jsii.set(self, "customSecretConfig", value) # pyright: ignore[reportArgumentType]
6679
+
5810
6680
  @builtins.property
5811
6681
  @jsii.member(jsii_name="dnsIpAddresses")
5812
6682
  def dns_ip_addresses(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -5839,7 +6709,7 @@ class CfnLocationSMB(
5839
6709
  @builtins.property
5840
6710
  @jsii.member(jsii_name="kerberosKeytab")
5841
6711
  def kerberos_keytab(self) -> typing.Optional[builtins.str]:
5842
- '''Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys.'''
6712
+ '''The Base64 string representation of the Keytab file.'''
5843
6713
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kerberosKeytab"))
5844
6714
 
5845
6715
  @kerberos_keytab.setter
@@ -5852,7 +6722,7 @@ class CfnLocationSMB(
5852
6722
  @builtins.property
5853
6723
  @jsii.member(jsii_name="kerberosKrb5Conf")
5854
6724
  def kerberos_krb5_conf(self) -> typing.Optional[builtins.str]:
5855
- '''Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration.'''
6725
+ '''The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.'''
5856
6726
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kerberosKrb5Conf"))
5857
6727
 
5858
6728
  @kerberos_krb5_conf.setter
@@ -5865,7 +6735,7 @@ class CfnLocationSMB(
5865
6735
  @builtins.property
5866
6736
  @jsii.member(jsii_name="kerberosPrincipal")
5867
6737
  def kerberos_principal(self) -> typing.Optional[builtins.str]:
5868
- '''Specifies a Kerberos prinicpal, which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.'''
6738
+ '''Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.'''
5869
6739
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kerberosPrincipal"))
5870
6740
 
5871
6741
  @kerberos_principal.setter
@@ -5909,7 +6779,7 @@ class CfnLocationSMB(
5909
6779
  @builtins.property
5910
6780
  @jsii.member(jsii_name="serverHostname")
5911
6781
  def server_hostname(self) -> typing.Optional[builtins.str]:
5912
- '''Specifies the domain name or IP address of the SMB file server that your DataSync agent connects to.'''
6782
+ '''Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.'''
5913
6783
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverHostname"))
5914
6784
 
5915
6785
  @server_hostname.setter
@@ -5958,6 +6828,217 @@ class CfnLocationSMB(
5958
6828
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5959
6829
  jsii.set(self, "user", value) # pyright: ignore[reportArgumentType]
5960
6830
 
6831
+ @jsii.data_type(
6832
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationSMB.CmkSecretConfigProperty",
6833
+ jsii_struct_bases=[],
6834
+ name_mapping={"kms_key_arn": "kmsKeyArn", "secret_arn": "secretArn"},
6835
+ )
6836
+ class CmkSecretConfigProperty:
6837
+ def __init__(
6838
+ self,
6839
+ *,
6840
+ kms_key_arn: typing.Optional[builtins.str] = None,
6841
+ secret_arn: typing.Optional[builtins.str] = None,
6842
+ ) -> None:
6843
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
6844
+
6845
+ .. epigraph::
6846
+
6847
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
6848
+
6849
+ :param kms_key_arn: Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` . DataSync provides this key to AWS Secrets Manager .
6850
+ :param secret_arn: Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
6851
+
6852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-cmksecretconfig.html
6853
+ :exampleMetadata: fixture=_generated
6854
+
6855
+ Example::
6856
+
6857
+ # The code below shows an example of how to instantiate this type.
6858
+ # The values are placeholders you should change.
6859
+ from aws_cdk import aws_datasync as datasync
6860
+
6861
+ cmk_secret_config_property = datasync.CfnLocationSMB.CmkSecretConfigProperty(
6862
+ kms_key_arn="kmsKeyArn",
6863
+ secret_arn="secretArn"
6864
+ )
6865
+ '''
6866
+ if __debug__:
6867
+ type_hints = typing.get_type_hints(_typecheckingstub__9351aeda2a3946543003130a0d3d622afa774937076186eaabf4b996745ca99f)
6868
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
6869
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
6870
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6871
+ if kms_key_arn is not None:
6872
+ self._values["kms_key_arn"] = kms_key_arn
6873
+ if secret_arn is not None:
6874
+ self._values["secret_arn"] = secret_arn
6875
+
6876
+ @builtins.property
6877
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
6878
+ '''Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` .
6879
+
6880
+ DataSync provides this key to AWS Secrets Manager .
6881
+
6882
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-cmksecretconfig.html#cfn-datasync-locationsmb-cmksecretconfig-kmskeyarn
6883
+ '''
6884
+ result = self._values.get("kms_key_arn")
6885
+ return typing.cast(typing.Optional[builtins.str], result)
6886
+
6887
+ @builtins.property
6888
+ def secret_arn(self) -> typing.Optional[builtins.str]:
6889
+ '''Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.
6890
+
6891
+ This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn`` .
6892
+
6893
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-cmksecretconfig.html#cfn-datasync-locationsmb-cmksecretconfig-secretarn
6894
+ '''
6895
+ result = self._values.get("secret_arn")
6896
+ return typing.cast(typing.Optional[builtins.str], result)
6897
+
6898
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6899
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6900
+
6901
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6902
+ return not (rhs == self)
6903
+
6904
+ def __repr__(self) -> str:
6905
+ return "CmkSecretConfigProperty(%s)" % ", ".join(
6906
+ k + "=" + repr(v) for k, v in self._values.items()
6907
+ )
6908
+
6909
+ @jsii.data_type(
6910
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationSMB.CustomSecretConfigProperty",
6911
+ jsii_struct_bases=[],
6912
+ name_mapping={
6913
+ "secret_access_role_arn": "secretAccessRoleArn",
6914
+ "secret_arn": "secretArn",
6915
+ },
6916
+ )
6917
+ class CustomSecretConfigProperty:
6918
+ def __init__(
6919
+ self,
6920
+ *,
6921
+ secret_access_role_arn: builtins.str,
6922
+ secret_arn: builtins.str,
6923
+ ) -> None:
6924
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text.
6925
+
6926
+ This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
6927
+ .. epigraph::
6928
+
6929
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
6930
+
6931
+ :param secret_access_role_arn: Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
6932
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
6933
+
6934
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-customsecretconfig.html
6935
+ :exampleMetadata: fixture=_generated
6936
+
6937
+ Example::
6938
+
6939
+ # The code below shows an example of how to instantiate this type.
6940
+ # The values are placeholders you should change.
6941
+ from aws_cdk import aws_datasync as datasync
6942
+
6943
+ custom_secret_config_property = datasync.CfnLocationSMB.CustomSecretConfigProperty(
6944
+ secret_access_role_arn="secretAccessRoleArn",
6945
+ secret_arn="secretArn"
6946
+ )
6947
+ '''
6948
+ if __debug__:
6949
+ type_hints = typing.get_type_hints(_typecheckingstub__6049f29f723d7f92a691c991b6232a25e39ba58d2d4400b1c499f542a7a8aee7)
6950
+ check_type(argname="argument secret_access_role_arn", value=secret_access_role_arn, expected_type=type_hints["secret_access_role_arn"])
6951
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
6952
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6953
+ "secret_access_role_arn": secret_access_role_arn,
6954
+ "secret_arn": secret_arn,
6955
+ }
6956
+
6957
+ @builtins.property
6958
+ def secret_access_role_arn(self) -> builtins.str:
6959
+ '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
6960
+
6961
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-customsecretconfig.html#cfn-datasync-locationsmb-customsecretconfig-secretaccessrolearn
6962
+ '''
6963
+ result = self._values.get("secret_access_role_arn")
6964
+ assert result is not None, "Required property 'secret_access_role_arn' is missing"
6965
+ return typing.cast(builtins.str, result)
6966
+
6967
+ @builtins.property
6968
+ def secret_arn(self) -> builtins.str:
6969
+ '''Specifies the ARN for an AWS Secrets Manager secret.
6970
+
6971
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-customsecretconfig.html#cfn-datasync-locationsmb-customsecretconfig-secretarn
6972
+ '''
6973
+ result = self._values.get("secret_arn")
6974
+ assert result is not None, "Required property 'secret_arn' is missing"
6975
+ return typing.cast(builtins.str, result)
6976
+
6977
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6978
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6979
+
6980
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6981
+ return not (rhs == self)
6982
+
6983
+ def __repr__(self) -> str:
6984
+ return "CustomSecretConfigProperty(%s)" % ", ".join(
6985
+ k + "=" + repr(v) for k, v in self._values.items()
6986
+ )
6987
+
6988
+ @jsii.data_type(
6989
+ jsii_type="aws-cdk-lib.aws_datasync.CfnLocationSMB.ManagedSecretConfigProperty",
6990
+ jsii_struct_bases=[],
6991
+ name_mapping={"secret_arn": "secretArn"},
6992
+ )
6993
+ class ManagedSecretConfigProperty:
6994
+ def __init__(self, *, secret_arn: builtins.str) -> None:
6995
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location.
6996
+
6997
+ DataSync uses the default AWS -managed KMS key to encrypt this secret in AWS Secrets Manager .
6998
+
6999
+ :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
7000
+
7001
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-managedsecretconfig.html
7002
+ :exampleMetadata: fixture=_generated
7003
+
7004
+ Example::
7005
+
7006
+ # The code below shows an example of how to instantiate this type.
7007
+ # The values are placeholders you should change.
7008
+ from aws_cdk import aws_datasync as datasync
7009
+
7010
+ managed_secret_config_property = datasync.CfnLocationSMB.ManagedSecretConfigProperty(
7011
+ secret_arn="secretArn"
7012
+ )
7013
+ '''
7014
+ if __debug__:
7015
+ type_hints = typing.get_type_hints(_typecheckingstub__5db7c95a4b68a63cb100ea0ecc9392535271eaf1c99519a96ebecbd32455f91c)
7016
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
7017
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7018
+ "secret_arn": secret_arn,
7019
+ }
7020
+
7021
+ @builtins.property
7022
+ def secret_arn(self) -> builtins.str:
7023
+ '''Specifies the ARN for an AWS Secrets Manager secret.
7024
+
7025
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-managedsecretconfig.html#cfn-datasync-locationsmb-managedsecretconfig-secretarn
7026
+ '''
7027
+ result = self._values.get("secret_arn")
7028
+ assert result is not None, "Required property 'secret_arn' is missing"
7029
+ return typing.cast(builtins.str, result)
7030
+
7031
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7032
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7033
+
7034
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7035
+ return not (rhs == self)
7036
+
7037
+ def __repr__(self) -> str:
7038
+ return "ManagedSecretConfigProperty(%s)" % ", ".join(
7039
+ k + "=" + repr(v) for k, v in self._values.items()
7040
+ )
7041
+
5961
7042
  @jsii.data_type(
5962
7043
  jsii_type="aws-cdk-lib.aws_datasync.CfnLocationSMB.MountOptionsProperty",
5963
7044
  jsii_struct_bases=[],
@@ -6033,6 +7114,8 @@ class CfnLocationSMB(
6033
7114
  name_mapping={
6034
7115
  "agent_arns": "agentArns",
6035
7116
  "authentication_type": "authenticationType",
7117
+ "cmk_secret_config": "cmkSecretConfig",
7118
+ "custom_secret_config": "customSecretConfig",
6036
7119
  "dns_ip_addresses": "dnsIpAddresses",
6037
7120
  "domain": "domain",
6038
7121
  "kerberos_keytab": "kerberosKeytab",
@@ -6052,6 +7135,8 @@ class CfnLocationSMBProps:
6052
7135
  *,
6053
7136
  agent_arns: typing.Sequence[builtins.str],
6054
7137
  authentication_type: typing.Optional[builtins.str] = None,
7138
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7139
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6055
7140
  dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
6056
7141
  domain: typing.Optional[builtins.str] = None,
6057
7142
  kerberos_keytab: typing.Optional[builtins.str] = None,
@@ -6067,15 +7152,17 @@ class CfnLocationSMBProps:
6067
7152
  '''Properties for defining a ``CfnLocationSMB``.
6068
7153
 
6069
7154
  :param agent_arns: Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).
6070
- :param authentication_type: Specifies the authentication protocol that DataSync uses to connect to your SMB file server. DataSync supports ``NTLM`` (default) and ``KERBEROS`` authentication. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6071
- :param dns_ip_addresses: Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if ``AuthenticationType`` is set to ``KERBEROS`` . If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
7155
+ :param authentication_type: The authentication mode used to determine identity of user.
7156
+ :param cmk_secret_config: Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key . .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
7157
+ :param custom_secret_config: Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret. .. epigraph:: You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
7158
+ :param dns_ip_addresses: Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
6072
7159
  :param domain: Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` . If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.
6073
- :param kerberos_keytab: Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys. The file must be base64 encoded. To avoid task execution errors, make sure that the Kerberos principal that you use to create the keytab file matches exactly what you specify for ``KerberosPrincipal`` .
6074
- :param kerberos_krb5_conf: Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration. The file must be base64 encoded.
6075
- :param kerberos_principal: Specifies a Kerberos prinicpal, which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. A Kerberos principal might look like ``HOST/kerberosuser@MYDOMAIN.ORG`` . Principal names are case sensitive. Your DataSync task execution will fail if the principal that you specify for this parameter doesnt exactly match the principal that you use to create the keytab file.
7160
+ :param kerberos_keytab: The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.
7161
+ :param kerberos_krb5_conf: The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.
7162
+ :param kerberos_principal: Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.
6076
7163
  :param mount_options: Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
6077
7164
  :param password: Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6078
- :param server_hostname: Specifies the domain name or IP address of the SMB file server that your DataSync agent connects to. Remember the following when configuring this parameter: - You can't specify an IP version 6 (IPv6) address. - If you're using Kerberos authentication, you must specify a domain name.
7165
+ :param server_hostname: Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to. .. epigraph:: If you're using Kerberos authentication, you must specify a domain name.
6079
7166
  :param subdirectory: Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, ``/path/to/subdirectory`` ). Make sure that other SMB clients in your network can also mount this path. To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6080
7167
  :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your location.
6081
7168
  :param user: Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server. This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` . For information about choosing a user with the right level of access for your transfer, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
@@ -6094,6 +7181,14 @@ class CfnLocationSMBProps:
6094
7181
 
6095
7182
  # the properties below are optional
6096
7183
  authentication_type="authenticationType",
7184
+ cmk_secret_config=datasync.CfnLocationSMB.CmkSecretConfigProperty(
7185
+ kms_key_arn="kmsKeyArn",
7186
+ secret_arn="secretArn"
7187
+ ),
7188
+ custom_secret_config=datasync.CfnLocationSMB.CustomSecretConfigProperty(
7189
+ secret_access_role_arn="secretAccessRoleArn",
7190
+ secret_arn="secretArn"
7191
+ ),
6097
7192
  dns_ip_addresses=["dnsIpAddresses"],
6098
7193
  domain="domain",
6099
7194
  kerberos_keytab="kerberosKeytab",
@@ -6116,6 +7211,8 @@ class CfnLocationSMBProps:
6116
7211
  type_hints = typing.get_type_hints(_typecheckingstub__b20670d7cb18baa1155ccc397df310282442d51b95170ab568e5c0a9cbea5bc8)
6117
7212
  check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
6118
7213
  check_type(argname="argument authentication_type", value=authentication_type, expected_type=type_hints["authentication_type"])
7214
+ check_type(argname="argument cmk_secret_config", value=cmk_secret_config, expected_type=type_hints["cmk_secret_config"])
7215
+ check_type(argname="argument custom_secret_config", value=custom_secret_config, expected_type=type_hints["custom_secret_config"])
6119
7216
  check_type(argname="argument dns_ip_addresses", value=dns_ip_addresses, expected_type=type_hints["dns_ip_addresses"])
6120
7217
  check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
6121
7218
  check_type(argname="argument kerberos_keytab", value=kerberos_keytab, expected_type=type_hints["kerberos_keytab"])
@@ -6132,6 +7229,10 @@ class CfnLocationSMBProps:
6132
7229
  }
6133
7230
  if authentication_type is not None:
6134
7231
  self._values["authentication_type"] = authentication_type
7232
+ if cmk_secret_config is not None:
7233
+ self._values["cmk_secret_config"] = cmk_secret_config
7234
+ if custom_secret_config is not None:
7235
+ self._values["custom_secret_config"] = custom_secret_config
6135
7236
  if dns_ip_addresses is not None:
6136
7237
  self._values["dns_ip_addresses"] = dns_ip_addresses
6137
7238
  if domain is not None:
@@ -6169,24 +7270,49 @@ class CfnLocationSMBProps:
6169
7270
 
6170
7271
  @builtins.property
6171
7272
  def authentication_type(self) -> typing.Optional[builtins.str]:
6172
- '''Specifies the authentication protocol that DataSync uses to connect to your SMB file server.
6173
-
6174
- DataSync supports ``NTLM`` (default) and ``KERBEROS`` authentication.
6175
-
6176
- For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
7273
+ '''The authentication mode used to determine identity of user.
6177
7274
 
6178
7275
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-authenticationtype
6179
7276
  '''
6180
7277
  result = self._values.get("authentication_type")
6181
7278
  return typing.cast(typing.Optional[builtins.str], result)
6182
7279
 
7280
+ @builtins.property
7281
+ def cmk_secret_config(
7282
+ self,
7283
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.CmkSecretConfigProperty]]:
7284
+ '''Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
7285
+
7286
+ .. epigraph::
7287
+
7288
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
7289
+
7290
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-cmksecretconfig
7291
+ '''
7292
+ result = self._values.get("cmk_secret_config")
7293
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.CmkSecretConfigProperty]], result)
7294
+
7295
+ @builtins.property
7296
+ def custom_secret_config(
7297
+ self,
7298
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.CustomSecretConfigProperty]]:
7299
+ '''Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text.
7300
+
7301
+ This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
7302
+ .. epigraph::
7303
+
7304
+ You can use either ``CmkSecretConfig`` or ``CustomSecretConfig`` to provide credentials for a ``CreateLocation`` request. Do not provide both parameters for the same request.
7305
+
7306
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-customsecretconfig
7307
+ '''
7308
+ result = self._values.get("custom_secret_config")
7309
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.CustomSecretConfigProperty]], result)
7310
+
6183
7311
  @builtins.property
6184
7312
  def dns_ip_addresses(self) -> typing.Optional[typing.List[builtins.str]]:
6185
7313
  '''Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.
6186
7314
 
6187
- This parameter applies only if ``AuthenticationType`` is set to ``KERBEROS`` .
6188
-
6189
- If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
7315
+ This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
6190
7316
 
6191
7317
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-dnsipaddresses
6192
7318
  '''
@@ -6208,11 +7334,9 @@ class CfnLocationSMBProps:
6208
7334
 
6209
7335
  @builtins.property
6210
7336
  def kerberos_keytab(self) -> typing.Optional[builtins.str]:
6211
- '''Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys.
6212
-
6213
- The file must be base64 encoded.
7337
+ '''The Base64 string representation of the Keytab file.
6214
7338
 
6215
- To avoid task execution errors, make sure that the Kerberos principal that you use to create the keytab file matches exactly what you specify for ``KerberosPrincipal`` .
7339
+ Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.
6216
7340
 
6217
7341
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskeytab
6218
7342
  '''
@@ -6220,682 +7344,97 @@ class CfnLocationSMBProps:
6220
7344
  return typing.cast(typing.Optional[builtins.str], result)
6221
7345
 
6222
7346
  @builtins.property
6223
- def kerberos_krb5_conf(self) -> typing.Optional[builtins.str]:
6224
- '''Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration.
6225
-
6226
- The file must be base64 encoded.
6227
-
6228
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskrb5conf
6229
- '''
6230
- result = self._values.get("kerberos_krb5_conf")
6231
- return typing.cast(typing.Optional[builtins.str], result)
6232
-
6233
- @builtins.property
6234
- def kerberos_principal(self) -> typing.Optional[builtins.str]:
6235
- '''Specifies a Kerberos prinicpal, which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.
6236
-
6237
- A Kerberos principal might look like ``HOST/kerberosuser@MYDOMAIN.ORG`` .
6238
-
6239
- Principal names are case sensitive. Your DataSync task execution will fail if the principal that you specify for this parameter doesn’t exactly match the principal that you use to create the keytab file.
6240
-
6241
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberosprincipal
6242
- '''
6243
- result = self._values.get("kerberos_principal")
6244
- return typing.cast(typing.Optional[builtins.str], result)
6245
-
6246
- @builtins.property
6247
- def mount_options(
6248
- self,
6249
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]]:
6250
- '''Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
6251
-
6252
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-mountoptions
6253
- '''
6254
- result = self._values.get("mount_options")
6255
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]], result)
6256
-
6257
- @builtins.property
6258
- def password(self) -> typing.Optional[builtins.str]:
6259
- '''Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.
6260
-
6261
- This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6262
-
6263
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-password
6264
- '''
6265
- result = self._values.get("password")
6266
- return typing.cast(typing.Optional[builtins.str], result)
6267
-
6268
- @builtins.property
6269
- def server_hostname(self) -> typing.Optional[builtins.str]:
6270
- '''Specifies the domain name or IP address of the SMB file server that your DataSync agent connects to.
6271
-
6272
- Remember the following when configuring this parameter:
6273
-
6274
- - You can't specify an IP version 6 (IPv6) address.
6275
- - If you're using Kerberos authentication, you must specify a domain name.
6276
-
6277
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-serverhostname
6278
- '''
6279
- result = self._values.get("server_hostname")
6280
- return typing.cast(typing.Optional[builtins.str], result)
6281
-
6282
- @builtins.property
6283
- def subdirectory(self) -> typing.Optional[builtins.str]:
6284
- '''Specifies the name of the share exported by your SMB file server where DataSync will read or write data.
6285
-
6286
- You can include a subdirectory in the share path (for example, ``/path/to/subdirectory`` ). Make sure that other SMB clients in your network can also mount this path.
6287
-
6288
- To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6289
-
6290
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-subdirectory
6291
- '''
6292
- result = self._values.get("subdirectory")
6293
- return typing.cast(typing.Optional[builtins.str], result)
6294
-
6295
- @builtins.property
6296
- def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6297
- '''Specifies labels that help you categorize, filter, and search for your AWS resources.
6298
-
6299
- We recommend creating at least a name tag for your location.
6300
-
6301
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-tags
6302
- '''
6303
- result = self._values.get("tags")
6304
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
6305
-
6306
- @builtins.property
6307
- def user(self) -> typing.Optional[builtins.str]:
6308
- '''Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.
6309
-
6310
- This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6311
-
6312
- For information about choosing a user with the right level of access for your transfer, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6313
-
6314
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-user
6315
- '''
6316
- result = self._values.get("user")
6317
- return typing.cast(typing.Optional[builtins.str], result)
6318
-
6319
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
6320
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6321
-
6322
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
6323
- return not (rhs == self)
6324
-
6325
- def __repr__(self) -> str:
6326
- return "CfnLocationSMBProps(%s)" % ", ".join(
6327
- k + "=" + repr(v) for k, v in self._values.items()
6328
- )
6329
-
6330
-
6331
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6332
- class CfnStorageSystem(
6333
- _CfnResource_9df397a6,
6334
- metaclass=jsii.JSIIMeta,
6335
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystem",
6336
- ):
6337
- '''The ``AWS::DataSync::StorageSystem`` resource creates an AWS resource for an on-premises storage system that you want DataSync Discovery to collect information about.
6338
-
6339
- For more information, see `discovering your storage with DataSync Discovery. <https://docs.aws.amazon.com/datasync/latest/userguide/understanding-your-storage.html>`_
6340
-
6341
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html
6342
- :cloudformationResource: AWS::DataSync::StorageSystem
6343
- :exampleMetadata: fixture=_generated
6344
-
6345
- Example::
6346
-
6347
- # The code below shows an example of how to instantiate this type.
6348
- # The values are placeholders you should change.
6349
- from aws_cdk import aws_datasync as datasync
6350
-
6351
- cfn_storage_system = datasync.CfnStorageSystem(self, "MyCfnStorageSystem",
6352
- agent_arns=["agentArns"],
6353
- server_configuration=datasync.CfnStorageSystem.ServerConfigurationProperty(
6354
- server_hostname="serverHostname",
6355
-
6356
- # the properties below are optional
6357
- server_port=123
6358
- ),
6359
- system_type="systemType",
6360
-
6361
- # the properties below are optional
6362
- cloud_watch_log_group_arn="cloudWatchLogGroupArn",
6363
- name="name",
6364
- server_credentials=datasync.CfnStorageSystem.ServerCredentialsProperty(
6365
- password="password",
6366
- username="username"
6367
- ),
6368
- tags=[CfnTag(
6369
- key="key",
6370
- value="value"
6371
- )]
6372
- )
6373
- '''
6374
-
6375
- def __init__(
6376
- self,
6377
- scope: _constructs_77d1e7e8.Construct,
6378
- id: builtins.str,
6379
- *,
6380
- agent_arns: typing.Sequence[builtins.str],
6381
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnStorageSystem.ServerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
6382
- system_type: builtins.str,
6383
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
6384
- name: typing.Optional[builtins.str] = None,
6385
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnStorageSystem.ServerCredentialsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6386
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6387
- ) -> None:
6388
- '''
6389
- :param scope: Scope in which this resource is defined.
6390
- :param id: Construct identifier for this resource (unique in its scope).
6391
- :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads from your on-premises storage system's management interface. You can only specify one ARN.
6392
- :param server_configuration: Specifies the server name and network port required to connect with the management interface of your on-premises storage system.
6393
- :param system_type: Specifies the type of on-premises storage system that you want DataSync Discovery to collect information about. .. epigraph:: DataSync Discovery currently supports NetApp Fabric-Attached Storage (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later.
6394
- :param cloud_watch_log_group_arn: Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.
6395
- :param name: Specifies a familiar name for your on-premises storage system.
6396
- :param server_credentials: Specifies the user name and password for accessing your on-premises storage system's management interface.
6397
- :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your on-premises storage system.
6398
- '''
6399
- if __debug__:
6400
- type_hints = typing.get_type_hints(_typecheckingstub__cd03aea3d03c00385e272f326dc093d0575219e3eac09a9f89062f9453a9360f)
6401
- check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
6402
- check_type(argname="argument id", value=id, expected_type=type_hints["id"])
6403
- props = CfnStorageSystemProps(
6404
- agent_arns=agent_arns,
6405
- server_configuration=server_configuration,
6406
- system_type=system_type,
6407
- cloud_watch_log_group_arn=cloud_watch_log_group_arn,
6408
- name=name,
6409
- server_credentials=server_credentials,
6410
- tags=tags,
6411
- )
6412
-
6413
- jsii.create(self.__class__, self, [scope, id, props])
6414
-
6415
- @jsii.member(jsii_name="inspect")
6416
- def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
6417
- '''Examines the CloudFormation resource and discloses attributes.
6418
-
6419
- :param inspector: tree inspector to collect and process attributes.
6420
- '''
6421
- if __debug__:
6422
- type_hints = typing.get_type_hints(_typecheckingstub__9d30237b704bab23311aad893ff50107b6fc1840c11f7ab06f9fd41ffce46d0d)
6423
- check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
6424
- return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
6425
-
6426
- @jsii.member(jsii_name="renderProperties")
6427
- def _render_properties(
6428
- self,
6429
- props: typing.Mapping[builtins.str, typing.Any],
6430
- ) -> typing.Mapping[builtins.str, typing.Any]:
6431
- '''
6432
- :param props: -
6433
- '''
6434
- if __debug__:
6435
- type_hints = typing.get_type_hints(_typecheckingstub__81b9c192e8b33247af58d9ec7498864f379be5476b6c0a2aeb98684bc257c348)
6436
- check_type(argname="argument props", value=props, expected_type=type_hints["props"])
6437
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
6438
-
6439
- @jsii.python.classproperty
6440
- @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
6441
- def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
6442
- '''The CloudFormation resource type name for this resource class.'''
6443
- return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
6444
-
6445
- @builtins.property
6446
- @jsii.member(jsii_name="attrConnectivityStatus")
6447
- def attr_connectivity_status(self) -> builtins.str:
6448
- '''Indicates whether your DataSync agent can connect to your on-premises storage system.
6449
-
6450
- :cloudformationAttribute: ConnectivityStatus
6451
- '''
6452
- return typing.cast(builtins.str, jsii.get(self, "attrConnectivityStatus"))
6453
-
6454
- @builtins.property
6455
- @jsii.member(jsii_name="attrSecretsManagerArn")
6456
- def attr_secrets_manager_arn(self) -> builtins.str:
6457
- '''The ARN of the secret that stores your on-premises storage system's credentials.
6458
-
6459
- DataSync Discovery stores these credentials in `AWS Secrets Manager <https://docs.aws.amazon.com/datasync/latest/userguide/discovery-configure-storage.html#discovery-add-storage>`_ .
6460
-
6461
- :cloudformationAttribute: SecretsManagerArn
6462
- '''
6463
- return typing.cast(builtins.str, jsii.get(self, "attrSecretsManagerArn"))
6464
-
6465
- @builtins.property
6466
- @jsii.member(jsii_name="attrStorageSystemArn")
6467
- def attr_storage_system_arn(self) -> builtins.str:
6468
- '''The ARN of the on-premises storage system that you're using with DataSync Discovery.
6469
-
6470
- :cloudformationAttribute: StorageSystemArn
6471
- '''
6472
- return typing.cast(builtins.str, jsii.get(self, "attrStorageSystemArn"))
6473
-
6474
- @builtins.property
6475
- @jsii.member(jsii_name="cfnProperties")
6476
- def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6477
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
6478
-
6479
- @builtins.property
6480
- @jsii.member(jsii_name="tags")
6481
- def tags(self) -> _TagManager_0a598cb3:
6482
- '''Tag Manager which manages the tags for this resource.'''
6483
- return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
6484
-
6485
- @builtins.property
6486
- @jsii.member(jsii_name="agentArns")
6487
- def agent_arns(self) -> typing.List[builtins.str]:
6488
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads from your on-premises storage system's management interface.'''
6489
- return typing.cast(typing.List[builtins.str], jsii.get(self, "agentArns"))
6490
-
6491
- @agent_arns.setter
6492
- def agent_arns(self, value: typing.List[builtins.str]) -> None:
6493
- if __debug__:
6494
- type_hints = typing.get_type_hints(_typecheckingstub__91c1b3e5cd2d7dd98537d8ad2c7deae28f00b5d6d23089b99cb0768ef5ca4d7f)
6495
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6496
- jsii.set(self, "agentArns", value) # pyright: ignore[reportArgumentType]
6497
-
6498
- @builtins.property
6499
- @jsii.member(jsii_name="serverConfiguration")
6500
- def server_configuration(
6501
- self,
6502
- ) -> typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerConfigurationProperty"]:
6503
- '''Specifies the server name and network port required to connect with the management interface of your on-premises storage system.'''
6504
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerConfigurationProperty"], jsii.get(self, "serverConfiguration"))
6505
-
6506
- @server_configuration.setter
6507
- def server_configuration(
6508
- self,
6509
- value: typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerConfigurationProperty"],
6510
- ) -> None:
6511
- if __debug__:
6512
- type_hints = typing.get_type_hints(_typecheckingstub__81366a44879ecfffc2cf1020a13667d2ef18466bde35cc8a36864bab3668086b)
6513
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6514
- jsii.set(self, "serverConfiguration", value) # pyright: ignore[reportArgumentType]
6515
-
6516
- @builtins.property
6517
- @jsii.member(jsii_name="systemType")
6518
- def system_type(self) -> builtins.str:
6519
- '''Specifies the type of on-premises storage system that you want DataSync Discovery to collect information about.'''
6520
- return typing.cast(builtins.str, jsii.get(self, "systemType"))
6521
-
6522
- @system_type.setter
6523
- def system_type(self, value: builtins.str) -> None:
6524
- if __debug__:
6525
- type_hints = typing.get_type_hints(_typecheckingstub__1ac346e347fbe1b4d60467d3562a6b070e1ed3e50a18844309f094f5f94cb7f6)
6526
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6527
- jsii.set(self, "systemType", value) # pyright: ignore[reportArgumentType]
6528
-
6529
- @builtins.property
6530
- @jsii.member(jsii_name="cloudWatchLogGroupArn")
6531
- def cloud_watch_log_group_arn(self) -> typing.Optional[builtins.str]:
6532
- '''Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.'''
6533
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "cloudWatchLogGroupArn"))
6534
-
6535
- @cloud_watch_log_group_arn.setter
6536
- def cloud_watch_log_group_arn(self, value: typing.Optional[builtins.str]) -> None:
6537
- if __debug__:
6538
- type_hints = typing.get_type_hints(_typecheckingstub__e8cf99420b818e4ec735e8ef96836c7c265a5bb74331a73d84e9fc56a6321299)
6539
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6540
- jsii.set(self, "cloudWatchLogGroupArn", value) # pyright: ignore[reportArgumentType]
6541
-
6542
- @builtins.property
6543
- @jsii.member(jsii_name="name")
6544
- def name(self) -> typing.Optional[builtins.str]:
6545
- '''Specifies a familiar name for your on-premises storage system.'''
6546
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
6547
-
6548
- @name.setter
6549
- def name(self, value: typing.Optional[builtins.str]) -> None:
6550
- if __debug__:
6551
- type_hints = typing.get_type_hints(_typecheckingstub__764666a950d4d83875874f1d9312ef4c5d98748fc51fe8f1dc9c8cf696e4e0bd)
6552
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6553
- jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
6554
-
6555
- @builtins.property
6556
- @jsii.member(jsii_name="serverCredentials")
6557
- def server_credentials(
6558
- self,
6559
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerCredentialsProperty"]]:
6560
- '''Specifies the user name and password for accessing your on-premises storage system's management interface.'''
6561
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerCredentialsProperty"]], jsii.get(self, "serverCredentials"))
6562
-
6563
- @server_credentials.setter
6564
- def server_credentials(
6565
- self,
6566
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStorageSystem.ServerCredentialsProperty"]],
6567
- ) -> None:
6568
- if __debug__:
6569
- type_hints = typing.get_type_hints(_typecheckingstub__2f52a2f2a6197dee934b3eaad41d0b7cc429e508ed4c3d4437b45f339ffd8712)
6570
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6571
- jsii.set(self, "serverCredentials", value) # pyright: ignore[reportArgumentType]
6572
-
6573
- @builtins.property
6574
- @jsii.member(jsii_name="tagsRaw")
6575
- def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6576
- '''Specifies labels that help you categorize, filter, and search for your AWS resources.'''
6577
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
6578
-
6579
- @tags_raw.setter
6580
- def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
6581
- if __debug__:
6582
- type_hints = typing.get_type_hints(_typecheckingstub__3f06b57402f5a745b22a5a454fa8563a935276c499111bb78103406214b07c52)
6583
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6584
- jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
6585
-
6586
- @jsii.data_type(
6587
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystem.ServerConfigurationProperty",
6588
- jsii_struct_bases=[],
6589
- name_mapping={
6590
- "server_hostname": "serverHostname",
6591
- "server_port": "serverPort",
6592
- },
6593
- )
6594
- class ServerConfigurationProperty:
6595
- def __init__(
6596
- self,
6597
- *,
6598
- server_hostname: builtins.str,
6599
- server_port: typing.Optional[jsii.Number] = None,
6600
- ) -> None:
6601
- '''The network settings that DataSync Discovery uses to connect with your on-premises storage system's management interface.
6602
-
6603
- :param server_hostname: The domain name or IP address of your storage system's management interface.
6604
- :param server_port: The network port for accessing the storage system's management interface.
6605
-
6606
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-serverconfiguration.html
6607
- :exampleMetadata: fixture=_generated
6608
-
6609
- Example::
6610
-
6611
- # The code below shows an example of how to instantiate this type.
6612
- # The values are placeholders you should change.
6613
- from aws_cdk import aws_datasync as datasync
6614
-
6615
- server_configuration_property = datasync.CfnStorageSystem.ServerConfigurationProperty(
6616
- server_hostname="serverHostname",
6617
-
6618
- # the properties below are optional
6619
- server_port=123
6620
- )
6621
- '''
6622
- if __debug__:
6623
- type_hints = typing.get_type_hints(_typecheckingstub__0b2d9d38924c8714fdacccf65a04ce2f4670647a35b1330abeacb71b09b32c66)
6624
- check_type(argname="argument server_hostname", value=server_hostname, expected_type=type_hints["server_hostname"])
6625
- check_type(argname="argument server_port", value=server_port, expected_type=type_hints["server_port"])
6626
- self._values: typing.Dict[builtins.str, typing.Any] = {
6627
- "server_hostname": server_hostname,
6628
- }
6629
- if server_port is not None:
6630
- self._values["server_port"] = server_port
6631
-
6632
- @builtins.property
6633
- def server_hostname(self) -> builtins.str:
6634
- '''The domain name or IP address of your storage system's management interface.
6635
-
6636
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-serverconfiguration.html#cfn-datasync-storagesystem-serverconfiguration-serverhostname
6637
- '''
6638
- result = self._values.get("server_hostname")
6639
- assert result is not None, "Required property 'server_hostname' is missing"
6640
- return typing.cast(builtins.str, result)
6641
-
6642
- @builtins.property
6643
- def server_port(self) -> typing.Optional[jsii.Number]:
6644
- '''The network port for accessing the storage system's management interface.
6645
-
6646
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-serverconfiguration.html#cfn-datasync-storagesystem-serverconfiguration-serverport
6647
- '''
6648
- result = self._values.get("server_port")
6649
- return typing.cast(typing.Optional[jsii.Number], result)
6650
-
6651
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
6652
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6653
-
6654
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
6655
- return not (rhs == self)
6656
-
6657
- def __repr__(self) -> str:
6658
- return "ServerConfigurationProperty(%s)" % ", ".join(
6659
- k + "=" + repr(v) for k, v in self._values.items()
6660
- )
6661
-
6662
- @jsii.data_type(
6663
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystem.ServerCredentialsProperty",
6664
- jsii_struct_bases=[],
6665
- name_mapping={"password": "password", "username": "username"},
6666
- )
6667
- class ServerCredentialsProperty:
6668
- def __init__(self, *, password: builtins.str, username: builtins.str) -> None:
6669
- '''The credentials that provide DataSync Discovery read access to your on-premises storage system's management interface.
6670
-
6671
- DataSync Discovery stores these credentials in `AWS Secrets Manager <https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html>`_ . For more information, see `Accessing your on-premises storage system <https://docs.aws.amazon.com/datasync/latest/userguide/discovery-configure-storage.html>`_ .
6672
-
6673
- :param password: Specifies the password for your storage system's management interface.
6674
- :param username: Specifies the user name for your storage system's management interface.
6675
-
6676
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-servercredentials.html
6677
- :exampleMetadata: fixture=_generated
6678
-
6679
- Example::
6680
-
6681
- # The code below shows an example of how to instantiate this type.
6682
- # The values are placeholders you should change.
6683
- from aws_cdk import aws_datasync as datasync
6684
-
6685
- server_credentials_property = datasync.CfnStorageSystem.ServerCredentialsProperty(
6686
- password="password",
6687
- username="username"
6688
- )
6689
- '''
6690
- if __debug__:
6691
- type_hints = typing.get_type_hints(_typecheckingstub__4aca605fb52bb6e32c26164545155c20da0e4d47eff8787d0c19d543d3f0f293)
6692
- check_type(argname="argument password", value=password, expected_type=type_hints["password"])
6693
- check_type(argname="argument username", value=username, expected_type=type_hints["username"])
6694
- self._values: typing.Dict[builtins.str, typing.Any] = {
6695
- "password": password,
6696
- "username": username,
6697
- }
6698
-
6699
- @builtins.property
6700
- def password(self) -> builtins.str:
6701
- '''Specifies the password for your storage system's management interface.
6702
-
6703
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-servercredentials.html#cfn-datasync-storagesystem-servercredentials-password
6704
- '''
6705
- result = self._values.get("password")
6706
- assert result is not None, "Required property 'password' is missing"
6707
- return typing.cast(builtins.str, result)
6708
-
6709
- @builtins.property
6710
- def username(self) -> builtins.str:
6711
- '''Specifies the user name for your storage system's management interface.
6712
-
6713
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-servercredentials.html#cfn-datasync-storagesystem-servercredentials-username
6714
- '''
6715
- result = self._values.get("username")
6716
- assert result is not None, "Required property 'username' is missing"
6717
- return typing.cast(builtins.str, result)
6718
-
6719
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
6720
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6721
-
6722
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
6723
- return not (rhs == self)
6724
-
6725
- def __repr__(self) -> str:
6726
- return "ServerCredentialsProperty(%s)" % ", ".join(
6727
- k + "=" + repr(v) for k, v in self._values.items()
6728
- )
6729
-
6730
-
6731
- @jsii.data_type(
6732
- jsii_type="aws-cdk-lib.aws_datasync.CfnStorageSystemProps",
6733
- jsii_struct_bases=[],
6734
- name_mapping={
6735
- "agent_arns": "agentArns",
6736
- "server_configuration": "serverConfiguration",
6737
- "system_type": "systemType",
6738
- "cloud_watch_log_group_arn": "cloudWatchLogGroupArn",
6739
- "name": "name",
6740
- "server_credentials": "serverCredentials",
6741
- "tags": "tags",
6742
- },
6743
- )
6744
- class CfnStorageSystemProps:
6745
- def __init__(
6746
- self,
6747
- *,
6748
- agent_arns: typing.Sequence[builtins.str],
6749
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
6750
- system_type: builtins.str,
6751
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
6752
- name: typing.Optional[builtins.str] = None,
6753
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6754
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6755
- ) -> None:
6756
- '''Properties for defining a ``CfnStorageSystem``.
6757
-
6758
- :param agent_arns: Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads from your on-premises storage system's management interface. You can only specify one ARN.
6759
- :param server_configuration: Specifies the server name and network port required to connect with the management interface of your on-premises storage system.
6760
- :param system_type: Specifies the type of on-premises storage system that you want DataSync Discovery to collect information about. .. epigraph:: DataSync Discovery currently supports NetApp Fabric-Attached Storage (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later.
6761
- :param cloud_watch_log_group_arn: Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.
6762
- :param name: Specifies a familiar name for your on-premises storage system.
6763
- :param server_credentials: Specifies the user name and password for accessing your on-premises storage system's management interface.
6764
- :param tags: Specifies labels that help you categorize, filter, and search for your AWS resources. We recommend creating at least a name tag for your on-premises storage system.
6765
-
6766
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html
6767
- :exampleMetadata: fixture=_generated
6768
-
6769
- Example::
6770
-
6771
- # The code below shows an example of how to instantiate this type.
6772
- # The values are placeholders you should change.
6773
- from aws_cdk import aws_datasync as datasync
6774
-
6775
- cfn_storage_system_props = datasync.CfnStorageSystemProps(
6776
- agent_arns=["agentArns"],
6777
- server_configuration=datasync.CfnStorageSystem.ServerConfigurationProperty(
6778
- server_hostname="serverHostname",
6779
-
6780
- # the properties below are optional
6781
- server_port=123
6782
- ),
6783
- system_type="systemType",
6784
-
6785
- # the properties below are optional
6786
- cloud_watch_log_group_arn="cloudWatchLogGroupArn",
6787
- name="name",
6788
- server_credentials=datasync.CfnStorageSystem.ServerCredentialsProperty(
6789
- password="password",
6790
- username="username"
6791
- ),
6792
- tags=[CfnTag(
6793
- key="key",
6794
- value="value"
6795
- )]
6796
- )
6797
- '''
6798
- if __debug__:
6799
- type_hints = typing.get_type_hints(_typecheckingstub__b07c9f88707493efc0c6204abeacfb93dcb4bfdc339feb06b9cedb3c14e549a6)
6800
- check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
6801
- check_type(argname="argument server_configuration", value=server_configuration, expected_type=type_hints["server_configuration"])
6802
- check_type(argname="argument system_type", value=system_type, expected_type=type_hints["system_type"])
6803
- check_type(argname="argument cloud_watch_log_group_arn", value=cloud_watch_log_group_arn, expected_type=type_hints["cloud_watch_log_group_arn"])
6804
- check_type(argname="argument name", value=name, expected_type=type_hints["name"])
6805
- check_type(argname="argument server_credentials", value=server_credentials, expected_type=type_hints["server_credentials"])
6806
- check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
6807
- self._values: typing.Dict[builtins.str, typing.Any] = {
6808
- "agent_arns": agent_arns,
6809
- "server_configuration": server_configuration,
6810
- "system_type": system_type,
6811
- }
6812
- if cloud_watch_log_group_arn is not None:
6813
- self._values["cloud_watch_log_group_arn"] = cloud_watch_log_group_arn
6814
- if name is not None:
6815
- self._values["name"] = name
6816
- if server_credentials is not None:
6817
- self._values["server_credentials"] = server_credentials
6818
- if tags is not None:
6819
- self._values["tags"] = tags
7347
+ def kerberos_krb5_conf(self) -> typing.Optional[builtins.str]:
7348
+ '''The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.
7349
+
7350
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskrb5conf
7351
+ '''
7352
+ result = self._values.get("kerberos_krb5_conf")
7353
+ return typing.cast(typing.Optional[builtins.str], result)
6820
7354
 
6821
7355
  @builtins.property
6822
- def agent_arns(self) -> typing.List[builtins.str]:
6823
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads from your on-premises storage system's management interface.
7356
+ def kerberos_principal(self) -> typing.Optional[builtins.str]:
7357
+ '''Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.
6824
7358
 
6825
- You can only specify one ARN.
7359
+ SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.
6826
7360
 
6827
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-agentarns
7361
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberosprincipal
6828
7362
  '''
6829
- result = self._values.get("agent_arns")
6830
- assert result is not None, "Required property 'agent_arns' is missing"
6831
- return typing.cast(typing.List[builtins.str], result)
7363
+ result = self._values.get("kerberos_principal")
7364
+ return typing.cast(typing.Optional[builtins.str], result)
6832
7365
 
6833
7366
  @builtins.property
6834
- def server_configuration(
7367
+ def mount_options(
6835
7368
  self,
6836
- ) -> typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerConfigurationProperty]:
6837
- '''Specifies the server name and network port required to connect with the management interface of your on-premises storage system.
7369
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]]:
7370
+ '''Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
6838
7371
 
6839
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-serverconfiguration
7372
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-mountoptions
6840
7373
  '''
6841
- result = self._values.get("server_configuration")
6842
- assert result is not None, "Required property 'server_configuration' is missing"
6843
- return typing.cast(typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerConfigurationProperty], result)
7374
+ result = self._values.get("mount_options")
7375
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.MountOptionsProperty]], result)
6844
7376
 
6845
7377
  @builtins.property
6846
- def system_type(self) -> builtins.str:
6847
- '''Specifies the type of on-premises storage system that you want DataSync Discovery to collect information about.
6848
-
6849
- .. epigraph::
7378
+ def password(self) -> typing.Optional[builtins.str]:
7379
+ '''Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.
6850
7380
 
6851
- DataSync Discovery currently supports NetApp Fabric-Attached Storage (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later.
7381
+ This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
6852
7382
 
6853
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-systemtype
7383
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-password
6854
7384
  '''
6855
- result = self._values.get("system_type")
6856
- assert result is not None, "Required property 'system_type' is missing"
6857
- return typing.cast(builtins.str, result)
7385
+ result = self._values.get("password")
7386
+ return typing.cast(typing.Optional[builtins.str], result)
6858
7387
 
6859
7388
  @builtins.property
6860
- def cloud_watch_log_group_arn(self) -> typing.Optional[builtins.str]:
6861
- '''Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.
7389
+ def server_hostname(self) -> typing.Optional[builtins.str]:
7390
+ '''Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.
6862
7391
 
6863
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-cloudwatchloggrouparn
6864
- '''
6865
- result = self._values.get("cloud_watch_log_group_arn")
6866
- return typing.cast(typing.Optional[builtins.str], result)
7392
+ .. epigraph::
6867
7393
 
6868
- @builtins.property
6869
- def name(self) -> typing.Optional[builtins.str]:
6870
- '''Specifies a familiar name for your on-premises storage system.
7394
+ If you're using Kerberos authentication, you must specify a domain name.
6871
7395
 
6872
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-name
7396
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-serverhostname
6873
7397
  '''
6874
- result = self._values.get("name")
7398
+ result = self._values.get("server_hostname")
6875
7399
  return typing.cast(typing.Optional[builtins.str], result)
6876
7400
 
6877
7401
  @builtins.property
6878
- def server_credentials(
6879
- self,
6880
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerCredentialsProperty]]:
6881
- '''Specifies the user name and password for accessing your on-premises storage system's management interface.
7402
+ def subdirectory(self) -> typing.Optional[builtins.str]:
7403
+ '''Specifies the name of the share exported by your SMB file server where DataSync will read or write data.
7404
+
7405
+ You can include a subdirectory in the share path (for example, ``/path/to/subdirectory`` ). Make sure that other SMB clients in your network can also mount this path.
7406
+
7407
+ To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
6882
7408
 
6883
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-servercredentials
7409
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-subdirectory
6884
7410
  '''
6885
- result = self._values.get("server_credentials")
6886
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerCredentialsProperty]], result)
7411
+ result = self._values.get("subdirectory")
7412
+ return typing.cast(typing.Optional[builtins.str], result)
6887
7413
 
6888
7414
  @builtins.property
6889
7415
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6890
7416
  '''Specifies labels that help you categorize, filter, and search for your AWS resources.
6891
7417
 
6892
- We recommend creating at least a name tag for your on-premises storage system.
7418
+ We recommend creating at least a name tag for your location.
6893
7419
 
6894
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html#cfn-datasync-storagesystem-tags
7420
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-tags
6895
7421
  '''
6896
7422
  result = self._values.get("tags")
6897
7423
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
6898
7424
 
7425
+ @builtins.property
7426
+ def user(self) -> typing.Optional[builtins.str]:
7427
+ '''Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.
7428
+
7429
+ This parameter applies only if ``AuthenticationType`` is set to ``NTLM`` .
7430
+
7431
+ For information about choosing a user with the right level of access for your transfer, see `Providing DataSync access to SMB file servers <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions>`_ .
7432
+
7433
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-user
7434
+ '''
7435
+ result = self._values.get("user")
7436
+ return typing.cast(typing.Optional[builtins.str], result)
7437
+
6899
7438
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6900
7439
  return isinstance(rhs, self.__class__) and rhs._values == self._values
6901
7440
 
@@ -6903,12 +7442,12 @@ class CfnStorageSystemProps:
6903
7442
  return not (rhs == self)
6904
7443
 
6905
7444
  def __repr__(self) -> str:
6906
- return "CfnStorageSystemProps(%s)" % ", ".join(
7445
+ return "CfnLocationSMBProps(%s)" % ", ".join(
6907
7446
  k + "=" + repr(v) for k, v in self._values.items()
6908
7447
  )
6909
7448
 
6910
7449
 
6911
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
7450
+ @jsii.implements(_IInspectable_c2943556, _ITaskRef_0571d67b, _ITaggable_36806126)
6912
7451
  class CfnTask(
6913
7452
  _CfnResource_9df397a6,
6914
7453
  metaclass=jsii.JSIIMeta,
@@ -7032,7 +7571,8 @@ class CfnTask(
7032
7571
  task_mode: typing.Optional[builtins.str] = None,
7033
7572
  task_report_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTask.TaskReportConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7034
7573
  ) -> None:
7035
- '''
7574
+ '''Create a new ``AWS::DataSync::Task``.
7575
+
7036
7576
  :param scope: Scope in which this resource is defined.
7037
7577
  :param id: Construct identifier for this resource (unique in its scope).
7038
7578
  :param destination_location_arn: The Amazon Resource Name (ARN) of an AWS storage resource's location.
@@ -7045,8 +7585,8 @@ class CfnTask(
7045
7585
  :param options: Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.
7046
7586
  :param schedule: Specifies a schedule for when you want your task to run. For more information, see `Scheduling your task <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html>`_ .
7047
7587
  :param tags: Specifies the tags that you want to apply to your task. *Tags* are key-value pairs that help you manage, filter, and search for your DataSync resources.
7048
- :param task_mode: Specifies one of the following task modes for your data transfer:. - ``ENHANCED`` - Transfer virtually unlimited numbers of objects with higher performance than Basic mode. Enhanced mode tasks optimize the data transfer process by listing, preparing, transferring, and verifying data in parallel. Enhanced mode is currently available for transfers between Amazon S3 locations. .. epigraph:: To create an Enhanced mode task, the IAM role that you use to call the ``CreateTask`` operation must have the ``iam:CreateServiceLinkedRole`` permission. - ``BASIC`` (default) - Transfer files or objects between AWS storage and all other supported DataSync locations. Basic mode tasks are subject to `quotas <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html>`_ on the number of files, objects, and directories in a dataset. Basic mode sequentially prepares, transfers, and verifies data, making it slower than Enhanced mode for most workloads. For more information, see `Understanding task mode differences <https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html#task-mode-differences>`_ .
7049
- :param task_report_config: Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see `Monitoring your DataSync transfers with task reports <https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html>`_ . When using this parameter, your caller identity (the role that you're using DataSync with) must have the ``iam:PassRole`` permission. The `AWSDataSyncFullAccess <https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess>`_ policy includes this permission.
7588
+ :param task_mode: The task mode that you're using. For more information, see `Choosing a task mode for your data transfer <https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html>`_ .
7589
+ :param task_report_config: The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see `Monitoring your DataSync transfers with task reports <https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html>`_ .
7050
7590
  '''
7051
7591
  if __debug__:
7052
7592
  type_hints = typing.get_type_hints(_typecheckingstub__9add9673a1f0ceb078949e967bce91066ff7e0441dae95d55c11c4a503a397a6)
@@ -7146,6 +7686,12 @@ class CfnTask(
7146
7686
  '''Tag Manager which manages the tags for this resource.'''
7147
7687
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
7148
7688
 
7689
+ @builtins.property
7690
+ @jsii.member(jsii_name="taskRef")
7691
+ def task_ref(self) -> _TaskReference_56755658:
7692
+ '''A reference to a Task resource.'''
7693
+ return typing.cast(_TaskReference_56755658, jsii.get(self, "taskRef"))
7694
+
7149
7695
  @builtins.property
7150
7696
  @jsii.member(jsii_name="destinationLocationArn")
7151
7697
  def destination_location_arn(self) -> builtins.str:
@@ -7304,7 +7850,7 @@ class CfnTask(
7304
7850
  @builtins.property
7305
7851
  @jsii.member(jsii_name="taskMode")
7306
7852
  def task_mode(self) -> typing.Optional[builtins.str]:
7307
- '''Specifies one of the following task modes for your data transfer:.'''
7853
+ '''The task mode that you're using.'''
7308
7854
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "taskMode"))
7309
7855
 
7310
7856
  @task_mode.setter
@@ -7319,7 +7865,7 @@ class CfnTask(
7319
7865
  def task_report_config(
7320
7866
  self,
7321
7867
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.TaskReportConfigProperty"]]:
7322
- '''Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer.'''
7868
+ '''The configuration of your task report, which provides detailed information about your DataSync transfer.'''
7323
7869
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.TaskReportConfigProperty"]], jsii.get(self, "taskReportConfig"))
7324
7870
 
7325
7871
  @task_report_config.setter
@@ -7343,9 +7889,11 @@ class CfnTask(
7343
7889
  *,
7344
7890
  report_level: typing.Optional[builtins.str] = None,
7345
7891
  ) -> None:
7346
- '''The reporting level for the deleted section of your DataSync task report.
7892
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to delete in your destination location.
7893
+
7894
+ This only applies if you configure your task to delete data in the destination that isn't in the source.
7347
7895
 
7348
- :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't. - ``ERRORS_ONLY`` : A report shows what DataSync was unable to delete. - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to delete.
7896
+ :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
7349
7897
 
7350
7898
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-deleted.html
7351
7899
  :exampleMetadata: fixture=_generated
@@ -7371,9 +7919,6 @@ class CfnTask(
7371
7919
  def report_level(self) -> typing.Optional[builtins.str]:
7372
7920
  '''Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
7373
7921
 
7374
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to delete.
7375
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to delete.
7376
-
7377
7922
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-deleted.html#cfn-datasync-task-deleted-reportlevel
7378
7923
  '''
7379
7924
  result = self._values.get("report_level")
@@ -7401,7 +7946,7 @@ class CfnTask(
7401
7946
  *,
7402
7947
  s3: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTask.S3Property", typing.Dict[builtins.str, typing.Any]]]] = None,
7403
7948
  ) -> None:
7404
- '''Specifies where DataSync uploads your `task report <https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html>`_ .
7949
+ '''Specifies where DataSync uploads your task report.
7405
7950
 
7406
7951
  :param s3: Specifies the Amazon S3 bucket where DataSync uploads your task report.
7407
7952
 
@@ -7653,11 +8198,9 @@ class CfnTask(
7653
8198
  ) -> None:
7654
8199
  '''Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.
7655
8200
 
7656
- For more information and configuration examples, see `Specifying what DataSync transfers by using a manifest <https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html>`_ .
7657
-
7658
- :param bucket_access_role_arn: Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest. For more information, see `Providing DataSync access to your manifest <https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-access>`_ .
7659
- :param manifest_object_path: Specifies the Amazon S3 object key of your manifest. This can include a prefix (for example, ``prefix/my-manifest.csv`` ).
7660
- :param manifest_object_version_id: Specifies the object version ID of the manifest that you want DataSync to use. If you don't set this, DataSync uses the latest version of the object.
8201
+ :param bucket_access_role_arn: Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest.
8202
+ :param manifest_object_path: Specifies the Amazon S3 object key of your manifest.
8203
+ :param manifest_object_version_id: Specifies the object version ID of the manifest that you want DataSync to use.
7661
8204
  :param s3_bucket_arn: Specifies the Amazon Resource Name (ARN) of the S3 bucket where you're hosting your manifest.
7662
8205
 
7663
8206
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html
@@ -7696,8 +8239,6 @@ class CfnTask(
7696
8239
  def bucket_access_role_arn(self) -> typing.Optional[builtins.str]:
7697
8240
  '''Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest.
7698
8241
 
7699
- For more information, see `Providing DataSync access to your manifest <https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-access>`_ .
7700
-
7701
8242
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-bucketaccessrolearn
7702
8243
  '''
7703
8244
  result = self._values.get("bucket_access_role_arn")
@@ -7707,8 +8248,6 @@ class CfnTask(
7707
8248
  def manifest_object_path(self) -> typing.Optional[builtins.str]:
7708
8249
  '''Specifies the Amazon S3 object key of your manifest.
7709
8250
 
7710
- This can include a prefix (for example, ``prefix/my-manifest.csv`` ).
7711
-
7712
8251
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectpath
7713
8252
  '''
7714
8253
  result = self._values.get("manifest_object_path")
@@ -7718,8 +8257,6 @@ class CfnTask(
7718
8257
  def manifest_object_version_id(self) -> typing.Optional[builtins.str]:
7719
8258
  '''Specifies the object version ID of the manifest that you want DataSync to use.
7720
8259
 
7721
- If you don't set this, DataSync uses the latest version of the object.
7722
-
7723
8260
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectversionid
7724
8261
  '''
7725
8262
  result = self._values.get("manifest_object_version_id")
@@ -8172,12 +8709,12 @@ class CfnTask(
8172
8709
  ) -> None:
8173
8710
  '''Customizes the reporting level for aspects of your task report.
8174
8711
 
8175
- For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.
8712
+ For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that Datasync attempted to delete in your destination location.
8176
8713
 
8177
- :param deleted: Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location. This only applies if you `configure your task <https://docs.aws.amazon.com/datasync/latest/userguide/configure-metadata.html>`_ to delete data in the destination that isn't in the source.
8178
- :param skipped: Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.
8179
- :param transferred: Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.
8180
- :param verified: Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify during your transfer.
8714
+ :param deleted: Specifies the level of reporting for the files, objects, and directories that Datasync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.
8715
+ :param skipped: Specifies the level of reporting for the files, objects, and directories that Datasync attempted to skip during your transfer.
8716
+ :param transferred: Specifies the level of reporting for the files, objects, and directories that Datasync attempted to transfer.
8717
+ :param verified: Specifies the level of reporting for the files, objects, and directories that Datasync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which Datasync does by default)
8181
8718
 
8182
8719
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html
8183
8720
  :exampleMetadata: fixture=_generated
@@ -8223,9 +8760,9 @@ class CfnTask(
8223
8760
  def deleted(
8224
8761
  self,
8225
8762
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.DeletedProperty"]]:
8226
- '''Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location.
8763
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to delete in your destination location.
8227
8764
 
8228
- This only applies if you `configure your task <https://docs.aws.amazon.com/datasync/latest/userguide/configure-metadata.html>`_ to delete data in the destination that isn't in the source.
8765
+ This only applies if you configure your task to delete data in the destination that isn't in the source.
8229
8766
 
8230
8767
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-deleted
8231
8768
  '''
@@ -8236,7 +8773,7 @@ class CfnTask(
8236
8773
  def skipped(
8237
8774
  self,
8238
8775
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.SkippedProperty"]]:
8239
- '''Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.
8776
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to skip during your transfer.
8240
8777
 
8241
8778
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-skipped
8242
8779
  '''
@@ -8247,7 +8784,7 @@ class CfnTask(
8247
8784
  def transferred(
8248
8785
  self,
8249
8786
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.TransferredProperty"]]:
8250
- '''Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.
8787
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to transfer.
8251
8788
 
8252
8789
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-transferred
8253
8790
  '''
@@ -8258,7 +8795,9 @@ class CfnTask(
8258
8795
  def verified(
8259
8796
  self,
8260
8797
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.VerifiedProperty"]]:
8261
- '''Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify during your transfer.
8798
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to verify at the end of your transfer.
8799
+
8800
+ This only applies if you configure your task to verify data during and after the transfer (which Datasync does by default)
8262
8801
 
8263
8802
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-verified
8264
8803
  '''
@@ -8372,9 +8911,9 @@ class CfnTask(
8372
8911
  *,
8373
8912
  report_level: typing.Optional[builtins.str] = None,
8374
8913
  ) -> None:
8375
- '''The reporting level for the skipped section of your DataSync task report.
8914
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to skip during your transfer.
8376
8915
 
8377
- :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't. - ``ERRORS_ONLY`` : A report shows what DataSync was unable to skip. - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to skip.
8916
+ :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
8378
8917
 
8379
8918
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-skipped.html
8380
8919
  :exampleMetadata: fixture=_generated
@@ -8400,9 +8939,6 @@ class CfnTask(
8400
8939
  def report_level(self) -> typing.Optional[builtins.str]:
8401
8940
  '''Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
8402
8941
 
8403
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to skip.
8404
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to skip.
8405
-
8406
8942
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-skipped.html#cfn-datasync-task-skipped-reportlevel
8407
8943
  '''
8408
8944
  result = self._values.get("report_level")
@@ -8430,11 +8966,9 @@ class CfnTask(
8430
8966
  *,
8431
8967
  s3: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTask.ManifestConfigSourceS3Property", typing.Dict[builtins.str, typing.Any]]]] = None,
8432
8968
  ) -> None:
8433
- '''Specifies the manifest that you want AWS DataSync to use and where it's hosted.
8434
-
8435
- For more information and configuration examples, see `Specifying what DataSync transfers by using a manifest <https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html>`_ .
8969
+ '''Specifies the manifest that you want DataSync to use and where it's hosted.
8436
8970
 
8437
- :param s3: Specifies the S3 bucket where you're hosting your manifest.
8971
+ :param s3: Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.
8438
8972
 
8439
8973
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-source.html
8440
8974
  :exampleMetadata: fixture=_generated
@@ -8465,7 +8999,7 @@ class CfnTask(
8465
8999
  def s3(
8466
9000
  self,
8467
9001
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.ManifestConfigSourceS3Property"]]:
8468
- '''Specifies the S3 bucket where you're hosting your manifest.
9002
+ '''Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.
8469
9003
 
8470
9004
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-source.html#cfn-datasync-task-source-s3
8471
9005
  '''
@@ -8659,7 +9193,7 @@ class CfnTask(
8659
9193
  '''Configures your AWS DataSync task to run on a `schedule <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html>`_ (at a minimum interval of 1 hour).
8660
9194
 
8661
9195
  :param schedule_expression: Specifies your task schedule by using a cron or rate expression. Use cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month: ``cron(0 8 * * 3#1)`` Use rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours: ``rate(12 hours)`` For information about cron and rate expression syntax, see the `*Amazon EventBridge User Guide* <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html>`_ .
8662
- :param status: Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to perform maintenance on a storage system before you can begin a recurring DataSync transfer. DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see the `*DataSync User Guide* <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html#pause-task-schedule>`_ .
9196
+ :param status: Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system. DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see `TaskScheduleDetails <https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html>`_ .
8663
9197
 
8664
9198
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html
8665
9199
  :exampleMetadata: fixture=_generated
@@ -8708,9 +9242,9 @@ class CfnTask(
8708
9242
  def status(self) -> typing.Optional[builtins.str]:
8709
9243
  '''Specifies whether to enable or disable your task schedule.
8710
9244
 
8711
- Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to perform maintenance on a storage system before you can begin a recurring DataSync transfer.
9245
+ Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system.
8712
9246
 
8713
- DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see the `*DataSync User Guide* <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html#pause-task-schedule>`_ .
9247
+ DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see `TaskScheduleDetails <https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html>`_ .
8714
9248
 
8715
9249
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html#cfn-datasync-task-taskschedule-status
8716
9250
  '''
@@ -8739,9 +9273,9 @@ class CfnTask(
8739
9273
  *,
8740
9274
  report_level: typing.Optional[builtins.str] = None,
8741
9275
  ) -> None:
8742
- '''The reporting level for the transferred section of your DataSync task report.
9276
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to transfer.
8743
9277
 
8744
- :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't. - ``ERRORS_ONLY`` : A report shows what DataSync was unable to transfer. - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to transfer.
9278
+ :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
8745
9279
 
8746
9280
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-transferred.html
8747
9281
  :exampleMetadata: fixture=_generated
@@ -8767,9 +9301,6 @@ class CfnTask(
8767
9301
  def report_level(self) -> typing.Optional[builtins.str]:
8768
9302
  '''Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
8769
9303
 
8770
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to transfer.
8771
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to transfer.
8772
-
8773
9304
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-transferred.html#cfn-datasync-task-transferred-reportlevel
8774
9305
  '''
8775
9306
  result = self._values.get("report_level")
@@ -8797,9 +9328,11 @@ class CfnTask(
8797
9328
  *,
8798
9329
  report_level: typing.Optional[builtins.str] = None,
8799
9330
  ) -> None:
8800
- '''The reporting level for the verified section of your DataSync task report.
9331
+ '''Specifies the level of reporting for the files, objects, and directories that Datasync attempted to verify at the end of your transfer.
8801
9332
 
8802
- :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't. - ``ERRORS_ONLY`` : A report shows what DataSync was unable to verify. - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to verify.
9333
+ This only applies if you configure your task to verify data during and after the transfer (which Datasync does by default)
9334
+
9335
+ :param report_level: Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
8803
9336
 
8804
9337
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-verified.html
8805
9338
  :exampleMetadata: fixture=_generated
@@ -8825,9 +9358,6 @@ class CfnTask(
8825
9358
  def report_level(self) -> typing.Optional[builtins.str]:
8826
9359
  '''Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.
8827
9360
 
8828
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to verify.
8829
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to verify.
8830
-
8831
9361
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-verified.html#cfn-datasync-task-verified-reportlevel
8832
9362
  '''
8833
9363
  result = self._values.get("report_level")
@@ -8892,8 +9422,8 @@ class CfnTaskProps:
8892
9422
  :param options: Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.
8893
9423
  :param schedule: Specifies a schedule for when you want your task to run. For more information, see `Scheduling your task <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html>`_ .
8894
9424
  :param tags: Specifies the tags that you want to apply to your task. *Tags* are key-value pairs that help you manage, filter, and search for your DataSync resources.
8895
- :param task_mode: Specifies one of the following task modes for your data transfer:. - ``ENHANCED`` - Transfer virtually unlimited numbers of objects with higher performance than Basic mode. Enhanced mode tasks optimize the data transfer process by listing, preparing, transferring, and verifying data in parallel. Enhanced mode is currently available for transfers between Amazon S3 locations. .. epigraph:: To create an Enhanced mode task, the IAM role that you use to call the ``CreateTask`` operation must have the ``iam:CreateServiceLinkedRole`` permission. - ``BASIC`` (default) - Transfer files or objects between AWS storage and all other supported DataSync locations. Basic mode tasks are subject to `quotas <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html>`_ on the number of files, objects, and directories in a dataset. Basic mode sequentially prepares, transfers, and verifies data, making it slower than Enhanced mode for most workloads. For more information, see `Understanding task mode differences <https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html#task-mode-differences>`_ .
8896
- :param task_report_config: Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see `Monitoring your DataSync transfers with task reports <https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html>`_ . When using this parameter, your caller identity (the role that you're using DataSync with) must have the ``iam:PassRole`` permission. The `AWSDataSyncFullAccess <https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess>`_ policy includes this permission.
9425
+ :param task_mode: The task mode that you're using. For more information, see `Choosing a task mode for your data transfer <https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html>`_ .
9426
+ :param task_report_config: The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see `Monitoring your DataSync transfers with task reports <https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html>`_ .
8897
9427
 
8898
9428
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html
8899
9429
  :exampleMetadata: fixture=_generated
@@ -9146,17 +9676,9 @@ class CfnTaskProps:
9146
9676
 
9147
9677
  @builtins.property
9148
9678
  def task_mode(self) -> typing.Optional[builtins.str]:
9149
- '''Specifies one of the following task modes for your data transfer:.
9679
+ '''The task mode that you're using.
9150
9680
 
9151
- - ``ENHANCED`` - Transfer virtually unlimited numbers of objects with higher performance than Basic mode. Enhanced mode tasks optimize the data transfer process by listing, preparing, transferring, and verifying data in parallel. Enhanced mode is currently available for transfers between Amazon S3 locations.
9152
-
9153
- .. epigraph::
9154
-
9155
- To create an Enhanced mode task, the IAM role that you use to call the ``CreateTask`` operation must have the ``iam:CreateServiceLinkedRole`` permission.
9156
-
9157
- - ``BASIC`` (default) - Transfer files or objects between AWS storage and all other supported DataSync locations. Basic mode tasks are subject to `quotas <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html>`_ on the number of files, objects, and directories in a dataset. Basic mode sequentially prepares, transfers, and verifies data, making it slower than Enhanced mode for most workloads.
9158
-
9159
- For more information, see `Understanding task mode differences <https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html#task-mode-differences>`_ .
9681
+ For more information, see `Choosing a task mode for your data transfer <https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html>`_ .
9160
9682
 
9161
9683
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskmode
9162
9684
  '''
@@ -9167,12 +9689,10 @@ class CfnTaskProps:
9167
9689
  def task_report_config(
9168
9690
  self,
9169
9691
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTask.TaskReportConfigProperty]]:
9170
- '''Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer.
9692
+ '''The configuration of your task report, which provides detailed information about your DataSync transfer.
9171
9693
 
9172
9694
  For more information, see `Monitoring your DataSync transfers with task reports <https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html>`_ .
9173
9695
 
9174
- When using this parameter, your caller identity (the role that you're using DataSync with) must have the ``iam:PassRole`` permission. The `AWSDataSyncFullAccess <https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess>`_ policy includes this permission.
9175
-
9176
9696
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskreportconfig
9177
9697
  '''
9178
9698
  result = self._values.get("task_report_config")
@@ -9215,8 +9735,6 @@ __all__ = [
9215
9735
  "CfnLocationS3Props",
9216
9736
  "CfnLocationSMB",
9217
9737
  "CfnLocationSMBProps",
9218
- "CfnStorageSystem",
9219
- "CfnStorageSystemProps",
9220
9738
  "CfnTask",
9221
9739
  "CfnTaskProps",
9222
9740
  ]
@@ -9301,12 +9819,14 @@ def _typecheckingstub__2a49f57a1ab4813b1537b04053be19b99e3fa8f143f30fac9d1bc72ca
9301
9819
  scope: _constructs_77d1e7e8.Construct,
9302
9820
  id: builtins.str,
9303
9821
  *,
9304
- agent_arns: typing.Sequence[builtins.str],
9305
9822
  azure_blob_authentication_type: builtins.str,
9823
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
9306
9824
  azure_access_tier: typing.Optional[builtins.str] = None,
9307
9825
  azure_blob_container_url: typing.Optional[builtins.str] = None,
9308
9826
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.AzureBlobSasConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9309
9827
  azure_blob_type: typing.Optional[builtins.str] = None,
9828
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9829
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9310
9830
  subdirectory: typing.Optional[builtins.str] = None,
9311
9831
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
9312
9832
  ) -> None:
@@ -9325,14 +9845,14 @@ def _typecheckingstub__ebde5c22aa68229dea3796deaf496ab61b9ffcfdf6d4f56a59875e604
9325
9845
  """Type checking stubs"""
9326
9846
  pass
9327
9847
 
9328
- def _typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459(
9329
- value: typing.List[builtins.str],
9848
+ def _typecheckingstub__d66037c88c30360a6dbdeedf60b7cdd8b0d971ae11fb4944eb61af92fe413080(
9849
+ value: builtins.str,
9330
9850
  ) -> None:
9331
9851
  """Type checking stubs"""
9332
9852
  pass
9333
9853
 
9334
- def _typecheckingstub__d66037c88c30360a6dbdeedf60b7cdd8b0d971ae11fb4944eb61af92fe413080(
9335
- value: builtins.str,
9854
+ def _typecheckingstub__04d94ab53395a58893ca5e5668d51e78b5d567de304ebc1b3c8937ab5824c459(
9855
+ value: typing.Optional[typing.List[builtins.str]],
9336
9856
  ) -> None:
9337
9857
  """Type checking stubs"""
9338
9858
  pass
@@ -9361,6 +9881,18 @@ def _typecheckingstub__e74328b40eb55d86e422d5f30530d28f29d1393792015d7646eb06c88
9361
9881
  """Type checking stubs"""
9362
9882
  pass
9363
9883
 
9884
+ def _typecheckingstub__bbe60c9e1409294412076468854254983957a988d2e0d53f2fa73767e4a48525(
9885
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CmkSecretConfigProperty]],
9886
+ ) -> None:
9887
+ """Type checking stubs"""
9888
+ pass
9889
+
9890
+ def _typecheckingstub__3276084bb32edc8f06759cb50268fc7821cd740602d985f3b1b967d5267f90dc(
9891
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CustomSecretConfigProperty]],
9892
+ ) -> None:
9893
+ """Type checking stubs"""
9894
+ pass
9895
+
9364
9896
  def _typecheckingstub__861788b0a9a32f402ab93793acdec22ae6bb15d217371b8ba36d7cb8ba33fc6b(
9365
9897
  value: typing.Optional[builtins.str],
9366
9898
  ) -> None:
@@ -9380,14 +9912,39 @@ def _typecheckingstub__3b97bd3f13ec4166f121eb8229b7a3322702a4782d767aca2fc1323e9
9380
9912
  """Type checking stubs"""
9381
9913
  pass
9382
9914
 
9915
+ def _typecheckingstub__d03d5287185c3e65174404788128d96c2205212b3aa189dc5803a4b4b4b8ab36(
9916
+ *,
9917
+ kms_key_arn: typing.Optional[builtins.str] = None,
9918
+ secret_arn: typing.Optional[builtins.str] = None,
9919
+ ) -> None:
9920
+ """Type checking stubs"""
9921
+ pass
9922
+
9923
+ def _typecheckingstub__0b2d06a0f90feb2e23667a772b3c70d85bf30ee5c9bef02d35fd7339fdffaf93(
9924
+ *,
9925
+ secret_access_role_arn: builtins.str,
9926
+ secret_arn: builtins.str,
9927
+ ) -> None:
9928
+ """Type checking stubs"""
9929
+ pass
9930
+
9931
+ def _typecheckingstub__8ed16453ba6567e90e7b3e0e37a7206cf71efddb64e1cca1af96064be80c9609(
9932
+ *,
9933
+ secret_arn: builtins.str,
9934
+ ) -> None:
9935
+ """Type checking stubs"""
9936
+ pass
9937
+
9383
9938
  def _typecheckingstub__d386b9f5845962fa66385393ccc6424f66b9aee312fecdc96fe3ec242f754bf1(
9384
9939
  *,
9385
- agent_arns: typing.Sequence[builtins.str],
9386
9940
  azure_blob_authentication_type: builtins.str,
9941
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
9387
9942
  azure_access_tier: typing.Optional[builtins.str] = None,
9388
9943
  azure_blob_container_url: typing.Optional[builtins.str] = None,
9389
9944
  azure_blob_sas_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.AzureBlobSasConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9390
9945
  azure_blob_type: typing.Optional[builtins.str] = None,
9946
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9947
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationAzureBlob.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9391
9948
  subdirectory: typing.Optional[builtins.str] = None,
9392
9949
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
9393
9950
  ) -> None:
@@ -10046,9 +10603,11 @@ def _typecheckingstub__6afc4365b2246b057f5b97e5d62cc10a54cff3be74dae8a9bb184f54b
10046
10603
  scope: _constructs_77d1e7e8.Construct,
10047
10604
  id: builtins.str,
10048
10605
  *,
10049
- agent_arns: typing.Sequence[builtins.str],
10050
10606
  access_key: typing.Optional[builtins.str] = None,
10607
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
10051
10608
  bucket_name: typing.Optional[builtins.str] = None,
10609
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10610
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10052
10611
  secret_key: typing.Optional[builtins.str] = None,
10053
10612
  server_certificate: typing.Optional[builtins.str] = None,
10054
10613
  server_hostname: typing.Optional[builtins.str] = None,
@@ -10072,14 +10631,14 @@ def _typecheckingstub__1891041f95311e30edfb4c440a05c41fa9ad1fb130ed42400500c5785
10072
10631
  """Type checking stubs"""
10073
10632
  pass
10074
10633
 
10075
- def _typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec(
10076
- value: typing.List[builtins.str],
10634
+ def _typecheckingstub__5bab62678e3c33f0a6edfb878fe17304321977ba3655bb45d3504aa54de9dadc(
10635
+ value: typing.Optional[builtins.str],
10077
10636
  ) -> None:
10078
10637
  """Type checking stubs"""
10079
10638
  pass
10080
10639
 
10081
- def _typecheckingstub__5bab62678e3c33f0a6edfb878fe17304321977ba3655bb45d3504aa54de9dadc(
10082
- value: typing.Optional[builtins.str],
10640
+ def _typecheckingstub__af42e226779e989fe6f4a4e7403f44c0a7f4048f3185f2bd0fdbbe0f191363ec(
10641
+ value: typing.Optional[typing.List[builtins.str]],
10083
10642
  ) -> None:
10084
10643
  """Type checking stubs"""
10085
10644
  pass
@@ -10090,6 +10649,18 @@ def _typecheckingstub__daf6330b6613abe7771487991e7b16db5686e2242ecdbb63f4ef7e946
10090
10649
  """Type checking stubs"""
10091
10650
  pass
10092
10651
 
10652
+ def _typecheckingstub__750d7a103b8b00f0ab06ca1128b92bb839b2b91e71e5a388ec467dacd0fb58b6(
10653
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CmkSecretConfigProperty]],
10654
+ ) -> None:
10655
+ """Type checking stubs"""
10656
+ pass
10657
+
10658
+ def _typecheckingstub__f8e807a4053a1cf75e73e9841ea082806de0e3097bc4b377492cf4268c03a8c5(
10659
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CustomSecretConfigProperty]],
10660
+ ) -> None:
10661
+ """Type checking stubs"""
10662
+ pass
10663
+
10093
10664
  def _typecheckingstub__0cdc4af71140887c9702de30a25cd730dad08983bb31931dbba45c838b77c638(
10094
10665
  value: typing.Optional[builtins.str],
10095
10666
  ) -> None:
@@ -10132,11 +10703,36 @@ def _typecheckingstub__4c7a3d48757bffde04fd1015e50d6672207d2522eec04091eebdb3ac1
10132
10703
  """Type checking stubs"""
10133
10704
  pass
10134
10705
 
10706
+ def _typecheckingstub__86e020e5a613eca69f847ddcabf398915f10f12953f8b4391e961243da06c955(
10707
+ *,
10708
+ kms_key_arn: typing.Optional[builtins.str] = None,
10709
+ secret_arn: typing.Optional[builtins.str] = None,
10710
+ ) -> None:
10711
+ """Type checking stubs"""
10712
+ pass
10713
+
10714
+ def _typecheckingstub__630b549b792c8efcdd58178e432579f521d2a86cc91c662fd9c77d74c4293cb8(
10715
+ *,
10716
+ secret_access_role_arn: builtins.str,
10717
+ secret_arn: builtins.str,
10718
+ ) -> None:
10719
+ """Type checking stubs"""
10720
+ pass
10721
+
10722
+ def _typecheckingstub__65c61b34a40852805ad1d8c34da183c741fa3a1957daae2b986eb1a616335549(
10723
+ *,
10724
+ secret_arn: builtins.str,
10725
+ ) -> None:
10726
+ """Type checking stubs"""
10727
+ pass
10728
+
10135
10729
  def _typecheckingstub__d542a26da4e93d9d103e234c98ed367d8b6bea7d295017a32de5525e1ec22b45(
10136
10730
  *,
10137
- agent_arns: typing.Sequence[builtins.str],
10138
10731
  access_key: typing.Optional[builtins.str] = None,
10732
+ agent_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
10139
10733
  bucket_name: typing.Optional[builtins.str] = None,
10734
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10735
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationObjectStorage.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10140
10736
  secret_key: typing.Optional[builtins.str] = None,
10141
10737
  server_certificate: typing.Optional[builtins.str] = None,
10142
10738
  server_hostname: typing.Optional[builtins.str] = None,
@@ -10227,6 +10823,8 @@ def _typecheckingstub__bafa6101408857d4661895c88a8c9839da8768aa52e07d3f2889a4f27
10227
10823
  *,
10228
10824
  agent_arns: typing.Sequence[builtins.str],
10229
10825
  authentication_type: typing.Optional[builtins.str] = None,
10826
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10827
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10230
10828
  dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
10231
10829
  domain: typing.Optional[builtins.str] = None,
10232
10830
  kerberos_keytab: typing.Optional[builtins.str] = None,
@@ -10266,6 +10864,18 @@ def _typecheckingstub__35de39b9b573d0d6146fa84be08e6a3a14ff5e9ece5535c93fc8af130
10266
10864
  """Type checking stubs"""
10267
10865
  pass
10268
10866
 
10867
+ def _typecheckingstub__e407ec55488adbc9f81891a5e15e237e234b987b6214eb331162a8b63f344324(
10868
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.CmkSecretConfigProperty]],
10869
+ ) -> None:
10870
+ """Type checking stubs"""
10871
+ pass
10872
+
10873
+ def _typecheckingstub__fde88b8f3a9b839e4f9087f93f80eb219e3a48609302336a5ed68bd2edec2ebb(
10874
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationSMB.CustomSecretConfigProperty]],
10875
+ ) -> None:
10876
+ """Type checking stubs"""
10877
+ pass
10878
+
10269
10879
  def _typecheckingstub__dc011a04f6ce95bde8af4cc9451501d73cdf7696b6089617c22a1d8aa112d7be(
10270
10880
  value: typing.Optional[typing.List[builtins.str]],
10271
10881
  ) -> None:
@@ -10332,126 +10942,53 @@ def _typecheckingstub__9112e8b177e52fbd055f221015988972f906f8c7291b4a1992bb1656c
10332
10942
  """Type checking stubs"""
10333
10943
  pass
10334
10944
 
10335
- def _typecheckingstub__465428a8e33c33a3926562e4b4d3d671db7fc7f2d1ff95443e6224cb280e8c00(
10336
- *,
10337
- version: typing.Optional[builtins.str] = None,
10338
- ) -> None:
10339
- """Type checking stubs"""
10340
- pass
10341
-
10342
- def _typecheckingstub__b20670d7cb18baa1155ccc397df310282442d51b95170ab568e5c0a9cbea5bc8(
10945
+ def _typecheckingstub__9351aeda2a3946543003130a0d3d622afa774937076186eaabf4b996745ca99f(
10343
10946
  *,
10344
- agent_arns: typing.Sequence[builtins.str],
10345
- authentication_type: typing.Optional[builtins.str] = None,
10346
- dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
10347
- domain: typing.Optional[builtins.str] = None,
10348
- kerberos_keytab: typing.Optional[builtins.str] = None,
10349
- kerberos_krb5_conf: typing.Optional[builtins.str] = None,
10350
- kerberos_principal: typing.Optional[builtins.str] = None,
10351
- mount_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.MountOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10352
- password: typing.Optional[builtins.str] = None,
10353
- server_hostname: typing.Optional[builtins.str] = None,
10354
- subdirectory: typing.Optional[builtins.str] = None,
10355
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10356
- user: typing.Optional[builtins.str] = None,
10947
+ kms_key_arn: typing.Optional[builtins.str] = None,
10948
+ secret_arn: typing.Optional[builtins.str] = None,
10357
10949
  ) -> None:
10358
10950
  """Type checking stubs"""
10359
10951
  pass
10360
10952
 
10361
- def _typecheckingstub__cd03aea3d03c00385e272f326dc093d0575219e3eac09a9f89062f9453a9360f(
10362
- scope: _constructs_77d1e7e8.Construct,
10363
- id: builtins.str,
10953
+ def _typecheckingstub__6049f29f723d7f92a691c991b6232a25e39ba58d2d4400b1c499f542a7a8aee7(
10364
10954
  *,
10365
- agent_arns: typing.Sequence[builtins.str],
10366
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
10367
- system_type: builtins.str,
10368
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
10369
- name: typing.Optional[builtins.str] = None,
10370
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10371
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10372
- ) -> None:
10373
- """Type checking stubs"""
10374
- pass
10375
-
10376
- def _typecheckingstub__9d30237b704bab23311aad893ff50107b6fc1840c11f7ab06f9fd41ffce46d0d(
10377
- inspector: _TreeInspector_488e0dd5,
10378
- ) -> None:
10379
- """Type checking stubs"""
10380
- pass
10381
-
10382
- def _typecheckingstub__81b9c192e8b33247af58d9ec7498864f379be5476b6c0a2aeb98684bc257c348(
10383
- props: typing.Mapping[builtins.str, typing.Any],
10384
- ) -> None:
10385
- """Type checking stubs"""
10386
- pass
10387
-
10388
- def _typecheckingstub__91c1b3e5cd2d7dd98537d8ad2c7deae28f00b5d6d23089b99cb0768ef5ca4d7f(
10389
- value: typing.List[builtins.str],
10390
- ) -> None:
10391
- """Type checking stubs"""
10392
- pass
10393
-
10394
- def _typecheckingstub__81366a44879ecfffc2cf1020a13667d2ef18466bde35cc8a36864bab3668086b(
10395
- value: typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerConfigurationProperty],
10396
- ) -> None:
10397
- """Type checking stubs"""
10398
- pass
10399
-
10400
- def _typecheckingstub__1ac346e347fbe1b4d60467d3562a6b070e1ed3e50a18844309f094f5f94cb7f6(
10401
- value: builtins.str,
10402
- ) -> None:
10403
- """Type checking stubs"""
10404
- pass
10405
-
10406
- def _typecheckingstub__e8cf99420b818e4ec735e8ef96836c7c265a5bb74331a73d84e9fc56a6321299(
10407
- value: typing.Optional[builtins.str],
10955
+ secret_access_role_arn: builtins.str,
10956
+ secret_arn: builtins.str,
10408
10957
  ) -> None:
10409
10958
  """Type checking stubs"""
10410
10959
  pass
10411
10960
 
10412
- def _typecheckingstub__764666a950d4d83875874f1d9312ef4c5d98748fc51fe8f1dc9c8cf696e4e0bd(
10413
- value: typing.Optional[builtins.str],
10414
- ) -> None:
10415
- """Type checking stubs"""
10416
- pass
10417
-
10418
- def _typecheckingstub__2f52a2f2a6197dee934b3eaad41d0b7cc429e508ed4c3d4437b45f339ffd8712(
10419
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnStorageSystem.ServerCredentialsProperty]],
10420
- ) -> None:
10421
- """Type checking stubs"""
10422
- pass
10423
-
10424
- def _typecheckingstub__3f06b57402f5a745b22a5a454fa8563a935276c499111bb78103406214b07c52(
10425
- value: typing.Optional[typing.List[_CfnTag_f6864754]],
10426
- ) -> None:
10427
- """Type checking stubs"""
10428
- pass
10429
-
10430
- def _typecheckingstub__0b2d9d38924c8714fdacccf65a04ce2f4670647a35b1330abeacb71b09b32c66(
10961
+ def _typecheckingstub__5db7c95a4b68a63cb100ea0ecc9392535271eaf1c99519a96ebecbd32455f91c(
10431
10962
  *,
10432
- server_hostname: builtins.str,
10433
- server_port: typing.Optional[jsii.Number] = None,
10963
+ secret_arn: builtins.str,
10434
10964
  ) -> None:
10435
10965
  """Type checking stubs"""
10436
10966
  pass
10437
10967
 
10438
- def _typecheckingstub__4aca605fb52bb6e32c26164545155c20da0e4d47eff8787d0c19d543d3f0f293(
10968
+ def _typecheckingstub__465428a8e33c33a3926562e4b4d3d671db7fc7f2d1ff95443e6224cb280e8c00(
10439
10969
  *,
10440
- password: builtins.str,
10441
- username: builtins.str,
10970
+ version: typing.Optional[builtins.str] = None,
10442
10971
  ) -> None:
10443
10972
  """Type checking stubs"""
10444
10973
  pass
10445
10974
 
10446
- def _typecheckingstub__b07c9f88707493efc0c6204abeacfb93dcb4bfdc339feb06b9cedb3c14e549a6(
10975
+ def _typecheckingstub__b20670d7cb18baa1155ccc397df310282442d51b95170ab568e5c0a9cbea5bc8(
10447
10976
  *,
10448
10977
  agent_arns: typing.Sequence[builtins.str],
10449
- server_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
10450
- system_type: builtins.str,
10451
- cloud_watch_log_group_arn: typing.Optional[builtins.str] = None,
10452
- name: typing.Optional[builtins.str] = None,
10453
- server_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStorageSystem.ServerCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10978
+ authentication_type: typing.Optional[builtins.str] = None,
10979
+ cmk_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.CmkSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10980
+ custom_secret_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.CustomSecretConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10981
+ dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
10982
+ domain: typing.Optional[builtins.str] = None,
10983
+ kerberos_keytab: typing.Optional[builtins.str] = None,
10984
+ kerberos_krb5_conf: typing.Optional[builtins.str] = None,
10985
+ kerberos_principal: typing.Optional[builtins.str] = None,
10986
+ mount_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLocationSMB.MountOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10987
+ password: typing.Optional[builtins.str] = None,
10988
+ server_hostname: typing.Optional[builtins.str] = None,
10989
+ subdirectory: typing.Optional[builtins.str] = None,
10454
10990
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10991
+ user: typing.Optional[builtins.str] = None,
10455
10992
  ) -> None:
10456
10993
  """Type checking stubs"""
10457
10994
  pass