@awboost/cfntypes 1.0.0-beta.57 → 1.0.0-beta.59

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.
Files changed (465) hide show
  1. package/README.md +52 -0
  2. package/lib/intrinsics.d.ts +428 -0
  3. package/lib/intrinsics.js +498 -0
  4. package/lib/resources.generated/AWS-ACMPCA.d.ts +413 -0
  5. package/lib/resources.generated/AWS-ACMPCA.js +53 -0
  6. package/lib/resources.generated/AWS-APS.d.ts +71 -0
  7. package/lib/resources.generated/AWS-APS.js +27 -0
  8. package/lib/resources.generated/AWS-AccessAnalyzer.d.ts +53 -0
  9. package/lib/resources.generated/AWS-AccessAnalyzer.js +14 -0
  10. package/lib/resources.generated/AWS-AmazonMQ.d.ts +202 -0
  11. package/lib/resources.generated/AWS-AmazonMQ.js +50 -0
  12. package/lib/resources.generated/AWS-Amplify.d.ts +199 -0
  13. package/lib/resources.generated/AWS-Amplify.js +49 -0
  14. package/lib/resources.generated/AWS-AmplifyUIBuilder.d.ts +450 -0
  15. package/lib/resources.generated/AWS-AmplifyUIBuilder.js +40 -0
  16. package/lib/resources.generated/AWS-ApiGateway.d.ts +790 -0
  17. package/lib/resources.generated/AWS-ApiGateway.js +253 -0
  18. package/lib/resources.generated/AWS-ApiGatewayV2.d.ts +578 -0
  19. package/lib/resources.generated/AWS-ApiGatewayV2.js +170 -0
  20. package/lib/resources.generated/AWS-AppConfig.d.ts +282 -0
  21. package/lib/resources.generated/AWS-AppConfig.js +105 -0
  22. package/lib/resources.generated/AWS-AppFlow.d.ts +1084 -0
  23. package/lib/resources.generated/AWS-AppFlow.js +40 -0
  24. package/lib/resources.generated/AWS-AppIntegrations.d.ts +94 -0
  25. package/lib/resources.generated/AWS-AppIntegrations.js +27 -0
  26. package/lib/resources.generated/AWS-AppMesh.d.ts +1486 -0
  27. package/lib/resources.generated/AWS-AppMesh.js +129 -0
  28. package/lib/resources.generated/AWS-AppRunner.d.ts +338 -0
  29. package/lib/resources.generated/AWS-AppRunner.js +74 -0
  30. package/lib/resources.generated/AWS-AppStream.d.ts +555 -0
  31. package/lib/resources.generated/AWS-AppStream.js +170 -0
  32. package/lib/resources.generated/AWS-AppSync.d.ts +582 -0
  33. package/lib/resources.generated/AWS-AppSync.js +141 -0
  34. package/lib/resources.generated/AWS-ApplicationAutoScaling.d.ts +157 -0
  35. package/lib/resources.generated/AWS-ApplicationAutoScaling.js +27 -0
  36. package/lib/resources.generated/AWS-ApplicationInsights.d.ts +191 -0
  37. package/lib/resources.generated/AWS-ApplicationInsights.js +14 -0
  38. package/lib/resources.generated/AWS-Athena.d.ts +218 -0
  39. package/lib/resources.generated/AWS-Athena.js +75 -0
  40. package/lib/resources.generated/AWS-AuditManager.d.ts +103 -0
  41. package/lib/resources.generated/AWS-AuditManager.js +14 -0
  42. package/lib/resources.generated/AWS-AutoScaling.d.ts +621 -0
  43. package/lib/resources.generated/AWS-AutoScaling.js +85 -0
  44. package/lib/resources.generated/AWS-AutoScalingPlans.d.ts +134 -0
  45. package/lib/resources.generated/AWS-AutoScalingPlans.js +14 -0
  46. package/lib/resources.generated/AWS-Backup.d.ts +322 -0
  47. package/lib/resources.generated/AWS-Backup.js +66 -0
  48. package/lib/resources.generated/AWS-BackupGateway.d.ts +35 -0
  49. package/lib/resources.generated/AWS-BackupGateway.js +14 -0
  50. package/lib/resources.generated/AWS-Batch.d.ts +577 -0
  51. package/lib/resources.generated/AWS-Batch.js +53 -0
  52. package/lib/resources.generated/AWS-BillingConductor.d.ts +226 -0
  53. package/lib/resources.generated/AWS-BillingConductor.js +67 -0
  54. package/lib/resources.generated/AWS-Budgets.d.ts +210 -0
  55. package/lib/resources.generated/AWS-Budgets.js +27 -0
  56. package/lib/resources.generated/AWS-CE.d.ts +128 -0
  57. package/lib/resources.generated/AWS-CE.js +46 -0
  58. package/lib/resources.generated/AWS-CUR.d.ts +31 -0
  59. package/lib/resources.generated/AWS-CUR.js +14 -0
  60. package/lib/resources.generated/AWS-Cassandra.d.ts +105 -0
  61. package/lib/resources.generated/AWS-Cassandra.js +27 -0
  62. package/lib/resources.generated/AWS-CertificateManager.d.ts +72 -0
  63. package/lib/resources.generated/AWS-CertificateManager.js +27 -0
  64. package/lib/resources.generated/AWS-Chatbot.d.ts +69 -0
  65. package/lib/resources.generated/AWS-Chatbot.js +27 -0
  66. package/lib/resources.generated/AWS-CleanRooms.d.ts +342 -0
  67. package/lib/resources.generated/AWS-CleanRooms.js +79 -0
  68. package/lib/resources.generated/AWS-Cloud9.d.ts +48 -0
  69. package/lib/resources.generated/AWS-Cloud9.js +14 -0
  70. package/lib/resources.generated/AWS-CloudFormation.d.ts +540 -0
  71. package/lib/resources.generated/AWS-CloudFormation.js +225 -0
  72. package/lib/resources.generated/AWS-CloudFront.d.ts +1098 -0
  73. package/lib/resources.generated/AWS-CloudFront.js +170 -0
  74. package/lib/resources.generated/AWS-CloudTrail.d.ts +213 -0
  75. package/lib/resources.generated/AWS-CloudTrail.js +53 -0
  76. package/lib/resources.generated/AWS-CloudWatch.d.ts +358 -0
  77. package/lib/resources.generated/AWS-CloudWatch.js +79 -0
  78. package/lib/resources.generated/AWS-CodeArtifact.d.ts +71 -0
  79. package/lib/resources.generated/AWS-CodeArtifact.js +27 -0
  80. package/lib/resources.generated/AWS-CodeBuild.d.ts +335 -0
  81. package/lib/resources.generated/AWS-CodeBuild.js +40 -0
  82. package/lib/resources.generated/AWS-CodeCommit.d.ts +67 -0
  83. package/lib/resources.generated/AWS-CodeCommit.js +14 -0
  84. package/lib/resources.generated/AWS-CodeDeploy.d.ts +345 -0
  85. package/lib/resources.generated/AWS-CodeDeploy.js +40 -0
  86. package/lib/resources.generated/AWS-CodeGuruProfiler.d.ts +50 -0
  87. package/lib/resources.generated/AWS-CodeGuruProfiler.js +14 -0
  88. package/lib/resources.generated/AWS-CodeGuruReviewer.d.ts +34 -0
  89. package/lib/resources.generated/AWS-CodeGuruReviewer.js +14 -0
  90. package/lib/resources.generated/AWS-CodePipeline.d.ts +253 -0
  91. package/lib/resources.generated/AWS-CodePipeline.js +40 -0
  92. package/lib/resources.generated/AWS-CodeStar.d.ts +45 -0
  93. package/lib/resources.generated/AWS-CodeStar.js +14 -0
  94. package/lib/resources.generated/AWS-CodeStarConnections.d.ts +34 -0
  95. package/lib/resources.generated/AWS-CodeStarConnections.js +14 -0
  96. package/lib/resources.generated/AWS-CodeStarNotifications.d.ts +47 -0
  97. package/lib/resources.generated/AWS-CodeStarNotifications.js +14 -0
  98. package/lib/resources.generated/AWS-Cognito.d.ts +739 -0
  99. package/lib/resources.generated/AWS-Cognito.js +170 -0
  100. package/lib/resources.generated/AWS-Comprehend.d.ts +190 -0
  101. package/lib/resources.generated/AWS-Comprehend.js +27 -0
  102. package/lib/resources.generated/AWS-Config.d.ts +497 -0
  103. package/lib/resources.generated/AWS-Config.js +131 -0
  104. package/lib/resources.generated/AWS-Connect.d.ts +1147 -0
  105. package/lib/resources.generated/AWS-Connect.js +287 -0
  106. package/lib/resources.generated/AWS-ConnectCampaigns.d.ts +77 -0
  107. package/lib/resources.generated/AWS-ConnectCampaigns.js +14 -0
  108. package/lib/resources.generated/AWS-ControlTower.d.ts +21 -0
  109. package/lib/resources.generated/AWS-ControlTower.js +14 -0
  110. package/lib/resources.generated/AWS-CustomerProfiles.d.ts +422 -0
  111. package/lib/resources.generated/AWS-CustomerProfiles.js +73 -0
  112. package/lib/resources.generated/AWS-DAX.d.ts +91 -0
  113. package/lib/resources.generated/AWS-DAX.js +40 -0
  114. package/lib/resources.generated/AWS-DLM.d.ts +234 -0
  115. package/lib/resources.generated/AWS-DLM.js +14 -0
  116. package/lib/resources.generated/AWS-DMS.d.ts +584 -0
  117. package/lib/resources.generated/AWS-DMS.js +95 -0
  118. package/lib/resources.generated/AWS-DataBrew.d.ts +711 -0
  119. package/lib/resources.generated/AWS-DataBrew.js +79 -0
  120. package/lib/resources.generated/AWS-DataPipeline.d.ts +90 -0
  121. package/lib/resources.generated/AWS-DataPipeline.js +14 -0
  122. package/lib/resources.generated/AWS-DataSync.d.ts +736 -0
  123. package/lib/resources.generated/AWS-DataSync.js +188 -0
  124. package/lib/resources.generated/AWS-Detective.d.ts +78 -0
  125. package/lib/resources.generated/AWS-Detective.js +40 -0
  126. package/lib/resources.generated/AWS-DevOpsGuru.d.ts +132 -0
  127. package/lib/resources.generated/AWS-DevOpsGuru.js +40 -0
  128. package/lib/resources.generated/AWS-DirectoryService.d.ts +88 -0
  129. package/lib/resources.generated/AWS-DirectoryService.js +27 -0
  130. package/lib/resources.generated/AWS-DocDB.d.ts +131 -0
  131. package/lib/resources.generated/AWS-DocDB.js +53 -0
  132. package/lib/resources.generated/AWS-DocDBElastic.d.ts +40 -0
  133. package/lib/resources.generated/AWS-DocDBElastic.js +14 -0
  134. package/lib/resources.generated/AWS-DynamoDB.d.ts +403 -0
  135. package/lib/resources.generated/AWS-DynamoDB.js +27 -0
  136. package/lib/resources.generated/AWS-EC2.d.ts +4660 -0
  137. package/lib/resources.generated/AWS-EC2.js +1364 -0
  138. package/lib/resources.generated/AWS-ECR.d.ts +210 -0
  139. package/lib/resources.generated/AWS-ECR.js +66 -0
  140. package/lib/resources.generated/AWS-ECS.d.ts +843 -0
  141. package/lib/resources.generated/AWS-ECS.js +92 -0
  142. package/lib/resources.generated/AWS-EFS.d.ts +184 -0
  143. package/lib/resources.generated/AWS-EFS.js +40 -0
  144. package/lib/resources.generated/AWS-EKS.d.ts +354 -0
  145. package/lib/resources.generated/AWS-EKS.js +77 -0
  146. package/lib/resources.generated/AWS-EMR.d.ts +767 -0
  147. package/lib/resources.generated/AWS-EMR.js +109 -0
  148. package/lib/resources.generated/AWS-EMRContainers.d.ts +58 -0
  149. package/lib/resources.generated/AWS-EMRContainers.js +14 -0
  150. package/lib/resources.generated/AWS-EMRServerless.d.ts +121 -0
  151. package/lib/resources.generated/AWS-EMRServerless.js +14 -0
  152. package/lib/resources.generated/AWS-ElastiCache.d.ts +431 -0
  153. package/lib/resources.generated/AWS-ElastiCache.js +134 -0
  154. package/lib/resources.generated/AWS-ElasticBeanstalk.d.ts +208 -0
  155. package/lib/resources.generated/AWS-ElasticBeanstalk.js +53 -0
  156. package/lib/resources.generated/AWS-ElasticLoadBalancing.d.ts +131 -0
  157. package/lib/resources.generated/AWS-ElasticLoadBalancing.js +20 -0
  158. package/lib/resources.generated/AWS-ElasticLoadBalancingV2.d.ts +505 -0
  159. package/lib/resources.generated/AWS-ElasticLoadBalancingV2.js +78 -0
  160. package/lib/resources.generated/AWS-Elasticsearch.d.ts +177 -0
  161. package/lib/resources.generated/AWS-Elasticsearch.js +14 -0
  162. package/lib/resources.generated/AWS-EntityResolution.d.ts +136 -0
  163. package/lib/resources.generated/AWS-EntityResolution.js +27 -0
  164. package/lib/resources.generated/AWS-EventSchemas.d.ts +151 -0
  165. package/lib/resources.generated/AWS-EventSchemas.js +53 -0
  166. package/lib/resources.generated/AWS-Events.d.ts +569 -0
  167. package/lib/resources.generated/AWS-Events.js +92 -0
  168. package/lib/resources.generated/AWS-Evidently.d.ts +329 -0
  169. package/lib/resources.generated/AWS-Evidently.js +66 -0
  170. package/lib/resources.generated/AWS-FIS.d.ts +105 -0
  171. package/lib/resources.generated/AWS-FIS.js +14 -0
  172. package/lib/resources.generated/AWS-FMS.d.ts +154 -0
  173. package/lib/resources.generated/AWS-FMS.js +43 -0
  174. package/lib/resources.generated/AWS-FSx.d.ts +486 -0
  175. package/lib/resources.generated/AWS-FSx.js +70 -0
  176. package/lib/resources.generated/AWS-FinSpace.d.ts +73 -0
  177. package/lib/resources.generated/AWS-FinSpace.js +22 -0
  178. package/lib/resources.generated/AWS-Forecast.d.ts +99 -0
  179. package/lib/resources.generated/AWS-Forecast.js +27 -0
  180. package/lib/resources.generated/AWS-FraudDetector.d.ts +380 -0
  181. package/lib/resources.generated/AWS-FraudDetector.js +100 -0
  182. package/lib/resources.generated/AWS-GameLift.d.ts +493 -0
  183. package/lib/resources.generated/AWS-GameLift.js +118 -0
  184. package/lib/resources.generated/AWS-GlobalAccelerator.d.ts +129 -0
  185. package/lib/resources.generated/AWS-GlobalAccelerator.js +46 -0
  186. package/lib/resources.generated/AWS-Glue.d.ts +1154 -0
  187. package/lib/resources.generated/AWS-Glue.js +235 -0
  188. package/lib/resources.generated/AWS-Grafana.d.ts +111 -0
  189. package/lib/resources.generated/AWS-Grafana.js +23 -0
  190. package/lib/resources.generated/AWS-Greengrass.d.ts +909 -0
  191. package/lib/resources.generated/AWS-Greengrass.js +209 -0
  192. package/lib/resources.generated/AWS-GreengrassV2.d.ts +294 -0
  193. package/lib/resources.generated/AWS-GreengrassV2.js +27 -0
  194. package/lib/resources.generated/AWS-GroundStation.d.ts +344 -0
  195. package/lib/resources.generated/AWS-GroundStation.js +40 -0
  196. package/lib/resources.generated/AWS-GuardDuty.d.ts +252 -0
  197. package/lib/resources.generated/AWS-GuardDuty.js +79 -0
  198. package/lib/resources.generated/AWS-HealthImaging.d.ts +35 -0
  199. package/lib/resources.generated/AWS-HealthImaging.js +20 -0
  200. package/lib/resources.generated/AWS-HealthLake.d.ts +85 -0
  201. package/lib/resources.generated/AWS-HealthLake.js +22 -0
  202. package/lib/resources.generated/AWS-IAM.d.ts +485 -0
  203. package/lib/resources.generated/AWS-IAM.js +227 -0
  204. package/lib/resources.generated/AWS-IVS.d.ts +163 -0
  205. package/lib/resources.generated/AWS-IVS.js +53 -0
  206. package/lib/resources.generated/AWS-IVSChat.d.ts +108 -0
  207. package/lib/resources.generated/AWS-IVSChat.js +27 -0
  208. package/lib/resources.generated/AWS-IdentityStore.d.ts +66 -0
  209. package/lib/resources.generated/AWS-IdentityStore.js +27 -0
  210. package/lib/resources.generated/AWS-ImageBuilder.d.ts +568 -0
  211. package/lib/resources.generated/AWS-ImageBuilder.js +92 -0
  212. package/lib/resources.generated/AWS-Inspector.d.ts +85 -0
  213. package/lib/resources.generated/AWS-Inspector.js +40 -0
  214. package/lib/resources.generated/AWS-InspectorV2.d.ts +128 -0
  215. package/lib/resources.generated/AWS-InspectorV2.js +14 -0
  216. package/lib/resources.generated/AWS-InternetMonitor.d.ts +81 -0
  217. package/lib/resources.generated/AWS-InternetMonitor.js +20 -0
  218. package/lib/resources.generated/AWS-IoT.d.ts +1545 -0
  219. package/lib/resources.generated/AWS-IoT.js +332 -0
  220. package/lib/resources.generated/AWS-IoT1Click.d.ts +108 -0
  221. package/lib/resources.generated/AWS-IoT1Click.js +40 -0
  222. package/lib/resources.generated/AWS-IoTAnalytics.d.ts +587 -0
  223. package/lib/resources.generated/AWS-IoTAnalytics.js +53 -0
  224. package/lib/resources.generated/AWS-IoTCoreDeviceAdvisor.d.ts +53 -0
  225. package/lib/resources.generated/AWS-IoTCoreDeviceAdvisor.js +14 -0
  226. package/lib/resources.generated/AWS-IoTEvents.d.ts +544 -0
  227. package/lib/resources.generated/AWS-IoTEvents.js +40 -0
  228. package/lib/resources.generated/AWS-IoTFleetHub.d.ts +39 -0
  229. package/lib/resources.generated/AWS-IoTFleetHub.js +23 -0
  230. package/lib/resources.generated/AWS-IoTFleetWise.d.ts +438 -0
  231. package/lib/resources.generated/AWS-IoTFleetWise.js +88 -0
  232. package/lib/resources.generated/AWS-IoTSiteWise.d.ts +452 -0
  233. package/lib/resources.generated/AWS-IoTSiteWise.js +92 -0
  234. package/lib/resources.generated/AWS-IoTThingsGraph.d.ts +30 -0
  235. package/lib/resources.generated/AWS-IoTThingsGraph.js +14 -0
  236. package/lib/resources.generated/AWS-IoTTwinMaker.d.ts +412 -0
  237. package/lib/resources.generated/AWS-IoTTwinMaker.js +87 -0
  238. package/lib/resources.generated/AWS-IoTWireless.d.ts +620 -0
  239. package/lib/resources.generated/AWS-IoTWireless.js +180 -0
  240. package/lib/resources.generated/AWS-KMS.d.ts +91 -0
  241. package/lib/resources.generated/AWS-KMS.js +43 -0
  242. package/lib/resources.generated/AWS-KafkaConnect.d.ts +199 -0
  243. package/lib/resources.generated/AWS-KafkaConnect.js +14 -0
  244. package/lib/resources.generated/AWS-Kendra.d.ts +758 -0
  245. package/lib/resources.generated/AWS-Kendra.js +43 -0
  246. package/lib/resources.generated/AWS-KendraRanking.d.ts +41 -0
  247. package/lib/resources.generated/AWS-KendraRanking.js +14 -0
  248. package/lib/resources.generated/AWS-Kinesis.d.ts +82 -0
  249. package/lib/resources.generated/AWS-Kinesis.js +33 -0
  250. package/lib/resources.generated/AWS-KinesisAnalytics.d.ts +294 -0
  251. package/lib/resources.generated/AWS-KinesisAnalytics.js +40 -0
  252. package/lib/resources.generated/AWS-KinesisAnalyticsV2.d.ts +553 -0
  253. package/lib/resources.generated/AWS-KinesisAnalyticsV2.js +53 -0
  254. package/lib/resources.generated/AWS-KinesisFirehose.d.ts +532 -0
  255. package/lib/resources.generated/AWS-KinesisFirehose.js +14 -0
  256. package/lib/resources.generated/AWS-KinesisVideo.d.ts +63 -0
  257. package/lib/resources.generated/AWS-KinesisVideo.js +27 -0
  258. package/lib/resources.generated/AWS-LakeFormation.d.ts +471 -0
  259. package/lib/resources.generated/AWS-LakeFormation.js +92 -0
  260. package/lib/resources.generated/AWS-Lambda.d.ts +616 -0
  261. package/lib/resources.generated/AWS-Lambda.js +139 -0
  262. package/lib/resources.generated/AWS-Lex.d.ts +1060 -0
  263. package/lib/resources.generated/AWS-Lex.js +56 -0
  264. package/lib/resources.generated/AWS-LicenseManager.d.ts +138 -0
  265. package/lib/resources.generated/AWS-LicenseManager.js +27 -0
  266. package/lib/resources.generated/AWS-Lightsail.d.ts +706 -0
  267. package/lib/resources.generated/AWS-Lightsail.js +177 -0
  268. package/lib/resources.generated/AWS-Location.d.ts +198 -0
  269. package/lib/resources.generated/AWS-Location.js +79 -0
  270. package/lib/resources.generated/AWS-Logs.d.ts +223 -0
  271. package/lib/resources.generated/AWS-Logs.js +105 -0
  272. package/lib/resources.generated/AWS-LookoutEquipment.d.ts +83 -0
  273. package/lib/resources.generated/AWS-LookoutEquipment.js +14 -0
  274. package/lib/resources.generated/AWS-LookoutMetrics.d.ts +242 -0
  275. package/lib/resources.generated/AWS-LookoutMetrics.js +27 -0
  276. package/lib/resources.generated/AWS-LookoutVision.d.ts +28 -0
  277. package/lib/resources.generated/AWS-LookoutVision.js +14 -0
  278. package/lib/resources.generated/AWS-M2.d.ts +119 -0
  279. package/lib/resources.generated/AWS-M2.js +27 -0
  280. package/lib/resources.generated/AWS-MSK.d.ts +495 -0
  281. package/lib/resources.generated/AWS-MSK.js +84 -0
  282. package/lib/resources.generated/AWS-MWAA.d.ts +86 -0
  283. package/lib/resources.generated/AWS-MWAA.js +22 -0
  284. package/lib/resources.generated/AWS-Macie.d.ts +166 -0
  285. package/lib/resources.generated/AWS-Macie.js +53 -0
  286. package/lib/resources.generated/AWS-ManagedBlockchain.d.ts +178 -0
  287. package/lib/resources.generated/AWS-ManagedBlockchain.js +40 -0
  288. package/lib/resources.generated/AWS-MediaConnect.d.ts +575 -0
  289. package/lib/resources.generated/AWS-MediaConnect.js +124 -0
  290. package/lib/resources.generated/AWS-MediaConvert.d.ts +118 -0
  291. package/lib/resources.generated/AWS-MediaConvert.js +40 -0
  292. package/lib/resources.generated/AWS-MediaLive.d.ts +1959 -0
  293. package/lib/resources.generated/AWS-MediaLive.js +40 -0
  294. package/lib/resources.generated/AWS-MediaPackage.d.ts +529 -0
  295. package/lib/resources.generated/AWS-MediaPackage.js +66 -0
  296. package/lib/resources.generated/AWS-MediaPackageV2.d.ts +250 -0
  297. package/lib/resources.generated/AWS-MediaPackageV2.js +66 -0
  298. package/lib/resources.generated/AWS-MediaStore.d.ts +65 -0
  299. package/lib/resources.generated/AWS-MediaStore.js +14 -0
  300. package/lib/resources.generated/AWS-MediaTailor.d.ts +368 -0
  301. package/lib/resources.generated/AWS-MediaTailor.js +85 -0
  302. package/lib/resources.generated/AWS-MemoryDB.d.ts +193 -0
  303. package/lib/resources.generated/AWS-MemoryDB.js +72 -0
  304. package/lib/resources.generated/AWS-Neptune.d.ts +176 -0
  305. package/lib/resources.generated/AWS-Neptune.js +66 -0
  306. package/lib/resources.generated/AWS-NetworkFirewall.d.ts +460 -0
  307. package/lib/resources.generated/AWS-NetworkFirewall.js +53 -0
  308. package/lib/resources.generated/AWS-NetworkManager.d.ts +609 -0
  309. package/lib/resources.generated/AWS-NetworkManager.js +261 -0
  310. package/lib/resources.generated/AWS-NimbleStudio.d.ts +292 -0
  311. package/lib/resources.generated/AWS-NimbleStudio.js +61 -0
  312. package/lib/resources.generated/AWS-OSIS.d.ts +73 -0
  313. package/lib/resources.generated/AWS-OSIS.js +14 -0
  314. package/lib/resources.generated/AWS-Oam.d.ts +61 -0
  315. package/lib/resources.generated/AWS-Oam.js +32 -0
  316. package/lib/resources.generated/AWS-Omics.d.ts +290 -0
  317. package/lib/resources.generated/AWS-Omics.js +95 -0
  318. package/lib/resources.generated/AWS-OpenSearchServerless.d.ts +146 -0
  319. package/lib/resources.generated/AWS-OpenSearchServerless.js +66 -0
  320. package/lib/resources.generated/AWS-OpenSearchService.d.ts +258 -0
  321. package/lib/resources.generated/AWS-OpenSearchService.js +30 -0
  322. package/lib/resources.generated/AWS-OpsWorks.d.ts +425 -0
  323. package/lib/resources.generated/AWS-OpsWorks.js +98 -0
  324. package/lib/resources.generated/AWS-OpsWorksCM.d.ts +59 -0
  325. package/lib/resources.generated/AWS-OpsWorksCM.js +14 -0
  326. package/lib/resources.generated/AWS-Organizations.d.ts +158 -0
  327. package/lib/resources.generated/AWS-Organizations.js +73 -0
  328. package/lib/resources.generated/AWS-PCAConnectorAD.d.ts +488 -0
  329. package/lib/resources.generated/AWS-PCAConnectorAD.js +66 -0
  330. package/lib/resources.generated/AWS-Panorama.d.ts +142 -0
  331. package/lib/resources.generated/AWS-Panorama.js +65 -0
  332. package/lib/resources.generated/AWS-Personalize.d.ts +230 -0
  333. package/lib/resources.generated/AWS-Personalize.js +53 -0
  334. package/lib/resources.generated/AWS-Pinpoint.d.ts +1032 -0
  335. package/lib/resources.generated/AWS-Pinpoint.js +248 -0
  336. package/lib/resources.generated/AWS-PinpointEmail.d.ts +224 -0
  337. package/lib/resources.generated/AWS-PinpointEmail.js +60 -0
  338. package/lib/resources.generated/AWS-Pipes.d.ts +552 -0
  339. package/lib/resources.generated/AWS-Pipes.js +20 -0
  340. package/lib/resources.generated/AWS-Proton.d.ts +99 -0
  341. package/lib/resources.generated/AWS-Proton.js +40 -0
  342. package/lib/resources.generated/AWS-QLDB.d.ts +67 -0
  343. package/lib/resources.generated/AWS-QLDB.js +27 -0
  344. package/lib/resources.generated/AWS-QuickSight.d.ts +15929 -0
  345. package/lib/resources.generated/AWS-QuickSight.js +186 -0
  346. package/lib/resources.generated/AWS-RAM.d.ts +67 -0
  347. package/lib/resources.generated/AWS-RAM.js +27 -0
  348. package/lib/resources.generated/AWS-RDS.d.ts +691 -0
  349. package/lib/resources.generated/AWS-RDS.js +201 -0
  350. package/lib/resources.generated/AWS-RUM.d.ts +83 -0
  351. package/lib/resources.generated/AWS-RUM.js +14 -0
  352. package/lib/resources.generated/AWS-Redshift.d.ts +410 -0
  353. package/lib/resources.generated/AWS-Redshift.js +144 -0
  354. package/lib/resources.generated/AWS-RedshiftServerless.d.ts +179 -0
  355. package/lib/resources.generated/AWS-RedshiftServerless.js +58 -0
  356. package/lib/resources.generated/AWS-RefactorSpaces.d.ts +187 -0
  357. package/lib/resources.generated/AWS-RefactorSpaces.js +62 -0
  358. package/lib/resources.generated/AWS-Rekognition.d.ts +166 -0
  359. package/lib/resources.generated/AWS-Rekognition.js +40 -0
  360. package/lib/resources.generated/AWS-ResilienceHub.d.ts +122 -0
  361. package/lib/resources.generated/AWS-ResilienceHub.js +27 -0
  362. package/lib/resources.generated/AWS-ResourceExplorer2.d.ts +102 -0
  363. package/lib/resources.generated/AWS-ResourceExplorer2.js +40 -0
  364. package/lib/resources.generated/AWS-ResourceGroups.d.ts +80 -0
  365. package/lib/resources.generated/AWS-ResourceGroups.js +14 -0
  366. package/lib/resources.generated/AWS-RoboMaker.d.ts +238 -0
  367. package/lib/resources.generated/AWS-RoboMaker.js +79 -0
  368. package/lib/resources.generated/AWS-RolesAnywhere.d.ts +127 -0
  369. package/lib/resources.generated/AWS-RolesAnywhere.js +40 -0
  370. package/lib/resources.generated/AWS-Route53.d.ts +346 -0
  371. package/lib/resources.generated/AWS-Route53.js +92 -0
  372. package/lib/resources.generated/AWS-Route53RecoveryControl.d.ts +162 -0
  373. package/lib/resources.generated/AWS-Route53RecoveryControl.js +53 -0
  374. package/lib/resources.generated/AWS-Route53RecoveryReadiness.d.ts +166 -0
  375. package/lib/resources.generated/AWS-Route53RecoveryReadiness.js +53 -0
  376. package/lib/resources.generated/AWS-Route53Resolver.d.ts +415 -0
  377. package/lib/resources.generated/AWS-Route53Resolver.js +208 -0
  378. package/lib/resources.generated/AWS-S3.d.ts +942 -0
  379. package/lib/resources.generated/AWS-S3.js +85 -0
  380. package/lib/resources.generated/AWS-S3ObjectLambda.d.ts +124 -0
  381. package/lib/resources.generated/AWS-S3ObjectLambda.js +40 -0
  382. package/lib/resources.generated/AWS-S3Outposts.d.ts +198 -0
  383. package/lib/resources.generated/AWS-S3Outposts.js +53 -0
  384. package/lib/resources.generated/AWS-SDB.d.ts +20 -0
  385. package/lib/resources.generated/AWS-SDB.js +14 -0
  386. package/lib/resources.generated/AWS-SES.d.ts +548 -0
  387. package/lib/resources.generated/AWS-SES.js +138 -0
  388. package/lib/resources.generated/AWS-SNS.d.ts +121 -0
  389. package/lib/resources.generated/AWS-SNS.js +56 -0
  390. package/lib/resources.generated/AWS-SQS.d.ts +92 -0
  391. package/lib/resources.generated/AWS-SQS.js +44 -0
  392. package/lib/resources.generated/AWS-SSM.d.ts +516 -0
  393. package/lib/resources.generated/AWS-SSM.js +118 -0
  394. package/lib/resources.generated/AWS-SSMContacts.d.ts +243 -0
  395. package/lib/resources.generated/AWS-SSMContacts.js +53 -0
  396. package/lib/resources.generated/AWS-SSMIncidents.d.ts +183 -0
  397. package/lib/resources.generated/AWS-SSMIncidents.js +27 -0
  398. package/lib/resources.generated/AWS-SSO.d.ts +115 -0
  399. package/lib/resources.generated/AWS-SSO.js +40 -0
  400. package/lib/resources.generated/AWS-SageMaker.d.ts +3245 -0
  401. package/lib/resources.generated/AWS-SageMaker.js +393 -0
  402. package/lib/resources.generated/AWS-Scheduler.d.ts +221 -0
  403. package/lib/resources.generated/AWS-Scheduler.js +27 -0
  404. package/lib/resources.generated/AWS-SecretsManager.d.ts +151 -0
  405. package/lib/resources.generated/AWS-SecretsManager.js +53 -0
  406. package/lib/resources.generated/AWS-SecurityHub.d.ts +247 -0
  407. package/lib/resources.generated/AWS-SecurityHub.js +40 -0
  408. package/lib/resources.generated/AWS-ServiceCatalog.d.ts +471 -0
  409. package/lib/resources.generated/AWS-ServiceCatalog.js +209 -0
  410. package/lib/resources.generated/AWS-ServiceCatalogAppRegistry.d.ts +121 -0
  411. package/lib/resources.generated/AWS-ServiceCatalogAppRegistry.js +53 -0
  412. package/lib/resources.generated/AWS-ServiceDiscovery.d.ts +235 -0
  413. package/lib/resources.generated/AWS-ServiceDiscovery.js +66 -0
  414. package/lib/resources.generated/AWS-Shield.d.ts +147 -0
  415. package/lib/resources.generated/AWS-Shield.js +53 -0
  416. package/lib/resources.generated/AWS-Signer.d.ts +65 -0
  417. package/lib/resources.generated/AWS-Signer.js +27 -0
  418. package/lib/resources.generated/AWS-SimSpaceWeaver.d.ts +41 -0
  419. package/lib/resources.generated/AWS-SimSpaceWeaver.js +14 -0
  420. package/lib/resources.generated/AWS-StepFunctions.d.ts +208 -0
  421. package/lib/resources.generated/AWS-StepFunctions.js +53 -0
  422. package/lib/resources.generated/AWS-SupportApp.d.ts +72 -0
  423. package/lib/resources.generated/AWS-SupportApp.js +40 -0
  424. package/lib/resources.generated/AWS-Synthetics.d.ts +150 -0
  425. package/lib/resources.generated/AWS-Synthetics.js +27 -0
  426. package/lib/resources.generated/AWS-SystemsManagerSAP.d.ts +45 -0
  427. package/lib/resources.generated/AWS-SystemsManagerSAP.js +14 -0
  428. package/lib/resources.generated/AWS-Timestream.d.ts +265 -0
  429. package/lib/resources.generated/AWS-Timestream.js +50 -0
  430. package/lib/resources.generated/AWS-Transfer.d.ts +477 -0
  431. package/lib/resources.generated/AWS-Transfer.js +100 -0
  432. package/lib/resources.generated/AWS-VerifiedPermissions.d.ts +200 -0
  433. package/lib/resources.generated/AWS-VerifiedPermissions.js +60 -0
  434. package/lib/resources.generated/AWS-VoiceID.d.ts +40 -0
  435. package/lib/resources.generated/AWS-VoiceID.js +14 -0
  436. package/lib/resources.generated/AWS-VpcLattice.d.ts +515 -0
  437. package/lib/resources.generated/AWS-VpcLattice.js +161 -0
  438. package/lib/resources.generated/AWS-WAF.d.ts +252 -0
  439. package/lib/resources.generated/AWS-WAF.js +92 -0
  440. package/lib/resources.generated/AWS-WAFRegional.d.ts +350 -0
  441. package/lib/resources.generated/AWS-WAFRegional.js +144 -0
  442. package/lib/resources.generated/AWS-WAFv2.d.ts +1457 -0
  443. package/lib/resources.generated/AWS-WAFv2.js +79 -0
  444. package/lib/resources.generated/AWS-Wisdom.d.ts +147 -0
  445. package/lib/resources.generated/AWS-Wisdom.js +40 -0
  446. package/lib/resources.generated/AWS-WorkSpaces.d.ts +80 -0
  447. package/lib/resources.generated/AWS-WorkSpaces.js +27 -0
  448. package/lib/resources.generated/AWS-WorkSpacesWeb.d.ts +289 -0
  449. package/lib/resources.generated/AWS-WorkSpacesWeb.js +114 -0
  450. package/lib/resources.generated/AWS-XRay.d.ts +108 -0
  451. package/lib/resources.generated/AWS-XRay.js +42 -0
  452. package/lib/resources.generated/Alexa-ASK.d.ts +52 -0
  453. package/lib/resources.generated/Alexa-ASK.js +14 -0
  454. package/lib/resources.generated/core.d.ts +9 -0
  455. package/lib/template.d.ts +793 -5
  456. package/lib/template.js +83 -1
  457. package/lib/util.d.ts +24 -427
  458. package/lib/util.js +50 -487
  459. package/package.json +11 -15
  460. package/lib/definitions.d.ts +0 -351
  461. package/lib/policies.d.ts +0 -460
  462. package/lib/policies.js +0 -83
  463. package/lib/resources.generated.d.ts +0 -90266
  464. package/lib/resources.generated.js +0 -2289
  465. /package/lib/{definitions.js → resources.generated/core.js} +0 -0
package/lib/template.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { OutputDefinition, ParameterDefinition, ResourceDefinition, RuleDefinition } from "./definitions.js";
2
- import { IntrinsicValue, TemplateMap } from "./util.js";
3
1
  /**
4
2
  * The interface for a CloudFormation template.
5
3
  *
@@ -56,7 +54,7 @@ export interface Template {
56
54
  *
57
55
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html | Conditions}
58
56
  */
59
- Conditions?: TemplateMap<IntrinsicValue>;
57
+ Conditions?: TemplateMap<any>;
60
58
  /**
61
59
  * The optional `Mappings` section matches a key to a corresponding set of
62
60
  * named values. For example, if you want to set values based on a region, you
@@ -66,14 +64,14 @@ export interface Template {
66
64
  *
67
65
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html | Mappings}
68
66
  */
69
- Mappings?: TemplateMap<TemplateMap<TemplateMap<IntrinsicValue>>>;
67
+ Mappings?: TemplateMap<TemplateMap<TemplateMap<any>>>;
70
68
  /**
71
69
  * You can use the optional `Metadata` section to include arbitrary JSON or
72
70
  * YAML objects that provide details about the template.
73
71
  *
74
72
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html | Metadata}
75
73
  */
76
- Metadata?: TemplateMap<IntrinsicValue>;
74
+ Metadata?: TemplateMap<any>;
77
75
  /**
78
76
  * The optional `Outputs` section declares output values that you can import
79
77
  * into other stacks (to create cross-stack references), return in response
@@ -111,3 +109,793 @@ export interface Template {
111
109
  */
112
110
  Rules?: TemplateMap<RuleDefinition>;
113
111
  }
112
+ /**
113
+ * Keys of the sections in a template.
114
+ */
115
+ export type TemplateSection = {
116
+ [K in keyof Template]-?: TemplateMap<any> extends Template[K] ? K : never;
117
+ }[keyof Template];
118
+ /**
119
+ * A key-value map.
120
+ */
121
+ export interface TemplateMap<T> {
122
+ [key: string]: T;
123
+ }
124
+ /**
125
+ * The name of the resource output to be exported for a cross-stack reference.
126
+ *
127
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html | Outputs}
128
+ */
129
+ export interface OutputExport {
130
+ Name: string;
131
+ }
132
+ /**
133
+ * The optional `Outputs` section declares output values that you can import
134
+ * into other stacks (to create cross-stack references), return in response (to
135
+ * describe stack calls), or view on the AWS CloudFormation console. For
136
+ * example, you can output the S3 bucket name for a stack to make the bucket
137
+ * easier to find.
138
+ *
139
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html | Outputs}
140
+ */
141
+ export interface OutputDefinition {
142
+ /**
143
+ * A String type that describes the output value. The value for the
144
+ * description declaration must be a literal string that's between `0` and
145
+ * `1024` bytes in length. You can't use a parameter or function to specify
146
+ * the description. The description can be a maximum of 4 K in length.
147
+ */
148
+ Description?: string;
149
+ /**
150
+ * The name of the resource output to be exported for a cross-stack reference.
151
+ */
152
+ Export?: OutputExport;
153
+ /**
154
+ * The value of the property returned by the aws `cloudformation
155
+ * describe-stacks` command. The value of an output can include literals,
156
+ * parameter references, pseudo-parameters, a mapping value, or intrinsic
157
+ * functions.
158
+ */
159
+ Value: any;
160
+ }
161
+ /**
162
+ * Parameters enable you to input custom values to your template each time you
163
+ * create or update a stack.
164
+ *
165
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties | Parameters}
166
+ */
167
+ export interface ParameterDefinition {
168
+ /**
169
+ * A regular expression that represents the patterns to allow for String
170
+ * types. The pattern must match the entire parameter value provided.
171
+ */
172
+ AllowedPattern?: string;
173
+ /**
174
+ * An array containing the list of values allowed for the parameter.
175
+ */
176
+ AllowedValues?: string[];
177
+ /**
178
+ * A string that explains a constraint when the constraint is violated. For
179
+ * example, without a constraint description, a parameter that has an allowed
180
+ * pattern of `[A-Za-z0-9]+` displays the following error message when the
181
+ * user specifies an invalid value:
182
+ *
183
+ * > Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+
184
+ *
185
+ * By adding a constraint description, such as must only contain letters
186
+ * (uppercase and lowercase) and numbers, you can display the following
187
+ * customized error message:
188
+ *
189
+ * > Malformed input-Parameter MyParameter must only contain uppercase and
190
+ * > lowercase letters and numbers
191
+ */
192
+ ConstraintDescription?: string;
193
+ /**
194
+ * A value of the appropriate type for the template to use if no value is
195
+ * specified when a stack is created. If you define constraints for the
196
+ * parameter, you must specify a value that adheres to those constraints.
197
+ */
198
+ Default?: string;
199
+ /**
200
+ * A string of up to 4000 characters that describes the parameter.
201
+ */
202
+ Description?: string;
203
+ /**
204
+ * An integer value that determines the largest number of characters you want
205
+ * to allow for `String` types.
206
+ */
207
+ MaxLength?: number;
208
+ /**
209
+ * A numeric value that determines the largest numeric value you want to allow
210
+ * for `Number` types.
211
+ */
212
+ MaxValue?: number;
213
+ /**
214
+ * An integer value that determines the smallest number of characters you want
215
+ * to allow for `String` types.
216
+ */
217
+ MinLength?: number;
218
+ /**
219
+ * A numeric value that determines the smallest numeric value you want to
220
+ * allow for `Number` types.
221
+ */
222
+ MinValue?: number;
223
+ /**
224
+ * Whether to mask the parameter value to prevent it from being displayed in
225
+ * the console, command line tools, or API. If you set the NoEcho attribute to
226
+ * true, CloudFormation returns the parameter value masked as asterisks
227
+ * `(*****)` for any calls that describe the stack or stack events, except for
228
+ * information stored in the locations specified below.
229
+ */
230
+ NoEcho?: boolean;
231
+ /**
232
+ * The data type for the parameter. See AWS documentation for
233
+ * more info.
234
+ *
235
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties | Parameters}
236
+ */
237
+ Type: string;
238
+ }
239
+ /**
240
+ * Represents the additional options for a resource definition (other than
241
+ * `Type` and Properties.)
242
+ *
243
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html | AWS resource and property types reference}
244
+ */
245
+ export interface ResourceOptions {
246
+ /**
247
+ * The name of a condition to associate with the resource. The resource will
248
+ * only be created if the condition evaluates to true.
249
+ *
250
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html | Conditions}
251
+ */
252
+ Condition?: string;
253
+ /**
254
+ * Associate the `CreationPolicy` attribute with a resource to prevent its
255
+ * status from reaching create complete until AWS CloudFormation receives a
256
+ * specified number of success signals or the timeout period is exceeded. To
257
+ * signal a resource, you can use the `cfn-signal` helper script or
258
+ * [SignalResource
259
+ * API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SignalResource.html).
260
+ * CloudFormation publishes valid signals to the stack events so that you
261
+ * track the number of signals sent.
262
+ *
263
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html | CreationPolicy attribute}
264
+ */
265
+ CreationPolicy?: CreationPolicy;
266
+ /**
267
+ * With the `DeletionPolicy` attribute you can preserve, and in some cases,
268
+ * backup a resource when its stack is deleted. You specify a `DeletionPolicy`
269
+ * attribute for each resource that you want to control. If a resource has no
270
+ * `DeletionPolicy` attribute, AWS CloudFormation deletes the resource by
271
+ * default, except for:
272
+ *
273
+ * - For `AWS::RDS::DBCluster resources`, the default policy is `Snapshot`.
274
+ * - For `AWS::RDS::DBInstance` resources that don't specify the
275
+ * `DBClusterIdentifier` property, the default policy is `Snapshot`.
276
+ * - For Amazon S3 buckets, you must delete all objects in the bucket for
277
+ * deletion to succeed.
278
+ *
279
+ * This capability also applies to stack update operations that lead to
280
+ * resources being deleted from stacks. For example, if you remove the
281
+ * resource from the stack template, and then update the stack with the
282
+ * template. This capability doesn't apply to resources whose physical
283
+ * instance is replaced during stack update operations. For example, if you
284
+ * edit a resource's properties such that CloudFormation replaces that
285
+ * resource during a stack update.
286
+ *
287
+ * To keep a resource when its stack is deleted, specify Retain for that
288
+ * resource. You can use retain for any resource. For example, you can retain
289
+ * a nested stack, Amazon S3 bucket, or EC2 instance so that you can continue
290
+ * to use or modify those resources after you delete their stacks.
291
+ *
292
+ * For resources that support snapshots, such as `AWS::EC2::Volume`, specify
293
+ * Snapshot to have CloudFormation create a snapshot before deleting the
294
+ * resource.
295
+ *
296
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html | DeletionPolicy attribute}
297
+ */
298
+ DeletionPolicy?: DeletionPolicy;
299
+ /**
300
+ * With the `DependsOn` attribute you can specify that the creation of a
301
+ * specific resource follows another. When you add a `DependsOn` attribute to
302
+ * a resource, that resource is created only after the creation of the
303
+ * resource specified in the `DependsOn` attribute.
304
+ *
305
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html | DependsOn attribute}
306
+ */
307
+ DependsOn?: string[];
308
+ /**
309
+ * The metadata attribute enables you to associate structured data with a
310
+ * resource. By adding a metadata attribute to a resource, you can add data in
311
+ * JSON or YAML to the resource declaration. In addition, you can use
312
+ * intrinsic functions (such as `GetAtt` and `Ref`), parameters, and pseudo
313
+ * parameters within the metadata attribute to add those interpreted values.
314
+ *
315
+ * AWS CloudFormation doesn't validate the syntax within the metadata
316
+ * attribute.
317
+ *
318
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html | Metadata attribute}
319
+ */
320
+ Metadata?: TemplateMap<any>;
321
+ /**
322
+ * Use the `UpdatePolicy` attribute to specify how AWS CloudFormation handles
323
+ * updates to the `AWS::AppStream::Fleet`,
324
+ * `AWS::AutoScaling::AutoScalingGroup`, `AWS::ElastiCache::ReplicationGroup`,
325
+ * `AWS::OpenSearchService::Domain`, `AWS::Elasticsearch::Domain`, or
326
+ * `AWS::Lambda::Alias resources`.
327
+ *
328
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html | UpdatePolicy attribute}
329
+ */
330
+ UpdatePolicy?: UpdatePolicy;
331
+ /**
332
+ * Use the UpdateReplacePolicy attribute to retain or, in some cases, backup
333
+ * the existing physical instance of a resource when it's replaced during a
334
+ * stack update operation.
335
+ *
336
+ * When you initiate a stack update, AWS CloudFormation updates resources
337
+ * based on differences between what you submit and the stack's current
338
+ * template and parameters. If you update a resource property that requires
339
+ * that the resource be replaced, CloudFormation recreates the resource during
340
+ * the update. Recreating the resource generates a new physical ID.
341
+ * CloudFormation creates the replacement resource first, and then changes
342
+ * references from other dependent resources to point to the replacement
343
+ * resource. By default, CloudFormation then deletes the old resource. Using
344
+ * the `UpdateReplacePolicy`, you can specify that CloudFormation retain or,
345
+ * in some cases, create a snapshot of the old resource.
346
+ *
347
+ * For resources that support snapshots, such as `AWS::EC2::Volume`, specify
348
+ * Snapshot to have CloudFormation create a snapshot before deleting the old
349
+ * resource instance.
350
+ *
351
+ * You can apply the `UpdateReplacePolicy` attribute to any resource.
352
+ * `UpdateReplacePolicy` is only executed if you update a resource property
353
+ * whose update behavior is specified as Replacement, thereby causing
354
+ * CloudFormation to replace the old resource with a new one with a new
355
+ * physical ID. For example, if you update the Engine property of an
356
+ * `AWS::RDS::DBInstance` resource type, CloudFormation creates a new resource
357
+ * and replaces the current DB instance resource with the new one. The
358
+ * `UpdateReplacePolicy` attribute would then dictate whether CloudFormation
359
+ * deleted, retained, or created a snapshot of the old DB instance. The update
360
+ * behavior for each property of a resource is specified in the reference
361
+ * topic for that resource in the AWS resource and property types reference.
362
+ * For more information on resource update behavior, see Update behaviors of
363
+ * stack resources.
364
+ *
365
+ * The `UpdateReplacePolicy` attribute applies to stack updates you perform
366
+ * directly, in addition to stack updates performed using change sets.
367
+ *
368
+ * `UpdateReplacePolicy` differs from the `DeletionPolicy` attribute in that
369
+ * it only applies to resources replaced during stack updates. Use
370
+ * `DeletionPolicy` for resources deleted when a stack is deleted, or when the
371
+ * resource definition itself is deleted from the template as part of a stack
372
+ * update.
373
+ *
374
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html | UpdateReplacePolicy attribute}
375
+ */
376
+ UpdateReplacePolicy?: DeletionPolicy;
377
+ }
378
+ /**
379
+ * The required `Resources` section declares the AWS resources that you want to
380
+ * include in the stack, such as an Amazon EC2 instance or an Amazon S3 bucket.
381
+ *
382
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html | AWS resource and property types reference}
383
+ */
384
+ export interface ResourceDefinition<P = unknown, T = string> extends ResourceOptions {
385
+ /**
386
+ * Resource properties are additional options that you can specify for a
387
+ * resource.
388
+ *
389
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html | AWS resource and property types reference}
390
+ */
391
+ Properties: P;
392
+ /**
393
+ * The resource type identifies the type of resource that you are declaring.
394
+ * For example, `AWS::EC2::Instance` declares an EC2 instance.
395
+ *
396
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html | AWS resource and property types reference}
397
+ */
398
+ Type: T;
399
+ }
400
+ /**
401
+ * Definition for a rule assertion.
402
+ *
403
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/rules-section-structure.html#template-constraint-rules-syntax | Rules syntax}
404
+ */
405
+ export interface RuleAssertion {
406
+ /**
407
+ * Rule-specific intrinsic function.
408
+ *
409
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/rules-section-structure.html#rules-specific-intrinsic-section-structure | Rule-specific intrinsic functions
410
+ }
411
+ */
412
+ Assert: any;
413
+ /**
414
+ * Information about this assert.
415
+ */
416
+ AssertDescription?: string;
417
+ }
418
+ /**
419
+ * Each template rule consists of two properties:
420
+ *
421
+ * - Rule condition (optional) — determines when a rule takes effect.
422
+ * - Assertions (required) — describes what values users can specify for a
423
+ * particular parameter.
424
+ *
425
+ * A rule can include a `RuleCondition` property and must include an Assertions
426
+ * property. For each rule, you can define only one rule condition. You can
427
+ * define one or more asserts within the `Assertions` property. If you don't
428
+ * define a rule condition, the rule's assertions always take effect.
429
+ *
430
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/rules-section-structure.html#w2ab1c23c15c19b5 | Working with rules}
431
+ */
432
+ export interface RuleDefinition {
433
+ /**
434
+ * Describes what values users can specify for a particular parameter.
435
+ */
436
+ Assertions: RuleAssertion[];
437
+ /**
438
+ * Determines when a rule takes effect.
439
+ */
440
+ RuleCondition?: any;
441
+ }
442
+ /**
443
+ * To specify how AWS CloudFormation handles replacement updates for an Auto
444
+ * Scaling group, use the AutoScalingReplacingUpdate policy. This policy enables
445
+ * you to specify whether AWS CloudFormation replaces an Auto Scaling group with
446
+ * a new one or replaces only the instances in the Auto Scaling group.
447
+ *
448
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-replacingupdate | AutoScalingUpdateReplace policy}
449
+ */
450
+ export interface AutoScalingReplacingUpdatePolicy {
451
+ /**
452
+ * Specifies whether an Auto Scaling group and the instances it contains are
453
+ * replaced during an update. During replacement, CloudFormation retains the
454
+ * old group until it finishes creating the new one. If the update fails,
455
+ * CloudFormation can roll back to the old Auto Scaling group and delete the
456
+ * new Auto Scaling group.
457
+ *
458
+ * While CloudFormation creates the new group, it doesn't detach or attach any
459
+ * instances. After successfully creating the new Auto Scaling group,
460
+ * CloudFormation deletes the old Auto Scaling group during the cleanup
461
+ * process.
462
+ *
463
+ * When you set the `WillReplace` parameter, remember to specify a matching
464
+ * `CreationPolicy`. If the minimum number of instances (specified by the
465
+ * `MinSuccessfulInstancesPercent` property) don't signal success within the
466
+ * `Timeout` period (specified in the `CreationPolicy` policy), the
467
+ * replacement update fails and AWS CloudFormation rolls back to the old Auto
468
+ * Scaling group.
469
+ */
470
+ WillReplace?: boolean;
471
+ }
472
+ /**
473
+ * To specify how CloudFormation handles rolling updates for an Auto Scaling
474
+ * group, use the `AutoScalingRollingUpdate` policy. Rolling updates enable you
475
+ * to specify whether AWS CloudFormation updates instances that are in an Auto
476
+ * Scaling group in batches or all at once.
477
+ *
478
+ * Be aware that, during stack update rollback operations, CloudFormation uses
479
+ * the `UpdatePolicy` configuration specified in the template before the current
480
+ * stack update operation. For example, suppose you have updated the
481
+ * `MaxBatchSize` in your stack template's `UpdatePolicy` from 1 to 10. You then
482
+ * perform a stack update, and that update fails and CloudFormation initiates an
483
+ * update rollback operation. In such a case, CloudFormation will use 1 as the
484
+ * maximum batch size, rather than 10. For this reason, we recommend you make
485
+ * changes to the UpdatePolicy configuration in a stack update separate from and
486
+ * before any updates to the `AWS::AutoScaling::AutoScalingGroup` resource that
487
+ * are likely to initiate rolling updates.
488
+ *
489
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-rollingupdate | AutoScalingRollingUpdate policy}
490
+ */
491
+ export interface AutoScalingRollingUpdatePolicy {
492
+ /**
493
+ * Specifies the maximum number of instances that CloudFormation updates.
494
+ *
495
+ * @default 1
496
+ */
497
+ MaxBatchSize?: number;
498
+ /**
499
+ * Specifies the minimum number of instances that must be in service within
500
+ * the Auto Scaling group while CloudFormation updates old instances. This
501
+ * value must be less than the `MaxSize` of the Auto Scaling group.\
502
+ *
503
+ * @default 0
504
+ */
505
+ MinInstancesInService?: number;
506
+ /**
507
+ * Specifies the percentage of instances in an Auto Scaling rolling update
508
+ * that must signal success for an update to succeed. You can specify a value
509
+ * from `0` to `100`. CloudFormation rounds to the nearest tenth of a percent.
510
+ * For example, if you update five instances with a minimum successful
511
+ * percentage of `50`, three instances must signal success.
512
+ *
513
+ * If an instance doesn't send a signal within the time specified in the
514
+ * `PauseTime` property, CloudFormation assumes that the instance wasn't
515
+ * updated.
516
+ *
517
+ * If you specify this property, you must also enable the
518
+ * `WaitOnResourceSignals` and `PauseTime` properties.
519
+ *
520
+ * The `MinSuccessfulInstancesPercent` parameter applies only to instances
521
+ * only for signaling purpose. To specify the number of instances in your
522
+ * autoscaling group, see the `MinSize`, `MaxSize`, and `DesiredCapacity`
523
+ * properties fo the `AWS::AutoScaling::AutoScalingGroup` resource.
524
+ *
525
+ * @default 100
526
+ */
527
+ MinSuccessfulInstancesPercent?: number;
528
+ /**
529
+ * The amount of time that CloudFormation pauses after making a change to a
530
+ * batch of instances to give those instances time to start software
531
+ * applications. For example, you might need to specify `PauseTime` when
532
+ * scaling up the number of instances in an Auto Scaling group.
533
+ *
534
+ * If you enable the WaitOnResourceSignals property, `PauseTime` is the amount
535
+ * of time that CloudFormation should wait for the Auto Scaling group to
536
+ * receive the required number of valid signals from added or replaced
537
+ * instances. If the `PauseTime` is exceeded before the Auto Scaling group
538
+ * receives the required number of signals, the update fails. For best
539
+ * results, specify a time period that gives your applications sufficient time
540
+ * to get started. If the update needs to be rolled back, a short `PauseTime`
541
+ * can cause the rollback to fail.
542
+ *
543
+ * Specify `PauseTime` in the ISO8601 duration format (in the format
544
+ * `PT#H#M#S`, where each `#` is the number of hours, minutes, and seconds,
545
+ * respectively). The maximum `PauseTime` is one hour (`PT1H`).
546
+ *
547
+ * **Default:** `PT0S` (0 seconds). If the `WaitOnResourceSignals` property is
548
+ * set to true, the default is `PT5M`.
549
+ */
550
+ PauseTime?: string;
551
+ /**
552
+ * Specifies the Auto Scaling processes to suspend during a stack update.
553
+ * Suspending processes prevents Auto Scaling from interfering with a stack
554
+ * update. For example, you can suspend alarming so that Amazon EC2 Auto
555
+ * Scaling doesn't execute scaling policies associated with an alarm. For
556
+ * valid values, see the `ScalingProcesses.member.N` parameter for the
557
+ * SuspendProcesses action in the Amazon EC2 Auto Scaling API Reference.
558
+ */
559
+ SuspendProcesses?: string[];
560
+ /**
561
+ * Specifies whether the Auto Scaling group waits on signals from new
562
+ * instances during an update. Use this property to ensure that instances have
563
+ * completed installing and configuring applications before the Auto Scaling
564
+ * group update proceeds. AWS CloudFormation suspends the update of an Auto
565
+ * Scaling group after new EC2 instances are launched into the group. AWS
566
+ * CloudFormation must receive a signal from each new instance within the
567
+ * specified PauseTime before continuing the update. To signal the Auto
568
+ * Scaling group, use the `cfn-signal` helper script or SignalResource API.
569
+ *
570
+ * To have instances wait for an Elastic Load Balancing health check before
571
+ * they signal success, add a health-check verification by using the `cfn-init`
572
+ * helper script. For an example, see the `verify_instance_health` command in
573
+ * the Auto Scaling rolling updates sample template.
574
+ *
575
+ * @default false
576
+ */
577
+ WaitOnResourceSignals?: boolean;
578
+ }
579
+ /**
580
+ * To specify how AWS CloudFormation handles updates for the `MinSize`,
581
+ * `MaxSize`, and `DesiredCapacity` properties when the
582
+ * `AWS::AutoScaling::AutoScalingGroup` resource has an associated scheduled
583
+ * action, use the `AutoScalingScheduledAction` policy.
584
+ *
585
+ * With scheduled actions, the group size properties of an Auto Scaling group
586
+ * can change at any time. When you update a stack with an Auto Scaling group
587
+ * and scheduled action, CloudFormation always sets the group size property
588
+ * values of your Auto Scaling group to the values that are defined in the
589
+ * `AWS::AutoScaling::AutoScalingGroup` resource of your template, even if a
590
+ * scheduled action is in effect.
591
+ *
592
+ * If you don't want CloudFormation to change any of the group size property
593
+ * values when you have a scheduled action in effect, use the
594
+ * `AutoScalingScheduledAction` update policy and set
595
+ * `IgnoreUnmodifiedGroupSizeProperties` to true to prevent CloudFormation from
596
+ * changing the `MinSize`, `MaxSize`, or `DesiredCapacity` properties unless you
597
+ * have modified these values in your template.
598
+ *
599
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-scheduledactions | AutoScalingScheduledAction policy}
600
+ */
601
+ export interface AutoScalingScheduledActionPolicy {
602
+ /**
603
+ * If true, AWS CloudFormation ignores differences in group size properties
604
+ * between your current Auto Scaling group and the Auto Scaling group
605
+ * described in the `AWS::AutoScaling::AutoScalingGroup` resource of your
606
+ * template during a stack update. If you modify any of the group size
607
+ * property values in your template, AWS CloudFormation uses the modified
608
+ * values and updates your Auto Scaling group.
609
+ *
610
+ * @default false
611
+ */
612
+ IgnoreUnmodifiedGroupSizeProperties?: boolean;
613
+ }
614
+ /**
615
+ * To perform an CodeDeploy deployment when the version changes on an
616
+ * `AWS::Lambda::Alias` resource, use the `CodeDeployLambdaAliasUpdate` update
617
+ * policy.
618
+ *
619
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate | CodeDeployLambdaAlias Update policy}
620
+ */
621
+ export interface CodeDeployLambdaAliasUpdatePolicy {
622
+ /**
623
+ * The name of the Lambda function to run after traffic routing completes.
624
+ */
625
+ AfterAllowTrafficHook?: string;
626
+ /**
627
+ * The name of the CodeDeploy application.
628
+ */
629
+ ApplicationName: string;
630
+ /**
631
+ * The name of the Lambda function to run before traffic routing starts.
632
+ */
633
+ BeforeAllowTrafficHook?: string;
634
+ /**
635
+ * The name of the CodeDeploy deployment group. This is where the
636
+ * traffic-shifting policy is set.
637
+ */
638
+ DeploymentGroupName: string;
639
+ }
640
+ /**
641
+ * For an Auto Scaling group replacement update, specifies how many instances
642
+ * must signal success for the update to succeed.
643
+ *
644
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html | CreationPolicy attribute}
645
+ */
646
+ export interface AutoScalingCreationPolicy {
647
+ /**
648
+ * Specifies the percentage of instances in an Auto Scaling replacement update
649
+ * that must signal success for the update to succeed. You can specify a value
650
+ * from `0` to `100`. CloudFormation rounds to the nearest tenth of a percent.
651
+ * For example, if you update five instances with a minimum successful
652
+ * percentage of `50`, three instances must signal success. If an instance
653
+ * doesn't send a signal within the time specified by the Timeout property,
654
+ * CloudFormation assumes that the instance wasn't created.
655
+ */
656
+ MinSuccessfulInstancesPercent?: number;
657
+ }
658
+ /**
659
+ * When CloudFormation creates the associated resource, configures the number of
660
+ * required success signals and the length of time that CloudFormation waits for
661
+ * those signals.
662
+ *
663
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html | CreationPolicy attribute}
664
+ */
665
+ export interface ResourceSignalPolicy {
666
+ /**
667
+ * The number of success signals CloudFormation must receive before it sets
668
+ * the resource status as `CREATE_COMPLETE`. If the resource receives a
669
+ * failure signal or doesn't receive the specified number of signals before
670
+ * the timeout period expires, the resource creation fails and CloudFormation
671
+ * rolls the stack back.
672
+ */
673
+ Count?: number;
674
+ /**
675
+ * The length of time that CloudFormation waits for the number of signals that
676
+ * was specified in the Count property. The timeout period starts after
677
+ * CloudFormation starts creating the resource, and the timeout expires no
678
+ * sooner than the time you specify but can occur shortly thereafter. The
679
+ * maximum time that you can specify is 12 hours.
680
+ *
681
+ * The value must be in ISO8601 duration format, in the form: `"PT#H#M#S"`,
682
+ * where each # is the number of hours, minutes, and seconds, respectively.
683
+ * For best results, specify a period of time that gives your instances plenty
684
+ * of time to get up and running. A shorter timeout can cause a rollback.
685
+ */
686
+ Timeout?: string;
687
+ }
688
+ /**
689
+ * Associate the `CreationPolicy` attribute with a resource to prevent its
690
+ * status from reaching create complete until AWS CloudFormation receives a
691
+ * specified number of success signals or the timeout period is exceeded. To
692
+ * signal a resource, you can use the `cfn-signal` helper script or
693
+ * SignalResource API. CloudFormation publishes valid signals to the stack
694
+ * events so that you track the number of signals sent.
695
+ *
696
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html | CreationPolicy attribute}
697
+ */
698
+ export interface CreationPolicy {
699
+ /**
700
+ * For an Auto Scaling group replacement update, specifies how many instances
701
+ * must signal success for the update to succeed.
702
+ */
703
+ AutoScalingCreationPolicy?: AutoScalingCreationPolicy;
704
+ /**
705
+ * When CloudFormation creates the associated resource, configures the number
706
+ * of required success signals and the length of time that CloudFormation
707
+ * waits for those signals.
708
+ */
709
+ ResourceSignal?: ResourceSignalPolicy;
710
+ }
711
+ /**
712
+ * With the `DeletionPolicy` attribute you can preserve, and in some cases,
713
+ * backup a resource when its stack is deleted. You specify a `DeletionPolicy`
714
+ * attribute for each resource that you want to control. If a resource has no
715
+ * `DeletionPolicy` attribute, AWS CloudFormation deletes the resource by
716
+ * default, except for:
717
+ *
718
+ * - For `AWS::RDS::DBCluster resources`, the default policy is `Snapshot`.
719
+ * - For `AWS::RDS::DBInstance` resources that don't specify the
720
+ * `DBClusterIdentifier` property, the default policy is `Snapshot`.
721
+ * - For Amazon S3 buckets, you must delete all objects in the bucket for
722
+ * deletion to succeed.
723
+ *
724
+ * This capability also applies to stack update operations that lead to
725
+ * resources being deleted from stacks. For example, if you remove the resource
726
+ * from the stack template, and then update the stack with the template. This
727
+ * capability doesn't apply to resources whose physical instance is replaced
728
+ * during stack update operations. For example, if you edit a resource's
729
+ * properties such that CloudFormation replaces that resource during a stack
730
+ * update.
731
+ *
732
+ * To keep a resource when its stack is deleted, specify Retain for that
733
+ * resource. You can use retain for any resource. For example, you can retain a
734
+ * nested stack, Amazon S3 bucket, or EC2 instance so that you can continue to
735
+ * use or modify those resources after you delete their stacks.
736
+ *
737
+ * For resources that support snapshots, such as `AWS::EC2::Volume`, specify
738
+ * Snapshot to have CloudFormation create a snapshot before deleting the
739
+ * resource.
740
+ *
741
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html | DeletionPolicy attribute}
742
+ */
743
+ export declare const DeletionPolicy: {
744
+ /**
745
+ * CloudFormation deletes the resource and all its content if applicable
746
+ * during stack deletion. You can add this deletion policy to any resource
747
+ * type. By default, if you don't specify a `DeletionPolicy`, CloudFormation
748
+ * deletes your resources. However, be aware of the following considerations:
749
+ *
750
+ * - For `AWS::RDS::DBCluster resources`, the default policy is `Snapshot`.
751
+ * - For `AWS::RDS::DBInstance` resources that don't specify the
752
+ * `DBClusterIdentifier` property, the default policy is `Snapshot`.
753
+ *
754
+ * For Amazon S3 buckets, you must delete all objects in the bucket for
755
+ * deletion to succeed.
756
+ */
757
+ readonly Delete: "Delete";
758
+ /**
759
+ * CloudFormation keeps the resource without deleting the resource or its
760
+ * contents when its stack is deleted. You can add this deletion policy to any
761
+ * resource type. When CloudFormation completes the stack deletion, the stack
762
+ * will be in `Delete_Complete` state; however, resources that are retained
763
+ * continue to exist and continue to incur applicable charges until you delete
764
+ * those resources.
765
+ *
766
+ * For update operations, the following considerations apply:
767
+ *
768
+ * - If a resource is deleted, the `DeletionPolicy` retains the physical
769
+ * resource but ensures that it's deleted from CloudFormation's scope.
770
+ * - If a resource is updated such that a new physical resource is created to
771
+ * replace the old resource, then the old resource is completely deleted,
772
+ * including from CloudFormation's scope.
773
+ */
774
+ readonly Retain: "Retain";
775
+ /**
776
+ * For resources that support snapshots, CloudFormation creates a snapshot for
777
+ * the resource before deleting it. When CloudFormation completes the stack
778
+ * deletion, the stack will be in the `Delete_Complete` state; however, the
779
+ * snapshots that are created with this policy continue to exist and continue
780
+ * to incur applicable charges until you delete those snapshots.
781
+ *
782
+ * Resources that support snapshots include:
783
+ *
784
+ * - `AWS::EC2::Volume`
785
+ * - `AWS::ElastiCache::CacheCluster`
786
+ * - `AWS::ElastiCache::ReplicationGroup`
787
+ * - `AWS::Neptune::DBCluster`
788
+ * - `AWS::RDS::DBCluster`
789
+ * - `AWS::RDS::DBInstance`
790
+ * - `AWS::Redshift::Cluster`
791
+ */
792
+ readonly Snapshot: "Snapshot";
793
+ };
794
+ export type DeletionPolicy = (typeof DeletionPolicy)[keyof typeof DeletionPolicy];
795
+ /**
796
+ * Use the `UpdatePolicy` attribute to specify how AWS CloudFormation handles
797
+ * updates to the `AWS::AppStream::Fleet`,
798
+ * `AWS::AutoScaling::AutoScalingGroup`, ``AWS::ElastiCache::ReplicationGroup``,
799
+ * `AWS::OpenSearchService::Domain`, `AWS::Elasticsearch::Domain`, or
800
+ * `AWS::Lambda::Alias resources`.
801
+ *
802
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html | UpdatePolicy attribute}
803
+ */
804
+ export interface UpdatePolicy {
805
+ /**
806
+ * To specify how AWS CloudFormation handles replacement updates for an Auto
807
+ * Scaling group, use the AutoScalingReplacingUpdate policy. This policy
808
+ * enables you to specify whether AWS CloudFormation replaces an Auto Scaling
809
+ * group with a new one or replaces only the instances in the Auto Scaling
810
+ * group.
811
+ *
812
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-replacingupdate | AutoScalingReplacing update policy}
813
+ */
814
+ AutoScalingReplacing?: AutoScalingReplacingUpdatePolicy;
815
+ /**
816
+ * To specify how CloudFormation handles rolling updates for an Auto Scaling
817
+ * group, use the `AutoScalingRollingUpdate` policy. Rolling updates enable
818
+ * you to specify whether AWS CloudFormation updates instances that are in an
819
+ * Auto Scaling group in batches or all at once.
820
+ *
821
+ * Be aware that, during stack update rollback operations, CloudFormation uses
822
+ * the `UpdatePolicy` configuration specified in the template before the
823
+ * current stack update operation. For example, suppose you have updated the
824
+ * `MaxBatchSize` in your stack template's `UpdatePolicy` from 1 to 10. You
825
+ * then perform a stack update, and that update fails and CloudFormation
826
+ * initiates an update rollback operation. In such a case, CloudFormation will
827
+ * use 1 as the maximum batch size, rather than 10. For this reason, we
828
+ * recommend you make changes to the UpdatePolicy configuration in a stack
829
+ * update separate from and before any updates to the
830
+ * `AWS::AutoScaling::AutoScalingGroup` resource that are likely to initiate
831
+ * rolling updates.
832
+ *
833
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-rollingupdate | AutoScalingRollingUpdate policy}
834
+ */
835
+ AutoScalingRollingUpdate?: AutoScalingRollingUpdatePolicy;
836
+ /**
837
+ * To specify how AWS CloudFormation handles updates for the `MinSize`,
838
+ * `MaxSize`, and `DesiredCapacity` properties when the
839
+ * `AWS::AutoScaling::AutoScalingGroup` resource has an associated scheduled
840
+ * action, use the `AutoScalingScheduledAction` policy.
841
+ *
842
+ * With scheduled actions, the group size properties of an Auto Scaling group
843
+ * can change at any time. When you update a stack with an Auto Scaling group
844
+ * and scheduled action, CloudFormation always sets the group size property
845
+ * values of your Auto Scaling group to the values that are defined in the
846
+ * `AWS::AutoScaling::AutoScalingGroup` resource of your template, even if a
847
+ * scheduled action is in effect.
848
+ *
849
+ * If you don't want CloudFormation to change any of the group size property
850
+ * values when you have a scheduled action in effect, use the
851
+ * `AutoScalingScheduledAction` update policy and set
852
+ * `IgnoreUnmodifiedGroupSizeProperties` to true to prevent CloudFormation
853
+ * from changing the `MinSize`, `MaxSize`, or `DesiredCapacity` properties
854
+ * unless you have modified these values in your template.
855
+ *
856
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-scheduledactions | AutoScalingScheduledAction policy}
857
+ */
858
+ AutoScalingScheduledAction?: AutoScalingScheduledActionPolicy;
859
+ /**
860
+ * To perform an CodeDeploy deployment when the version changes on an
861
+ * `AWS::Lambda::Alias` resource, use the `CodeDeployLambdaAliasUpdate` update
862
+ * policy.
863
+ *
864
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate | CodeDeployLambdaAlias update policy}
865
+ */
866
+ CodeDeployLambdaAliasUpdate?: CodeDeployLambdaAliasUpdatePolicy;
867
+ /**
868
+ * To upgrade an OpenSearch Service domain to a new version of OpenSearch or
869
+ * Elasticsearch rather than replacing the entire
870
+ * `AWS::OpenSearchService::Domain` or `AWS::Elasticsearch::Domain` resource, use
871
+ * the `EnableVersionUpgrade` update policy.
872
+ *
873
+ * If `EnableVersionUpgrade` is set to true, you can update the `EngineVersion`
874
+ * property of the `AWS::OpenSearchService::Domain` resource (or the
875
+ * `ElasticsearchVersion` property of the legacy `AWS::Elasticsearch::Domain`
876
+ * resource), and CloudFormation will update that property without
877
+ * interruption. When `EnableVersionUpgrade` is set to false, or not specified,
878
+ * updating the `EngineVersion` or `ElasticsearchVersion` property results in
879
+ * CloudFormation replacing the entire
880
+ * `AWS::OpenSearchService::Domain`/`AWS::Elasticsearch::Domain` resource.
881
+ *
882
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain | EnableVersionUpgrade policy}
883
+ */
884
+ EnableVersionUpgrade?: boolean;
885
+ /**
886
+ * To modify a replication group's shards by adding or removing shards, rather
887
+ * than replacing the entire `AWS::ElastiCache::ReplicationGroup` resource,
888
+ * use the `UseOnlineResharding` update policy.
889
+ *
890
+ * If `UseOnlineResharding` is set to true, you can update the `NumNodeGroups`
891
+ * and `NodeGroupConfiguration` properties of the
892
+ * `AWS::ElastiCache::ReplicationGroup` resource, and CloudFormation will
893
+ * update those properties without interruption. When `UseOnlineResharding` is
894
+ * set to false, or not specified, updating the `NumNodeGroups` and
895
+ * `NodeGroupConfiguration` properties results in CloudFormation replacing the
896
+ * entire `AWS::ElastiCache::ReplicationGroup` resource.
897
+ *
898
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-useonlineresharding | UseOnlineResharding policy}
899
+ */
900
+ UseOnlineResharding?: boolean;
901
+ }