aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -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
@@ -515,17 +550,18 @@ class CfnLocationAzureBlob(
515
550
  subdirectory: typing.Optional[builtins.str] = None,
516
551
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
517
552
  ) -> None:
518
- '''
553
+ '''Create a new ``AWS::DataSync::LocationAzureBlob``.
554
+
519
555
  :param scope: Scope in which this resource is defined.
520
556
  :param id: Construct identifier for this resource (unique in its scope).
521
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"
522
- :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>`_ .
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.
523
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"
524
560
  :param azure_blob_container_url: Specifies the URL of the Azure Blob Storage container involved in your transfer.
525
- :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.
526
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"
527
- :param cmk_secret_config: 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, and a customer-managed AWS KMS key.
528
- :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
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.
529
565
  :param subdirectory: Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
530
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.
531
567
  '''
@@ -581,7 +617,9 @@ class CfnLocationAzureBlob(
581
617
  @builtins.property
582
618
  @jsii.member(jsii_name="attrCmkSecretConfigSecretArn")
583
619
  def attr_cmk_secret_config_secret_arn(self) -> builtins.str:
584
- '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
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`` .
585
623
 
586
624
  :cloudformationAttribute: CmkSecretConfig.SecretArn
587
625
  '''
@@ -627,6 +665,12 @@ class CfnLocationAzureBlob(
627
665
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
628
666
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
629
667
 
668
+ @builtins.property
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"))
673
+
630
674
  @builtins.property
631
675
  @jsii.member(jsii_name="azureBlobAuthenticationType")
632
676
  def azure_blob_authentication_type(self) -> builtins.str:
@@ -643,7 +687,7 @@ class CfnLocationAzureBlob(
643
687
  @builtins.property
644
688
  @jsii.member(jsii_name="agentArns")
645
689
  def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
646
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.'''
690
+ '''(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.'''
647
691
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "agentArns"))
648
692
 
649
693
  @agent_arns.setter
@@ -715,7 +759,7 @@ class CfnLocationAzureBlob(
715
759
  def cmk_secret_config(
716
760
  self,
717
761
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]]:
718
- '''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, and a customer-managed AWS KMS key.'''
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 .'''
719
763
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CmkSecretConfigProperty"]], jsii.get(self, "cmkSecretConfig"))
720
764
 
721
765
  @cmk_secret_config.setter
@@ -733,7 +777,7 @@ class CfnLocationAzureBlob(
733
777
  def custom_secret_config(
734
778
  self,
735
779
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]]:
736
- '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.'''
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.'''
737
781
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationAzureBlob.CustomSecretConfigProperty"]], jsii.get(self, "customSecretConfig"))
738
782
 
739
783
  @custom_secret_config.setter
@@ -842,10 +886,14 @@ class CfnLocationAzureBlob(
842
886
  kms_key_arn: typing.Optional[builtins.str] = None,
843
887
  secret_arn: typing.Optional[builtins.str] = None,
844
888
  ) -> None:
845
- '''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, and a customer-managed AWS KMS key.
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 .
846
890
 
847
- :param kms_key_arn: Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn. DataSync provides this key to AWS Secrets Manager.
848
- :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
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`` .
849
897
 
850
898
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html
851
899
  :exampleMetadata: fixture=_generated
@@ -873,9 +921,9 @@ class CfnLocationAzureBlob(
873
921
 
874
922
  @builtins.property
875
923
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
876
- '''Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn.
924
+ '''Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` .
877
925
 
878
- DataSync provides this key to AWS Secrets Manager.
926
+ DataSync provides this key to AWS Secrets Manager .
879
927
 
880
928
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-kmskeyarn
881
929
  '''
@@ -884,7 +932,9 @@ class CfnLocationAzureBlob(
884
932
 
885
933
  @builtins.property
886
934
  def secret_arn(self) -> typing.Optional[builtins.str]:
887
- '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
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`` .
888
938
 
889
939
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-secretarn
890
940
  '''
@@ -917,10 +967,15 @@ class CfnLocationAzureBlob(
917
967
  secret_access_role_arn: builtins.str,
918
968
  secret_arn: builtins.str,
919
969
  ) -> None:
920
- '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
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.
921
971
 
922
- :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.
923
- :param secret_arn: Specifies the ARN for a customer created AWS Secrets Manager secret.
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.
924
979
 
925
980
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html
926
981
  :exampleMetadata: fixture=_generated
@@ -947,7 +1002,7 @@ class CfnLocationAzureBlob(
947
1002
 
948
1003
  @builtins.property
949
1004
  def secret_access_role_arn(self) -> builtins.str:
950
- '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
1005
+ '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
951
1006
 
952
1007
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretaccessrolearn
953
1008
  '''
@@ -957,7 +1012,7 @@ class CfnLocationAzureBlob(
957
1012
 
958
1013
  @builtins.property
959
1014
  def secret_arn(self) -> builtins.str:
960
- '''Specifies the ARN for a customer created AWS Secrets Manager secret.
1015
+ '''Specifies the ARN for an AWS Secrets Manager secret.
961
1016
 
962
1017
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretarn
963
1018
  '''
@@ -985,7 +1040,7 @@ class CfnLocationAzureBlob(
985
1040
  def __init__(self, *, secret_arn: builtins.str) -> None:
986
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.
987
1042
 
988
- DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
1043
+ DataSync uses the default AWS -managed KMS key to encrypt this secret in AWS Secrets Manager .
989
1044
 
990
1045
  :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
991
1046
 
@@ -1065,13 +1120,13 @@ class CfnLocationAzureBlobProps:
1065
1120
  '''Properties for defining a ``CfnLocationAzureBlob``.
1066
1121
 
1067
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"
1068
- :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>`_ .
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.
1069
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"
1070
1125
  :param azure_blob_container_url: Specifies the URL of the Azure Blob Storage container involved in your transfer.
1071
- :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.
1072
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"
1073
- :param cmk_secret_config: 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, and a customer-managed AWS KMS key.
1074
- :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
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.
1075
1130
  :param subdirectory: Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, ``/my/images`` ).
1076
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.
1077
1132
 
@@ -1160,9 +1215,14 @@ class CfnLocationAzureBlobProps:
1160
1215
 
1161
1216
  @builtins.property
1162
1217
  def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
1163
- '''Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
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.
1164
1221
 
1165
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.
1166
1226
 
1167
1227
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-agentarns
1168
1228
  '''
@@ -1197,6 +1257,10 @@ class CfnLocationAzureBlobProps:
1197
1257
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.AzureBlobSasConfigurationProperty]]:
1198
1258
  '''Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
1199
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
+
1200
1264
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureblobsasconfiguration
1201
1265
  '''
1202
1266
  result = self._values.get("azure_blob_sas_configuration")
@@ -1219,7 +1283,11 @@ class CfnLocationAzureBlobProps:
1219
1283
  def cmk_secret_config(
1220
1284
  self,
1221
1285
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CmkSecretConfigProperty]]:
1222
- '''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, and a customer-managed AWS KMS key.
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.
1223
1291
 
1224
1292
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-cmksecretconfig
1225
1293
  '''
@@ -1230,7 +1298,12 @@ class CfnLocationAzureBlobProps:
1230
1298
  def custom_secret_config(
1231
1299
  self,
1232
1300
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationAzureBlob.CustomSecretConfigProperty]]:
1233
- '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
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.
1234
1307
 
1235
1308
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-customsecretconfig
1236
1309
  '''
@@ -1269,7 +1342,7 @@ class CfnLocationAzureBlobProps:
1269
1342
  )
1270
1343
 
1271
1344
 
1272
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1345
+ @jsii.implements(_IInspectable_c2943556, _ILocationEFSRef_6fba5e2e, _ITaggable_36806126)
1273
1346
  class CfnLocationEFS(
1274
1347
  _CfnResource_9df397a6,
1275
1348
  metaclass=jsii.JSIIMeta,
@@ -1321,7 +1394,8 @@ class CfnLocationEFS(
1321
1394
  subdirectory: typing.Optional[builtins.str] = None,
1322
1395
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1323
1396
  ) -> None:
1324
- '''
1397
+ '''Create a new ``AWS::DataSync::LocationEFS``.
1398
+
1325
1399
  :param scope: Scope in which this resource is defined.
1326
1400
  :param id: Construct identifier for this resource (unique in its scope).
1327
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>`_ .
@@ -1401,6 +1475,12 @@ class CfnLocationEFS(
1401
1475
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1402
1476
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1403
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
+
1404
1484
  @builtins.property
1405
1485
  @jsii.member(jsii_name="tags")
1406
1486
  def tags(self) -> _TagManager_0a598cb3:
@@ -1521,7 +1601,7 @@ class CfnLocationEFS(
1521
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>`_ .
1522
1602
 
1523
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.
1524
- :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.
1525
1605
 
1526
1606
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html
1527
1607
  :exampleMetadata: fixture=_generated
@@ -1558,7 +1638,7 @@ class CfnLocationEFS(
1558
1638
 
1559
1639
  @builtins.property
1560
1640
  def subnet_arn(self) -> builtins.str:
1561
- '''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.
1562
1642
 
1563
1643
  The subnet must be located:
1564
1644
 
@@ -1764,7 +1844,7 @@ class CfnLocationEFSProps:
1764
1844
  )
1765
1845
 
1766
1846
 
1767
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1847
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxLustreRef_af5bc776, _ITaggable_36806126)
1768
1848
  class CfnLocationFSxLustre(
1769
1849
  _CfnResource_9df397a6,
1770
1850
  metaclass=jsii.JSIIMeta,
@@ -1805,7 +1885,8 @@ class CfnLocationFSxLustre(
1805
1885
  subdirectory: typing.Optional[builtins.str] = None,
1806
1886
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1807
1887
  ) -> None:
1808
- '''
1888
+ '''Create a new ``AWS::DataSync::LocationFSxLustre``.
1889
+
1809
1890
  :param scope: Scope in which this resource is defined.
1810
1891
  :param id: Construct identifier for this resource (unique in its scope).
1811
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.
@@ -1879,6 +1960,12 @@ class CfnLocationFSxLustre(
1879
1960
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1880
1961
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1881
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
+
1882
1969
  @builtins.property
1883
1970
  @jsii.member(jsii_name="tags")
1884
1971
  def tags(self) -> _TagManager_0a598cb3:
@@ -2061,7 +2148,7 @@ class CfnLocationFSxLustreProps:
2061
2148
  )
2062
2149
 
2063
2150
 
2064
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2151
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxONTAPRef_f2d23af5, _ITaggable_36806126)
2065
2152
  class CfnLocationFSxONTAP(
2066
2153
  _CfnResource_9df397a6,
2067
2154
  metaclass=jsii.JSIIMeta,
@@ -2122,7 +2209,8 @@ class CfnLocationFSxONTAP(
2122
2209
  subdirectory: typing.Optional[builtins.str] = None,
2123
2210
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2124
2211
  ) -> None:
2125
- '''
2212
+ '''Create a new ``AWS::DataSync::LocationFSxONTAP``.
2213
+
2126
2214
  :param scope: Scope in which this resource is defined.
2127
2215
  :param id: Construct identifier for this resource (unique in its scope).
2128
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.
@@ -2207,6 +2295,12 @@ class CfnLocationFSxONTAP(
2207
2295
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2208
2296
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2209
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
+
2210
2304
  @builtins.property
2211
2305
  @jsii.member(jsii_name="tags")
2212
2306
  def tags(self) -> _TagManager_0a598cb3:
@@ -2853,7 +2947,7 @@ class CfnLocationFSxONTAPProps:
2853
2947
  )
2854
2948
 
2855
2949
 
2856
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2950
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxOpenZFSRef_bf79198a, _ITaggable_36806126)
2857
2951
  class CfnLocationFSxOpenZFS(
2858
2952
  _CfnResource_9df397a6,
2859
2953
  metaclass=jsii.JSIIMeta,
@@ -2902,7 +2996,8 @@ class CfnLocationFSxOpenZFS(
2902
2996
  subdirectory: typing.Optional[builtins.str] = None,
2903
2997
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2904
2998
  ) -> None:
2905
- '''
2999
+ '''Create a new ``AWS::DataSync::LocationFSxOpenZFS``.
3000
+
2906
3001
  :param scope: Scope in which this resource is defined.
2907
3002
  :param id: Construct identifier for this resource (unique in its scope).
2908
3003
  :param protocol: The type of protocol that AWS DataSync uses to access your file system.
@@ -2978,6 +3073,12 @@ class CfnLocationFSxOpenZFS(
2978
3073
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2979
3074
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2980
3075
 
3076
+ @builtins.property
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
+
2981
3082
  @builtins.property
2982
3083
  @jsii.member(jsii_name="tags")
2983
3084
  def tags(self) -> _TagManager_0a598cb3:
@@ -3379,7 +3480,7 @@ class CfnLocationFSxOpenZFSProps:
3379
3480
  )
3380
3481
 
3381
3482
 
3382
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3483
+ @jsii.implements(_IInspectable_c2943556, _ILocationFSxWindowsRef_21eff906, _ITaggable_36806126)
3383
3484
  class CfnLocationFSxWindows(
3384
3485
  _CfnResource_9df397a6,
3385
3486
  metaclass=jsii.JSIIMeta,
@@ -3426,7 +3527,8 @@ class CfnLocationFSxWindows(
3426
3527
  subdirectory: typing.Optional[builtins.str] = None,
3427
3528
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3428
3529
  ) -> None:
3429
- '''
3530
+ '''Create a new ``AWS::DataSync::LocationFSxWindows``.
3531
+
3430
3532
  :param scope: Scope in which this resource is defined.
3431
3533
  :param id: Construct identifier for this resource (unique in its scope).
3432
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.
@@ -3506,6 +3608,12 @@ class CfnLocationFSxWindows(
3506
3608
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3507
3609
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3508
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
+
3509
3617
  @builtins.property
3510
3618
  @jsii.member(jsii_name="tags")
3511
3619
  def tags(self) -> _TagManager_0a598cb3:
@@ -3776,7 +3884,7 @@ class CfnLocationFSxWindowsProps:
3776
3884
  )
3777
3885
 
3778
3886
 
3779
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3887
+ @jsii.implements(_IInspectable_c2943556, _ILocationHDFSRef_7984fa07, _ITaggable_36806126)
3780
3888
  class CfnLocationHDFS(
3781
3889
  _CfnResource_9df397a6,
3782
3890
  metaclass=jsii.JSIIMeta,
@@ -3841,7 +3949,8 @@ class CfnLocationHDFS(
3841
3949
  subdirectory: typing.Optional[builtins.str] = None,
3842
3950
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3843
3951
  ) -> None:
3844
- '''
3952
+ '''Create a new ``AWS::DataSync::LocationHDFS``.
3953
+
3845
3954
  :param scope: Scope in which this resource is defined.
3846
3955
  :param id: Construct identifier for this resource (unique in its scope).
3847
3956
  :param agent_arns: The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.
@@ -3933,6 +4042,12 @@ class CfnLocationHDFS(
3933
4042
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3934
4043
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3935
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
+
3936
4051
  @builtins.property
3937
4052
  @jsii.member(jsii_name="tags")
3938
4053
  def tags(self) -> _TagManager_0a598cb3:
@@ -4560,7 +4675,7 @@ class CfnLocationHDFSProps:
4560
4675
  )
4561
4676
 
4562
4677
 
4563
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
4678
+ @jsii.implements(_IInspectable_c2943556, _ILocationNFSRef_01d78c69, _ITaggable_36806126)
4564
4679
  class CfnLocationNFS(
4565
4680
  _CfnResource_9df397a6,
4566
4681
  metaclass=jsii.JSIIMeta,
@@ -4607,12 +4722,13 @@ class CfnLocationNFS(
4607
4722
  subdirectory: typing.Optional[builtins.str] = None,
4608
4723
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4609
4724
  ) -> None:
4610
- '''
4725
+ '''Create a new ``AWS::DataSync::LocationNFS``.
4726
+
4611
4727
  :param scope: Scope in which this resource is defined.
4612
4728
  :param id: Construct identifier for this resource (unique in its scope).
4613
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>`_ .
4614
4730
  :param mount_options: Specifies the options that DataSync can use to mount your NFS file server.
4615
- :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.
4616
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>`_ .
4617
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.
4618
4734
  '''
@@ -4683,6 +4799,12 @@ class CfnLocationNFS(
4683
4799
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4684
4800
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4685
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
+
4686
4808
  @builtins.property
4687
4809
  @jsii.member(jsii_name="tags")
4688
4810
  def tags(self) -> _TagManager_0a598cb3:
@@ -4728,7 +4850,7 @@ class CfnLocationNFS(
4728
4850
  @builtins.property
4729
4851
  @jsii.member(jsii_name="serverHostname")
4730
4852
  def server_hostname(self) -> typing.Optional[builtins.str]:
4731
- '''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.'''
4732
4854
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverHostname"))
4733
4855
 
4734
4856
  @server_hostname.setter
@@ -4908,7 +5030,7 @@ class CfnLocationNFSProps:
4908
5030
 
4909
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>`_ .
4910
5032
  :param mount_options: Specifies the options that DataSync can use to mount your NFS file server.
4911
- :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.
4912
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>`_ .
4913
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.
4914
5036
 
@@ -4984,7 +5106,7 @@ class CfnLocationNFSProps:
4984
5106
 
4985
5107
  @builtins.property
4986
5108
  def server_hostname(self) -> typing.Optional[builtins.str]:
4987
- '''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.
4988
5110
 
4989
5111
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html#cfn-datasync-locationnfs-serverhostname
4990
5112
  '''
@@ -5025,7 +5147,7 @@ class CfnLocationNFSProps:
5025
5147
  )
5026
5148
 
5027
5149
 
5028
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
5150
+ @jsii.implements(_IInspectable_c2943556, _ILocationObjectStorageRef_76d6ff54, _ITaggable_36806126)
5029
5151
  class CfnLocationObjectStorage(
5030
5152
  _CfnResource_9df397a6,
5031
5153
  metaclass=jsii.JSIIMeta,
@@ -5088,19 +5210,20 @@ class CfnLocationObjectStorage(
5088
5210
  subdirectory: typing.Optional[builtins.str] = None,
5089
5211
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5090
5212
  ) -> None:
5091
- '''
5213
+ '''Create a new ``AWS::DataSync::LocationObjectStorage``.
5214
+
5092
5215
  :param scope: Scope in which this resource is defined.
5093
5216
  :param id: Construct identifier for this resource (unique in its scope).
5094
5217
  :param access_key: Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
5095
- :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
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.
5096
5219
  :param bucket_name: Specifies the name of the object storage bucket involved in the transfer.
5097
- :param cmk_secret_config: 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, and a customer-managed AWS KMS key.
5098
- :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
5099
- :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.
5100
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`` .
5101
- :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.
5102
5225
  :param server_port: Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
5103
- :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`` .
5104
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.
5105
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.
5106
5229
  '''
@@ -5158,7 +5281,9 @@ class CfnLocationObjectStorage(
5158
5281
  @builtins.property
5159
5282
  @jsii.member(jsii_name="attrCmkSecretConfigSecretArn")
5160
5283
  def attr_cmk_secret_config_secret_arn(self) -> builtins.str:
5161
- '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
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`` .
5162
5287
 
5163
5288
  :cloudformationAttribute: CmkSecretConfig.SecretArn
5164
5289
  '''
@@ -5198,6 +5323,12 @@ class CfnLocationObjectStorage(
5198
5323
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5199
5324
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5200
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
+
5201
5332
  @builtins.property
5202
5333
  @jsii.member(jsii_name="tags")
5203
5334
  def tags(self) -> _TagManager_0a598cb3:
@@ -5220,7 +5351,7 @@ class CfnLocationObjectStorage(
5220
5351
  @builtins.property
5221
5352
  @jsii.member(jsii_name="agentArns")
5222
5353
  def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
5223
- '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.'''
5354
+ '''(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.'''
5224
5355
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "agentArns"))
5225
5356
 
5226
5357
  @agent_arns.setter
@@ -5248,7 +5379,7 @@ class CfnLocationObjectStorage(
5248
5379
  def cmk_secret_config(
5249
5380
  self,
5250
5381
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]]:
5251
- '''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, and a customer-managed AWS KMS key.'''
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 .'''
5252
5383
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CmkSecretConfigProperty"]], jsii.get(self, "cmkSecretConfig"))
5253
5384
 
5254
5385
  @cmk_secret_config.setter
@@ -5266,7 +5397,7 @@ class CfnLocationObjectStorage(
5266
5397
  def custom_secret_config(
5267
5398
  self,
5268
5399
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]]:
5269
- '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.'''
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.'''
5270
5401
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLocationObjectStorage.CustomSecretConfigProperty"]], jsii.get(self, "customSecretConfig"))
5271
5402
 
5272
5403
  @custom_secret_config.setter
@@ -5308,7 +5439,7 @@ class CfnLocationObjectStorage(
5308
5439
  @builtins.property
5309
5440
  @jsii.member(jsii_name="serverHostname")
5310
5441
  def server_hostname(self) -> typing.Optional[builtins.str]:
5311
- '''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.'''
5312
5443
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverHostname"))
5313
5444
 
5314
5445
  @server_hostname.setter
@@ -5382,10 +5513,14 @@ class CfnLocationObjectStorage(
5382
5513
  kms_key_arn: typing.Optional[builtins.str] = None,
5383
5514
  secret_arn: typing.Optional[builtins.str] = None,
5384
5515
  ) -> None:
5385
- '''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, and a customer-managed AWS KMS key.
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 .
5386
5517
 
5387
- :param kms_key_arn: Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn. DataSync provides this key to AWS Secrets Manager.
5388
- :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
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`` .
5389
5524
 
5390
5525
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html
5391
5526
  :exampleMetadata: fixture=_generated
@@ -5413,9 +5548,9 @@ class CfnLocationObjectStorage(
5413
5548
 
5414
5549
  @builtins.property
5415
5550
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
5416
- '''Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn.
5551
+ '''Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn`` .
5417
5552
 
5418
- DataSync provides this key to AWS Secrets Manager.
5553
+ DataSync provides this key to AWS Secrets Manager .
5419
5554
 
5420
5555
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-kmskeyarn
5421
5556
  '''
@@ -5424,7 +5559,9 @@ class CfnLocationObjectStorage(
5424
5559
 
5425
5560
  @builtins.property
5426
5561
  def secret_arn(self) -> typing.Optional[builtins.str]:
5427
- '''Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
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`` .
5428
5565
 
5429
5566
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-secretarn
5430
5567
  '''
@@ -5457,10 +5594,15 @@ class CfnLocationObjectStorage(
5457
5594
  secret_access_role_arn: builtins.str,
5458
5595
  secret_arn: builtins.str,
5459
5596
  ) -> None:
5460
- '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
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.
5461
5598
 
5462
- :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.
5463
- :param secret_arn: Specifies the ARN for a customer created AWS Secrets Manager secret.
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.
5464
5606
 
5465
5607
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html
5466
5608
  :exampleMetadata: fixture=_generated
@@ -5487,7 +5629,7 @@ class CfnLocationObjectStorage(
5487
5629
 
5488
5630
  @builtins.property
5489
5631
  def secret_access_role_arn(self) -> builtins.str:
5490
- '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
5632
+ '''Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn`` .
5491
5633
 
5492
5634
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretaccessrolearn
5493
5635
  '''
@@ -5497,7 +5639,7 @@ class CfnLocationObjectStorage(
5497
5639
 
5498
5640
  @builtins.property
5499
5641
  def secret_arn(self) -> builtins.str:
5500
- '''Specifies the ARN for a customer created AWS Secrets Manager secret.
5642
+ '''Specifies the ARN for an AWS Secrets Manager secret.
5501
5643
 
5502
5644
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretarn
5503
5645
  '''
@@ -5525,7 +5667,7 @@ class CfnLocationObjectStorage(
5525
5667
  def __init__(self, *, secret_arn: builtins.str) -> None:
5526
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.
5527
5669
 
5528
- DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager.
5670
+ DataSync uses the default AWS -managed KMS key to encrypt this secret in AWS Secrets Manager .
5529
5671
 
5530
5672
  :param secret_arn: Specifies the ARN for an AWS Secrets Manager secret.
5531
5673
 
@@ -5609,15 +5751,15 @@ class CfnLocationObjectStorageProps:
5609
5751
  '''Properties for defining a ``CfnLocationObjectStorage``.
5610
5752
 
5611
5753
  :param access_key: Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
5612
- :param agent_arns: Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
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.
5613
5755
  :param bucket_name: Specifies the name of the object storage bucket involved in the transfer.
5614
- :param cmk_secret_config: 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, and a customer-managed AWS KMS key.
5615
- :param custom_secret_config: Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
5616
- :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.
5617
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`` .
5618
- :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.
5619
5761
  :param server_port: Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
5620
- :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`` .
5621
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.
5622
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.
5623
5765
 
@@ -5705,7 +5847,12 @@ class CfnLocationObjectStorageProps:
5705
5847
 
5706
5848
  @builtins.property
5707
5849
  def agent_arns(self) -> typing.Optional[typing.List[builtins.str]]:
5708
- '''Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
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.
5709
5856
 
5710
5857
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-agentarns
5711
5858
  '''
@@ -5725,7 +5872,14 @@ class CfnLocationObjectStorageProps:
5725
5872
  def cmk_secret_config(
5726
5873
  self,
5727
5874
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CmkSecretConfigProperty]]:
5728
- '''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, and a customer-managed AWS KMS key.
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 .
5876
+
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.
5729
5883
 
5730
5884
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-cmksecretconfig
5731
5885
  '''
@@ -5736,7 +5890,12 @@ class CfnLocationObjectStorageProps:
5736
5890
  def custom_secret_config(
5737
5891
  self,
5738
5892
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLocationObjectStorage.CustomSecretConfigProperty]]:
5739
- '''Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
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.
5894
+
5895
+ This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
5896
+ .. epigraph::
5897
+
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.
5740
5899
 
5741
5900
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-customsecretconfig
5742
5901
  '''
@@ -5747,6 +5906,10 @@ class CfnLocationObjectStorageProps:
5747
5906
  def secret_key(self) -> typing.Optional[builtins.str]:
5748
5907
  '''Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
5749
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
+
5750
5913
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-secretkey
5751
5914
  '''
5752
5915
  result = self._values.get("secret_key")
@@ -5777,7 +5940,7 @@ class CfnLocationObjectStorageProps:
5777
5940
 
5778
5941
  @builtins.property
5779
5942
  def server_hostname(self) -> typing.Optional[builtins.str]:
5780
- '''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.
5781
5944
 
5782
5945
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverhostname
5783
5946
  '''
@@ -5797,6 +5960,8 @@ class CfnLocationObjectStorageProps:
5797
5960
  def server_protocol(self) -> typing.Optional[builtins.str]:
5798
5961
  '''Specifies the protocol that your object storage server uses to communicate.
5799
5962
 
5963
+ If not specified, the default value is ``HTTPS`` .
5964
+
5800
5965
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverprotocol
5801
5966
  '''
5802
5967
  result = self._values.get("server_protocol")
@@ -5836,7 +6001,7 @@ class CfnLocationObjectStorageProps:
5836
6001
  )
5837
6002
 
5838
6003
 
5839
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6004
+ @jsii.implements(_IInspectable_c2943556, _ILocationS3Ref_5240f1a4, _ITaggable_36806126)
5840
6005
  class CfnLocationS3(
5841
6006
  _CfnResource_9df397a6,
5842
6007
  metaclass=jsii.JSIIMeta,
@@ -5883,7 +6048,8 @@ class CfnLocationS3(
5883
6048
  subdirectory: typing.Optional[builtins.str] = None,
5884
6049
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5885
6050
  ) -> None:
5886
- '''
6051
+ '''Create a new ``AWS::DataSync::LocationS3``.
6052
+
5887
6053
  :param scope: Scope in which this resource is defined.
5888
6054
  :param id: Construct identifier for this resource (unique in its scope).
5889
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* .
@@ -5959,6 +6125,12 @@ class CfnLocationS3(
5959
6125
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5960
6126
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5961
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
+
5962
6134
  @builtins.property
5963
6135
  @jsii.member(jsii_name="tags")
5964
6136
  def tags(self) -> _TagManager_0a598cb3:
@@ -6241,7 +6413,7 @@ class CfnLocationS3Props:
6241
6413
  )
6242
6414
 
6243
6415
 
6244
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6416
+ @jsii.implements(_IInspectable_c2943556, _ILocationSMBRef_b540cf9f, _ITaggable_36806126)
6245
6417
  class CfnLocationSMB(
6246
6418
  _CfnResource_9df397a6,
6247
6419
  metaclass=jsii.JSIIMeta,
@@ -6264,6 +6436,14 @@ class CfnLocationSMB(
6264
6436
 
6265
6437
  # the properties below are optional
6266
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
+ ),
6267
6447
  dns_ip_addresses=["dnsIpAddresses"],
6268
6448
  domain="domain",
6269
6449
  kerberos_keytab="kerberosKeytab",
@@ -6290,6 +6470,8 @@ class CfnLocationSMB(
6290
6470
  *,
6291
6471
  agent_arns: typing.Sequence[builtins.str],
6292
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,
6293
6475
  dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
6294
6476
  domain: typing.Optional[builtins.str] = None,
6295
6477
  kerberos_keytab: typing.Optional[builtins.str] = None,
@@ -6302,19 +6484,22 @@ class CfnLocationSMB(
6302
6484
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6303
6485
  user: typing.Optional[builtins.str] = None,
6304
6486
  ) -> None:
6305
- '''
6487
+ '''Create a new ``AWS::DataSync::LocationSMB``.
6488
+
6306
6489
  :param scope: Scope in which this resource is defined.
6307
6490
  :param id: Construct identifier for this resource (unique in its scope).
6308
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).
6309
- :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>`_ .
6310
- :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.
6311
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.
6312
- :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`` .
6313
- :param kerberos_krb5_conf: Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration. The file must be base64 encoded.
6314
- :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.
6315
6500
  :param mount_options: Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
6316
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`` .
6317
- :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.
6318
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>`_ .
6319
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.
6320
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>`_ .
@@ -6326,6 +6511,8 @@ class CfnLocationSMB(
6326
6511
  props = CfnLocationSMBProps(
6327
6512
  agent_arns=agent_arns,
6328
6513
  authentication_type=authentication_type,
6514
+ cmk_secret_config=cmk_secret_config,
6515
+ custom_secret_config=custom_secret_config,
6329
6516
  dns_ip_addresses=dns_ip_addresses,
6330
6517
  domain=domain,
6331
6518
  kerberos_keytab=kerberos_keytab,
@@ -6371,6 +6558,17 @@ class CfnLocationSMB(
6371
6558
  '''The CloudFormation resource type name for this resource class.'''
6372
6559
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
6373
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
+
6374
6572
  @builtins.property
6375
6573
  @jsii.member(jsii_name="attrLocationArn")
6376
6574
  def attr_location_arn(self) -> builtins.str:
@@ -6389,11 +6587,28 @@ class CfnLocationSMB(
6389
6587
  '''
6390
6588
  return typing.cast(builtins.str, jsii.get(self, "attrLocationUri"))
6391
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
+
6392
6601
  @builtins.property
6393
6602
  @jsii.member(jsii_name="cfnProperties")
6394
6603
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6395
6604
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
6396
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
+
6397
6612
  @builtins.property
6398
6613
  @jsii.member(jsii_name="tags")
6399
6614
  def tags(self) -> _TagManager_0a598cb3:
@@ -6416,7 +6631,7 @@ class CfnLocationSMB(
6416
6631
  @builtins.property
6417
6632
  @jsii.member(jsii_name="authenticationType")
6418
6633
  def authentication_type(self) -> typing.Optional[builtins.str]:
6419
- '''Specifies the authentication protocol that DataSync uses to connect to your SMB file server.'''
6634
+ '''The authentication mode used to determine identity of user.'''
6420
6635
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "authenticationType"))
6421
6636
 
6422
6637
  @authentication_type.setter
@@ -6426,6 +6641,42 @@ class CfnLocationSMB(
6426
6641
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6427
6642
  jsii.set(self, "authenticationType", value) # pyright: ignore[reportArgumentType]
6428
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
+
6429
6680
  @builtins.property
6430
6681
  @jsii.member(jsii_name="dnsIpAddresses")
6431
6682
  def dns_ip_addresses(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -6458,7 +6709,7 @@ class CfnLocationSMB(
6458
6709
  @builtins.property
6459
6710
  @jsii.member(jsii_name="kerberosKeytab")
6460
6711
  def kerberos_keytab(self) -> typing.Optional[builtins.str]:
6461
- '''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.'''
6462
6713
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kerberosKeytab"))
6463
6714
 
6464
6715
  @kerberos_keytab.setter
@@ -6471,7 +6722,7 @@ class CfnLocationSMB(
6471
6722
  @builtins.property
6472
6723
  @jsii.member(jsii_name="kerberosKrb5Conf")
6473
6724
  def kerberos_krb5_conf(self) -> typing.Optional[builtins.str]:
6474
- '''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.'''
6475
6726
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kerberosKrb5Conf"))
6476
6727
 
6477
6728
  @kerberos_krb5_conf.setter
@@ -6484,7 +6735,7 @@ class CfnLocationSMB(
6484
6735
  @builtins.property
6485
6736
  @jsii.member(jsii_name="kerberosPrincipal")
6486
6737
  def kerberos_principal(self) -> typing.Optional[builtins.str]:
6487
- '''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.'''
6488
6739
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kerberosPrincipal"))
6489
6740
 
6490
6741
  @kerberos_principal.setter
@@ -6528,7 +6779,7 @@ class CfnLocationSMB(
6528
6779
  @builtins.property
6529
6780
  @jsii.member(jsii_name="serverHostname")
6530
6781
  def server_hostname(self) -> typing.Optional[builtins.str]:
6531
- '''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.'''
6532
6783
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverHostname"))
6533
6784
 
6534
6785
  @server_hostname.setter
@@ -6577,6 +6828,217 @@ class CfnLocationSMB(
6577
6828
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6578
6829
  jsii.set(self, "user", value) # pyright: ignore[reportArgumentType]
6579
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
+
6580
7042
  @jsii.data_type(
6581
7043
  jsii_type="aws-cdk-lib.aws_datasync.CfnLocationSMB.MountOptionsProperty",
6582
7044
  jsii_struct_bases=[],
@@ -6652,6 +7114,8 @@ class CfnLocationSMB(
6652
7114
  name_mapping={
6653
7115
  "agent_arns": "agentArns",
6654
7116
  "authentication_type": "authenticationType",
7117
+ "cmk_secret_config": "cmkSecretConfig",
7118
+ "custom_secret_config": "customSecretConfig",
6655
7119
  "dns_ip_addresses": "dnsIpAddresses",
6656
7120
  "domain": "domain",
6657
7121
  "kerberos_keytab": "kerberosKeytab",
@@ -6671,6 +7135,8 @@ class CfnLocationSMBProps:
6671
7135
  *,
6672
7136
  agent_arns: typing.Sequence[builtins.str],
6673
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,
6674
7140
  dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
6675
7141
  domain: typing.Optional[builtins.str] = None,
6676
7142
  kerberos_keytab: typing.Optional[builtins.str] = None,
@@ -6686,15 +7152,17 @@ class CfnLocationSMBProps:
6686
7152
  '''Properties for defining a ``CfnLocationSMB``.
6687
7153
 
6688
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).
6689
- :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>`_ .
6690
- :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.
6691
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.
6692
- :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`` .
6693
- :param kerberos_krb5_conf: Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration. The file must be base64 encoded.
6694
- :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.
6695
7163
  :param mount_options: Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.
6696
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`` .
6697
- :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.
6698
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>`_ .
6699
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.
6700
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>`_ .
@@ -6713,6 +7181,14 @@ class CfnLocationSMBProps:
6713
7181
 
6714
7182
  # the properties below are optional
6715
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
+ ),
6716
7192
  dns_ip_addresses=["dnsIpAddresses"],
6717
7193
  domain="domain",
6718
7194
  kerberos_keytab="kerberosKeytab",
@@ -6735,6 +7211,8 @@ class CfnLocationSMBProps:
6735
7211
  type_hints = typing.get_type_hints(_typecheckingstub__b20670d7cb18baa1155ccc397df310282442d51b95170ab568e5c0a9cbea5bc8)
6736
7212
  check_type(argname="argument agent_arns", value=agent_arns, expected_type=type_hints["agent_arns"])
6737
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"])
6738
7216
  check_type(argname="argument dns_ip_addresses", value=dns_ip_addresses, expected_type=type_hints["dns_ip_addresses"])
6739
7217
  check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
6740
7218
  check_type(argname="argument kerberos_keytab", value=kerberos_keytab, expected_type=type_hints["kerberos_keytab"])
@@ -6751,6 +7229,10 @@ class CfnLocationSMBProps:
6751
7229
  }
6752
7230
  if authentication_type is not None:
6753
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
6754
7236
  if dns_ip_addresses is not None:
6755
7237
  self._values["dns_ip_addresses"] = dns_ip_addresses
6756
7238
  if domain is not None:
@@ -6788,24 +7270,49 @@ class CfnLocationSMBProps:
6788
7270
 
6789
7271
  @builtins.property
6790
7272
  def authentication_type(self) -> typing.Optional[builtins.str]:
6791
- '''Specifies the authentication protocol that DataSync uses to connect to your SMB file server.
6792
-
6793
- DataSync supports ``NTLM`` (default) and ``KERBEROS`` authentication.
6794
-
6795
- 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.
6796
7274
 
6797
7275
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-authenticationtype
6798
7276
  '''
6799
7277
  result = self._values.get("authentication_type")
6800
7278
  return typing.cast(typing.Optional[builtins.str], result)
6801
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
+
6802
7311
  @builtins.property
6803
7312
  def dns_ip_addresses(self) -> typing.Optional[typing.List[builtins.str]]:
6804
7313
  '''Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.
6805
7314
 
6806
- This parameter applies only if ``AuthenticationType`` is set to ``KERBEROS`` .
6807
-
6808
- 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.
6809
7316
 
6810
7317
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-dnsipaddresses
6811
7318
  '''
@@ -6827,11 +7334,9 @@ class CfnLocationSMBProps:
6827
7334
 
6828
7335
  @builtins.property
6829
7336
  def kerberos_keytab(self) -> typing.Optional[builtins.str]:
6830
- '''Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys.
7337
+ '''The Base64 string representation of the Keytab file.
6831
7338
 
6832
- The file must be base64 encoded.
6833
-
6834
- 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.
6835
7340
 
6836
7341
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskeytab
6837
7342
  '''
@@ -6840,9 +7345,7 @@ class CfnLocationSMBProps:
6840
7345
 
6841
7346
  @builtins.property
6842
7347
  def kerberos_krb5_conf(self) -> typing.Optional[builtins.str]:
6843
- '''Specifies a Kerberos configuration file ( ``krb5.conf`` ) that defines your Kerberos realm configuration.
6844
-
6845
- The file must be base64 encoded.
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.
6846
7349
 
6847
7350
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskrb5conf
6848
7351
  '''
@@ -6851,11 +7354,9 @@ class CfnLocationSMBProps:
6851
7354
 
6852
7355
  @builtins.property
6853
7356
  def kerberos_principal(self) -> typing.Optional[builtins.str]:
6854
- '''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.
6855
-
6856
- A Kerberos principal might look like ``HOST/kerberosuser@MYDOMAIN.ORG`` .
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.
6857
7358
 
6858
- 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.
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.
6859
7360
 
6860
7361
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberosprincipal
6861
7362
  '''
@@ -6886,12 +7387,11 @@ class CfnLocationSMBProps:
6886
7387
 
6887
7388
  @builtins.property
6888
7389
  def server_hostname(self) -> typing.Optional[builtins.str]:
6889
- '''Specifies the domain name or IP address of the SMB file server that your DataSync agent connects to.
7390
+ '''Specifies the domain name or IP address (IPv4 or IPv6) of the SMB file server that your DataSync agent connects to.
6890
7391
 
6891
- Remember the following when configuring this parameter:
7392
+ .. epigraph::
6892
7393
 
6893
- - You can't specify an IP version 6 (IPv6) address.
6894
- - If you're using Kerberos authentication, you must specify a domain name.
7394
+ If you're using Kerberos authentication, you must specify a domain name.
6895
7395
 
6896
7396
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-serverhostname
6897
7397
  '''
@@ -6947,7 +7447,7 @@ class CfnLocationSMBProps:
6947
7447
  )
6948
7448
 
6949
7449
 
6950
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
7450
+ @jsii.implements(_IInspectable_c2943556, _ITaskRef_0571d67b, _ITaggable_36806126)
6951
7451
  class CfnTask(
6952
7452
  _CfnResource_9df397a6,
6953
7453
  metaclass=jsii.JSIIMeta,
@@ -7071,7 +7571,8 @@ class CfnTask(
7071
7571
  task_mode: typing.Optional[builtins.str] = None,
7072
7572
  task_report_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTask.TaskReportConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7073
7573
  ) -> None:
7074
- '''
7574
+ '''Create a new ``AWS::DataSync::Task``.
7575
+
7075
7576
  :param scope: Scope in which this resource is defined.
7076
7577
  :param id: Construct identifier for this resource (unique in its scope).
7077
7578
  :param destination_location_arn: The Amazon Resource Name (ARN) of an AWS storage resource's location.
@@ -7084,8 +7585,8 @@ class CfnTask(
7084
7585
  :param options: Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.
7085
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>`_ .
7086
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.
7087
- :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>`_ .
7088
- :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>`_ .
7089
7590
  '''
7090
7591
  if __debug__:
7091
7592
  type_hints = typing.get_type_hints(_typecheckingstub__9add9673a1f0ceb078949e967bce91066ff7e0441dae95d55c11c4a503a397a6)
@@ -7185,6 +7686,12 @@ class CfnTask(
7185
7686
  '''Tag Manager which manages the tags for this resource.'''
7186
7687
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
7187
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
+
7188
7695
  @builtins.property
7189
7696
  @jsii.member(jsii_name="destinationLocationArn")
7190
7697
  def destination_location_arn(self) -> builtins.str:
@@ -7343,7 +7850,7 @@ class CfnTask(
7343
7850
  @builtins.property
7344
7851
  @jsii.member(jsii_name="taskMode")
7345
7852
  def task_mode(self) -> typing.Optional[builtins.str]:
7346
- '''Specifies one of the following task modes for your data transfer:.'''
7853
+ '''The task mode that you're using.'''
7347
7854
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "taskMode"))
7348
7855
 
7349
7856
  @task_mode.setter
@@ -7358,7 +7865,7 @@ class CfnTask(
7358
7865
  def task_report_config(
7359
7866
  self,
7360
7867
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.TaskReportConfigProperty"]]:
7361
- '''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.'''
7362
7869
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.TaskReportConfigProperty"]], jsii.get(self, "taskReportConfig"))
7363
7870
 
7364
7871
  @task_report_config.setter
@@ -7382,9 +7889,11 @@ class CfnTask(
7382
7889
  *,
7383
7890
  report_level: typing.Optional[builtins.str] = None,
7384
7891
  ) -> None:
7385
- '''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.
7386
7893
 
7387
- :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.
7894
+ This only applies if you configure your task to delete data in the destination that isn't in the source.
7895
+
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.
7388
7897
 
7389
7898
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-deleted.html
7390
7899
  :exampleMetadata: fixture=_generated
@@ -7410,9 +7919,6 @@ class CfnTask(
7410
7919
  def report_level(self) -> typing.Optional[builtins.str]:
7411
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.
7412
7921
 
7413
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to delete.
7414
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to delete.
7415
-
7416
7922
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-deleted.html#cfn-datasync-task-deleted-reportlevel
7417
7923
  '''
7418
7924
  result = self._values.get("report_level")
@@ -7440,7 +7946,7 @@ class CfnTask(
7440
7946
  *,
7441
7947
  s3: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTask.S3Property", typing.Dict[builtins.str, typing.Any]]]] = None,
7442
7948
  ) -> None:
7443
- '''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.
7444
7950
 
7445
7951
  :param s3: Specifies the Amazon S3 bucket where DataSync uploads your task report.
7446
7952
 
@@ -7692,11 +8198,9 @@ class CfnTask(
7692
8198
  ) -> None:
7693
8199
  '''Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.
7694
8200
 
7695
- 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>`_ .
7696
-
7697
- :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>`_ .
7698
- :param manifest_object_path: Specifies the Amazon S3 object key of your manifest. This can include a prefix (for example, ``prefix/my-manifest.csv`` ).
7699
- :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.
7700
8204
  :param s3_bucket_arn: Specifies the Amazon Resource Name (ARN) of the S3 bucket where you're hosting your manifest.
7701
8205
 
7702
8206
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html
@@ -7735,8 +8239,6 @@ class CfnTask(
7735
8239
  def bucket_access_role_arn(self) -> typing.Optional[builtins.str]:
7736
8240
  '''Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest.
7737
8241
 
7738
- 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>`_ .
7739
-
7740
8242
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-bucketaccessrolearn
7741
8243
  '''
7742
8244
  result = self._values.get("bucket_access_role_arn")
@@ -7746,8 +8248,6 @@ class CfnTask(
7746
8248
  def manifest_object_path(self) -> typing.Optional[builtins.str]:
7747
8249
  '''Specifies the Amazon S3 object key of your manifest.
7748
8250
 
7749
- This can include a prefix (for example, ``prefix/my-manifest.csv`` ).
7750
-
7751
8251
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectpath
7752
8252
  '''
7753
8253
  result = self._values.get("manifest_object_path")
@@ -7757,8 +8257,6 @@ class CfnTask(
7757
8257
  def manifest_object_version_id(self) -> typing.Optional[builtins.str]:
7758
8258
  '''Specifies the object version ID of the manifest that you want DataSync to use.
7759
8259
 
7760
- If you don't set this, DataSync uses the latest version of the object.
7761
-
7762
8260
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectversionid
7763
8261
  '''
7764
8262
  result = self._values.get("manifest_object_version_id")
@@ -8211,12 +8709,12 @@ class CfnTask(
8211
8709
  ) -> None:
8212
8710
  '''Customizes the reporting level for aspects of your task report.
8213
8711
 
8214
- 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.
8215
8713
 
8216
- :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.
8217
- :param skipped: Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.
8218
- :param transferred: Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.
8219
- :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)
8220
8718
 
8221
8719
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html
8222
8720
  :exampleMetadata: fixture=_generated
@@ -8262,9 +8760,9 @@ class CfnTask(
8262
8760
  def deleted(
8263
8761
  self,
8264
8762
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.DeletedProperty"]]:
8265
- '''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.
8266
8764
 
8267
- 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.
8268
8766
 
8269
8767
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-deleted
8270
8768
  '''
@@ -8275,7 +8773,7 @@ class CfnTask(
8275
8773
  def skipped(
8276
8774
  self,
8277
8775
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.SkippedProperty"]]:
8278
- '''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.
8279
8777
 
8280
8778
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-skipped
8281
8779
  '''
@@ -8286,7 +8784,7 @@ class CfnTask(
8286
8784
  def transferred(
8287
8785
  self,
8288
8786
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.TransferredProperty"]]:
8289
- '''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.
8290
8788
 
8291
8789
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-transferred
8292
8790
  '''
@@ -8297,7 +8795,9 @@ class CfnTask(
8297
8795
  def verified(
8298
8796
  self,
8299
8797
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.VerifiedProperty"]]:
8300
- '''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)
8301
8801
 
8302
8802
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html#cfn-datasync-task-overrides-verified
8303
8803
  '''
@@ -8411,9 +8911,9 @@ class CfnTask(
8411
8911
  *,
8412
8912
  report_level: typing.Optional[builtins.str] = None,
8413
8913
  ) -> None:
8414
- '''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.
8415
8915
 
8416
- :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.
8417
8917
 
8418
8918
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-skipped.html
8419
8919
  :exampleMetadata: fixture=_generated
@@ -8439,9 +8939,6 @@ class CfnTask(
8439
8939
  def report_level(self) -> typing.Optional[builtins.str]:
8440
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.
8441
8941
 
8442
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to skip.
8443
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to skip.
8444
-
8445
8942
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-skipped.html#cfn-datasync-task-skipped-reportlevel
8446
8943
  '''
8447
8944
  result = self._values.get("report_level")
@@ -8469,11 +8966,9 @@ class CfnTask(
8469
8966
  *,
8470
8967
  s3: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTask.ManifestConfigSourceS3Property", typing.Dict[builtins.str, typing.Any]]]] = None,
8471
8968
  ) -> None:
8472
- '''Specifies the manifest that you want AWS DataSync to use and where it's hosted.
8473
-
8474
- 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.
8475
8970
 
8476
- :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.
8477
8972
 
8478
8973
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-source.html
8479
8974
  :exampleMetadata: fixture=_generated
@@ -8504,7 +8999,7 @@ class CfnTask(
8504
8999
  def s3(
8505
9000
  self,
8506
9001
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTask.ManifestConfigSourceS3Property"]]:
8507
- '''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.
8508
9003
 
8509
9004
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-source.html#cfn-datasync-task-source-s3
8510
9005
  '''
@@ -8698,7 +9193,7 @@ class CfnTask(
8698
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).
8699
9194
 
8700
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>`_ .
8701
- :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>`_ .
8702
9197
 
8703
9198
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html
8704
9199
  :exampleMetadata: fixture=_generated
@@ -8747,9 +9242,9 @@ class CfnTask(
8747
9242
  def status(self) -> typing.Optional[builtins.str]:
8748
9243
  '''Specifies whether to enable or disable your task schedule.
8749
9244
 
8750
- 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.
8751
9246
 
8752
- 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>`_ .
8753
9248
 
8754
9249
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html#cfn-datasync-task-taskschedule-status
8755
9250
  '''
@@ -8778,9 +9273,9 @@ class CfnTask(
8778
9273
  *,
8779
9274
  report_level: typing.Optional[builtins.str] = None,
8780
9275
  ) -> None:
8781
- '''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.
8782
9277
 
8783
- :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.
8784
9279
 
8785
9280
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-transferred.html
8786
9281
  :exampleMetadata: fixture=_generated
@@ -8806,9 +9301,6 @@ class CfnTask(
8806
9301
  def report_level(self) -> typing.Optional[builtins.str]:
8807
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.
8808
9303
 
8809
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to transfer.
8810
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to transfer.
8811
-
8812
9304
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-transferred.html#cfn-datasync-task-transferred-reportlevel
8813
9305
  '''
8814
9306
  result = self._values.get("report_level")
@@ -8836,9 +9328,11 @@ class CfnTask(
8836
9328
  *,
8837
9329
  report_level: typing.Optional[builtins.str] = None,
8838
9330
  ) -> None:
8839
- '''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.
9332
+
9333
+ This only applies if you configure your task to verify data during and after the transfer (which Datasync does by default)
8840
9334
 
8841
- :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.
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.
8842
9336
 
8843
9337
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-verified.html
8844
9338
  :exampleMetadata: fixture=_generated
@@ -8864,9 +9358,6 @@ class CfnTask(
8864
9358
  def report_level(self) -> typing.Optional[builtins.str]:
8865
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.
8866
9360
 
8867
- - ``ERRORS_ONLY`` : A report shows what DataSync was unable to verify.
8868
- - ``SUCCESSES_AND_ERRORS`` : A report shows what DataSync was able and unable to verify.
8869
-
8870
9361
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-verified.html#cfn-datasync-task-verified-reportlevel
8871
9362
  '''
8872
9363
  result = self._values.get("report_level")
@@ -8931,8 +9422,8 @@ class CfnTaskProps:
8931
9422
  :param options: Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.
8932
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>`_ .
8933
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.
8934
- :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>`_ .
8935
- :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>`_ .
8936
9427
 
8937
9428
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html
8938
9429
  :exampleMetadata: fixture=_generated
@@ -9185,17 +9676,9 @@ class CfnTaskProps:
9185
9676
 
9186
9677
  @builtins.property
9187
9678
  def task_mode(self) -> typing.Optional[builtins.str]:
9188
- '''Specifies one of the following task modes for your data transfer:.
9189
-
9190
- - ``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.
9679
+ '''The task mode that you're using.
9191
9680
 
9192
- .. epigraph::
9193
-
9194
- To create an Enhanced mode task, the IAM role that you use to call the ``CreateTask`` operation must have the ``iam:CreateServiceLinkedRole`` permission.
9195
-
9196
- - ``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.
9197
-
9198
- 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>`_ .
9199
9682
 
9200
9683
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskmode
9201
9684
  '''
@@ -9206,12 +9689,10 @@ class CfnTaskProps:
9206
9689
  def task_report_config(
9207
9690
  self,
9208
9691
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTask.TaskReportConfigProperty]]:
9209
- '''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.
9210
9693
 
9211
9694
  For more information, see `Monitoring your DataSync transfers with task reports <https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html>`_ .
9212
9695
 
9213
- 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.
9214
-
9215
9696
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskreportconfig
9216
9697
  '''
9217
9698
  result = self._values.get("task_report_config")
@@ -10342,6 +10823,8 @@ def _typecheckingstub__bafa6101408857d4661895c88a8c9839da8768aa52e07d3f2889a4f27
10342
10823
  *,
10343
10824
  agent_arns: typing.Sequence[builtins.str],
10344
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,
10345
10828
  dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
10346
10829
  domain: typing.Optional[builtins.str] = None,
10347
10830
  kerberos_keytab: typing.Optional[builtins.str] = None,
@@ -10381,6 +10864,18 @@ def _typecheckingstub__35de39b9b573d0d6146fa84be08e6a3a14ff5e9ece5535c93fc8af130
10381
10864
  """Type checking stubs"""
10382
10865
  pass
10383
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
+
10384
10879
  def _typecheckingstub__dc011a04f6ce95bde8af4cc9451501d73cdf7696b6089617c22a1d8aa112d7be(
10385
10880
  value: typing.Optional[typing.List[builtins.str]],
10386
10881
  ) -> None:
@@ -10447,6 +10942,29 @@ def _typecheckingstub__9112e8b177e52fbd055f221015988972f906f8c7291b4a1992bb1656c
10447
10942
  """Type checking stubs"""
10448
10943
  pass
10449
10944
 
10945
+ def _typecheckingstub__9351aeda2a3946543003130a0d3d622afa774937076186eaabf4b996745ca99f(
10946
+ *,
10947
+ kms_key_arn: typing.Optional[builtins.str] = None,
10948
+ secret_arn: typing.Optional[builtins.str] = None,
10949
+ ) -> None:
10950
+ """Type checking stubs"""
10951
+ pass
10952
+
10953
+ def _typecheckingstub__6049f29f723d7f92a691c991b6232a25e39ba58d2d4400b1c499f542a7a8aee7(
10954
+ *,
10955
+ secret_access_role_arn: builtins.str,
10956
+ secret_arn: builtins.str,
10957
+ ) -> None:
10958
+ """Type checking stubs"""
10959
+ pass
10960
+
10961
+ def _typecheckingstub__5db7c95a4b68a63cb100ea0ecc9392535271eaf1c99519a96ebecbd32455f91c(
10962
+ *,
10963
+ secret_arn: builtins.str,
10964
+ ) -> None:
10965
+ """Type checking stubs"""
10966
+ pass
10967
+
10450
10968
  def _typecheckingstub__465428a8e33c33a3926562e4b4d3d671db7fc7f2d1ff95443e6224cb280e8c00(
10451
10969
  *,
10452
10970
  version: typing.Optional[builtins.str] = None,
@@ -10458,6 +10976,8 @@ def _typecheckingstub__b20670d7cb18baa1155ccc397df310282442d51b95170ab568e5c0a9c
10458
10976
  *,
10459
10977
  agent_arns: typing.Sequence[builtins.str],
10460
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,
10461
10981
  dns_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
10462
10982
  domain: typing.Optional[builtins.str] = None,
10463
10983
  kerberos_keytab: typing.Optional[builtins.str] = None,