aws-cdk-lib 2.51.0 → 2.51.1

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 (883) hide show
  1. package/.jsii.gz +0 -0
  2. package/alexa-ask/lib/ask.generated.js +1 -1
  3. package/assertions/lib/annotations.js +1 -1
  4. package/assertions/lib/capture.js +1 -1
  5. package/assertions/lib/match.js +1 -1
  6. package/assertions/lib/matcher.js +1 -1
  7. package/assertions/lib/template.js +1 -1
  8. package/assets/lib/staging.js +1 -1
  9. package/aws-accessanalyzer/lib/accessanalyzer.generated.js +1 -1
  10. package/aws-acmpca/lib/acmpca.generated.js +1 -1
  11. package/aws-acmpca/lib/certificate-authority.js +1 -1
  12. package/aws-amazonmq/lib/amazonmq.generated.js +1 -1
  13. package/aws-amplify/lib/amplify.generated.js +1 -1
  14. package/aws-amplifyuibuilder/lib/amplifyuibuilder.generated.js +1 -1
  15. package/aws-apigateway/lib/access-log.js +1 -1
  16. package/aws-apigateway/lib/api-definition.js +1 -1
  17. package/aws-apigateway/lib/api-key.js +1 -1
  18. package/aws-apigateway/lib/apigateway.generated.js +1 -1
  19. package/aws-apigateway/lib/apigatewayv2.js +1 -1
  20. package/aws-apigateway/lib/authorizer.js +1 -1
  21. package/aws-apigateway/lib/authorizers/cognito.js +1 -1
  22. package/aws-apigateway/lib/authorizers/identity-source.js +1 -1
  23. package/aws-apigateway/lib/authorizers/lambda.js +1 -1
  24. package/aws-apigateway/lib/base-path-mapping.js +1 -1
  25. package/aws-apigateway/lib/cors.js +1 -1
  26. package/aws-apigateway/lib/deployment.js +1 -1
  27. package/aws-apigateway/lib/domain-name.js +1 -1
  28. package/aws-apigateway/lib/gateway-response.js +1 -1
  29. package/aws-apigateway/lib/integration.js +1 -1
  30. package/aws-apigateway/lib/integrations/aws.js +1 -1
  31. package/aws-apigateway/lib/integrations/http.js +1 -1
  32. package/aws-apigateway/lib/integrations/lambda.js +1 -1
  33. package/aws-apigateway/lib/integrations/mock.js +1 -1
  34. package/aws-apigateway/lib/integrations/stepfunctions.js +1 -1
  35. package/aws-apigateway/lib/lambda-api.js +1 -1
  36. package/aws-apigateway/lib/method.js +1 -1
  37. package/aws-apigateway/lib/model.js +1 -1
  38. package/aws-apigateway/lib/requestvalidator.js +1 -1
  39. package/aws-apigateway/lib/resource.js +1 -1
  40. package/aws-apigateway/lib/restapi.js +1 -1
  41. package/aws-apigateway/lib/stage.js +1 -1
  42. package/aws-apigateway/lib/stepfunctions-api.js +1 -1
  43. package/aws-apigateway/lib/usage-plan.js +1 -1
  44. package/aws-apigateway/lib/vpc-link.js +1 -1
  45. package/aws-apigatewayv2/lib/apigatewayv2.generated.js +1 -1
  46. package/aws-appconfig/lib/appconfig.generated.js +1 -1
  47. package/aws-appflow/lib/appflow.generated.js +1 -1
  48. package/aws-appintegrations/lib/appintegrations.generated.js +1 -1
  49. package/aws-applicationautoscaling/lib/applicationautoscaling.generated.js +1 -1
  50. package/aws-applicationautoscaling/lib/base-scalable-attribute.js +1 -1
  51. package/aws-applicationautoscaling/lib/scalable-target.js +1 -1
  52. package/aws-applicationautoscaling/lib/schedule.js +1 -1
  53. package/aws-applicationautoscaling/lib/step-scaling-action.js +1 -1
  54. package/aws-applicationautoscaling/lib/step-scaling-policy.js +1 -1
  55. package/aws-applicationautoscaling/lib/target-tracking-scaling-policy.js +1 -1
  56. package/aws-applicationinsights/lib/applicationinsights.generated.js +1 -1
  57. package/aws-appmesh/lib/appmesh.generated.js +1 -1
  58. package/aws-appmesh/lib/gateway-route-spec.js +1 -1
  59. package/aws-appmesh/lib/gateway-route.js +1 -1
  60. package/aws-appmesh/lib/header-match.js +1 -1
  61. package/aws-appmesh/lib/health-checks.js +1 -1
  62. package/aws-appmesh/lib/http-route-path-match.js +1 -1
  63. package/aws-appmesh/lib/mesh.js +1 -1
  64. package/aws-appmesh/lib/query-parameter-match.js +1 -1
  65. package/aws-appmesh/lib/route-spec.js +1 -1
  66. package/aws-appmesh/lib/route.js +1 -1
  67. package/aws-appmesh/lib/service-discovery.js +1 -1
  68. package/aws-appmesh/lib/shared-interfaces.js +1 -1
  69. package/aws-appmesh/lib/tls-certificate.js +1 -1
  70. package/aws-appmesh/lib/tls-validation.js +1 -1
  71. package/aws-appmesh/lib/virtual-gateway-listener.js +1 -1
  72. package/aws-appmesh/lib/virtual-gateway.js +1 -1
  73. package/aws-appmesh/lib/virtual-node-listener.js +1 -1
  74. package/aws-appmesh/lib/virtual-node.js +1 -1
  75. package/aws-appmesh/lib/virtual-router-listener.js +1 -1
  76. package/aws-appmesh/lib/virtual-router.js +1 -1
  77. package/aws-appmesh/lib/virtual-service.js +1 -1
  78. package/aws-apprunner/lib/apprunner.generated.js +1 -1
  79. package/aws-appstream/lib/appstream.generated.js +1 -1
  80. package/aws-appsync/lib/appsync.generated.js +1 -1
  81. package/aws-aps/lib/aps.generated.js +1 -1
  82. package/aws-athena/lib/athena.generated.js +1 -1
  83. package/aws-auditmanager/lib/auditmanager.generated.js +1 -1
  84. package/aws-autoscaling/lib/aspects/require-imdsv2-aspect.js +1 -1
  85. package/aws-autoscaling/lib/auto-scaling-group.js +1 -1
  86. package/aws-autoscaling/lib/autoscaling.generated.js +1 -1
  87. package/aws-autoscaling/lib/lifecycle-hook.js +1 -1
  88. package/aws-autoscaling/lib/schedule.js +1 -1
  89. package/aws-autoscaling/lib/scheduled-action.js +1 -1
  90. package/aws-autoscaling/lib/step-scaling-action.js +1 -1
  91. package/aws-autoscaling/lib/step-scaling-policy.js +1 -1
  92. package/aws-autoscaling/lib/target-tracking-scaling-policy.js +1 -1
  93. package/aws-autoscaling/lib/volume.js +1 -1
  94. package/aws-autoscaling/lib/warm-pool.js +1 -1
  95. package/aws-autoscaling-hooktargets/lib/lambda-hook.js +1 -1
  96. package/aws-autoscaling-hooktargets/lib/queue-hook.js +1 -1
  97. package/aws-autoscaling-hooktargets/lib/topic-hook.js +1 -1
  98. package/aws-autoscalingplans/lib/autoscalingplans.generated.js +1 -1
  99. package/aws-backup/lib/backup.generated.js +1 -1
  100. package/aws-backup/lib/plan.js +1 -1
  101. package/aws-backup/lib/resource.js +1 -1
  102. package/aws-backup/lib/rule.js +1 -1
  103. package/aws-backup/lib/selection.js +1 -1
  104. package/aws-backup/lib/vault.js +1 -1
  105. package/aws-batch/lib/batch.generated.js +1 -1
  106. package/aws-billingconductor/lib/billingconductor.generated.js +1 -1
  107. package/aws-budgets/lib/budgets.generated.js +1 -1
  108. package/aws-cassandra/lib/cassandra.generated.js +1 -1
  109. package/aws-ce/lib/ce.generated.js +1 -1
  110. package/aws-certificatemanager/lib/certificate.js +1 -1
  111. package/aws-certificatemanager/lib/certificatemanager.generated.js +1 -1
  112. package/aws-certificatemanager/lib/dns-validated-certificate.js +1 -1
  113. package/aws-certificatemanager/lib/private-certificate.js +1 -1
  114. package/aws-chatbot/lib/chatbot.generated.js +1 -1
  115. package/aws-chatbot/lib/slack-channel-configuration.js +1 -1
  116. package/aws-cloud9/lib/cloud9.generated.js +1 -1
  117. package/aws-cloudformation/lib/cloudformation.generated.js +1 -1
  118. package/aws-cloudformation/lib/custom-resource.js +1 -1
  119. package/aws-cloudformation/lib/nested-stack.js +1 -1
  120. package/aws-cloudfront/lib/cache-policy.js +1 -1
  121. package/aws-cloudfront/lib/cloudfront.generated.js +1 -1
  122. package/aws-cloudfront/lib/distribution.js +1 -1
  123. package/aws-cloudfront/lib/experimental/edge-function.js +1 -1
  124. package/aws-cloudfront/lib/function.js +1 -1
  125. package/aws-cloudfront/lib/geo-restriction.js +1 -1
  126. package/aws-cloudfront/lib/key-group.js +1 -1
  127. package/aws-cloudfront/lib/origin-access-identity.js +1 -1
  128. package/aws-cloudfront/lib/origin-request-policy.js +1 -1
  129. package/aws-cloudfront/lib/origin.js +1 -1
  130. package/aws-cloudfront/lib/public-key.js +1 -1
  131. package/aws-cloudfront/lib/response-headers-policy.js +1 -1
  132. package/aws-cloudfront/lib/web-distribution.js +2 -2
  133. package/aws-cloudfront-origins/lib/http-origin.js +1 -1
  134. package/aws-cloudfront-origins/lib/load-balancer-origin.js +1 -1
  135. package/aws-cloudfront-origins/lib/origin-group.js +1 -1
  136. package/aws-cloudfront-origins/lib/rest-api-origin.js +1 -1
  137. package/aws-cloudfront-origins/lib/s3-origin.js +1 -1
  138. package/aws-cloudtrail/lib/cloudtrail.generated.js +1 -1
  139. package/aws-cloudtrail/lib/cloudtrail.js +1 -1
  140. package/aws-cloudwatch/lib/alarm-base.js +1 -1
  141. package/aws-cloudwatch/lib/alarm-rule.js +1 -1
  142. package/aws-cloudwatch/lib/alarm-status-widget.js +1 -1
  143. package/aws-cloudwatch/lib/alarm.js +1 -1
  144. package/aws-cloudwatch/lib/cloudwatch.generated.js +1 -1
  145. package/aws-cloudwatch/lib/composite-alarm.js +1 -1
  146. package/aws-cloudwatch/lib/dashboard.js +1 -1
  147. package/aws-cloudwatch/lib/graph.js +1 -1
  148. package/aws-cloudwatch/lib/layout.js +1 -1
  149. package/aws-cloudwatch/lib/log-query.js +1 -1
  150. package/aws-cloudwatch/lib/metric.js +1 -1
  151. package/aws-cloudwatch/lib/text.js +1 -1
  152. package/aws-cloudwatch/lib/widget.js +1 -1
  153. package/aws-cloudwatch-actions/lib/appscaling.js +1 -1
  154. package/aws-cloudwatch-actions/lib/autoscaling.js +1 -1
  155. package/aws-cloudwatch-actions/lib/ec2.js +1 -1
  156. package/aws-cloudwatch-actions/lib/sns.js +1 -1
  157. package/aws-cloudwatch-actions/lib/ssm.js +1 -1
  158. package/aws-codeartifact/lib/codeartifact.generated.js +1 -1
  159. package/aws-codebuild/lib/artifacts.js +1 -1
  160. package/aws-codebuild/lib/build-spec.js +1 -1
  161. package/aws-codebuild/lib/cache.js +1 -1
  162. package/aws-codebuild/lib/codebuild.generated.js +1 -1
  163. package/aws-codebuild/lib/events.js +1 -1
  164. package/aws-codebuild/lib/file-location.js +1 -1
  165. package/aws-codebuild/lib/linux-arm-build-image.js +1 -1
  166. package/aws-codebuild/lib/linux-gpu-build-image.js +1 -1
  167. package/aws-codebuild/lib/pipeline-project.js +1 -1
  168. package/aws-codebuild/lib/project.js +1 -1
  169. package/aws-codebuild/lib/report-group.js +1 -1
  170. package/aws-codebuild/lib/source-credentials.js +1 -1
  171. package/aws-codebuild/lib/source.js +1 -1
  172. package/aws-codebuild/lib/untrusted-code-boundary-policy.js +1 -1
  173. package/aws-codecommit/lib/code.js +1 -1
  174. package/aws-codecommit/lib/codecommit.generated.js +1 -1
  175. package/aws-codecommit/lib/events.js +1 -1
  176. package/aws-codecommit/lib/repository.js +1 -1
  177. package/aws-codedeploy/lib/base-deployment-config.js +1 -1
  178. package/aws-codedeploy/lib/codedeploy.generated.js +1 -1
  179. package/aws-codedeploy/lib/ecs/application.js +1 -1
  180. package/aws-codedeploy/lib/ecs/deployment-config.js +1 -1
  181. package/aws-codedeploy/lib/ecs/deployment-group.js +1 -1
  182. package/aws-codedeploy/lib/host-health-config.js +1 -1
  183. package/aws-codedeploy/lib/lambda/application.js +1 -1
  184. package/aws-codedeploy/lib/lambda/custom-deployment-config.js +1 -1
  185. package/aws-codedeploy/lib/lambda/deployment-config.js +1 -1
  186. package/aws-codedeploy/lib/lambda/deployment-group.js +1 -1
  187. package/aws-codedeploy/lib/server/application.js +1 -1
  188. package/aws-codedeploy/lib/server/deployment-config.js +1 -1
  189. package/aws-codedeploy/lib/server/deployment-group.js +1 -1
  190. package/aws-codedeploy/lib/server/load-balancer.js +1 -1
  191. package/aws-codedeploy/lib/traffic-routing-config.js +1 -1
  192. package/aws-codeguruprofiler/lib/codeguruprofiler.generated.js +1 -1
  193. package/aws-codeguruprofiler/lib/profiling-group.js +1 -1
  194. package/aws-codegurureviewer/lib/codegurureviewer.generated.js +1 -1
  195. package/aws-codepipeline/lib/action.js +1 -1
  196. package/aws-codepipeline/lib/artifact.js +1 -1
  197. package/aws-codepipeline/lib/codepipeline.generated.js +1 -1
  198. package/aws-codepipeline/lib/custom-action-registration.js +1 -1
  199. package/aws-codepipeline/lib/pipeline.js +1 -1
  200. package/aws-codepipeline-actions/lib/action.js +1 -1
  201. package/aws-codepipeline-actions/lib/alexa-ask/deploy-action.js +1 -1
  202. package/aws-codepipeline-actions/lib/bitbucket/source-action.js +1 -1
  203. package/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.js +1 -1
  204. package/aws-codepipeline-actions/lib/cloudformation/stackinstances-action.js +1 -1
  205. package/aws-codepipeline-actions/lib/cloudformation/stackset-action.js +1 -1
  206. package/aws-codepipeline-actions/lib/cloudformation/stackset-types.js +1 -1
  207. package/aws-codepipeline-actions/lib/codebuild/build-action.js +1 -1
  208. package/aws-codepipeline-actions/lib/codecommit/source-action.js +1 -1
  209. package/aws-codepipeline-actions/lib/codedeploy/ecs-deploy-action.js +1 -1
  210. package/aws-codepipeline-actions/lib/codedeploy/server-deploy-action.js +1 -1
  211. package/aws-codepipeline-actions/lib/codestar-connections/source-action.js +1 -1
  212. package/aws-codepipeline-actions/lib/ecr/source-action.js +1 -1
  213. package/aws-codepipeline-actions/lib/ecs/deploy-action.js +1 -1
  214. package/aws-codepipeline-actions/lib/elastic-beanstalk/deploy-action.js +1 -1
  215. package/aws-codepipeline-actions/lib/github/source-action.js +1 -1
  216. package/aws-codepipeline-actions/lib/jenkins/jenkins-action.js +1 -1
  217. package/aws-codepipeline-actions/lib/jenkins/jenkins-provider.js +1 -1
  218. package/aws-codepipeline-actions/lib/lambda/invoke-action.js +1 -1
  219. package/aws-codepipeline-actions/lib/manual-approval-action.js +1 -1
  220. package/aws-codepipeline-actions/lib/s3/deploy-action.js +1 -1
  221. package/aws-codepipeline-actions/lib/s3/source-action.js +1 -1
  222. package/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.js +1 -1
  223. package/aws-codepipeline-actions/lib/stepfunctions/invoke-action.js +1 -1
  224. package/aws-codestar/lib/codestar.generated.js +1 -1
  225. package/aws-codestarconnections/lib/codestarconnections.generated.js +1 -1
  226. package/aws-codestarnotifications/lib/codestarnotifications.generated.js +1 -1
  227. package/aws-codestarnotifications/lib/notification-rule.js +1 -1
  228. package/aws-cognito/lib/cognito.generated.js +1 -1
  229. package/aws-cognito/lib/user-pool-attr.js +1 -1
  230. package/aws-cognito/lib/user-pool-client.js +1 -1
  231. package/aws-cognito/lib/user-pool-domain.js +1 -1
  232. package/aws-cognito/lib/user-pool-email.js +1 -1
  233. package/aws-cognito/lib/user-pool-idp.js +1 -1
  234. package/aws-cognito/lib/user-pool-idps/amazon.js +1 -1
  235. package/aws-cognito/lib/user-pool-idps/apple.js +1 -1
  236. package/aws-cognito/lib/user-pool-idps/base.js +1 -1
  237. package/aws-cognito/lib/user-pool-idps/facebook.js +1 -1
  238. package/aws-cognito/lib/user-pool-idps/google.js +1 -1
  239. package/aws-cognito/lib/user-pool-idps/oidc.js +1 -1
  240. package/aws-cognito/lib/user-pool-idps/saml.js +1 -1
  241. package/aws-cognito/lib/user-pool-resource-server.js +1 -1
  242. package/aws-cognito/lib/user-pool.js +1 -1
  243. package/aws-config/lib/config.generated.js +1 -1
  244. package/aws-config/lib/managed-rules.js +1 -1
  245. package/aws-config/lib/rule.js +1 -1
  246. package/aws-connect/lib/connect.generated.js +1 -1
  247. package/aws-connectcampaigns/lib/connectcampaigns.generated.js +1 -1
  248. package/aws-controltower/lib/controltower.generated.js +1 -1
  249. package/aws-cur/lib/cur.generated.js +1 -1
  250. package/aws-customerprofiles/lib/customerprofiles.generated.js +1 -1
  251. package/aws-databrew/lib/databrew.generated.js +1 -1
  252. package/aws-datapipeline/lib/datapipeline.generated.js +1 -1
  253. package/aws-datasync/lib/datasync.generated.js +1 -1
  254. package/aws-dax/lib/dax.generated.js +1 -1
  255. package/aws-detective/lib/detective.generated.js +1 -1
  256. package/aws-devopsguru/lib/devopsguru.generated.js +1 -1
  257. package/aws-directoryservice/lib/directoryservice.generated.js +1 -1
  258. package/aws-dlm/lib/dlm.generated.js +1 -1
  259. package/aws-dms/lib/dms.generated.js +1 -1
  260. package/aws-docdb/lib/cluster.js +1 -1
  261. package/aws-docdb/lib/database-secret.js +1 -1
  262. package/aws-docdb/lib/docdb.generated.js +1 -1
  263. package/aws-docdb/lib/endpoint.js +1 -1
  264. package/aws-docdb/lib/instance.js +1 -1
  265. package/aws-docdb/lib/parameter-group.js +1 -1
  266. package/aws-dynamodb/lib/dynamodb.generated.js +1 -1
  267. package/aws-dynamodb/lib/table.js +1 -1
  268. package/aws-ec2/lib/aspects/require-imdsv2-aspect.js +1 -1
  269. package/aws-ec2/lib/bastion-host.js +1 -1
  270. package/aws-ec2/lib/cfn-init-elements.js +1 -1
  271. package/aws-ec2/lib/cfn-init.js +1 -1
  272. package/aws-ec2/lib/client-vpn-authorization-rule.js +1 -1
  273. package/aws-ec2/lib/client-vpn-endpoint.js +1 -1
  274. package/aws-ec2/lib/client-vpn-route.js +1 -1
  275. package/aws-ec2/lib/connections.js +1 -1
  276. package/aws-ec2/lib/ec2.generated.js +1 -1
  277. package/aws-ec2/lib/instance-types.js +1 -1
  278. package/aws-ec2/lib/instance.js +1 -1
  279. package/aws-ec2/lib/ip-addresses.js +1 -1
  280. package/aws-ec2/lib/launch-template.js +1 -1
  281. package/aws-ec2/lib/machine-image.js +1 -1
  282. package/aws-ec2/lib/nat.js +1 -1
  283. package/aws-ec2/lib/network-acl-types.js +1 -1
  284. package/aws-ec2/lib/network-acl.js +1 -1
  285. package/aws-ec2/lib/peer.js +1 -1
  286. package/aws-ec2/lib/port.js +1 -1
  287. package/aws-ec2/lib/security-group.js +1 -1
  288. package/aws-ec2/lib/subnet.js +1 -1
  289. package/aws-ec2/lib/user-data.js +3 -3
  290. package/aws-ec2/lib/volume.js +1 -1
  291. package/aws-ec2/lib/vpc-endpoint-service.js +1 -1
  292. package/aws-ec2/lib/vpc-endpoint.js +1 -1
  293. package/aws-ec2/lib/vpc-flow-logs.js +1 -1
  294. package/aws-ec2/lib/vpc.js +1 -1
  295. package/aws-ec2/lib/vpn.js +1 -1
  296. package/aws-ecr/lib/auth-token.js +1 -1
  297. package/aws-ecr/lib/ecr.generated.js +1 -1
  298. package/aws-ecr/lib/repository.js +1 -1
  299. package/aws-ecr-assets/lib/image-asset.js +2 -2
  300. package/aws-ecr-assets/lib/tarball-asset.js +1 -1
  301. package/aws-ecs/lib/amis.js +1 -1
  302. package/aws-ecs/lib/base/base-service.js +1 -1
  303. package/aws-ecs/lib/base/scalable-task-count.js +1 -1
  304. package/aws-ecs/lib/base/task-definition.js +1 -1
  305. package/aws-ecs/lib/cluster.js +1 -1
  306. package/aws-ecs/lib/container-definition.js +1 -1
  307. package/aws-ecs/lib/container-image.js +1 -1
  308. package/aws-ecs/lib/ec2/ec2-service.js +1 -1
  309. package/aws-ecs/lib/ec2/ec2-task-definition.js +1 -1
  310. package/aws-ecs/lib/ecs.generated.js +1 -1
  311. package/aws-ecs/lib/environment-file.js +1 -1
  312. package/aws-ecs/lib/external/external-service.js +1 -1
  313. package/aws-ecs/lib/external/external-task-definition.js +1 -1
  314. package/aws-ecs/lib/fargate/fargate-service.js +1 -1
  315. package/aws-ecs/lib/fargate/fargate-task-definition.js +1 -1
  316. package/aws-ecs/lib/firelens-log-router.js +1 -1
  317. package/aws-ecs/lib/images/asset-image.js +1 -1
  318. package/aws-ecs/lib/images/ecr.js +1 -1
  319. package/aws-ecs/lib/images/repository.js +1 -1
  320. package/aws-ecs/lib/images/tag-parameter-container-image.js +1 -1
  321. package/aws-ecs/lib/linux-parameters.js +1 -1
  322. package/aws-ecs/lib/log-drivers/aws-log-driver.js +1 -1
  323. package/aws-ecs/lib/log-drivers/firelens-log-driver.js +1 -1
  324. package/aws-ecs/lib/log-drivers/fluentd-log-driver.js +1 -1
  325. package/aws-ecs/lib/log-drivers/gelf-log-driver.js +1 -1
  326. package/aws-ecs/lib/log-drivers/generic-log-driver.js +1 -1
  327. package/aws-ecs/lib/log-drivers/journald-log-driver.js +1 -1
  328. package/aws-ecs/lib/log-drivers/json-file-log-driver.js +1 -1
  329. package/aws-ecs/lib/log-drivers/log-driver.js +1 -1
  330. package/aws-ecs/lib/log-drivers/log-drivers.js +1 -1
  331. package/aws-ecs/lib/log-drivers/splunk-log-driver.js +1 -1
  332. package/aws-ecs/lib/log-drivers/syslog-log-driver.js +1 -1
  333. package/aws-ecs/lib/placement.js +1 -1
  334. package/aws-ecs/lib/proxy-configuration/app-mesh-proxy-configuration.js +1 -1
  335. package/aws-ecs/lib/proxy-configuration/proxy-configuration.js +1 -1
  336. package/aws-ecs/lib/proxy-configuration/proxy-configurations.js +1 -1
  337. package/aws-ecs/lib/runtime-platform.js +1 -1
  338. package/aws-ecs-patterns/lib/base/application-load-balanced-service-base.js +1 -1
  339. package/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.js +1 -1
  340. package/aws-ecs-patterns/lib/base/network-load-balanced-service-base.js +1 -1
  341. package/aws-ecs-patterns/lib/base/network-multiple-target-groups-service-base.js +1 -1
  342. package/aws-ecs-patterns/lib/base/queue-processing-service-base.js +1 -1
  343. package/aws-ecs-patterns/lib/base/scheduled-task-base.js +1 -1
  344. package/aws-ecs-patterns/lib/ecs/application-load-balanced-ecs-service.js +1 -1
  345. package/aws-ecs-patterns/lib/ecs/application-multiple-target-groups-ecs-service.js +1 -1
  346. package/aws-ecs-patterns/lib/ecs/network-load-balanced-ecs-service.js +1 -1
  347. package/aws-ecs-patterns/lib/ecs/network-multiple-target-groups-ecs-service.js +1 -1
  348. package/aws-ecs-patterns/lib/ecs/queue-processing-ecs-service.js +1 -1
  349. package/aws-ecs-patterns/lib/ecs/scheduled-ecs-task.js +1 -1
  350. package/aws-ecs-patterns/lib/fargate/application-load-balanced-fargate-service.js +1 -1
  351. package/aws-ecs-patterns/lib/fargate/application-multiple-target-groups-fargate-service.js +1 -1
  352. package/aws-ecs-patterns/lib/fargate/network-load-balanced-fargate-service.js +1 -1
  353. package/aws-ecs-patterns/lib/fargate/network-multiple-target-groups-fargate-service.js +1 -1
  354. package/aws-ecs-patterns/lib/fargate/queue-processing-fargate-service.js +1 -1
  355. package/aws-ecs-patterns/lib/fargate/scheduled-fargate-task.js +1 -1
  356. package/aws-efs/lib/access-point.js +1 -1
  357. package/aws-efs/lib/efs-file-system.js +1 -1
  358. package/aws-efs/lib/efs.generated.js +1 -1
  359. package/aws-eks/lib/alb-controller.js +1 -1
  360. package/aws-eks/lib/aws-auth.js +1 -1
  361. package/aws-eks/lib/cluster.js +1 -1
  362. package/aws-eks/lib/eks.generated.js +1 -1
  363. package/aws-eks/lib/fargate-cluster.js +1 -1
  364. package/aws-eks/lib/fargate-profile.js +1 -1
  365. package/aws-eks/lib/helm-chart.js +1 -1
  366. package/aws-eks/lib/k8s-manifest.js +1 -1
  367. package/aws-eks/lib/k8s-object-value.js +1 -1
  368. package/aws-eks/lib/k8s-patch.js +1 -1
  369. package/aws-eks/lib/kubectl-provider.js +1 -1
  370. package/aws-eks/lib/managed-nodegroup.js +1 -1
  371. package/aws-eks/lib/oidc-provider.js +1 -1
  372. package/aws-eks/lib/service-account.js +1 -1
  373. package/aws-elasticache/lib/elasticache.generated.js +1 -1
  374. package/aws-elasticbeanstalk/lib/elasticbeanstalk.generated.js +1 -1
  375. package/aws-elasticloadbalancing/lib/elasticloadbalancing.generated.js +1 -1
  376. package/aws-elasticloadbalancing/lib/load-balancer.js +1 -1
  377. package/aws-elasticloadbalancingv2/lib/alb/application-listener-action.js +1 -1
  378. package/aws-elasticloadbalancingv2/lib/alb/application-listener-certificate.js +1 -1
  379. package/aws-elasticloadbalancingv2/lib/alb/application-listener-rule.js +1 -1
  380. package/aws-elasticloadbalancingv2/lib/alb/application-listener.js +1 -1
  381. package/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.js +1 -1
  382. package/aws-elasticloadbalancingv2/lib/alb/application-target-group.js +1 -1
  383. package/aws-elasticloadbalancingv2/lib/alb/conditions.js +1 -1
  384. package/aws-elasticloadbalancingv2/lib/elasticloadbalancingv2.generated.js +1 -1
  385. package/aws-elasticloadbalancingv2/lib/nlb/network-listener-action.js +1 -1
  386. package/aws-elasticloadbalancingv2/lib/nlb/network-listener.js +1 -1
  387. package/aws-elasticloadbalancingv2/lib/nlb/network-load-balancer.js +1 -1
  388. package/aws-elasticloadbalancingv2/lib/nlb/network-target-group.js +1 -1
  389. package/aws-elasticloadbalancingv2/lib/shared/base-listener.js +1 -1
  390. package/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.js +1 -1
  391. package/aws-elasticloadbalancingv2/lib/shared/base-target-group.js +1 -1
  392. package/aws-elasticloadbalancingv2/lib/shared/listener-certificate.js +1 -1
  393. package/aws-elasticloadbalancingv2/lib/shared/load-balancer-targets.js +1 -1
  394. package/aws-elasticloadbalancingv2-actions/lib/cognito-action.js +1 -1
  395. package/aws-elasticloadbalancingv2-targets/lib/alb-target.js +1 -1
  396. package/aws-elasticloadbalancingv2-targets/lib/instance-target.js +1 -1
  397. package/aws-elasticloadbalancingv2-targets/lib/ip-target.js +1 -1
  398. package/aws-elasticloadbalancingv2-targets/lib/lambda-target.js +1 -1
  399. package/aws-elasticsearch/lib/domain.js +1 -1
  400. package/aws-elasticsearch/lib/elasticsearch.generated.js +1 -1
  401. package/aws-emr/lib/emr.generated.js +1 -1
  402. package/aws-emrcontainers/lib/emrcontainers.generated.js +1 -1
  403. package/aws-emrserverless/lib/emrserverless.generated.js +1 -1
  404. package/aws-events/lib/api-destination.js +1 -1
  405. package/aws-events/lib/archive.js +1 -1
  406. package/aws-events/lib/connection.js +1 -1
  407. package/aws-events/lib/event-bus.js +1 -1
  408. package/aws-events/lib/event-pattern.js +1 -1
  409. package/aws-events/lib/events.generated.js +1 -1
  410. package/aws-events/lib/input.js +2 -2
  411. package/aws-events/lib/rule.js +1 -1
  412. package/aws-events/lib/schedule.js +1 -1
  413. package/aws-events-targets/lib/api-destination.js +1 -1
  414. package/aws-events-targets/lib/api-gateway.js +1 -1
  415. package/aws-events-targets/lib/aws-api.js +1 -1
  416. package/aws-events-targets/lib/batch.js +1 -1
  417. package/aws-events-targets/lib/codebuild.js +1 -1
  418. package/aws-events-targets/lib/codepipeline.js +1 -1
  419. package/aws-events-targets/lib/ecs-task.js +1 -1
  420. package/aws-events-targets/lib/event-bus.js +1 -1
  421. package/aws-events-targets/lib/kinesis-firehose-stream.js +1 -1
  422. package/aws-events-targets/lib/kinesis-stream.js +1 -1
  423. package/aws-events-targets/lib/lambda.js +1 -1
  424. package/aws-events-targets/lib/log-group.js +2 -2
  425. package/aws-events-targets/lib/sns.js +1 -1
  426. package/aws-events-targets/lib/sqs.js +1 -1
  427. package/aws-events-targets/lib/state-machine.js +1 -1
  428. package/aws-eventschemas/lib/eventschemas.generated.js +1 -1
  429. package/aws-evidently/lib/evidently.generated.js +1 -1
  430. package/aws-finspace/lib/finspace.generated.js +1 -1
  431. package/aws-fis/lib/fis.generated.js +1 -1
  432. package/aws-fms/lib/fms.generated.js +1 -1
  433. package/aws-forecast/lib/forecast.generated.js +1 -1
  434. package/aws-frauddetector/lib/frauddetector.generated.js +1 -1
  435. package/aws-fsx/lib/file-system.js +1 -1
  436. package/aws-fsx/lib/fsx.generated.js +1 -1
  437. package/aws-fsx/lib/lustre-file-system.js +1 -1
  438. package/aws-fsx/lib/maintenance-time.js +1 -1
  439. package/aws-gamelift/lib/gamelift.generated.js +1 -1
  440. package/aws-globalaccelerator/lib/accelerator.js +1 -1
  441. package/aws-globalaccelerator/lib/endpoint-group.js +1 -1
  442. package/aws-globalaccelerator/lib/endpoint.js +1 -1
  443. package/aws-globalaccelerator/lib/globalaccelerator.generated.js +1 -1
  444. package/aws-globalaccelerator/lib/listener.js +1 -1
  445. package/aws-globalaccelerator-endpoints/lib/alb.js +1 -1
  446. package/aws-globalaccelerator-endpoints/lib/eip.js +1 -1
  447. package/aws-globalaccelerator-endpoints/lib/instance.js +1 -1
  448. package/aws-globalaccelerator-endpoints/lib/nlb.js +1 -1
  449. package/aws-glue/lib/glue.generated.js +1 -1
  450. package/aws-greengrass/lib/greengrass.generated.js +1 -1
  451. package/aws-greengrassv2/lib/greengrassv2.generated.js +1 -1
  452. package/aws-groundstation/lib/groundstation.generated.js +1 -1
  453. package/aws-guardduty/lib/guardduty.generated.js +1 -1
  454. package/aws-healthlake/lib/healthlake.generated.js +1 -1
  455. package/aws-iam/lib/access-key.js +1 -1
  456. package/aws-iam/lib/grant.js +1 -1
  457. package/aws-iam/lib/group.js +1 -1
  458. package/aws-iam/lib/iam.generated.js +1 -1
  459. package/aws-iam/lib/lazy-role.js +1 -1
  460. package/aws-iam/lib/managed-policy.js +1 -1
  461. package/aws-iam/lib/oidc-provider.js +1 -1
  462. package/aws-iam/lib/permissions-boundary.js +1 -1
  463. package/aws-iam/lib/policy-document.js +1 -1
  464. package/aws-iam/lib/policy-statement.js +1 -1
  465. package/aws-iam/lib/policy.js +1 -1
  466. package/aws-iam/lib/principals.js +1 -1
  467. package/aws-iam/lib/role.js +1 -1
  468. package/aws-iam/lib/saml-provider.js +1 -1
  469. package/aws-iam/lib/unknown-principal.js +1 -1
  470. package/aws-iam/lib/user.js +1 -1
  471. package/aws-identitystore/lib/identitystore.generated.js +1 -1
  472. package/aws-imagebuilder/lib/imagebuilder.generated.js +1 -1
  473. package/aws-inspector/lib/inspector.generated.js +1 -1
  474. package/aws-inspectorv2/lib/inspectorv2.generated.js +1 -1
  475. package/aws-iot/lib/iot.generated.js +1 -1
  476. package/aws-iot1click/lib/iot1click.generated.js +1 -1
  477. package/aws-iotanalytics/lib/iotanalytics.generated.js +1 -1
  478. package/aws-iotcoredeviceadvisor/lib/iotcoredeviceadvisor.generated.js +1 -1
  479. package/aws-iotevents/lib/iotevents.generated.js +1 -1
  480. package/aws-iotfleethub/lib/iotfleethub.generated.js +1 -1
  481. package/aws-iotfleetwise/lib/iotfleetwise.generated.js +1 -1
  482. package/aws-iotsitewise/lib/iotsitewise.generated.js +1 -1
  483. package/aws-iotthingsgraph/lib/iotthingsgraph.generated.js +1 -1
  484. package/aws-iottwinmaker/lib/iottwinmaker.generated.js +1 -1
  485. package/aws-iotwireless/lib/iotwireless.generated.js +1 -1
  486. package/aws-ivs/lib/ivs.generated.js +1 -1
  487. package/aws-kafkaconnect/lib/kafkaconnect.generated.js +1 -1
  488. package/aws-kendra/lib/kendra.generated.js +1 -1
  489. package/aws-kinesis/lib/kinesis.generated.js +1 -1
  490. package/aws-kinesis/lib/stream.js +1 -1
  491. package/aws-kinesisanalytics/lib/kinesisanalytics.generated.js +1 -1
  492. package/aws-kinesisanalytics/lib/kinesisanalyticsv2.generated.js +1 -1
  493. package/aws-kinesisanalyticsv2/lib/kinesisanalyticsv2.generated.js +1 -1
  494. package/aws-kinesisfirehose/lib/kinesisfirehose.generated.js +1 -1
  495. package/aws-kinesisvideo/lib/kinesisvideo.generated.js +1 -1
  496. package/aws-kms/lib/alias.js +1 -1
  497. package/aws-kms/lib/key.js +1 -1
  498. package/aws-kms/lib/kms.generated.js +1 -1
  499. package/aws-kms/lib/via-service-principal.js +1 -1
  500. package/aws-lakeformation/lib/lakeformation.generated.js +1 -1
  501. package/aws-lambda/lib/alias.js +1 -1
  502. package/aws-lambda/lib/architecture.js +1 -1
  503. package/aws-lambda/lib/code-signing-config.js +1 -1
  504. package/aws-lambda/lib/code.js +1 -1
  505. package/aws-lambda/lib/event-invoke-config.js +1 -1
  506. package/aws-lambda/lib/event-source-filter.js +1 -1
  507. package/aws-lambda/lib/event-source-mapping.js +1 -1
  508. package/aws-lambda/lib/filesystem.js +1 -1
  509. package/aws-lambda/lib/function-base.js +1 -1
  510. package/aws-lambda/lib/function-url.js +1 -1
  511. package/aws-lambda/lib/function.js +1 -1
  512. package/aws-lambda/lib/handler.js +1 -1
  513. package/aws-lambda/lib/image-function.js +1 -1
  514. package/aws-lambda/lib/lambda-insights.js +1 -1
  515. package/aws-lambda/lib/lambda-version.js +1 -1
  516. package/aws-lambda/lib/lambda.generated.js +1 -1
  517. package/aws-lambda/lib/layers.js +1 -1
  518. package/aws-lambda/lib/log-retention.js +1 -1
  519. package/aws-lambda/lib/runtime.js +1 -1
  520. package/aws-lambda/lib/singleton-lambda.js +1 -1
  521. package/aws-lambda-destinations/lib/event-bridge.js +1 -1
  522. package/aws-lambda-destinations/lib/lambda.js +1 -1
  523. package/aws-lambda-destinations/lib/sns.js +1 -1
  524. package/aws-lambda-destinations/lib/sqs.js +1 -1
  525. package/aws-lambda-event-sources/lib/api.js +1 -1
  526. package/aws-lambda-event-sources/lib/dynamodb.js +1 -1
  527. package/aws-lambda-event-sources/lib/kafka.js +1 -1
  528. package/aws-lambda-event-sources/lib/kinesis.js +1 -1
  529. package/aws-lambda-event-sources/lib/s3.js +1 -1
  530. package/aws-lambda-event-sources/lib/sns-dlq.js +1 -1
  531. package/aws-lambda-event-sources/lib/sns.js +1 -1
  532. package/aws-lambda-event-sources/lib/sqs-dlq.js +1 -1
  533. package/aws-lambda-event-sources/lib/sqs.js +1 -1
  534. package/aws-lambda-event-sources/lib/stream.js +1 -1
  535. package/aws-lambda-nodejs/lib/function.js +1 -1
  536. package/aws-lex/lib/lex.generated.js +1 -1
  537. package/aws-licensemanager/lib/licensemanager.generated.js +1 -1
  538. package/aws-lightsail/lib/lightsail.generated.js +1 -1
  539. package/aws-location/lib/location.generated.js +1 -1
  540. package/aws-logs/lib/cross-account-destination.js +1 -1
  541. package/aws-logs/lib/log-group.js +1 -1
  542. package/aws-logs/lib/log-retention.js +1 -1
  543. package/aws-logs/lib/log-stream.js +1 -1
  544. package/aws-logs/lib/logs.generated.js +1 -1
  545. package/aws-logs/lib/metric-filter.js +1 -1
  546. package/aws-logs/lib/pattern.js +1 -1
  547. package/aws-logs/lib/policy.js +1 -1
  548. package/aws-logs/lib/query-definition.js +1 -1
  549. package/aws-logs/lib/subscription-filter.js +1 -1
  550. package/aws-logs-destinations/lib/kinesis.js +1 -1
  551. package/aws-logs-destinations/lib/lambda.js +1 -1
  552. package/aws-lookoutequipment/lib/lookoutequipment.generated.js +1 -1
  553. package/aws-lookoutmetrics/lib/lookoutmetrics.generated.js +1 -1
  554. package/aws-lookoutvision/lib/lookoutvision.generated.js +1 -1
  555. package/aws-m2/lib/m2.generated.js +1 -1
  556. package/aws-macie/lib/macie.generated.js +1 -1
  557. package/aws-managedblockchain/lib/managedblockchain.generated.js +1 -1
  558. package/aws-mediaconnect/lib/mediaconnect.generated.js +1 -1
  559. package/aws-mediaconvert/lib/mediaconvert.generated.js +1 -1
  560. package/aws-medialive/lib/medialive.generated.js +1 -1
  561. package/aws-mediapackage/lib/mediapackage.generated.js +1 -1
  562. package/aws-mediastore/lib/mediastore.generated.js +1 -1
  563. package/aws-mediatailor/lib/mediatailor.generated.js +1 -1
  564. package/aws-memorydb/lib/memorydb.generated.js +1 -1
  565. package/aws-msk/lib/msk.generated.js +1 -1
  566. package/aws-mwaa/lib/mwaa.generated.js +1 -1
  567. package/aws-neptune/lib/neptune.generated.js +1 -1
  568. package/aws-networkfirewall/lib/networkfirewall.generated.js +1 -1
  569. package/aws-networkmanager/lib/networkmanager.generated.js +1 -1
  570. package/aws-nimblestudio/lib/nimblestudio.generated.js +1 -1
  571. package/aws-opensearchservice/lib/domain.js +1 -1
  572. package/aws-opensearchservice/lib/opensearchservice.generated.js +1 -1
  573. package/aws-opensearchservice/lib/version.js +1 -1
  574. package/aws-opsworks/lib/opsworks.generated.js +1 -1
  575. package/aws-opsworkscm/lib/opsworkscm.generated.js +1 -1
  576. package/aws-organizations/lib/organizations.generated.js +1 -1
  577. package/aws-panorama/lib/panorama.generated.js +1 -1
  578. package/aws-personalize/lib/personalize.generated.js +1 -1
  579. package/aws-pinpoint/lib/pinpoint.generated.js +1 -1
  580. package/aws-pinpointemail/lib/pinpointemail.generated.js +1 -1
  581. package/aws-qldb/lib/qldb.generated.js +1 -1
  582. package/aws-quicksight/lib/quicksight.generated.js +1 -1
  583. package/aws-ram/lib/ram.generated.js +1 -1
  584. package/aws-rds/lib/cluster-engine.js +1 -1
  585. package/aws-rds/lib/cluster.js +1 -1
  586. package/aws-rds/lib/database-secret.js +1 -1
  587. package/aws-rds/lib/endpoint.js +1 -1
  588. package/aws-rds/lib/instance-engine.js +1 -1
  589. package/aws-rds/lib/instance.js +1 -1
  590. package/aws-rds/lib/option-group.js +1 -1
  591. package/aws-rds/lib/parameter-group.js +1 -1
  592. package/aws-rds/lib/props.js +1 -1
  593. package/aws-rds/lib/proxy.js +1 -1
  594. package/aws-rds/lib/rds.generated.js +1 -1
  595. package/aws-rds/lib/serverless-cluster.js +1 -1
  596. package/aws-rds/lib/subnet-group.js +1 -1
  597. package/aws-redshift/lib/redshift.generated.js +1 -1
  598. package/aws-redshiftserverless/lib/redshiftserverless.generated.js +1 -1
  599. package/aws-refactorspaces/lib/refactorspaces.generated.js +1 -1
  600. package/aws-rekognition/lib/rekognition.generated.js +1 -1
  601. package/aws-resiliencehub/lib/resiliencehub.generated.js +1 -1
  602. package/aws-resourceexplorer2/lib/resourceexplorer2.generated.js +1 -1
  603. package/aws-resourcegroups/lib/resourcegroups.generated.js +1 -1
  604. package/aws-robomaker/lib/robomaker.generated.js +1 -1
  605. package/aws-rolesanywhere/lib/rolesanywhere.generated.js +1 -1
  606. package/aws-route53/lib/hosted-zone.js +1 -1
  607. package/aws-route53/lib/record-set.js +1 -1
  608. package/aws-route53/lib/route53.generated.js +1 -1
  609. package/aws-route53/lib/vpc-endpoint-service-domain-name.js +1 -1
  610. package/aws-route53-patterns/lib/website-redirect.js +1 -1
  611. package/aws-route53-targets/lib/api-gateway-domain-name.js +1 -1
  612. package/aws-route53-targets/lib/api-gatewayv2-domain-name.js +1 -1
  613. package/aws-route53-targets/lib/bucket-website-target.js +1 -1
  614. package/aws-route53-targets/lib/classic-load-balancer-target.js +1 -1
  615. package/aws-route53-targets/lib/cloudfront-target.js +1 -1
  616. package/aws-route53-targets/lib/elastic-beanstalk-environment-target.js +1 -1
  617. package/aws-route53-targets/lib/global-accelerator-target.js +1 -1
  618. package/aws-route53-targets/lib/interface-vpc-endpoint-target.js +1 -1
  619. package/aws-route53-targets/lib/load-balancer-target.js +1 -1
  620. package/aws-route53-targets/lib/route53-record.js +1 -1
  621. package/aws-route53-targets/lib/userpool-domain.js +1 -1
  622. package/aws-route53recoverycontrol/lib/route53recoverycontrol.generated.js +1 -1
  623. package/aws-route53recoveryreadiness/lib/route53recoveryreadiness.generated.js +1 -1
  624. package/aws-route53resolver/lib/route53resolver.generated.js +1 -1
  625. package/aws-rum/lib/rum.generated.js +1 -1
  626. package/aws-s3/lib/bucket-policy.js +1 -1
  627. package/aws-s3/lib/bucket.js +1 -1
  628. package/aws-s3/lib/rule.js +1 -1
  629. package/aws-s3/lib/s3.generated.js +1 -1
  630. package/aws-s3-assets/lib/asset.js +1 -1
  631. package/aws-s3-deployment/lib/bucket-deployment.js +1 -1
  632. package/aws-s3-deployment/lib/source.js +1 -1
  633. package/aws-s3-notifications/lib/lambda.js +1 -1
  634. package/aws-s3-notifications/lib/sns.js +1 -1
  635. package/aws-s3-notifications/lib/sqs.js +1 -1
  636. package/aws-s3objectlambda/lib/s3objectlambda.generated.js +1 -1
  637. package/aws-s3outposts/lib/s3outposts.generated.js +1 -1
  638. package/aws-sagemaker/lib/sagemaker.generated.js +1 -1
  639. package/aws-sam/lib/sam.generated.js +1 -1
  640. package/aws-scheduler/lib/scheduler.generated.js +1 -1
  641. package/aws-sdb/lib/sdb.generated.js +1 -1
  642. package/aws-secretsmanager/lib/policy.js +1 -1
  643. package/aws-secretsmanager/lib/rotation-schedule.js +1 -1
  644. package/aws-secretsmanager/lib/secret-rotation.js +1 -1
  645. package/aws-secretsmanager/lib/secret.js +1 -1
  646. package/aws-secretsmanager/lib/secretsmanager.generated.js +1 -1
  647. package/aws-securityhub/lib/securityhub.generated.js +1 -1
  648. package/aws-servicecatalog/lib/cloudformation-template.js +1 -1
  649. package/aws-servicecatalog/lib/portfolio.js +1 -1
  650. package/aws-servicecatalog/lib/product-stack-history.js +1 -1
  651. package/aws-servicecatalog/lib/product-stack.js +1 -1
  652. package/aws-servicecatalog/lib/product.js +1 -1
  653. package/aws-servicecatalog/lib/servicecatalog.generated.js +1 -1
  654. package/aws-servicecatalog/lib/tag-options.js +1 -1
  655. package/aws-servicecatalogappregistry/lib/servicecatalogappregistry.generated.js +1 -1
  656. package/aws-servicediscovery/lib/alias-target-instance.js +1 -1
  657. package/aws-servicediscovery/lib/cname-instance.js +1 -1
  658. package/aws-servicediscovery/lib/http-namespace.js +1 -1
  659. package/aws-servicediscovery/lib/instance.js +1 -1
  660. package/aws-servicediscovery/lib/ip-instance.js +1 -1
  661. package/aws-servicediscovery/lib/non-ip-instance.js +1 -1
  662. package/aws-servicediscovery/lib/private-dns-namespace.js +1 -1
  663. package/aws-servicediscovery/lib/public-dns-namespace.js +1 -1
  664. package/aws-servicediscovery/lib/service.js +1 -1
  665. package/aws-servicediscovery/lib/servicediscovery.generated.js +1 -1
  666. package/aws-ses/lib/configuration-set.js +1 -1
  667. package/aws-ses/lib/dedicated-ip-pool.js +1 -1
  668. package/aws-ses/lib/email-identity.js +1 -1
  669. package/aws-ses/lib/receipt-filter.js +1 -1
  670. package/aws-ses/lib/receipt-rule-set.js +1 -1
  671. package/aws-ses/lib/receipt-rule.js +1 -1
  672. package/aws-ses/lib/ses.generated.js +1 -1
  673. package/aws-ses-actions/lib/add-header.js +1 -1
  674. package/aws-ses-actions/lib/bounce.js +1 -1
  675. package/aws-ses-actions/lib/lambda.js +1 -1
  676. package/aws-ses-actions/lib/s3.js +1 -1
  677. package/aws-ses-actions/lib/sns.js +1 -1
  678. package/aws-ses-actions/lib/stop.js +1 -1
  679. package/aws-signer/lib/signer.generated.js +1 -1
  680. package/aws-signer/lib/signing-profile.js +1 -1
  681. package/aws-sns/lib/policy.js +1 -1
  682. package/aws-sns/lib/sns.generated.js +1 -1
  683. package/aws-sns/lib/subscription-filter.js +1 -1
  684. package/aws-sns/lib/subscription.js +1 -1
  685. package/aws-sns/lib/topic-base.js +1 -1
  686. package/aws-sns/lib/topic.js +1 -1
  687. package/aws-sns-subscriptions/lib/email.js +1 -1
  688. package/aws-sns-subscriptions/lib/lambda.js +1 -1
  689. package/aws-sns-subscriptions/lib/sms.js +1 -1
  690. package/aws-sns-subscriptions/lib/sqs.js +1 -1
  691. package/aws-sns-subscriptions/lib/url.js +1 -1
  692. package/aws-sqs/lib/policy.js +1 -1
  693. package/aws-sqs/lib/queue-base.js +1 -1
  694. package/aws-sqs/lib/queue.js +1 -1
  695. package/aws-sqs/lib/sqs.generated.js +1 -1
  696. package/aws-ssm/lib/parameter.js +1 -1
  697. package/aws-ssm/lib/ssm.generated.js +1 -1
  698. package/aws-ssmcontacts/lib/ssmcontacts.generated.js +1 -1
  699. package/aws-ssmincidents/lib/ssmincidents.generated.js +1 -1
  700. package/aws-sso/lib/sso.generated.js +1 -1
  701. package/aws-stepfunctions/lib/activity.js +1 -1
  702. package/aws-stepfunctions/lib/chain.js +1 -1
  703. package/aws-stepfunctions/lib/condition.js +1 -1
  704. package/aws-stepfunctions/lib/fields.js +1 -1
  705. package/aws-stepfunctions/lib/input.js +1 -1
  706. package/aws-stepfunctions/lib/state-graph.js +1 -1
  707. package/aws-stepfunctions/lib/state-machine-fragment.js +1 -1
  708. package/aws-stepfunctions/lib/state-machine.js +1 -1
  709. package/aws-stepfunctions/lib/state-transition-metrics.js +1 -1
  710. package/aws-stepfunctions/lib/states/choice.js +1 -1
  711. package/aws-stepfunctions/lib/states/custom-state.js +1 -1
  712. package/aws-stepfunctions/lib/states/fail.js +1 -1
  713. package/aws-stepfunctions/lib/states/map.js +1 -1
  714. package/aws-stepfunctions/lib/states/parallel.js +1 -1
  715. package/aws-stepfunctions/lib/states/pass.js +1 -1
  716. package/aws-stepfunctions/lib/states/state.js +1 -1
  717. package/aws-stepfunctions/lib/states/succeed.js +1 -1
  718. package/aws-stepfunctions/lib/states/task-base.js +1 -1
  719. package/aws-stepfunctions/lib/states/task.js +1 -1
  720. package/aws-stepfunctions/lib/states/wait.js +1 -1
  721. package/aws-stepfunctions/lib/stepfunctions.generated.js +1 -1
  722. package/aws-stepfunctions/lib/types.js +1 -1
  723. package/aws-stepfunctions-tasks/lib/apigateway/call-http-api.js +1 -1
  724. package/aws-stepfunctions-tasks/lib/apigateway/call-rest-api.js +1 -1
  725. package/aws-stepfunctions-tasks/lib/athena/get-query-execution.js +1 -1
  726. package/aws-stepfunctions-tasks/lib/athena/get-query-results.js +1 -1
  727. package/aws-stepfunctions-tasks/lib/athena/start-query-execution.js +1 -1
  728. package/aws-stepfunctions-tasks/lib/athena/stop-query-execution.js +1 -1
  729. package/aws-stepfunctions-tasks/lib/aws-sdk/call-aws-service.js +1 -1
  730. package/aws-stepfunctions-tasks/lib/batch/run-batch-job.js +1 -1
  731. package/aws-stepfunctions-tasks/lib/batch/submit-job.js +1 -1
  732. package/aws-stepfunctions-tasks/lib/codebuild/start-build.js +1 -1
  733. package/aws-stepfunctions-tasks/lib/databrew/start-job-run.js +1 -1
  734. package/aws-stepfunctions-tasks/lib/dynamodb/delete-item.js +1 -1
  735. package/aws-stepfunctions-tasks/lib/dynamodb/get-item.js +1 -1
  736. package/aws-stepfunctions-tasks/lib/dynamodb/put-item.js +1 -1
  737. package/aws-stepfunctions-tasks/lib/dynamodb/shared-types.js +1 -1
  738. package/aws-stepfunctions-tasks/lib/dynamodb/update-item.js +1 -1
  739. package/aws-stepfunctions-tasks/lib/ecs/run-ecs-ec2-task.js +1 -1
  740. package/aws-stepfunctions-tasks/lib/ecs/run-ecs-fargate-task.js +1 -1
  741. package/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.js +1 -1
  742. package/aws-stepfunctions-tasks/lib/ecs/run-task.js +1 -1
  743. package/aws-stepfunctions-tasks/lib/eks/call.js +1 -1
  744. package/aws-stepfunctions-tasks/lib/emr/emr-add-step.js +1 -1
  745. package/aws-stepfunctions-tasks/lib/emr/emr-cancel-step.js +1 -1
  746. package/aws-stepfunctions-tasks/lib/emr/emr-create-cluster.js +1 -1
  747. package/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-fleet-by-name.js +1 -1
  748. package/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-group-by-name.js +1 -1
  749. package/aws-stepfunctions-tasks/lib/emr/emr-set-cluster-termination-protection.js +1 -1
  750. package/aws-stepfunctions-tasks/lib/emr/emr-terminate-cluster.js +1 -1
  751. package/aws-stepfunctions-tasks/lib/emrcontainers/create-virtual-cluster.js +1 -1
  752. package/aws-stepfunctions-tasks/lib/emrcontainers/delete-virtual-cluster.js +1 -1
  753. package/aws-stepfunctions-tasks/lib/emrcontainers/start-job-run.js +1 -1
  754. package/aws-stepfunctions-tasks/lib/evaluate-expression.js +1 -1
  755. package/aws-stepfunctions-tasks/lib/eventbridge/put-events.js +1 -1
  756. package/aws-stepfunctions-tasks/lib/glue/run-glue-job-task.js +1 -1
  757. package/aws-stepfunctions-tasks/lib/glue/start-job-run.js +1 -1
  758. package/aws-stepfunctions-tasks/lib/invoke-activity.js +1 -1
  759. package/aws-stepfunctions-tasks/lib/lambda/invoke-function.js +1 -1
  760. package/aws-stepfunctions-tasks/lib/lambda/invoke.js +1 -1
  761. package/aws-stepfunctions-tasks/lib/lambda/run-lambda-task.js +1 -1
  762. package/aws-stepfunctions-tasks/lib/sagemaker/base-types.js +1 -1
  763. package/aws-stepfunctions-tasks/lib/sagemaker/create-endpoint-config.js +1 -1
  764. package/aws-stepfunctions-tasks/lib/sagemaker/create-endpoint.js +1 -1
  765. package/aws-stepfunctions-tasks/lib/sagemaker/create-model.js +1 -1
  766. package/aws-stepfunctions-tasks/lib/sagemaker/create-training-job.js +1 -1
  767. package/aws-stepfunctions-tasks/lib/sagemaker/create-transform-job.js +1 -1
  768. package/aws-stepfunctions-tasks/lib/sagemaker/update-endpoint.js +1 -1
  769. package/aws-stepfunctions-tasks/lib/sns/publish-to-topic.js +1 -1
  770. package/aws-stepfunctions-tasks/lib/sns/publish.js +1 -1
  771. package/aws-stepfunctions-tasks/lib/sqs/send-message.js +1 -1
  772. package/aws-stepfunctions-tasks/lib/sqs/send-to-queue.js +1 -1
  773. package/aws-stepfunctions-tasks/lib/start-execution.js +1 -1
  774. package/aws-stepfunctions-tasks/lib/stepfunctions/invoke-activity.js +1 -1
  775. package/aws-stepfunctions-tasks/lib/stepfunctions/start-execution.js +1 -1
  776. package/aws-supportapp/lib/supportapp.generated.js +1 -1
  777. package/aws-synthetics/lib/synthetics.generated.js +1 -1
  778. package/aws-timestream/lib/timestream.generated.js +1 -1
  779. package/aws-transfer/lib/transfer.generated.js +1 -1
  780. package/aws-voiceid/lib/voiceid.generated.js +1 -1
  781. package/aws-waf/lib/waf.generated.js +1 -1
  782. package/aws-wafregional/lib/wafregional.generated.js +1 -1
  783. package/aws-wafv2/lib/wafv2.generated.js +1 -1
  784. package/aws-wisdom/lib/wisdom.generated.js +1 -1
  785. package/aws-workspaces/lib/workspaces.generated.js +1 -1
  786. package/aws-xray/lib/xray.generated.js +1 -1
  787. package/cloud-assembly-schema/lib/manifest.js +1 -1
  788. package/cloudformation-include/lib/cfn-include.js +1 -1
  789. package/core/lib/annotations.js +1 -1
  790. package/core/lib/app.js +1 -1
  791. package/core/lib/arn.js +1 -1
  792. package/core/lib/aspect.js +1 -1
  793. package/core/lib/asset-staging.js +1 -1
  794. package/core/lib/bundling.js +1 -1
  795. package/core/lib/cfn-codedeploy-blue-green-hook.js +1 -1
  796. package/core/lib/cfn-condition.js +1 -1
  797. package/core/lib/cfn-dynamic-reference.js +1 -1
  798. package/core/lib/cfn-element.js +1 -1
  799. package/core/lib/cfn-fn.js +1 -1
  800. package/core/lib/cfn-hook.js +1 -1
  801. package/core/lib/cfn-include.js +1 -1
  802. package/core/lib/cfn-json.js +1 -1
  803. package/core/lib/cfn-mapping.js +1 -1
  804. package/core/lib/cfn-output.js +1 -1
  805. package/core/lib/cfn-parameter.js +1 -1
  806. package/core/lib/cfn-pseudo.js +1 -1
  807. package/core/lib/cfn-resource.js +1 -1
  808. package/core/lib/cfn-rule.js +1 -1
  809. package/core/lib/cloudformation.generated.js +1 -1
  810. package/core/lib/context-provider.js +1 -1
  811. package/core/lib/custom-resource-provider/custom-resource-provider.js +1 -1
  812. package/core/lib/custom-resource.js +1 -1
  813. package/core/lib/duration.js +1 -1
  814. package/core/lib/expiration.js +1 -1
  815. package/core/lib/feature-flags.js +1 -1
  816. package/core/lib/fs/ignore.js +1 -1
  817. package/core/lib/fs/index.js +1 -1
  818. package/core/lib/lazy.js +1 -1
  819. package/core/lib/names.js +1 -1
  820. package/core/lib/nested-stack.js +1 -1
  821. package/core/lib/physical-name.js +1 -1
  822. package/core/lib/private/intrinsic.js +1 -1
  823. package/core/lib/reference.js +1 -1
  824. package/core/lib/resolvable.js +2 -2
  825. package/core/lib/resource.js +1 -1
  826. package/core/lib/runtime.js +2 -2
  827. package/core/lib/secret-value.js +1 -1
  828. package/core/lib/size.js +1 -1
  829. package/core/lib/stack-synthesizers/asset-manifest-builder.js +1 -1
  830. package/core/lib/stack-synthesizers/bootstrapless-synthesizer.js +1 -1
  831. package/core/lib/stack-synthesizers/cli-credentials-synthesizer.js +1 -1
  832. package/core/lib/stack-synthesizers/default-synthesizer.js +1 -1
  833. package/core/lib/stack-synthesizers/legacy.js +1 -1
  834. package/core/lib/stack-synthesizers/nested.js +1 -1
  835. package/core/lib/stack-synthesizers/stack-synthesizer.js +1 -1
  836. package/core/lib/stack.js +1 -1
  837. package/core/lib/stage.js +1 -1
  838. package/core/lib/string-fragments.js +1 -1
  839. package/core/lib/tag-aspect.js +1 -1
  840. package/core/lib/tag-manager.js +1 -1
  841. package/core/lib/token.js +1 -1
  842. package/core/lib/tree.js +1 -1
  843. package/custom-resources/lib/aws-custom-resource/aws-custom-resource.js +1 -1
  844. package/custom-resources/lib/provider-framework/provider.js +1 -1
  845. package/cx-api/lib/artifacts/asset-manifest-artifact.js +1 -1
  846. package/cx-api/lib/artifacts/cloudformation-artifact.js +1 -1
  847. package/cx-api/lib/artifacts/nested-cloud-assembly-artifact.js +1 -1
  848. package/cx-api/lib/artifacts/tree-cloud-artifact.js +1 -1
  849. package/cx-api/lib/cloud-artifact.js +1 -1
  850. package/cx-api/lib/cloud-assembly.js +1 -1
  851. package/cx-api/lib/environment.js +1 -1
  852. package/cx-api/lib/placeholders.js +1 -1
  853. package/lambda-layer-awscli/lib/awscli-layer.js +1 -1
  854. package/lambda-layer-kubectl/lib/kubectl-layer.js +1 -1
  855. package/lambda-layer-node-proxy-agent/lib/node-proxy-agent-layer.js +1 -1
  856. package/package.json +253 -253
  857. package/pipelines/lib/blueprint/file-set.js +1 -1
  858. package/pipelines/lib/blueprint/manual-approval.js +1 -1
  859. package/pipelines/lib/blueprint/shell-step.js +1 -1
  860. package/pipelines/lib/blueprint/stack-deployment.js +1 -1
  861. package/pipelines/lib/blueprint/stage-deployment.js +1 -1
  862. package/pipelines/lib/blueprint/step.js +1 -1
  863. package/pipelines/lib/blueprint/wave.js +1 -1
  864. package/pipelines/lib/codepipeline/artifact-map.js +1 -1
  865. package/pipelines/lib/codepipeline/codebuild-step.js +1 -1
  866. package/pipelines/lib/codepipeline/codepipeline-source.js +1 -1
  867. package/pipelines/lib/codepipeline/codepipeline.js +1 -1
  868. package/pipelines/lib/codepipeline/confirm-permissions-broadening.js +1 -1
  869. package/pipelines/lib/docker-credentials.js +1 -1
  870. package/pipelines/lib/legacy/actions/deploy-cdk-stack-action.js +1 -1
  871. package/pipelines/lib/legacy/actions/publish-assets-action.js +1 -1
  872. package/pipelines/lib/legacy/actions/update-pipeline-action.js +1 -1
  873. package/pipelines/lib/legacy/pipeline.js +1 -1
  874. package/pipelines/lib/legacy/stage.js +1 -1
  875. package/pipelines/lib/legacy/synths/simple-synth-action.js +1 -1
  876. package/pipelines/lib/legacy/validation/shell-script-action.js +1 -1
  877. package/pipelines/lib/main/pipeline-base.js +1 -1
  878. package/region-info/lib/built-ins.generated.d.ts +1 -1
  879. package/region-info/lib/default.js +1 -1
  880. package/region-info/lib/fact.js +1 -1
  881. package/region-info/lib/region-info.js +1 -1
  882. package/triggers/lib/trigger-function.js +1 -1
  883. package/triggers/lib/trigger.js +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";var _a,_b,_c;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LambdaEdgeEventType=exports.CachedMethods=exports.AllowedMethods=exports.SecurityPolicyProtocol=exports.SSLMethod=exports.OriginProtocolPolicy=exports.ViewerProtocolPolicy=exports.PriceClass=exports.HttpVersion=exports.Distribution=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),s3=require("../../aws-s3"),core_1=require("../../core"),cx_api_1=require("../../cx-api"),constructs_1=require("constructs"),cloudfront_generated_1=require("./cloudfront.generated"),cache_behavior_1=require("./private/cache-behavior");class Distribution extends core_1.Resource{constructor(scope,id,props){super(scope,id),this.additionalBehaviors=[],this.boundOrigins=[],this.originGroups=[];try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_DistributionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,Distribution),error}if(props.certificate){const certificateRegion=core_1.Stack.of(this).splitArn(props.certificate.certificateArn,core_1.ArnFormat.SLASH_RESOURCE_NAME).region;if(!core_1.Token.isUnresolved(certificateRegion)&&certificateRegion!=="us-east-1")throw new Error(`Distribution certificates must be in the us-east-1 region and the certificate you provided is in ${certificateRegion}.`);if((props.domainNames??[]).length===0)throw new Error("Must specify at least one domain name to use a certificate with a distribution")}const originId=this.addOrigin(props.defaultBehavior.origin);this.defaultBehavior=new cache_behavior_1.CacheBehavior(originId,{pathPattern:"*",...props.defaultBehavior}),props.additionalBehaviors&&Object.entries(props.additionalBehaviors).forEach(([pathPattern,behaviorOptions])=>{this.addBehavior(pathPattern,behaviorOptions.origin,behaviorOptions)}),this.certificate=props.certificate,this.errorResponses=props.errorResponses??[];const trimmedComment=props.comment&&props.comment.length>128?`${props.comment.slice(0,128-3)}...`:props.comment,distribution=new cloudfront_generated_1.CfnDistribution(this,"Resource",{distributionConfig:{enabled:props.enabled??!0,origins:core_1.Lazy.any({produce:()=>this.renderOrigins()}),originGroups:core_1.Lazy.any({produce:()=>this.renderOriginGroups()}),defaultCacheBehavior:this.defaultBehavior._renderBehavior(),aliases:props.domainNames,cacheBehaviors:core_1.Lazy.any({produce:()=>this.renderCacheBehaviors()}),comment:trimmedComment,customErrorResponses:this.renderErrorResponses(),defaultRootObject:props.defaultRootObject,httpVersion:props.httpVersion??HttpVersion.HTTP2,ipv6Enabled:props.enableIpv6??!0,logging:this.renderLogging(props),priceClass:props.priceClass??void 0,restrictions:this.renderRestrictions(props.geoRestriction),viewerCertificate:this.certificate?this.renderViewerCertificate(this.certificate,props.minimumProtocolVersion,props.sslSupportMethod):void 0,webAclId:props.webAclId}});this.domainName=distribution.attrDomainName,this.distributionDomainName=distribution.attrDomainName,this.distributionId=distribution.ref}static fromDistributionAttributes(scope,id,attrs){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_DistributionAttributes(attrs)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromDistributionAttributes),error}return new class extends core_1.Resource{constructor(){super(scope,id),this.domainName=attrs.domainName,this.distributionDomainName=attrs.domainName,this.distributionId=attrs.distributionId}}}addBehavior(pathPattern,origin,behaviorOptions={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_IOrigin(origin),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_AddBehaviorOptions(behaviorOptions)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addBehavior),error}if(pathPattern==="*")throw new Error("Only the default behavior can have a path pattern of '*'");const originId=this.addOrigin(origin);this.additionalBehaviors.push(new cache_behavior_1.CacheBehavior(originId,{pathPattern,...behaviorOptions}))}addOrigin(origin,isFailoverOrigin=!1){const existingOrigin=this.boundOrigins.find(boundOrigin=>boundOrigin.origin===origin);if(existingOrigin)return existingOrigin.originGroupId??existingOrigin.originId;{const originIndex=this.boundOrigins.length+1,scope=new constructs_1.Construct(this,`Origin${originIndex}`),generatedId=core_1.Names.uniqueId(scope).slice(-128),originBindConfig=origin.bind(scope,{originId:generatedId}),originId=originBindConfig.originProperty?.id??generatedId,duplicateId=this.boundOrigins.find(boundOrigin=>boundOrigin.originProperty?.id===originBindConfig.originProperty?.id);if(duplicateId)throw new Error(`Origin with id ${duplicateId.originProperty?.id} already exists. OriginIds must be unique within a distribution`);if(!originBindConfig.failoverConfig)this.boundOrigins.push({origin,originId,...originBindConfig});else{if(isFailoverOrigin)throw new Error("An Origin cannot use an Origin with its own failover configuration as its fallback origin!");const groupIndex=this.originGroups.length+1,originGroupId=core_1.Names.uniqueId(new constructs_1.Construct(this,`OriginGroup${groupIndex}`)).slice(-128);this.boundOrigins.push({origin,originId,originGroupId,...originBindConfig});const failoverOriginId=this.addOrigin(originBindConfig.failoverConfig.failoverOrigin,!0);return this.addOriginGroup(originGroupId,originBindConfig.failoverConfig.statusCodes,originId,failoverOriginId),originGroupId}return originBindConfig.originProperty?.id??originId}}addOriginGroup(originGroupId,statusCodes,originId,failoverOriginId){if(statusCodes=statusCodes??[500,502,503,504],statusCodes.length===0)throw new Error("fallbackStatusCodes cannot be empty");this.originGroups.push({failoverCriteria:{statusCodes:{items:statusCodes,quantity:statusCodes.length}},id:originGroupId,members:{items:[{originId},{originId:failoverOriginId}],quantity:2}})}renderOrigins(){const renderedOrigins=[];return this.boundOrigins.forEach(boundOrigin=>{boundOrigin.originProperty&&renderedOrigins.push(boundOrigin.originProperty)}),renderedOrigins}renderOriginGroups(){return this.originGroups.length===0?void 0:{items:this.originGroups,quantity:this.originGroups.length}}renderCacheBehaviors(){if(this.additionalBehaviors.length!==0)return this.additionalBehaviors.map(behavior=>behavior._renderBehavior())}renderErrorResponses(){if(this.errorResponses.length!==0)return this.errorResponses.map(errorConfig=>{if(!errorConfig.responseHttpStatus&&!errorConfig.ttl&&!errorConfig.responsePagePath)throw new Error("A custom error response without either a 'responseHttpStatus', 'ttl' or 'responsePagePath' is not valid.");return{errorCachingMinTtl:errorConfig.ttl?.toSeconds(),errorCode:errorConfig.httpStatus,responseCode:errorConfig.responsePagePath?errorConfig.responseHttpStatus??errorConfig.httpStatus:errorConfig.responseHttpStatus,responsePagePath:errorConfig.responsePagePath}})}renderLogging(props){if(!props.enableLogging&&!props.logBucket)return;if(props.enableLogging===!1&&props.logBucket)throw new Error("Explicitly disabled logging but provided a logging bucket.");return{bucket:(props.logBucket??new s3.Bucket(this,"LoggingBucket",{encryption:s3.BucketEncryption.S3_MANAGED})).bucketRegionalDomainName,includeCookies:props.logIncludesCookies,prefix:props.logFilePrefix}}renderRestrictions(geoRestriction){return geoRestriction?{geoRestriction:{restrictionType:geoRestriction.restrictionType,locations:geoRestriction.locations}}:void 0}renderViewerCertificate(certificate,minimumProtocolVersionProp,sslSupportMethodProp){const defaultVersion=core_1.FeatureFlags.of(this).isEnabled(cx_api_1.CLOUDFRONT_DEFAULT_SECURITY_POLICY_TLS_V1_2_2021)?SecurityPolicyProtocol.TLS_V1_2_2021:SecurityPolicyProtocol.TLS_V1_2_2019,minimumProtocolVersion=minimumProtocolVersionProp??defaultVersion,sslSupportMethod=sslSupportMethodProp??SSLMethod.SNI;return{acmCertificateArn:certificate.certificateArn,minimumProtocolVersion,sslSupportMethod}}}exports.Distribution=Distribution,_a=JSII_RTTI_SYMBOL_1,Distribution[_a]={fqn:"aws-cdk-lib.aws_cloudfront.Distribution",version:"2.51.0"};var HttpVersion;(function(HttpVersion2){HttpVersion2.HTTP1_1="http1.1",HttpVersion2.HTTP2="http2",HttpVersion2.HTTP2_AND_3="http2and3",HttpVersion2.HTTP3="http3"})(HttpVersion=exports.HttpVersion||(exports.HttpVersion={}));var PriceClass;(function(PriceClass2){PriceClass2.PRICE_CLASS_100="PriceClass_100",PriceClass2.PRICE_CLASS_200="PriceClass_200",PriceClass2.PRICE_CLASS_ALL="PriceClass_All"})(PriceClass=exports.PriceClass||(exports.PriceClass={}));var ViewerProtocolPolicy;(function(ViewerProtocolPolicy2){ViewerProtocolPolicy2.HTTPS_ONLY="https-only",ViewerProtocolPolicy2.REDIRECT_TO_HTTPS="redirect-to-https",ViewerProtocolPolicy2.ALLOW_ALL="allow-all"})(ViewerProtocolPolicy=exports.ViewerProtocolPolicy||(exports.ViewerProtocolPolicy={}));var OriginProtocolPolicy;(function(OriginProtocolPolicy2){OriginProtocolPolicy2.HTTP_ONLY="http-only",OriginProtocolPolicy2.MATCH_VIEWER="match-viewer",OriginProtocolPolicy2.HTTPS_ONLY="https-only"})(OriginProtocolPolicy=exports.OriginProtocolPolicy||(exports.OriginProtocolPolicy={}));var SSLMethod;(function(SSLMethod2){SSLMethod2.SNI="sni-only",SSLMethod2.VIP="vip"})(SSLMethod=exports.SSLMethod||(exports.SSLMethod={}));var SecurityPolicyProtocol;(function(SecurityPolicyProtocol2){SecurityPolicyProtocol2.SSL_V3="SSLv3",SecurityPolicyProtocol2.TLS_V1="TLSv1",SecurityPolicyProtocol2.TLS_V1_2016="TLSv1_2016",SecurityPolicyProtocol2.TLS_V1_1_2016="TLSv1.1_2016",SecurityPolicyProtocol2.TLS_V1_2_2018="TLSv1.2_2018",SecurityPolicyProtocol2.TLS_V1_2_2019="TLSv1.2_2019",SecurityPolicyProtocol2.TLS_V1_2_2021="TLSv1.2_2021"})(SecurityPolicyProtocol=exports.SecurityPolicyProtocol||(exports.SecurityPolicyProtocol={}));class AllowedMethods{constructor(methods){this.methods=methods}}exports.AllowedMethods=AllowedMethods,_b=JSII_RTTI_SYMBOL_1,AllowedMethods[_b]={fqn:"aws-cdk-lib.aws_cloudfront.AllowedMethods",version:"2.51.0"},AllowedMethods.ALLOW_GET_HEAD=new AllowedMethods(["GET","HEAD"]),AllowedMethods.ALLOW_GET_HEAD_OPTIONS=new AllowedMethods(["GET","HEAD","OPTIONS"]),AllowedMethods.ALLOW_ALL=new AllowedMethods(["GET","HEAD","OPTIONS","PUT","PATCH","POST","DELETE"]);class CachedMethods{constructor(methods){this.methods=methods}}exports.CachedMethods=CachedMethods,_c=JSII_RTTI_SYMBOL_1,CachedMethods[_c]={fqn:"aws-cdk-lib.aws_cloudfront.CachedMethods",version:"2.51.0"},CachedMethods.CACHE_GET_HEAD=new CachedMethods(["GET","HEAD"]),CachedMethods.CACHE_GET_HEAD_OPTIONS=new CachedMethods(["GET","HEAD","OPTIONS"]);var LambdaEdgeEventType;(function(LambdaEdgeEventType2){LambdaEdgeEventType2.ORIGIN_REQUEST="origin-request",LambdaEdgeEventType2.ORIGIN_RESPONSE="origin-response",LambdaEdgeEventType2.VIEWER_REQUEST="viewer-request",LambdaEdgeEventType2.VIEWER_RESPONSE="viewer-response"})(LambdaEdgeEventType=exports.LambdaEdgeEventType||(exports.LambdaEdgeEventType={}));
1
+ "use strict";var _a,_b,_c;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LambdaEdgeEventType=exports.CachedMethods=exports.AllowedMethods=exports.SecurityPolicyProtocol=exports.SSLMethod=exports.OriginProtocolPolicy=exports.ViewerProtocolPolicy=exports.PriceClass=exports.HttpVersion=exports.Distribution=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),s3=require("../../aws-s3"),core_1=require("../../core"),cx_api_1=require("../../cx-api"),constructs_1=require("constructs"),cloudfront_generated_1=require("./cloudfront.generated"),cache_behavior_1=require("./private/cache-behavior");class Distribution extends core_1.Resource{constructor(scope,id,props){super(scope,id),this.additionalBehaviors=[],this.boundOrigins=[],this.originGroups=[];try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_DistributionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,Distribution),error}if(props.certificate){const certificateRegion=core_1.Stack.of(this).splitArn(props.certificate.certificateArn,core_1.ArnFormat.SLASH_RESOURCE_NAME).region;if(!core_1.Token.isUnresolved(certificateRegion)&&certificateRegion!=="us-east-1")throw new Error(`Distribution certificates must be in the us-east-1 region and the certificate you provided is in ${certificateRegion}.`);if((props.domainNames??[]).length===0)throw new Error("Must specify at least one domain name to use a certificate with a distribution")}const originId=this.addOrigin(props.defaultBehavior.origin);this.defaultBehavior=new cache_behavior_1.CacheBehavior(originId,{pathPattern:"*",...props.defaultBehavior}),props.additionalBehaviors&&Object.entries(props.additionalBehaviors).forEach(([pathPattern,behaviorOptions])=>{this.addBehavior(pathPattern,behaviorOptions.origin,behaviorOptions)}),this.certificate=props.certificate,this.errorResponses=props.errorResponses??[];const trimmedComment=props.comment&&props.comment.length>128?`${props.comment.slice(0,128-3)}...`:props.comment,distribution=new cloudfront_generated_1.CfnDistribution(this,"Resource",{distributionConfig:{enabled:props.enabled??!0,origins:core_1.Lazy.any({produce:()=>this.renderOrigins()}),originGroups:core_1.Lazy.any({produce:()=>this.renderOriginGroups()}),defaultCacheBehavior:this.defaultBehavior._renderBehavior(),aliases:props.domainNames,cacheBehaviors:core_1.Lazy.any({produce:()=>this.renderCacheBehaviors()}),comment:trimmedComment,customErrorResponses:this.renderErrorResponses(),defaultRootObject:props.defaultRootObject,httpVersion:props.httpVersion??HttpVersion.HTTP2,ipv6Enabled:props.enableIpv6??!0,logging:this.renderLogging(props),priceClass:props.priceClass??void 0,restrictions:this.renderRestrictions(props.geoRestriction),viewerCertificate:this.certificate?this.renderViewerCertificate(this.certificate,props.minimumProtocolVersion,props.sslSupportMethod):void 0,webAclId:props.webAclId}});this.domainName=distribution.attrDomainName,this.distributionDomainName=distribution.attrDomainName,this.distributionId=distribution.ref}static fromDistributionAttributes(scope,id,attrs){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_DistributionAttributes(attrs)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromDistributionAttributes),error}return new class extends core_1.Resource{constructor(){super(scope,id),this.domainName=attrs.domainName,this.distributionDomainName=attrs.domainName,this.distributionId=attrs.distributionId}}}addBehavior(pathPattern,origin,behaviorOptions={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_IOrigin(origin),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_AddBehaviorOptions(behaviorOptions)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addBehavior),error}if(pathPattern==="*")throw new Error("Only the default behavior can have a path pattern of '*'");const originId=this.addOrigin(origin);this.additionalBehaviors.push(new cache_behavior_1.CacheBehavior(originId,{pathPattern,...behaviorOptions}))}addOrigin(origin,isFailoverOrigin=!1){const existingOrigin=this.boundOrigins.find(boundOrigin=>boundOrigin.origin===origin);if(existingOrigin)return existingOrigin.originGroupId??existingOrigin.originId;{const originIndex=this.boundOrigins.length+1,scope=new constructs_1.Construct(this,`Origin${originIndex}`),generatedId=core_1.Names.uniqueId(scope).slice(-128),originBindConfig=origin.bind(scope,{originId:generatedId}),originId=originBindConfig.originProperty?.id??generatedId,duplicateId=this.boundOrigins.find(boundOrigin=>boundOrigin.originProperty?.id===originBindConfig.originProperty?.id);if(duplicateId)throw new Error(`Origin with id ${duplicateId.originProperty?.id} already exists. OriginIds must be unique within a distribution`);if(!originBindConfig.failoverConfig)this.boundOrigins.push({origin,originId,...originBindConfig});else{if(isFailoverOrigin)throw new Error("An Origin cannot use an Origin with its own failover configuration as its fallback origin!");const groupIndex=this.originGroups.length+1,originGroupId=core_1.Names.uniqueId(new constructs_1.Construct(this,`OriginGroup${groupIndex}`)).slice(-128);this.boundOrigins.push({origin,originId,originGroupId,...originBindConfig});const failoverOriginId=this.addOrigin(originBindConfig.failoverConfig.failoverOrigin,!0);return this.addOriginGroup(originGroupId,originBindConfig.failoverConfig.statusCodes,originId,failoverOriginId),originGroupId}return originBindConfig.originProperty?.id??originId}}addOriginGroup(originGroupId,statusCodes,originId,failoverOriginId){if(statusCodes=statusCodes??[500,502,503,504],statusCodes.length===0)throw new Error("fallbackStatusCodes cannot be empty");this.originGroups.push({failoverCriteria:{statusCodes:{items:statusCodes,quantity:statusCodes.length}},id:originGroupId,members:{items:[{originId},{originId:failoverOriginId}],quantity:2}})}renderOrigins(){const renderedOrigins=[];return this.boundOrigins.forEach(boundOrigin=>{boundOrigin.originProperty&&renderedOrigins.push(boundOrigin.originProperty)}),renderedOrigins}renderOriginGroups(){return this.originGroups.length===0?void 0:{items:this.originGroups,quantity:this.originGroups.length}}renderCacheBehaviors(){if(this.additionalBehaviors.length!==0)return this.additionalBehaviors.map(behavior=>behavior._renderBehavior())}renderErrorResponses(){if(this.errorResponses.length!==0)return this.errorResponses.map(errorConfig=>{if(!errorConfig.responseHttpStatus&&!errorConfig.ttl&&!errorConfig.responsePagePath)throw new Error("A custom error response without either a 'responseHttpStatus', 'ttl' or 'responsePagePath' is not valid.");return{errorCachingMinTtl:errorConfig.ttl?.toSeconds(),errorCode:errorConfig.httpStatus,responseCode:errorConfig.responsePagePath?errorConfig.responseHttpStatus??errorConfig.httpStatus:errorConfig.responseHttpStatus,responsePagePath:errorConfig.responsePagePath}})}renderLogging(props){if(!props.enableLogging&&!props.logBucket)return;if(props.enableLogging===!1&&props.logBucket)throw new Error("Explicitly disabled logging but provided a logging bucket.");return{bucket:(props.logBucket??new s3.Bucket(this,"LoggingBucket",{encryption:s3.BucketEncryption.S3_MANAGED})).bucketRegionalDomainName,includeCookies:props.logIncludesCookies,prefix:props.logFilePrefix}}renderRestrictions(geoRestriction){return geoRestriction?{geoRestriction:{restrictionType:geoRestriction.restrictionType,locations:geoRestriction.locations}}:void 0}renderViewerCertificate(certificate,minimumProtocolVersionProp,sslSupportMethodProp){const defaultVersion=core_1.FeatureFlags.of(this).isEnabled(cx_api_1.CLOUDFRONT_DEFAULT_SECURITY_POLICY_TLS_V1_2_2021)?SecurityPolicyProtocol.TLS_V1_2_2021:SecurityPolicyProtocol.TLS_V1_2_2019,minimumProtocolVersion=minimumProtocolVersionProp??defaultVersion,sslSupportMethod=sslSupportMethodProp??SSLMethod.SNI;return{acmCertificateArn:certificate.certificateArn,minimumProtocolVersion,sslSupportMethod}}}exports.Distribution=Distribution,_a=JSII_RTTI_SYMBOL_1,Distribution[_a]={fqn:"aws-cdk-lib.aws_cloudfront.Distribution",version:"2.51.1"};var HttpVersion;(function(HttpVersion2){HttpVersion2.HTTP1_1="http1.1",HttpVersion2.HTTP2="http2",HttpVersion2.HTTP2_AND_3="http2and3",HttpVersion2.HTTP3="http3"})(HttpVersion=exports.HttpVersion||(exports.HttpVersion={}));var PriceClass;(function(PriceClass2){PriceClass2.PRICE_CLASS_100="PriceClass_100",PriceClass2.PRICE_CLASS_200="PriceClass_200",PriceClass2.PRICE_CLASS_ALL="PriceClass_All"})(PriceClass=exports.PriceClass||(exports.PriceClass={}));var ViewerProtocolPolicy;(function(ViewerProtocolPolicy2){ViewerProtocolPolicy2.HTTPS_ONLY="https-only",ViewerProtocolPolicy2.REDIRECT_TO_HTTPS="redirect-to-https",ViewerProtocolPolicy2.ALLOW_ALL="allow-all"})(ViewerProtocolPolicy=exports.ViewerProtocolPolicy||(exports.ViewerProtocolPolicy={}));var OriginProtocolPolicy;(function(OriginProtocolPolicy2){OriginProtocolPolicy2.HTTP_ONLY="http-only",OriginProtocolPolicy2.MATCH_VIEWER="match-viewer",OriginProtocolPolicy2.HTTPS_ONLY="https-only"})(OriginProtocolPolicy=exports.OriginProtocolPolicy||(exports.OriginProtocolPolicy={}));var SSLMethod;(function(SSLMethod2){SSLMethod2.SNI="sni-only",SSLMethod2.VIP="vip"})(SSLMethod=exports.SSLMethod||(exports.SSLMethod={}));var SecurityPolicyProtocol;(function(SecurityPolicyProtocol2){SecurityPolicyProtocol2.SSL_V3="SSLv3",SecurityPolicyProtocol2.TLS_V1="TLSv1",SecurityPolicyProtocol2.TLS_V1_2016="TLSv1_2016",SecurityPolicyProtocol2.TLS_V1_1_2016="TLSv1.1_2016",SecurityPolicyProtocol2.TLS_V1_2_2018="TLSv1.2_2018",SecurityPolicyProtocol2.TLS_V1_2_2019="TLSv1.2_2019",SecurityPolicyProtocol2.TLS_V1_2_2021="TLSv1.2_2021"})(SecurityPolicyProtocol=exports.SecurityPolicyProtocol||(exports.SecurityPolicyProtocol={}));class AllowedMethods{constructor(methods){this.methods=methods}}exports.AllowedMethods=AllowedMethods,_b=JSII_RTTI_SYMBOL_1,AllowedMethods[_b]={fqn:"aws-cdk-lib.aws_cloudfront.AllowedMethods",version:"2.51.1"},AllowedMethods.ALLOW_GET_HEAD=new AllowedMethods(["GET","HEAD"]),AllowedMethods.ALLOW_GET_HEAD_OPTIONS=new AllowedMethods(["GET","HEAD","OPTIONS"]),AllowedMethods.ALLOW_ALL=new AllowedMethods(["GET","HEAD","OPTIONS","PUT","PATCH","POST","DELETE"]);class CachedMethods{constructor(methods){this.methods=methods}}exports.CachedMethods=CachedMethods,_c=JSII_RTTI_SYMBOL_1,CachedMethods[_c]={fqn:"aws-cdk-lib.aws_cloudfront.CachedMethods",version:"2.51.1"},CachedMethods.CACHE_GET_HEAD=new CachedMethods(["GET","HEAD"]),CachedMethods.CACHE_GET_HEAD_OPTIONS=new CachedMethods(["GET","HEAD","OPTIONS"]);var LambdaEdgeEventType;(function(LambdaEdgeEventType2){LambdaEdgeEventType2.ORIGIN_REQUEST="origin-request",LambdaEdgeEventType2.ORIGIN_RESPONSE="origin-response",LambdaEdgeEventType2.VIEWER_REQUEST="viewer-request",LambdaEdgeEventType2.VIEWER_RESPONSE="viewer-response"})(LambdaEdgeEventType=exports.LambdaEdgeEventType||(exports.LambdaEdgeEventType={}));
2
2
  //# sourceMappingURL=distribution.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.EdgeFunction=void 0;const jsiiDeprecationWarnings=require("../../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),path=require("path"),iam=require("../../../aws-iam"),lambda=require("../../../aws-lambda"),ssm=require("../../../aws-ssm"),core_1=require("../../../core");class EdgeFunction extends core_1.Resource{constructor(scope,id,props){super(scope,id),this.isBoundToVpc=!1;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_experimental_EdgeFunctionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,EdgeFunction),error}const regionIsUsEast1=!core_1.Token.isUnresolved(this.env.region)&&this.env.region==="us-east-1",{edgeFunction,edgeArn}=regionIsUsEast1?this.createInRegionFunction(props):this.createCrossRegionFunction(id,props);this.edgeArn=edgeArn,this.functionArn=edgeArn,this._edgeFunction=edgeFunction,this.functionName=this._edgeFunction.functionName,this.grantPrincipal=this._edgeFunction.role,this.permissionsNode=this._edgeFunction.permissionsNode,this.version=lambda.extractQualifierFromArn(this.functionArn),this.architecture=this._edgeFunction.architecture,this.resourceArnsForGrantInvoke=this._edgeFunction.resourceArnsForGrantInvoke,this.node.defaultChild=this._edgeFunction}get lambda(){return this._edgeFunction}get currentVersion(){return this}addAlias(aliasName,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_AliasOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addAlias),error}return new lambda.Alias(this._edgeFunction,`Alias${aliasName}`,{aliasName,version:this._edgeFunction.currentVersion,...options})}get connections(){throw new Error("Lambda@Edge does not support connections")}get latestVersion(){throw new Error("$LATEST function version cannot be used for Lambda@Edge")}addEventSourceMapping(id,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_EventSourceMappingOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addEventSourceMapping),error}return this.lambda.addEventSourceMapping(id,options)}addPermission(id,permission){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_Permission(permission)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addPermission),error}return this.lambda.addPermission(id,permission)}addToRolePolicy(statement){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_PolicyStatement(statement)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addToRolePolicy),error}return this.lambda.addToRolePolicy(statement)}grantInvoke(identity){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_IGrantable(identity)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.grantInvoke),error}return this.lambda.grantInvoke(identity)}grantInvokeUrl(identity){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_IGrantable(identity)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.grantInvokeUrl),error}return this.lambda.grantInvokeUrl(identity)}metric(metricName,props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metric),error}return this.lambda.metric(metricName,{...props,region:EdgeFunction.EDGE_REGION})}metricDuration(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricDuration),error}return this.lambda.metricDuration({...props,region:EdgeFunction.EDGE_REGION})}metricErrors(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricErrors),error}return this.lambda.metricErrors({...props,region:EdgeFunction.EDGE_REGION})}metricInvocations(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricInvocations),error}return this.lambda.metricInvocations({...props,region:EdgeFunction.EDGE_REGION})}metricThrottles(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricThrottles),error}return this.lambda.metricThrottles({...props,region:EdgeFunction.EDGE_REGION})}addEventSource(source){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_IEventSource(source)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addEventSource),error}return this.lambda.addEventSource(source)}configureAsyncInvoke(options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_EventInvokeConfigOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.configureAsyncInvoke),error}return this.lambda.configureAsyncInvoke(options)}addFunctionUrl(options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_FunctionUrlOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addFunctionUrl),error}return this.lambda.addFunctionUrl(options)}createInRegionFunction(props){const edgeFunction=new lambda.Function(this,"Fn",props);return addEdgeLambdaToRoleTrustStatement(edgeFunction.role),{edgeFunction,edgeArn:edgeFunction.currentVersion.edgeArn}}createCrossRegionFunction(id,props){const parameterNamePrefix="cdk/EdgeFunctionArn";if(core_1.Token.isUnresolved(this.env.region))throw new Error("stacks which use EdgeFunctions must have an explicitly set region");const sanitizedPath=this.node.path.replace(/[^\/\w.-]/g,"_"),parameterName=`/${parameterNamePrefix}/${this.env.region}/${sanitizedPath}`,functionStack=this.edgeStack(props.stackId),edgeFunction=new lambda.Function(functionStack,id,props);addEdgeLambdaToRoleTrustStatement(edgeFunction.role);const version=edgeFunction.currentVersion;new ssm.StringParameter(edgeFunction,"Parameter",{parameterName,stringValue:version.edgeArn});const edgeArn=this.createCrossRegionArnReader(parameterNamePrefix,parameterName,version);return{edgeFunction,edgeArn}}createCrossRegionArnReader(parameterNamePrefix,parameterName,version){const parameterArnPrefix=this.stack.formatArn({service:"ssm",region:EdgeFunction.EDGE_REGION,resource:"parameter",resourceName:parameterNamePrefix+"/*"}),resourceType="Custom::CrossRegionStringParameterReader",serviceToken=core_1.CustomResourceProvider.getOrCreate(this,resourceType,{codeDirectory:path.join(__dirname,"edge-function"),runtime:core_1.CustomResourceProviderRuntime.NODEJS_14_X,policyStatements:[{Effect:"Allow",Resource:parameterArnPrefix,Action:["ssm:GetParameter"]}]});return new core_1.CustomResource(this,"ArnReader",{resourceType,serviceToken,properties:{Region:EdgeFunction.EDGE_REGION,ParameterName:parameterName,RefreshToken:core_1.Lazy.uncachedString({produce:()=>{const cfn=version.node.defaultChild;return this.stack.resolve(cfn.logicalId)}})}}).getAttString("FunctionArn")}edgeStack(stackId){const stage=core_1.Stage.of(this);if(!stage)throw new Error("stacks which use EdgeFunctions must be part of a CDK app or stage");const edgeStackId=stackId??`edge-lambda-stack-${this.stack.node.addr}`;let edgeStack=stage.node.tryFindChild(edgeStackId);return edgeStack||(edgeStack=new core_1.Stack(stage,edgeStackId,{env:{region:EdgeFunction.EDGE_REGION,account:core_1.Stack.of(this).account}})),this.stack.addDependency(edgeStack),edgeStack}}exports.EdgeFunction=EdgeFunction,_a=JSII_RTTI_SYMBOL_1,EdgeFunction[_a]={fqn:"aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction",version:"2.51.0"},EdgeFunction.EDGE_REGION="us-east-1";function addEdgeLambdaToRoleTrustStatement(role){if(role instanceof iam.Role&&role.assumeRolePolicy){const statement=new iam.PolicyStatement,edgeLambdaServicePrincipal=new iam.ServicePrincipal("edgelambda.amazonaws.com");statement.addPrincipals(edgeLambdaServicePrincipal),statement.addActions(edgeLambdaServicePrincipal.assumeRoleAction),role.assumeRolePolicy.addStatements(statement)}}
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.EdgeFunction=void 0;const jsiiDeprecationWarnings=require("../../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),path=require("path"),iam=require("../../../aws-iam"),lambda=require("../../../aws-lambda"),ssm=require("../../../aws-ssm"),core_1=require("../../../core");class EdgeFunction extends core_1.Resource{constructor(scope,id,props){super(scope,id),this.isBoundToVpc=!1;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_experimental_EdgeFunctionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,EdgeFunction),error}const regionIsUsEast1=!core_1.Token.isUnresolved(this.env.region)&&this.env.region==="us-east-1",{edgeFunction,edgeArn}=regionIsUsEast1?this.createInRegionFunction(props):this.createCrossRegionFunction(id,props);this.edgeArn=edgeArn,this.functionArn=edgeArn,this._edgeFunction=edgeFunction,this.functionName=this._edgeFunction.functionName,this.grantPrincipal=this._edgeFunction.role,this.permissionsNode=this._edgeFunction.permissionsNode,this.version=lambda.extractQualifierFromArn(this.functionArn),this.architecture=this._edgeFunction.architecture,this.resourceArnsForGrantInvoke=this._edgeFunction.resourceArnsForGrantInvoke,this.node.defaultChild=this._edgeFunction}get lambda(){return this._edgeFunction}get currentVersion(){return this}addAlias(aliasName,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_AliasOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addAlias),error}return new lambda.Alias(this._edgeFunction,`Alias${aliasName}`,{aliasName,version:this._edgeFunction.currentVersion,...options})}get connections(){throw new Error("Lambda@Edge does not support connections")}get latestVersion(){throw new Error("$LATEST function version cannot be used for Lambda@Edge")}addEventSourceMapping(id,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_EventSourceMappingOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addEventSourceMapping),error}return this.lambda.addEventSourceMapping(id,options)}addPermission(id,permission){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_Permission(permission)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addPermission),error}return this.lambda.addPermission(id,permission)}addToRolePolicy(statement){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_PolicyStatement(statement)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addToRolePolicy),error}return this.lambda.addToRolePolicy(statement)}grantInvoke(identity){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_IGrantable(identity)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.grantInvoke),error}return this.lambda.grantInvoke(identity)}grantInvokeUrl(identity){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iam_IGrantable(identity)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.grantInvokeUrl),error}return this.lambda.grantInvokeUrl(identity)}metric(metricName,props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metric),error}return this.lambda.metric(metricName,{...props,region:EdgeFunction.EDGE_REGION})}metricDuration(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricDuration),error}return this.lambda.metricDuration({...props,region:EdgeFunction.EDGE_REGION})}metricErrors(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricErrors),error}return this.lambda.metricErrors({...props,region:EdgeFunction.EDGE_REGION})}metricInvocations(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricInvocations),error}return this.lambda.metricInvocations({...props,region:EdgeFunction.EDGE_REGION})}metricThrottles(props){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudwatch_MetricOptions(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.metricThrottles),error}return this.lambda.metricThrottles({...props,region:EdgeFunction.EDGE_REGION})}addEventSource(source){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_IEventSource(source)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addEventSource),error}return this.lambda.addEventSource(source)}configureAsyncInvoke(options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_EventInvokeConfigOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.configureAsyncInvoke),error}return this.lambda.configureAsyncInvoke(options)}addFunctionUrl(options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lambda_FunctionUrlOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addFunctionUrl),error}return this.lambda.addFunctionUrl(options)}createInRegionFunction(props){const edgeFunction=new lambda.Function(this,"Fn",props);return addEdgeLambdaToRoleTrustStatement(edgeFunction.role),{edgeFunction,edgeArn:edgeFunction.currentVersion.edgeArn}}createCrossRegionFunction(id,props){const parameterNamePrefix="cdk/EdgeFunctionArn";if(core_1.Token.isUnresolved(this.env.region))throw new Error("stacks which use EdgeFunctions must have an explicitly set region");const sanitizedPath=this.node.path.replace(/[^\/\w.-]/g,"_"),parameterName=`/${parameterNamePrefix}/${this.env.region}/${sanitizedPath}`,functionStack=this.edgeStack(props.stackId),edgeFunction=new lambda.Function(functionStack,id,props);addEdgeLambdaToRoleTrustStatement(edgeFunction.role);const version=edgeFunction.currentVersion;new ssm.StringParameter(edgeFunction,"Parameter",{parameterName,stringValue:version.edgeArn});const edgeArn=this.createCrossRegionArnReader(parameterNamePrefix,parameterName,version);return{edgeFunction,edgeArn}}createCrossRegionArnReader(parameterNamePrefix,parameterName,version){const parameterArnPrefix=this.stack.formatArn({service:"ssm",region:EdgeFunction.EDGE_REGION,resource:"parameter",resourceName:parameterNamePrefix+"/*"}),resourceType="Custom::CrossRegionStringParameterReader",serviceToken=core_1.CustomResourceProvider.getOrCreate(this,resourceType,{codeDirectory:path.join(__dirname,"edge-function"),runtime:core_1.CustomResourceProviderRuntime.NODEJS_14_X,policyStatements:[{Effect:"Allow",Resource:parameterArnPrefix,Action:["ssm:GetParameter"]}]});return new core_1.CustomResource(this,"ArnReader",{resourceType,serviceToken,properties:{Region:EdgeFunction.EDGE_REGION,ParameterName:parameterName,RefreshToken:core_1.Lazy.uncachedString({produce:()=>{const cfn=version.node.defaultChild;return this.stack.resolve(cfn.logicalId)}})}}).getAttString("FunctionArn")}edgeStack(stackId){const stage=core_1.Stage.of(this);if(!stage)throw new Error("stacks which use EdgeFunctions must be part of a CDK app or stage");const edgeStackId=stackId??`edge-lambda-stack-${this.stack.node.addr}`;let edgeStack=stage.node.tryFindChild(edgeStackId);return edgeStack||(edgeStack=new core_1.Stack(stage,edgeStackId,{env:{region:EdgeFunction.EDGE_REGION,account:core_1.Stack.of(this).account}})),this.stack.addDependency(edgeStack),edgeStack}}exports.EdgeFunction=EdgeFunction,_a=JSII_RTTI_SYMBOL_1,EdgeFunction[_a]={fqn:"aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction",version:"2.51.1"},EdgeFunction.EDGE_REGION="us-east-1";function addEdgeLambdaToRoleTrustStatement(role){if(role instanceof iam.Role&&role.assumeRolePolicy){const statement=new iam.PolicyStatement,edgeLambdaServicePrincipal=new iam.ServicePrincipal("edgelambda.amazonaws.com");statement.addPrincipals(edgeLambdaServicePrincipal),statement.addActions(edgeLambdaServicePrincipal.assumeRoleAction),role.assumeRolePolicy.addStatements(statement)}}
2
2
  //# sourceMappingURL=edge-function.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.FunctionEventType=exports.Function=exports.FunctionCode=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),fs=require("fs"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class FunctionCode{static fromInline(code){return new InlineCode(code)}static fromFile(options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_FileCodeOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromFile),error}return new FileCode(options)}}exports.FunctionCode=FunctionCode,_a=JSII_RTTI_SYMBOL_1,FunctionCode[_a]={fqn:"aws-cdk-lib.aws_cloudfront.FunctionCode",version:"2.51.0"};class InlineCode extends FunctionCode{constructor(code){super(),this.code=code}render(){return this.code}}class FileCode extends FunctionCode{constructor(options){super(),this.options=options}render(){return fs.readFileSync(this.options.filePath,{encoding:"utf-8"})}}class Function extends core_1.Resource{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_FunctionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,Function),error}this.functionName=props.functionName??this.generateName();const resource=new cloudfront_generated_1.CfnFunction(this,"Resource",{autoPublish:!0,functionCode:props.code.render(),functionConfig:{comment:props.comment??this.functionName,runtime:"cloudfront-js-1.0"},name:this.functionName});this.functionArn=resource.attrFunctionArn,this.functionStage=resource.attrStage}static fromFunctionAttributes(scope,id,attrs){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_FunctionAttributes(attrs)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromFunctionAttributes),error}return new class extends core_1.Resource{constructor(){super(...arguments),this.functionName=attrs.functionName,this.functionArn=attrs.functionArn}}(scope,id)}generateName(){const name=core_1.Stack.of(this).region+core_1.Names.uniqueId(this);return name.length>64?name.substring(0,32)+name.substring(name.length-32):name}}exports.Function=Function,_b=JSII_RTTI_SYMBOL_1,Function[_b]={fqn:"aws-cdk-lib.aws_cloudfront.Function",version:"2.51.0"};var FunctionEventType;(function(FunctionEventType2){FunctionEventType2.VIEWER_REQUEST="viewer-request",FunctionEventType2.VIEWER_RESPONSE="viewer-response"})(FunctionEventType=exports.FunctionEventType||(exports.FunctionEventType={}));
1
+ "use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.FunctionEventType=exports.Function=exports.FunctionCode=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),fs=require("fs"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class FunctionCode{static fromInline(code){return new InlineCode(code)}static fromFile(options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_FileCodeOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromFile),error}return new FileCode(options)}}exports.FunctionCode=FunctionCode,_a=JSII_RTTI_SYMBOL_1,FunctionCode[_a]={fqn:"aws-cdk-lib.aws_cloudfront.FunctionCode",version:"2.51.1"};class InlineCode extends FunctionCode{constructor(code){super(),this.code=code}render(){return this.code}}class FileCode extends FunctionCode{constructor(options){super(),this.options=options}render(){return fs.readFileSync(this.options.filePath,{encoding:"utf-8"})}}class Function extends core_1.Resource{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_FunctionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,Function),error}this.functionName=props.functionName??this.generateName();const resource=new cloudfront_generated_1.CfnFunction(this,"Resource",{autoPublish:!0,functionCode:props.code.render(),functionConfig:{comment:props.comment??this.functionName,runtime:"cloudfront-js-1.0"},name:this.functionName});this.functionArn=resource.attrFunctionArn,this.functionStage=resource.attrStage}static fromFunctionAttributes(scope,id,attrs){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_FunctionAttributes(attrs)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromFunctionAttributes),error}return new class extends core_1.Resource{constructor(){super(...arguments),this.functionName=attrs.functionName,this.functionArn=attrs.functionArn}}(scope,id)}generateName(){const name=core_1.Stack.of(this).region+core_1.Names.uniqueId(this);return name.length>64?name.substring(0,32)+name.substring(name.length-32):name}}exports.Function=Function,_b=JSII_RTTI_SYMBOL_1,Function[_b]={fqn:"aws-cdk-lib.aws_cloudfront.Function",version:"2.51.1"};var FunctionEventType;(function(FunctionEventType2){FunctionEventType2.VIEWER_REQUEST="viewer-request",FunctionEventType2.VIEWER_RESPONSE="viewer-response"})(FunctionEventType=exports.FunctionEventType||(exports.FunctionEventType={}));
2
2
  //# sourceMappingURL=function.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.GeoRestriction=void 0;const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class GeoRestriction{constructor(restrictionType,locations){this.restrictionType=restrictionType,this.locations=locations}static allowlist(...locations){return new GeoRestriction("whitelist",GeoRestriction.validateLocations(locations))}static denylist(...locations){return new GeoRestriction("blacklist",GeoRestriction.validateLocations(locations))}static whitelist(...locations){return GeoRestriction.allowlist(...locations)}static blacklist(...locations){return GeoRestriction.denylist(...locations)}static validateLocations(locations){if(locations.length===0)throw new Error("Should provide at least 1 location");return locations.forEach(location=>{if(!GeoRestriction.LOCATION_REGEX.test(location))throw new Error(`Invalid location format for location: ${location}, location should be two-letter and uppercase country ISO 3166-1-alpha-2 code`)}),locations}}exports.GeoRestriction=GeoRestriction,_a=JSII_RTTI_SYMBOL_1,GeoRestriction[_a]={fqn:"aws-cdk-lib.aws_cloudfront.GeoRestriction",version:"2.51.0"},GeoRestriction.LOCATION_REGEX=/^[A-Z]{2}$/;
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.GeoRestriction=void 0;const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class GeoRestriction{constructor(restrictionType,locations){this.restrictionType=restrictionType,this.locations=locations}static allowlist(...locations){return new GeoRestriction("whitelist",GeoRestriction.validateLocations(locations))}static denylist(...locations){return new GeoRestriction("blacklist",GeoRestriction.validateLocations(locations))}static whitelist(...locations){return GeoRestriction.allowlist(...locations)}static blacklist(...locations){return GeoRestriction.denylist(...locations)}static validateLocations(locations){if(locations.length===0)throw new Error("Should provide at least 1 location");return locations.forEach(location=>{if(!GeoRestriction.LOCATION_REGEX.test(location))throw new Error(`Invalid location format for location: ${location}, location should be two-letter and uppercase country ISO 3166-1-alpha-2 code`)}),locations}}exports.GeoRestriction=GeoRestriction,_a=JSII_RTTI_SYMBOL_1,GeoRestriction[_a]={fqn:"aws-cdk-lib.aws_cloudfront.GeoRestriction",version:"2.51.1"},GeoRestriction.LOCATION_REGEX=/^[A-Z]{2}$/;
2
2
  //# sourceMappingURL=geo-restriction.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.KeyGroup=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class KeyGroup extends core_1.Resource{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_KeyGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,KeyGroup),error}const resource=new cloudfront_generated_1.CfnKeyGroup(this,"Resource",{keyGroupConfig:{name:props.keyGroupName??this.generateName(),comment:props.comment,items:props.items.map(key=>key.publicKeyId)}});this.keyGroupId=resource.ref}static fromKeyGroupId(scope,id,keyGroupId){return new class extends core_1.Resource{constructor(){super(...arguments),this.keyGroupId=keyGroupId}}(scope,id)}generateName(){const name=core_1.Names.uniqueId(this);return name.length>80?name.substring(0,40)+name.substring(name.length-40):name}}exports.KeyGroup=KeyGroup,_a=JSII_RTTI_SYMBOL_1,KeyGroup[_a]={fqn:"aws-cdk-lib.aws_cloudfront.KeyGroup",version:"2.51.0"};
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.KeyGroup=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class KeyGroup extends core_1.Resource{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_KeyGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,KeyGroup),error}const resource=new cloudfront_generated_1.CfnKeyGroup(this,"Resource",{keyGroupConfig:{name:props.keyGroupName??this.generateName(),comment:props.comment,items:props.items.map(key=>key.publicKeyId)}});this.keyGroupId=resource.ref}static fromKeyGroupId(scope,id,keyGroupId){return new class extends core_1.Resource{constructor(){super(...arguments),this.keyGroupId=keyGroupId}}(scope,id)}generateName(){const name=core_1.Names.uniqueId(this);return name.length>80?name.substring(0,40)+name.substring(name.length-40):name}}exports.KeyGroup=KeyGroup,_a=JSII_RTTI_SYMBOL_1,KeyGroup[_a]={fqn:"aws-cdk-lib.aws_cloudfront.KeyGroup",version:"2.51.1"};
2
2
  //# sourceMappingURL=key-group.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginAccessIdentity=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),iam=require("../../aws-iam"),cdk=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class OriginAccessIdentityBase extends cdk.Resource{arn(){return cdk.Stack.of(this).formatArn({service:"iam",region:"",account:"cloudfront",resource:"user",resourceName:`CloudFront Origin Access Identity ${this.originAccessIdentityId}`})}}class OriginAccessIdentity extends OriginAccessIdentityBase{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginAccessIdentityProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginAccessIdentity),error}const comment=(props?.comment??"Allows CloudFront to reach the bucket").slice(0,128);this.resource=new cloudfront_generated_1.CfnCloudFrontOriginAccessIdentity(this,"Resource",{cloudFrontOriginAccessIdentityConfig:{comment}}),this.originAccessIdentityId=this.getResourceNameAttribute(this.resource.ref),this.cloudFrontOriginAccessIdentityS3CanonicalUserId=this.resource.attrS3CanonicalUserId,this.grantPrincipal=new iam.CanonicalUserPrincipal(this.cloudFrontOriginAccessIdentityS3CanonicalUserId)}static fromOriginAccessIdentityName(scope,id,originAccessIdentityName){try{jsiiDeprecationWarnings.print("aws-cdk-lib.aws_cloudfront.OriginAccessIdentity#fromOriginAccessIdentityName","use `fromOriginAccessIdentityId`")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromOriginAccessIdentityName),error}return OriginAccessIdentity.fromOriginAccessIdentityId(scope,id,originAccessIdentityName)}static fromOriginAccessIdentityId(scope,id,originAccessIdentityId){class Import extends OriginAccessIdentityBase{constructor(s,i){super(s,i,{physicalName:originAccessIdentityId}),this.originAccessIdentityId=originAccessIdentityId,this.originAccessIdentityName=originAccessIdentityId,this.grantPrincipal=new iam.ArnPrincipal(this.arn())}}return new Import(scope,id)}get originAccessIdentityName(){try{jsiiDeprecationWarnings.print("aws-cdk-lib.aws_cloudfront.OriginAccessIdentity#originAccessIdentityName","use originAccessIdentityId instead")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings.getPropertyDescriptor(this,"originAccessIdentityName").get),error}return this.originAccessIdentityId}}exports.OriginAccessIdentity=OriginAccessIdentity,_a=JSII_RTTI_SYMBOL_1,OriginAccessIdentity[_a]={fqn:"aws-cdk-lib.aws_cloudfront.OriginAccessIdentity",version:"2.51.0"};
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginAccessIdentity=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),iam=require("../../aws-iam"),cdk=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class OriginAccessIdentityBase extends cdk.Resource{arn(){return cdk.Stack.of(this).formatArn({service:"iam",region:"",account:"cloudfront",resource:"user",resourceName:`CloudFront Origin Access Identity ${this.originAccessIdentityId}`})}}class OriginAccessIdentity extends OriginAccessIdentityBase{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginAccessIdentityProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginAccessIdentity),error}const comment=(props?.comment??"Allows CloudFront to reach the bucket").slice(0,128);this.resource=new cloudfront_generated_1.CfnCloudFrontOriginAccessIdentity(this,"Resource",{cloudFrontOriginAccessIdentityConfig:{comment}}),this.originAccessIdentityId=this.getResourceNameAttribute(this.resource.ref),this.cloudFrontOriginAccessIdentityS3CanonicalUserId=this.resource.attrS3CanonicalUserId,this.grantPrincipal=new iam.CanonicalUserPrincipal(this.cloudFrontOriginAccessIdentityS3CanonicalUserId)}static fromOriginAccessIdentityName(scope,id,originAccessIdentityName){try{jsiiDeprecationWarnings.print("aws-cdk-lib.aws_cloudfront.OriginAccessIdentity#fromOriginAccessIdentityName","use `fromOriginAccessIdentityId`")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromOriginAccessIdentityName),error}return OriginAccessIdentity.fromOriginAccessIdentityId(scope,id,originAccessIdentityName)}static fromOriginAccessIdentityId(scope,id,originAccessIdentityId){class Import extends OriginAccessIdentityBase{constructor(s,i){super(s,i,{physicalName:originAccessIdentityId}),this.originAccessIdentityId=originAccessIdentityId,this.originAccessIdentityName=originAccessIdentityId,this.grantPrincipal=new iam.ArnPrincipal(this.arn())}}return new Import(scope,id)}get originAccessIdentityName(){try{jsiiDeprecationWarnings.print("aws-cdk-lib.aws_cloudfront.OriginAccessIdentity#originAccessIdentityName","use originAccessIdentityId instead")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings.getPropertyDescriptor(this,"originAccessIdentityName").get),error}return this.originAccessIdentityId}}exports.OriginAccessIdentity=OriginAccessIdentity,_a=JSII_RTTI_SYMBOL_1,OriginAccessIdentity[_a]={fqn:"aws-cdk-lib.aws_cloudfront.OriginAccessIdentity",version:"2.51.1"};
2
2
  //# sourceMappingURL=origin-access-identity.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a,_b,_c,_d;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginRequestQueryStringBehavior=exports.OriginRequestHeaderBehavior=exports.OriginRequestCookieBehavior=exports.OriginRequestPolicy=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class OriginRequestPolicy extends core_1.Resource{constructor(scope,id,props={}){super(scope,id,{physicalName:props.originRequestPolicyName});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginRequestPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginRequestPolicy),error}const originRequestPolicyName=props.originRequestPolicyName??core_1.Names.uniqueId(this);if(!core_1.Token.isUnresolved(originRequestPolicyName)&&!originRequestPolicyName.match(/^[\w-]+$/i))throw new Error(`'originRequestPolicyName' can only include '-', '_', and alphanumeric characters, got: '${props.originRequestPolicyName}'`);const cookies=props.cookieBehavior??OriginRequestCookieBehavior.none(),headers=props.headerBehavior??OriginRequestHeaderBehavior.none(),queryStrings=props.queryStringBehavior??OriginRequestQueryStringBehavior.none(),resource=new cloudfront_generated_1.CfnOriginRequestPolicy(this,"Resource",{originRequestPolicyConfig:{name:originRequestPolicyName,comment:props.comment,cookiesConfig:{cookieBehavior:cookies.behavior,cookies:cookies.cookies},headersConfig:{headerBehavior:headers.behavior,headers:headers.headers},queryStringsConfig:{queryStringBehavior:queryStrings.behavior,queryStrings:queryStrings.queryStrings}}});this.originRequestPolicyId=resource.ref}static fromOriginRequestPolicyId(scope,id,originRequestPolicyId){return new class extends core_1.Resource{constructor(){super(...arguments),this.originRequestPolicyId=originRequestPolicyId}}(scope,id)}static fromManagedOriginRequestPolicy(managedOriginRequestPolicyId){return new class{constructor(){this.originRequestPolicyId=managedOriginRequestPolicyId}}}}exports.OriginRequestPolicy=OriginRequestPolicy,_a=JSII_RTTI_SYMBOL_1,OriginRequestPolicy[_a]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestPolicy",version:"2.51.0"},OriginRequestPolicy.USER_AGENT_REFERER_HEADERS=OriginRequestPolicy.fromManagedOriginRequestPolicy("acba4595-bd28-49b8-b9fe-13317c0390fa"),OriginRequestPolicy.CORS_CUSTOM_ORIGIN=OriginRequestPolicy.fromManagedOriginRequestPolicy("59781a5b-3903-41f3-afcb-af62929ccde1"),OriginRequestPolicy.CORS_S3_ORIGIN=OriginRequestPolicy.fromManagedOriginRequestPolicy("88a5eaf4-2fd4-4709-b370-b4c650ea3fcf"),OriginRequestPolicy.ALL_VIEWER=OriginRequestPolicy.fromManagedOriginRequestPolicy("216adef6-5c7f-47e4-b989-5492eafa07d3"),OriginRequestPolicy.ELEMENTAL_MEDIA_TAILOR=OriginRequestPolicy.fromManagedOriginRequestPolicy("775133bc-15f2-49f9-abea-afb2e0bf67d2");class OriginRequestCookieBehavior{constructor(behavior,cookies){this.behavior=behavior,this.cookies=cookies}static none(){return new OriginRequestCookieBehavior("none")}static all(){return new OriginRequestCookieBehavior("all")}static allowList(...cookies){if(cookies.length===0)throw new Error("At least one cookie to allow must be provided");return new OriginRequestCookieBehavior("whitelist",cookies)}}exports.OriginRequestCookieBehavior=OriginRequestCookieBehavior,_b=JSII_RTTI_SYMBOL_1,OriginRequestCookieBehavior[_b]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestCookieBehavior",version:"2.51.0"};class OriginRequestHeaderBehavior{constructor(behavior,headers){this.behavior=behavior,this.headers=headers}static none(){return new OriginRequestHeaderBehavior("none")}static all(...cloudfrontHeaders){if(cloudfrontHeaders.length>0){if(!cloudfrontHeaders.every(header=>header.startsWith("CloudFront-")))throw new Error("additional CloudFront headers passed to `OriginRequestHeaderBehavior.all()` must begin with 'CloudFront-'");return new OriginRequestHeaderBehavior("allViewerAndWhitelistCloudFront",cloudfrontHeaders)}else return new OriginRequestHeaderBehavior("allViewer")}static allowList(...headers){if(headers.length===0)throw new Error("At least one header to allow must be provided");if(headers.map(header=>header.toLowerCase()).some(header=>["authorization","accept-encoding"].includes(header)))throw new Error("you cannot pass `Authorization` or `Accept-Encoding` as header values; use a CachePolicy to forward these headers instead");return new OriginRequestHeaderBehavior("whitelist",headers)}}exports.OriginRequestHeaderBehavior=OriginRequestHeaderBehavior,_c=JSII_RTTI_SYMBOL_1,OriginRequestHeaderBehavior[_c]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestHeaderBehavior",version:"2.51.0"};class OriginRequestQueryStringBehavior{constructor(behavior,queryStrings){this.behavior=behavior,this.queryStrings=queryStrings}static none(){return new OriginRequestQueryStringBehavior("none")}static all(){return new OriginRequestQueryStringBehavior("all")}static allowList(...queryStrings){if(queryStrings.length===0)throw new Error("At least one query string to allow must be provided");return new OriginRequestQueryStringBehavior("whitelist",queryStrings)}}exports.OriginRequestQueryStringBehavior=OriginRequestQueryStringBehavior,_d=JSII_RTTI_SYMBOL_1,OriginRequestQueryStringBehavior[_d]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestQueryStringBehavior",version:"2.51.0"};
1
+ "use strict";var _a,_b,_c,_d;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginRequestQueryStringBehavior=exports.OriginRequestHeaderBehavior=exports.OriginRequestCookieBehavior=exports.OriginRequestPolicy=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class OriginRequestPolicy extends core_1.Resource{constructor(scope,id,props={}){super(scope,id,{physicalName:props.originRequestPolicyName});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginRequestPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginRequestPolicy),error}const originRequestPolicyName=props.originRequestPolicyName??core_1.Names.uniqueId(this);if(!core_1.Token.isUnresolved(originRequestPolicyName)&&!originRequestPolicyName.match(/^[\w-]+$/i))throw new Error(`'originRequestPolicyName' can only include '-', '_', and alphanumeric characters, got: '${props.originRequestPolicyName}'`);const cookies=props.cookieBehavior??OriginRequestCookieBehavior.none(),headers=props.headerBehavior??OriginRequestHeaderBehavior.none(),queryStrings=props.queryStringBehavior??OriginRequestQueryStringBehavior.none(),resource=new cloudfront_generated_1.CfnOriginRequestPolicy(this,"Resource",{originRequestPolicyConfig:{name:originRequestPolicyName,comment:props.comment,cookiesConfig:{cookieBehavior:cookies.behavior,cookies:cookies.cookies},headersConfig:{headerBehavior:headers.behavior,headers:headers.headers},queryStringsConfig:{queryStringBehavior:queryStrings.behavior,queryStrings:queryStrings.queryStrings}}});this.originRequestPolicyId=resource.ref}static fromOriginRequestPolicyId(scope,id,originRequestPolicyId){return new class extends core_1.Resource{constructor(){super(...arguments),this.originRequestPolicyId=originRequestPolicyId}}(scope,id)}static fromManagedOriginRequestPolicy(managedOriginRequestPolicyId){return new class{constructor(){this.originRequestPolicyId=managedOriginRequestPolicyId}}}}exports.OriginRequestPolicy=OriginRequestPolicy,_a=JSII_RTTI_SYMBOL_1,OriginRequestPolicy[_a]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestPolicy",version:"2.51.1"},OriginRequestPolicy.USER_AGENT_REFERER_HEADERS=OriginRequestPolicy.fromManagedOriginRequestPolicy("acba4595-bd28-49b8-b9fe-13317c0390fa"),OriginRequestPolicy.CORS_CUSTOM_ORIGIN=OriginRequestPolicy.fromManagedOriginRequestPolicy("59781a5b-3903-41f3-afcb-af62929ccde1"),OriginRequestPolicy.CORS_S3_ORIGIN=OriginRequestPolicy.fromManagedOriginRequestPolicy("88a5eaf4-2fd4-4709-b370-b4c650ea3fcf"),OriginRequestPolicy.ALL_VIEWER=OriginRequestPolicy.fromManagedOriginRequestPolicy("216adef6-5c7f-47e4-b989-5492eafa07d3"),OriginRequestPolicy.ELEMENTAL_MEDIA_TAILOR=OriginRequestPolicy.fromManagedOriginRequestPolicy("775133bc-15f2-49f9-abea-afb2e0bf67d2");class OriginRequestCookieBehavior{constructor(behavior,cookies){this.behavior=behavior,this.cookies=cookies}static none(){return new OriginRequestCookieBehavior("none")}static all(){return new OriginRequestCookieBehavior("all")}static allowList(...cookies){if(cookies.length===0)throw new Error("At least one cookie to allow must be provided");return new OriginRequestCookieBehavior("whitelist",cookies)}}exports.OriginRequestCookieBehavior=OriginRequestCookieBehavior,_b=JSII_RTTI_SYMBOL_1,OriginRequestCookieBehavior[_b]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestCookieBehavior",version:"2.51.1"};class OriginRequestHeaderBehavior{constructor(behavior,headers){this.behavior=behavior,this.headers=headers}static none(){return new OriginRequestHeaderBehavior("none")}static all(...cloudfrontHeaders){if(cloudfrontHeaders.length>0){if(!cloudfrontHeaders.every(header=>header.startsWith("CloudFront-")))throw new Error("additional CloudFront headers passed to `OriginRequestHeaderBehavior.all()` must begin with 'CloudFront-'");return new OriginRequestHeaderBehavior("allViewerAndWhitelistCloudFront",cloudfrontHeaders)}else return new OriginRequestHeaderBehavior("allViewer")}static allowList(...headers){if(headers.length===0)throw new Error("At least one header to allow must be provided");if(headers.map(header=>header.toLowerCase()).some(header=>["authorization","accept-encoding"].includes(header)))throw new Error("you cannot pass `Authorization` or `Accept-Encoding` as header values; use a CachePolicy to forward these headers instead");return new OriginRequestHeaderBehavior("whitelist",headers)}}exports.OriginRequestHeaderBehavior=OriginRequestHeaderBehavior,_c=JSII_RTTI_SYMBOL_1,OriginRequestHeaderBehavior[_c]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestHeaderBehavior",version:"2.51.1"};class OriginRequestQueryStringBehavior{constructor(behavior,queryStrings){this.behavior=behavior,this.queryStrings=queryStrings}static none(){return new OriginRequestQueryStringBehavior("none")}static all(){return new OriginRequestQueryStringBehavior("all")}static allowList(...queryStrings){if(queryStrings.length===0)throw new Error("At least one query string to allow must be provided");return new OriginRequestQueryStringBehavior("whitelist",queryStrings)}}exports.OriginRequestQueryStringBehavior=OriginRequestQueryStringBehavior,_d=JSII_RTTI_SYMBOL_1,OriginRequestQueryStringBehavior[_d]={fqn:"aws-cdk-lib.aws_cloudfront.OriginRequestQueryStringBehavior",version:"2.51.1"};
2
2
  //# sourceMappingURL=origin-request-policy.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginBase=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core");class OriginBase{constructor(domainName,props={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginBase),error}validateIntInRangeOrUndefined("connectionTimeout",1,10,props.connectionTimeout?.toSeconds()),validateIntInRangeOrUndefined("connectionAttempts",1,3,props.connectionAttempts,!1),validateCustomHeaders(props.customHeaders),this.domainName=domainName,this.originPath=this.validateOriginPath(props.originPath),this.connectionTimeout=props.connectionTimeout,this.connectionAttempts=props.connectionAttempts,this.customHeaders=props.customHeaders,this.originShieldRegion=props.originShieldRegion,this.originId=props.originId,this.originShieldEnabled=props.originShieldEnabled??!0}bind(_scope,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginBindOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}const s3OriginConfig=this.renderS3OriginConfig(),customOriginConfig=this.renderCustomOriginConfig();if(!s3OriginConfig&&!customOriginConfig)throw new Error("Subclass must override and provide either s3OriginConfig or customOriginConfig");return{originProperty:{domainName:this.domainName,id:this.originId??options.originId,originPath:this.originPath,connectionAttempts:this.connectionAttempts,connectionTimeout:this.connectionTimeout?.toSeconds(),originCustomHeaders:this.renderCustomHeaders(),s3OriginConfig,customOriginConfig,originShield:this.renderOriginShield(this.originShieldEnabled,this.originShieldRegion)}}}renderS3OriginConfig(){}renderCustomOriginConfig(){}renderCustomHeaders(){if(!(!this.customHeaders||Object.entries(this.customHeaders).length===0))return Object.entries(this.customHeaders).map(([headerName,headerValue])=>({headerName,headerValue}))}validateOriginPath(originPath){if(core_1.Token.isUnresolved(originPath))return originPath;if(originPath===void 0)return;let path=originPath;return path.startsWith("/")||(path="/"+path),path.endsWith("/")&&(path=path.slice(0,-1)),path}renderOriginShield(originShieldEnabled,originShieldRegion){return originShieldEnabled?originShieldRegion?{enabled:!0,originShieldRegion}:void 0:{enabled:!1}}}exports.OriginBase=OriginBase,_a=JSII_RTTI_SYMBOL_1,OriginBase[_a]={fqn:"aws-cdk-lib.aws_cloudfront.OriginBase",version:"2.51.0"};function validateIntInRangeOrUndefined(name,min,max,value,isDuration=!0){if(value!==void 0&&(!Number.isInteger(value)||value<min||value>max)){const seconds=isDuration?" seconds":"";throw new Error(`${name}: Must be an int between ${min} and ${max}${seconds} (inclusive); received ${value}.`)}}function validateCustomHeaders(customHeaders){if(!customHeaders||Object.entries(customHeaders).length===0)return;const customHeaderKeys=Object.keys(customHeaders),prohibitedHeaderKeys=["Cache-Control","Connection","Content-Length","Cookie","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Pragma","Proxy-Authorization","Proxy-Connection","Range","Request-Range","TE","Trailer","Transfer-Encoding","Upgrade","Via","X-Real-Ip"],prohibitedHeaderKeyPrefixes=["X-Amz-","X-Edge-"],prohibitedHeadersKeysMatches=customHeaderKeys.filter(customKey=>prohibitedHeaderKeys.map(prohibitedKey=>prohibitedKey.toLowerCase()).includes(customKey.toLowerCase())),prohibitedHeaderPrefixMatches=customHeaderKeys.filter(customKey=>prohibitedHeaderKeyPrefixes.some(prohibitedKeyPrefix=>customKey.toLowerCase().startsWith(prohibitedKeyPrefix.toLowerCase())));if(prohibitedHeadersKeysMatches.length!==0)throw new Error(`The following headers cannot be configured as custom origin headers: ${prohibitedHeadersKeysMatches.join(", ")}`);if(prohibitedHeaderPrefixMatches.length!==0)throw new Error(`The following headers cannot be used as prefixes for custom origin headers: ${prohibitedHeaderPrefixMatches.join(", ")}`)}
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginBase=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core");class OriginBase{constructor(domainName,props={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginBase),error}validateIntInRangeOrUndefined("connectionTimeout",1,10,props.connectionTimeout?.toSeconds()),validateIntInRangeOrUndefined("connectionAttempts",1,3,props.connectionAttempts,!1),validateCustomHeaders(props.customHeaders),this.domainName=domainName,this.originPath=this.validateOriginPath(props.originPath),this.connectionTimeout=props.connectionTimeout,this.connectionAttempts=props.connectionAttempts,this.customHeaders=props.customHeaders,this.originShieldRegion=props.originShieldRegion,this.originId=props.originId,this.originShieldEnabled=props.originShieldEnabled??!0}bind(_scope,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginBindOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}const s3OriginConfig=this.renderS3OriginConfig(),customOriginConfig=this.renderCustomOriginConfig();if(!s3OriginConfig&&!customOriginConfig)throw new Error("Subclass must override and provide either s3OriginConfig or customOriginConfig");return{originProperty:{domainName:this.domainName,id:this.originId??options.originId,originPath:this.originPath,connectionAttempts:this.connectionAttempts,connectionTimeout:this.connectionTimeout?.toSeconds(),originCustomHeaders:this.renderCustomHeaders(),s3OriginConfig,customOriginConfig,originShield:this.renderOriginShield(this.originShieldEnabled,this.originShieldRegion)}}}renderS3OriginConfig(){}renderCustomOriginConfig(){}renderCustomHeaders(){if(!(!this.customHeaders||Object.entries(this.customHeaders).length===0))return Object.entries(this.customHeaders).map(([headerName,headerValue])=>({headerName,headerValue}))}validateOriginPath(originPath){if(core_1.Token.isUnresolved(originPath))return originPath;if(originPath===void 0)return;let path=originPath;return path.startsWith("/")||(path="/"+path),path.endsWith("/")&&(path=path.slice(0,-1)),path}renderOriginShield(originShieldEnabled,originShieldRegion){return originShieldEnabled?originShieldRegion?{enabled:!0,originShieldRegion}:void 0:{enabled:!1}}}exports.OriginBase=OriginBase,_a=JSII_RTTI_SYMBOL_1,OriginBase[_a]={fqn:"aws-cdk-lib.aws_cloudfront.OriginBase",version:"2.51.1"};function validateIntInRangeOrUndefined(name,min,max,value,isDuration=!0){if(value!==void 0&&(!Number.isInteger(value)||value<min||value>max)){const seconds=isDuration?" seconds":"";throw new Error(`${name}: Must be an int between ${min} and ${max}${seconds} (inclusive); received ${value}.`)}}function validateCustomHeaders(customHeaders){if(!customHeaders||Object.entries(customHeaders).length===0)return;const customHeaderKeys=Object.keys(customHeaders),prohibitedHeaderKeys=["Cache-Control","Connection","Content-Length","Cookie","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Pragma","Proxy-Authorization","Proxy-Connection","Range","Request-Range","TE","Trailer","Transfer-Encoding","Upgrade","Via","X-Real-Ip"],prohibitedHeaderKeyPrefixes=["X-Amz-","X-Edge-"],prohibitedHeadersKeysMatches=customHeaderKeys.filter(customKey=>prohibitedHeaderKeys.map(prohibitedKey=>prohibitedKey.toLowerCase()).includes(customKey.toLowerCase())),prohibitedHeaderPrefixMatches=customHeaderKeys.filter(customKey=>prohibitedHeaderKeyPrefixes.some(prohibitedKeyPrefix=>customKey.toLowerCase().startsWith(prohibitedKeyPrefix.toLowerCase())));if(prohibitedHeadersKeysMatches.length!==0)throw new Error(`The following headers cannot be configured as custom origin headers: ${prohibitedHeadersKeysMatches.join(", ")}`);if(prohibitedHeaderPrefixMatches.length!==0)throw new Error(`The following headers cannot be used as prefixes for custom origin headers: ${prohibitedHeaderPrefixMatches.join(", ")}`)}
2
2
  //# sourceMappingURL=origin.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.PublicKey=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class PublicKey extends core_1.Resource{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_PublicKeyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,PublicKey),error}if(!core_1.Token.isUnresolved(props.encodedKey)&&!/^-----BEGIN PUBLIC KEY-----/.test(props.encodedKey))throw new Error(`Public key must be in PEM format (with the BEGIN/END PUBLIC KEY lines); got ${props.encodedKey}`);const resource=new cloudfront_generated_1.CfnPublicKey(this,"Resource",{publicKeyConfig:{name:props.publicKeyName??this.generateName(),callerReference:this.node.addr,encodedKey:props.encodedKey,comment:props.comment}});this.publicKeyId=resource.ref}static fromPublicKeyId(scope,id,publicKeyId){return new class extends core_1.Resource{constructor(){super(...arguments),this.publicKeyId=publicKeyId}}(scope,id)}generateName(){const name=core_1.Names.uniqueId(this);return name.length>80?name.substring(0,40)+name.substring(name.length-40):name}}exports.PublicKey=PublicKey,_a=JSII_RTTI_SYMBOL_1,PublicKey[_a]={fqn:"aws-cdk-lib.aws_cloudfront.PublicKey",version:"2.51.0"};
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.PublicKey=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class PublicKey extends core_1.Resource{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_PublicKeyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,PublicKey),error}if(!core_1.Token.isUnresolved(props.encodedKey)&&!/^-----BEGIN PUBLIC KEY-----/.test(props.encodedKey))throw new Error(`Public key must be in PEM format (with the BEGIN/END PUBLIC KEY lines); got ${props.encodedKey}`);const resource=new cloudfront_generated_1.CfnPublicKey(this,"Resource",{publicKeyConfig:{name:props.publicKeyName??this.generateName(),callerReference:this.node.addr,encodedKey:props.encodedKey,comment:props.comment}});this.publicKeyId=resource.ref}static fromPublicKeyId(scope,id,publicKeyId){return new class extends core_1.Resource{constructor(){super(...arguments),this.publicKeyId=publicKeyId}}(scope,id)}generateName(){const name=core_1.Names.uniqueId(this);return name.length>80?name.substring(0,40)+name.substring(name.length-40):name}}exports.PublicKey=PublicKey,_a=JSII_RTTI_SYMBOL_1,PublicKey[_a]={fqn:"aws-cdk-lib.aws_cloudfront.PublicKey",version:"2.51.1"};
2
2
  //# sourceMappingURL=public-key.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.HeadersReferrerPolicy=exports.HeadersFrameOption=exports.ResponseHeadersPolicy=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class ResponseHeadersPolicy extends core_1.Resource{constructor(scope,id,props={}){super(scope,id,{physicalName:props.responseHeadersPolicyName});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_ResponseHeadersPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,ResponseHeadersPolicy),error}const responseHeadersPolicyName=props.responseHeadersPolicyName??core_1.Names.uniqueResourceName(this,{maxLength:128}),resource=new cloudfront_generated_1.CfnResponseHeadersPolicy(this,"Resource",{responseHeadersPolicyConfig:{name:responseHeadersPolicyName,comment:props.comment,corsConfig:props.corsBehavior?this._renderCorsConfig(props.corsBehavior):void 0,customHeadersConfig:props.customHeadersBehavior?this._renderCustomHeadersConfig(props.customHeadersBehavior):void 0,securityHeadersConfig:props.securityHeadersBehavior?this._renderSecurityHeadersConfig(props.securityHeadersBehavior):void 0}});this.responseHeadersPolicyId=resource.ref}static fromResponseHeadersPolicyId(scope,id,responseHeadersPolicyId){class Import extends core_1.Resource{constructor(){super(...arguments),this.responseHeadersPolicyId=responseHeadersPolicyId}}return new Import(scope,id)}static fromManagedResponseHeadersPolicy(managedResponseHeadersPolicyId){return new class{constructor(){this.responseHeadersPolicyId=managedResponseHeadersPolicyId}}}_renderCorsConfig(behavior){return{accessControlAllowCredentials:behavior.accessControlAllowCredentials,accessControlAllowHeaders:{items:behavior.accessControlAllowHeaders},accessControlAllowMethods:{items:behavior.accessControlAllowMethods},accessControlAllowOrigins:{items:behavior.accessControlAllowOrigins},accessControlExposeHeaders:behavior.accessControlExposeHeaders?{items:behavior.accessControlExposeHeaders}:void 0,accessControlMaxAgeSec:behavior.accessControlMaxAge?behavior.accessControlMaxAge.toSeconds():void 0,originOverride:behavior.originOverride}}_renderCustomHeadersConfig(behavior){return{items:behavior.customHeaders}}_renderSecurityHeadersConfig(behavior){return{contentSecurityPolicy:behavior.contentSecurityPolicy,contentTypeOptions:behavior.contentTypeOptions,frameOptions:behavior.frameOptions,referrerPolicy:behavior.referrerPolicy,strictTransportSecurity:behavior.strictTransportSecurity?{...behavior.strictTransportSecurity,accessControlMaxAgeSec:behavior.strictTransportSecurity.accessControlMaxAge.toSeconds()}:void 0,xssProtection:behavior.xssProtection}}}exports.ResponseHeadersPolicy=ResponseHeadersPolicy,_a=JSII_RTTI_SYMBOL_1,ResponseHeadersPolicy[_a]={fqn:"aws-cdk-lib.aws_cloudfront.ResponseHeadersPolicy",version:"2.51.0"},ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("60669652-455b-4ae9-85a4-c4c02393f86c"),ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("5cc3b908-e619-4b99-88e5-2cf7f45965bd"),ResponseHeadersPolicy.SECURITY_HEADERS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("67f7725c-6f97-4210-82d7-5512b31e9d03"),ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("e61eb60c-9c35-4d20-a928-2b84e02af89c"),ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("eaab4381-ed33-4a86-88ca-d9558dc6cd63");var HeadersFrameOption;(function(HeadersFrameOption2){HeadersFrameOption2.DENY="DENY",HeadersFrameOption2.SAMEORIGIN="SAMEORIGIN"})(HeadersFrameOption=exports.HeadersFrameOption||(exports.HeadersFrameOption={}));var HeadersReferrerPolicy;(function(HeadersReferrerPolicy2){HeadersReferrerPolicy2.NO_REFERRER="no-referrer",HeadersReferrerPolicy2.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",HeadersReferrerPolicy2.ORIGIN="origin",HeadersReferrerPolicy2.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",HeadersReferrerPolicy2.SAME_ORIGIN="same-origin",HeadersReferrerPolicy2.STRICT_ORIGIN="strict-origin",HeadersReferrerPolicy2.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin",HeadersReferrerPolicy2.UNSAFE_URL="unsafe-url"})(HeadersReferrerPolicy=exports.HeadersReferrerPolicy||(exports.HeadersReferrerPolicy={}));
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.HeadersReferrerPolicy=exports.HeadersFrameOption=exports.ResponseHeadersPolicy=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),core_1=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated");class ResponseHeadersPolicy extends core_1.Resource{constructor(scope,id,props={}){super(scope,id,{physicalName:props.responseHeadersPolicyName});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_ResponseHeadersPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,ResponseHeadersPolicy),error}const responseHeadersPolicyName=props.responseHeadersPolicyName??core_1.Names.uniqueResourceName(this,{maxLength:128}),resource=new cloudfront_generated_1.CfnResponseHeadersPolicy(this,"Resource",{responseHeadersPolicyConfig:{name:responseHeadersPolicyName,comment:props.comment,corsConfig:props.corsBehavior?this._renderCorsConfig(props.corsBehavior):void 0,customHeadersConfig:props.customHeadersBehavior?this._renderCustomHeadersConfig(props.customHeadersBehavior):void 0,securityHeadersConfig:props.securityHeadersBehavior?this._renderSecurityHeadersConfig(props.securityHeadersBehavior):void 0}});this.responseHeadersPolicyId=resource.ref}static fromResponseHeadersPolicyId(scope,id,responseHeadersPolicyId){class Import extends core_1.Resource{constructor(){super(...arguments),this.responseHeadersPolicyId=responseHeadersPolicyId}}return new Import(scope,id)}static fromManagedResponseHeadersPolicy(managedResponseHeadersPolicyId){return new class{constructor(){this.responseHeadersPolicyId=managedResponseHeadersPolicyId}}}_renderCorsConfig(behavior){return{accessControlAllowCredentials:behavior.accessControlAllowCredentials,accessControlAllowHeaders:{items:behavior.accessControlAllowHeaders},accessControlAllowMethods:{items:behavior.accessControlAllowMethods},accessControlAllowOrigins:{items:behavior.accessControlAllowOrigins},accessControlExposeHeaders:behavior.accessControlExposeHeaders?{items:behavior.accessControlExposeHeaders}:void 0,accessControlMaxAgeSec:behavior.accessControlMaxAge?behavior.accessControlMaxAge.toSeconds():void 0,originOverride:behavior.originOverride}}_renderCustomHeadersConfig(behavior){return{items:behavior.customHeaders}}_renderSecurityHeadersConfig(behavior){return{contentSecurityPolicy:behavior.contentSecurityPolicy,contentTypeOptions:behavior.contentTypeOptions,frameOptions:behavior.frameOptions,referrerPolicy:behavior.referrerPolicy,strictTransportSecurity:behavior.strictTransportSecurity?{...behavior.strictTransportSecurity,accessControlMaxAgeSec:behavior.strictTransportSecurity.accessControlMaxAge.toSeconds()}:void 0,xssProtection:behavior.xssProtection}}}exports.ResponseHeadersPolicy=ResponseHeadersPolicy,_a=JSII_RTTI_SYMBOL_1,ResponseHeadersPolicy[_a]={fqn:"aws-cdk-lib.aws_cloudfront.ResponseHeadersPolicy",version:"2.51.1"},ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("60669652-455b-4ae9-85a4-c4c02393f86c"),ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("5cc3b908-e619-4b99-88e5-2cf7f45965bd"),ResponseHeadersPolicy.SECURITY_HEADERS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("67f7725c-6f97-4210-82d7-5512b31e9d03"),ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("e61eb60c-9c35-4d20-a928-2b84e02af89c"),ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS=ResponseHeadersPolicy.fromManagedResponseHeadersPolicy("eaab4381-ed33-4a86-88ca-d9558dc6cd63");var HeadersFrameOption;(function(HeadersFrameOption2){HeadersFrameOption2.DENY="DENY",HeadersFrameOption2.SAMEORIGIN="SAMEORIGIN"})(HeadersFrameOption=exports.HeadersFrameOption||(exports.HeadersFrameOption={}));var HeadersReferrerPolicy;(function(HeadersReferrerPolicy2){HeadersReferrerPolicy2.NO_REFERRER="no-referrer",HeadersReferrerPolicy2.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",HeadersReferrerPolicy2.ORIGIN="origin",HeadersReferrerPolicy2.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",HeadersReferrerPolicy2.SAME_ORIGIN="same-origin",HeadersReferrerPolicy2.STRICT_ORIGIN="strict-origin",HeadersReferrerPolicy2.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin",HeadersReferrerPolicy2.UNSAFE_URL="unsafe-url"})(HeadersReferrerPolicy=exports.HeadersReferrerPolicy||(exports.HeadersReferrerPolicy={}));
2
2
  //# sourceMappingURL=response-headers-policy.js.map
@@ -1,3 +1,3 @@
1
- "use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudFrontWebDistribution=exports.ViewerCertificate=exports.CloudFrontAllowedCachedMethods=exports.CloudFrontAllowedMethods=exports.OriginSslPolicy=exports.FailoverStatusCode=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),certificatemanager=require("../../aws-certificatemanager"),iam=require("../../aws-iam"),s3=require("../../aws-s3"),cdk=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated"),distribution_1=require("./distribution");var FailoverStatusCode;(function(FailoverStatusCode2){FailoverStatusCode2[FailoverStatusCode2.FORBIDDEN=403]="FORBIDDEN",FailoverStatusCode2[FailoverStatusCode2.NOT_FOUND=404]="NOT_FOUND",FailoverStatusCode2[FailoverStatusCode2.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",FailoverStatusCode2[FailoverStatusCode2.BAD_GATEWAY=502]="BAD_GATEWAY",FailoverStatusCode2[FailoverStatusCode2.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",FailoverStatusCode2[FailoverStatusCode2.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT"})(FailoverStatusCode=exports.FailoverStatusCode||(exports.FailoverStatusCode={}));var OriginSslPolicy;(function(OriginSslPolicy2){OriginSslPolicy2.SSL_V3="SSLv3",OriginSslPolicy2.TLS_V1="TLSv1",OriginSslPolicy2.TLS_V1_1="TLSv1.1",OriginSslPolicy2.TLS_V1_2="TLSv1.2"})(OriginSslPolicy=exports.OriginSslPolicy||(exports.OriginSslPolicy={}));var CloudFrontAllowedMethods;(function(CloudFrontAllowedMethods2){CloudFrontAllowedMethods2.GET_HEAD="GH",CloudFrontAllowedMethods2.GET_HEAD_OPTIONS="GHO",CloudFrontAllowedMethods2.ALL="ALL"})(CloudFrontAllowedMethods=exports.CloudFrontAllowedMethods||(exports.CloudFrontAllowedMethods={}));var CloudFrontAllowedCachedMethods;(function(CloudFrontAllowedCachedMethods2){CloudFrontAllowedCachedMethods2.GET_HEAD="GH",CloudFrontAllowedCachedMethods2.GET_HEAD_OPTIONS="GHO"})(CloudFrontAllowedCachedMethods=exports.CloudFrontAllowedCachedMethods||(exports.CloudFrontAllowedCachedMethods={}));class ViewerCertificate{constructor(props,aliases=[]){this.props=props,this.aliases=aliases}static fromAcmCertificate(certificate,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_certificatemanager_ICertificate(certificate),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_ViewerCertificateOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromAcmCertificate),error}const{sslMethod:sslSupportMethod=distribution_1.SSLMethod.SNI,securityPolicy:minimumProtocolVersion,aliases}=options;return new ViewerCertificate({acmCertificateArn:certificate.certificateArn,sslSupportMethod,minimumProtocolVersion},aliases)}static fromIamCertificate(iamCertificateId,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_ViewerCertificateOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromIamCertificate),error}const{sslMethod:sslSupportMethod=distribution_1.SSLMethod.SNI,securityPolicy:minimumProtocolVersion,aliases}=options;return new ViewerCertificate({iamCertificateId,sslSupportMethod,minimumProtocolVersion},aliases)}static fromCloudFrontDefaultCertificate(...aliases){return new ViewerCertificate({cloudFrontDefaultCertificate:!0},aliases)}}exports.ViewerCertificate=ViewerCertificate,_a=JSII_RTTI_SYMBOL_1,ViewerCertificate[_a]={fqn:"aws-cdk-lib.aws_cloudfront.ViewerCertificate",version:"2.51.0"};class CloudFrontWebDistribution extends cdk.Resource{constructor(scope,id,props){super(scope,id),this.METHOD_LOOKUP_MAP={GH:["GET","HEAD"],GHO:["GET","HEAD","OPTIONS"],ALL:["DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT"]},this.VALID_SSL_PROTOCOLS={[distribution_1.SSLMethod.SNI]:[distribution_1.SecurityPolicyProtocol.TLS_V1,distribution_1.SecurityPolicyProtocol.TLS_V1_1_2016,distribution_1.SecurityPolicyProtocol.TLS_V1_2016,distribution_1.SecurityPolicyProtocol.TLS_V1_2_2018,distribution_1.SecurityPolicyProtocol.TLS_V1_2_2019,distribution_1.SecurityPolicyProtocol.TLS_V1_2_2021],[distribution_1.SSLMethod.VIP]:[distribution_1.SecurityPolicyProtocol.SSL_V3,distribution_1.SecurityPolicyProtocol.TLS_V1]};try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_CloudFrontWebDistributionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CloudFrontWebDistribution),error}const trimmedComment=props.comment&&props.comment.length>128?`${props.comment.slice(0,128-3)}...`:props.comment,behaviors=[],origins=[],originGroups=[];let originIndex=1;for(const originConfig of props.originConfigs){let originId=`origin${originIndex}`;const originProperty=this.toOriginProperty(originConfig,originId);if(originConfig.failoverCustomOriginSource||originConfig.failoverS3OriginSource){const originSecondaryId=`originSecondary${originIndex}`,originSecondaryProperty=this.toOriginProperty({s3OriginSource:originConfig.failoverS3OriginSource,customOriginSource:originConfig.failoverCustomOriginSource,originPath:originConfig.originPath,originHeaders:originConfig.originHeaders,originShieldRegion:originConfig.originShieldRegion},originSecondaryId),originGroupsId=`OriginGroup${originIndex}`,failoverCodes=originConfig.failoverCriteriaStatusCodes??[500,502,503,504];originGroups.push({id:originGroupsId,members:{items:[{originId},{originId:originSecondaryId}],quantity:2},failoverCriteria:{statusCodes:{items:failoverCodes,quantity:failoverCodes.length}}}),originId=originGroupsId,origins.push(originSecondaryProperty)}for(const behavior of originConfig.behaviors)behaviors.push({...behavior,targetOriginId:originId});origins.push(originProperty),originIndex++}origins.forEach(origin=>{if(!origin.s3OriginConfig&&!origin.customOriginConfig)throw new Error(`Origin ${origin.domainName} is missing either S3OriginConfig or CustomOriginConfig. At least 1 must be specified.`)});const originGroupsDistConfig=originGroups.length>0?{items:originGroups,quantity:originGroups.length}:void 0,defaultBehaviors=behaviors.filter(behavior=>behavior.isDefaultBehavior);if(defaultBehaviors.length!==1)throw new Error("There can only be one default behavior across all sources. [ One default behavior per distribution ].");const otherBehaviors=[];for(const behavior of behaviors.filter(b=>!b.isDefaultBehavior)){if(!behavior.pathPattern)throw new Error("pathPattern is required for all non-default behaviors");otherBehaviors.push(this.toBehavior(behavior,props.viewerProtocolPolicy))}let distributionConfig={comment:trimmedComment,enabled:props.enabled??!0,defaultRootObject:props.defaultRootObject??"index.html",httpVersion:props.httpVersion||distribution_1.HttpVersion.HTTP2,priceClass:props.priceClass||distribution_1.PriceClass.PRICE_CLASS_100,ipv6Enabled:props.enableIpV6??!0,customErrorResponses:props.errorConfigurations,webAclId:props.webACLId,origins,originGroups:originGroupsDistConfig,defaultCacheBehavior:this.toBehavior(defaultBehaviors[0],props.viewerProtocolPolicy),cacheBehaviors:otherBehaviors.length>0?otherBehaviors:void 0};if(props.aliasConfiguration&&props.viewerCertificate)throw new Error(["You cannot set both aliasConfiguration and viewerCertificate properties.","Please only use viewerCertificate, as aliasConfiguration is deprecated."].join(" "));let _viewerCertificate=props.viewerCertificate;if(props.aliasConfiguration){const{acmCertRef,securityPolicy,sslMethod,names:aliases}=props.aliasConfiguration;_viewerCertificate=ViewerCertificate.fromAcmCertificate(certificatemanager.Certificate.fromCertificateArn(this,"AliasConfigurationCert",acmCertRef),{securityPolicy,sslMethod,aliases})}if(_viewerCertificate){const{props:viewerCertificate,aliases}=_viewerCertificate;Object.assign(distributionConfig,{aliases,viewerCertificate});const{minimumProtocolVersion,sslSupportMethod}=viewerCertificate;if(minimumProtocolVersion!=null&&sslSupportMethod!=null){const validProtocols=this.VALID_SSL_PROTOCOLS[sslSupportMethod];if(validProtocols.indexOf(minimumProtocolVersion.toString())===-1)throw new Error(`${minimumProtocolVersion} is not compabtible with sslMethod ${sslSupportMethod}.
2
- Valid Protocols are: ${validProtocols.join(", ")}`)}}else distributionConfig={...distributionConfig,viewerCertificate:{cloudFrontDefaultCertificate:!0}};props.loggingConfig&&(this.loggingBucket=props.loggingConfig.bucket||new s3.Bucket(this,"LoggingBucket",{encryption:s3.BucketEncryption.S3_MANAGED}),distributionConfig={...distributionConfig,logging:{bucket:this.loggingBucket.bucketRegionalDomainName,includeCookies:props.loggingConfig.includeCookies||!1,prefix:props.loggingConfig.prefix}}),props.geoRestriction&&(distributionConfig={...distributionConfig,restrictions:{geoRestriction:{restrictionType:props.geoRestriction.restrictionType,locations:props.geoRestriction.locations}}});const distribution=new cloudfront_generated_1.CfnDistribution(this,"CFDistribution",{distributionConfig});this.node.defaultChild=distribution,this.domainName=distribution.attrDomainName,this.distributionDomainName=distribution.attrDomainName,this.distributionId=distribution.ref}static fromDistributionAttributes(scope,id,attrs){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_CloudFrontWebDistributionAttributes(attrs)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromDistributionAttributes),error}return new class extends cdk.Resource{constructor(){super(scope,id),this.domainName=attrs.domainName,this.distributionDomainName=attrs.domainName,this.distributionId=attrs.distributionId}}}toBehavior(input,protoPolicy){let toReturn={allowedMethods:this.METHOD_LOOKUP_MAP[input.allowedMethods||CloudFrontAllowedMethods.GET_HEAD],cachedMethods:this.METHOD_LOOKUP_MAP[input.cachedMethods||CloudFrontAllowedCachedMethods.GET_HEAD],compress:input.compress!==!1,defaultTtl:input.defaultTtl&&input.defaultTtl.toSeconds(),forwardedValues:input.forwardedValues||{queryString:!1,cookies:{forward:"none"}},maxTtl:input.maxTtl&&input.maxTtl.toSeconds(),minTtl:input.minTtl&&input.minTtl.toSeconds(),trustedKeyGroups:input.trustedKeyGroups?.map(key=>key.keyGroupId),trustedSigners:input.trustedSigners,targetOriginId:input.targetOriginId,viewerProtocolPolicy:input.viewerProtocolPolicy||protoPolicy||distribution_1.ViewerProtocolPolicy.REDIRECT_TO_HTTPS};if(input.isDefaultBehavior||(toReturn=Object.assign(toReturn,{pathPattern:input.pathPattern})),input.functionAssociations&&(toReturn=Object.assign(toReturn,{functionAssociations:input.functionAssociations.map(association=>({functionArn:association.function.functionArn,eventType:association.eventType.toString()}))})),input.lambdaFunctionAssociations){const includeBodyEventTypes=[distribution_1.LambdaEdgeEventType.ORIGIN_REQUEST,distribution_1.LambdaEdgeEventType.VIEWER_REQUEST];if(input.lambdaFunctionAssociations.some(fna=>fna.includeBody&&!includeBodyEventTypes.includes(fna.eventType)))throw new Error("'includeBody' can only be true for ORIGIN_REQUEST or VIEWER_REQUEST event types.");toReturn=Object.assign(toReturn,{lambdaFunctionAssociations:input.lambdaFunctionAssociations.map(fna=>({eventType:fna.eventType,lambdaFunctionArn:fna.lambdaFunction&&fna.lambdaFunction.edgeArn,includeBody:fna.includeBody}))});for(const a of input.lambdaFunctionAssociations)a.lambdaFunction.role&&a.lambdaFunction.role instanceof iam.Role&&a.lambdaFunction.role.assumeRolePolicy&&a.lambdaFunction.role.assumeRolePolicy.addStatements(new iam.PolicyStatement({actions:["sts:AssumeRole"],principals:[new iam.ServicePrincipal("edgelambda.amazonaws.com")]}))}return toReturn}toOriginProperty(originConfig,originId){if(!originConfig.s3OriginSource&&!originConfig.customOriginSource)throw new Error("There must be at least one origin source - either an s3OriginSource, a customOriginSource");if(originConfig.customOriginSource&&originConfig.s3OriginSource)throw new Error("There cannot be both an s3OriginSource and a customOriginSource in the same SourceConfiguration.");if([originConfig.originHeaders,originConfig.s3OriginSource?.originHeaders,originConfig.customOriginSource?.originHeaders].filter(x=>x).length>1)throw new Error("Only one originHeaders field allowed across origin and failover origins");if([originConfig.originPath,originConfig.s3OriginSource?.originPath,originConfig.customOriginSource?.originPath].filter(x=>x).length>1)throw new Error("Only one originPath field allowed across origin and failover origins");if([originConfig.originShieldRegion,originConfig.s3OriginSource?.originShieldRegion,originConfig.customOriginSource?.originShieldRegion].filter(x=>x).length>1)throw new Error("Only one originShieldRegion field allowed across origin and failover origins");const headers=originConfig.originHeaders??originConfig.s3OriginSource?.originHeaders??originConfig.customOriginSource?.originHeaders,originHeaders=[];headers&&Object.keys(headers).forEach(key=>{const oHeader={headerName:key,headerValue:headers[key]};originHeaders.push(oHeader)});let s3OriginConfig;originConfig.s3OriginSource&&(originConfig.s3OriginSource.originAccessIdentity?(originConfig.s3OriginSource.s3BucketSource.addToResourcePolicy(new iam.PolicyStatement({resources:[originConfig.s3OriginSource.s3BucketSource.arnForObjects("*")],actions:["s3:GetObject"],principals:[originConfig.s3OriginSource.originAccessIdentity.grantPrincipal]})),s3OriginConfig={originAccessIdentity:`origin-access-identity/cloudfront/${originConfig.s3OriginSource.originAccessIdentity.originAccessIdentityId}`}):s3OriginConfig={});const connectionAttempts=originConfig.connectionAttempts??3;if(connectionAttempts<1||3<connectionAttempts||!Number.isInteger(connectionAttempts))throw new Error("connectionAttempts: You can specify 1, 2, or 3 as the number of attempts.");const connectionTimeout=(originConfig.connectionTimeout||cdk.Duration.seconds(10)).toSeconds();if(connectionTimeout<1||10<connectionTimeout||!Number.isInteger(connectionTimeout))throw new Error("connectionTimeout: You can specify a number of seconds between 1 and 10 (inclusive).");return{id:originId,domainName:originConfig.s3OriginSource?originConfig.s3OriginSource.s3BucketSource.bucketRegionalDomainName:originConfig.customOriginSource.domainName,originPath:originConfig.originPath??originConfig.customOriginSource?.originPath??originConfig.s3OriginSource?.originPath,originCustomHeaders:originHeaders.length>0?originHeaders:void 0,s3OriginConfig,originShield:this.toOriginShieldProperty(originConfig),customOriginConfig:originConfig.customOriginSource?{httpPort:originConfig.customOriginSource.httpPort||80,httpsPort:originConfig.customOriginSource.httpsPort||443,originKeepaliveTimeout:originConfig.customOriginSource.originKeepaliveTimeout&&originConfig.customOriginSource.originKeepaliveTimeout.toSeconds()||5,originReadTimeout:originConfig.customOriginSource.originReadTimeout&&originConfig.customOriginSource.originReadTimeout.toSeconds()||30,originProtocolPolicy:originConfig.customOriginSource.originProtocolPolicy||distribution_1.OriginProtocolPolicy.HTTPS_ONLY,originSslProtocols:originConfig.customOriginSource.allowedOriginSSLVersions||[OriginSslPolicy.TLS_V1_2]}:void 0,connectionAttempts,connectionTimeout}}toOriginShieldProperty(originConfig){const originShieldRegion=originConfig.originShieldRegion??originConfig.customOriginSource?.originShieldRegion??originConfig.s3OriginSource?.originShieldRegion;return originShieldRegion?{enabled:!0,originShieldRegion}:void 0}}exports.CloudFrontWebDistribution=CloudFrontWebDistribution,_b=JSII_RTTI_SYMBOL_1,CloudFrontWebDistribution[_b]={fqn:"aws-cdk-lib.aws_cloudfront.CloudFrontWebDistribution",version:"2.51.0"};
1
+ "use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudFrontWebDistribution=exports.ViewerCertificate=exports.CloudFrontAllowedCachedMethods=exports.CloudFrontAllowedMethods=exports.OriginSslPolicy=exports.FailoverStatusCode=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),certificatemanager=require("../../aws-certificatemanager"),iam=require("../../aws-iam"),s3=require("../../aws-s3"),cdk=require("../../core"),cloudfront_generated_1=require("./cloudfront.generated"),distribution_1=require("./distribution");var FailoverStatusCode;(function(FailoverStatusCode2){FailoverStatusCode2[FailoverStatusCode2.FORBIDDEN=403]="FORBIDDEN",FailoverStatusCode2[FailoverStatusCode2.NOT_FOUND=404]="NOT_FOUND",FailoverStatusCode2[FailoverStatusCode2.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",FailoverStatusCode2[FailoverStatusCode2.BAD_GATEWAY=502]="BAD_GATEWAY",FailoverStatusCode2[FailoverStatusCode2.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",FailoverStatusCode2[FailoverStatusCode2.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT"})(FailoverStatusCode=exports.FailoverStatusCode||(exports.FailoverStatusCode={}));var OriginSslPolicy;(function(OriginSslPolicy2){OriginSslPolicy2.SSL_V3="SSLv3",OriginSslPolicy2.TLS_V1="TLSv1",OriginSslPolicy2.TLS_V1_1="TLSv1.1",OriginSslPolicy2.TLS_V1_2="TLSv1.2"})(OriginSslPolicy=exports.OriginSslPolicy||(exports.OriginSslPolicy={}));var CloudFrontAllowedMethods;(function(CloudFrontAllowedMethods2){CloudFrontAllowedMethods2.GET_HEAD="GH",CloudFrontAllowedMethods2.GET_HEAD_OPTIONS="GHO",CloudFrontAllowedMethods2.ALL="ALL"})(CloudFrontAllowedMethods=exports.CloudFrontAllowedMethods||(exports.CloudFrontAllowedMethods={}));var CloudFrontAllowedCachedMethods;(function(CloudFrontAllowedCachedMethods2){CloudFrontAllowedCachedMethods2.GET_HEAD="GH",CloudFrontAllowedCachedMethods2.GET_HEAD_OPTIONS="GHO"})(CloudFrontAllowedCachedMethods=exports.CloudFrontAllowedCachedMethods||(exports.CloudFrontAllowedCachedMethods={}));class ViewerCertificate{constructor(props,aliases=[]){this.props=props,this.aliases=aliases}static fromAcmCertificate(certificate,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_certificatemanager_ICertificate(certificate),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_ViewerCertificateOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromAcmCertificate),error}const{sslMethod:sslSupportMethod=distribution_1.SSLMethod.SNI,securityPolicy:minimumProtocolVersion,aliases}=options;return new ViewerCertificate({acmCertificateArn:certificate.certificateArn,sslSupportMethod,minimumProtocolVersion},aliases)}static fromIamCertificate(iamCertificateId,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_ViewerCertificateOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromIamCertificate),error}const{sslMethod:sslSupportMethod=distribution_1.SSLMethod.SNI,securityPolicy:minimumProtocolVersion,aliases}=options;return new ViewerCertificate({iamCertificateId,sslSupportMethod,minimumProtocolVersion},aliases)}static fromCloudFrontDefaultCertificate(...aliases){return new ViewerCertificate({cloudFrontDefaultCertificate:!0},aliases)}}exports.ViewerCertificate=ViewerCertificate,_a=JSII_RTTI_SYMBOL_1,ViewerCertificate[_a]={fqn:"aws-cdk-lib.aws_cloudfront.ViewerCertificate",version:"2.51.1"};class CloudFrontWebDistribution extends cdk.Resource{constructor(scope,id,props){super(scope,id),this.METHOD_LOOKUP_MAP={GH:["GET","HEAD"],GHO:["GET","HEAD","OPTIONS"],ALL:["DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT"]},this.VALID_SSL_PROTOCOLS={[distribution_1.SSLMethod.SNI]:[distribution_1.SecurityPolicyProtocol.TLS_V1,distribution_1.SecurityPolicyProtocol.TLS_V1_1_2016,distribution_1.SecurityPolicyProtocol.TLS_V1_2016,distribution_1.SecurityPolicyProtocol.TLS_V1_2_2018,distribution_1.SecurityPolicyProtocol.TLS_V1_2_2019,distribution_1.SecurityPolicyProtocol.TLS_V1_2_2021],[distribution_1.SSLMethod.VIP]:[distribution_1.SecurityPolicyProtocol.SSL_V3,distribution_1.SecurityPolicyProtocol.TLS_V1]};try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_CloudFrontWebDistributionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CloudFrontWebDistribution),error}const trimmedComment=props.comment&&props.comment.length>128?`${props.comment.slice(0,128-3)}...`:props.comment,behaviors=[],origins=[],originGroups=[];let originIndex=1;for(const originConfig of props.originConfigs){let originId=`origin${originIndex}`;const originProperty=this.toOriginProperty(originConfig,originId);if(originConfig.failoverCustomOriginSource||originConfig.failoverS3OriginSource){const originSecondaryId=`originSecondary${originIndex}`,originSecondaryProperty=this.toOriginProperty({s3OriginSource:originConfig.failoverS3OriginSource,customOriginSource:originConfig.failoverCustomOriginSource,originPath:originConfig.originPath,originHeaders:originConfig.originHeaders,originShieldRegion:originConfig.originShieldRegion},originSecondaryId),originGroupsId=`OriginGroup${originIndex}`,failoverCodes=originConfig.failoverCriteriaStatusCodes??[500,502,503,504];originGroups.push({id:originGroupsId,members:{items:[{originId},{originId:originSecondaryId}],quantity:2},failoverCriteria:{statusCodes:{items:failoverCodes,quantity:failoverCodes.length}}}),originId=originGroupsId,origins.push(originSecondaryProperty)}for(const behavior of originConfig.behaviors)behaviors.push({...behavior,targetOriginId:originId});origins.push(originProperty),originIndex++}origins.forEach(origin=>{if(!origin.s3OriginConfig&&!origin.customOriginConfig)throw new Error(`Origin ${origin.domainName} is missing either S3OriginConfig or CustomOriginConfig. At least 1 must be specified.`)});const originGroupsDistConfig=originGroups.length>0?{items:originGroups,quantity:originGroups.length}:void 0,defaultBehaviors=behaviors.filter(behavior=>behavior.isDefaultBehavior);if(defaultBehaviors.length!==1)throw new Error("There can only be one default behavior across all sources. [ One default behavior per distribution ].");const otherBehaviors=[];for(const behavior of behaviors.filter(b=>!b.isDefaultBehavior)){if(!behavior.pathPattern)throw new Error("pathPattern is required for all non-default behaviors");otherBehaviors.push(this.toBehavior(behavior,props.viewerProtocolPolicy))}let distributionConfig={comment:trimmedComment,enabled:props.enabled??!0,defaultRootObject:props.defaultRootObject??"index.html",httpVersion:props.httpVersion||distribution_1.HttpVersion.HTTP2,priceClass:props.priceClass||distribution_1.PriceClass.PRICE_CLASS_100,ipv6Enabled:props.enableIpV6??!0,customErrorResponses:props.errorConfigurations,webAclId:props.webACLId,origins,originGroups:originGroupsDistConfig,defaultCacheBehavior:this.toBehavior(defaultBehaviors[0],props.viewerProtocolPolicy),cacheBehaviors:otherBehaviors.length>0?otherBehaviors:void 0};if(props.aliasConfiguration&&props.viewerCertificate)throw new Error(["You cannot set both aliasConfiguration and viewerCertificate properties.","Please only use viewerCertificate, as aliasConfiguration is deprecated."].join(" "));let _viewerCertificate=props.viewerCertificate;if(props.aliasConfiguration){const{acmCertRef,securityPolicy,sslMethod,names:aliases}=props.aliasConfiguration;_viewerCertificate=ViewerCertificate.fromAcmCertificate(certificatemanager.Certificate.fromCertificateArn(this,"AliasConfigurationCert",acmCertRef),{securityPolicy,sslMethod,aliases})}if(_viewerCertificate){const{props:viewerCertificate,aliases}=_viewerCertificate;Object.assign(distributionConfig,{aliases,viewerCertificate});const{minimumProtocolVersion,sslSupportMethod}=viewerCertificate;if(minimumProtocolVersion!=null&&sslSupportMethod!=null){const validProtocols=this.VALID_SSL_PROTOCOLS[sslSupportMethod];if(validProtocols.indexOf(minimumProtocolVersion.toString())===-1)throw new Error(`${minimumProtocolVersion} is not compabtible with sslMethod ${sslSupportMethod}.
2
+ Valid Protocols are: ${validProtocols.join(", ")}`)}}else distributionConfig={...distributionConfig,viewerCertificate:{cloudFrontDefaultCertificate:!0}};props.loggingConfig&&(this.loggingBucket=props.loggingConfig.bucket||new s3.Bucket(this,"LoggingBucket",{encryption:s3.BucketEncryption.S3_MANAGED}),distributionConfig={...distributionConfig,logging:{bucket:this.loggingBucket.bucketRegionalDomainName,includeCookies:props.loggingConfig.includeCookies||!1,prefix:props.loggingConfig.prefix}}),props.geoRestriction&&(distributionConfig={...distributionConfig,restrictions:{geoRestriction:{restrictionType:props.geoRestriction.restrictionType,locations:props.geoRestriction.locations}}});const distribution=new cloudfront_generated_1.CfnDistribution(this,"CFDistribution",{distributionConfig});this.node.defaultChild=distribution,this.domainName=distribution.attrDomainName,this.distributionDomainName=distribution.attrDomainName,this.distributionId=distribution.ref}static fromDistributionAttributes(scope,id,attrs){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_CloudFrontWebDistributionAttributes(attrs)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromDistributionAttributes),error}return new class extends cdk.Resource{constructor(){super(scope,id),this.domainName=attrs.domainName,this.distributionDomainName=attrs.domainName,this.distributionId=attrs.distributionId}}}toBehavior(input,protoPolicy){let toReturn={allowedMethods:this.METHOD_LOOKUP_MAP[input.allowedMethods||CloudFrontAllowedMethods.GET_HEAD],cachedMethods:this.METHOD_LOOKUP_MAP[input.cachedMethods||CloudFrontAllowedCachedMethods.GET_HEAD],compress:input.compress!==!1,defaultTtl:input.defaultTtl&&input.defaultTtl.toSeconds(),forwardedValues:input.forwardedValues||{queryString:!1,cookies:{forward:"none"}},maxTtl:input.maxTtl&&input.maxTtl.toSeconds(),minTtl:input.minTtl&&input.minTtl.toSeconds(),trustedKeyGroups:input.trustedKeyGroups?.map(key=>key.keyGroupId),trustedSigners:input.trustedSigners,targetOriginId:input.targetOriginId,viewerProtocolPolicy:input.viewerProtocolPolicy||protoPolicy||distribution_1.ViewerProtocolPolicy.REDIRECT_TO_HTTPS};if(input.isDefaultBehavior||(toReturn=Object.assign(toReturn,{pathPattern:input.pathPattern})),input.functionAssociations&&(toReturn=Object.assign(toReturn,{functionAssociations:input.functionAssociations.map(association=>({functionArn:association.function.functionArn,eventType:association.eventType.toString()}))})),input.lambdaFunctionAssociations){const includeBodyEventTypes=[distribution_1.LambdaEdgeEventType.ORIGIN_REQUEST,distribution_1.LambdaEdgeEventType.VIEWER_REQUEST];if(input.lambdaFunctionAssociations.some(fna=>fna.includeBody&&!includeBodyEventTypes.includes(fna.eventType)))throw new Error("'includeBody' can only be true for ORIGIN_REQUEST or VIEWER_REQUEST event types.");toReturn=Object.assign(toReturn,{lambdaFunctionAssociations:input.lambdaFunctionAssociations.map(fna=>({eventType:fna.eventType,lambdaFunctionArn:fna.lambdaFunction&&fna.lambdaFunction.edgeArn,includeBody:fna.includeBody}))});for(const a of input.lambdaFunctionAssociations)a.lambdaFunction.role&&a.lambdaFunction.role instanceof iam.Role&&a.lambdaFunction.role.assumeRolePolicy&&a.lambdaFunction.role.assumeRolePolicy.addStatements(new iam.PolicyStatement({actions:["sts:AssumeRole"],principals:[new iam.ServicePrincipal("edgelambda.amazonaws.com")]}))}return toReturn}toOriginProperty(originConfig,originId){if(!originConfig.s3OriginSource&&!originConfig.customOriginSource)throw new Error("There must be at least one origin source - either an s3OriginSource, a customOriginSource");if(originConfig.customOriginSource&&originConfig.s3OriginSource)throw new Error("There cannot be both an s3OriginSource and a customOriginSource in the same SourceConfiguration.");if([originConfig.originHeaders,originConfig.s3OriginSource?.originHeaders,originConfig.customOriginSource?.originHeaders].filter(x=>x).length>1)throw new Error("Only one originHeaders field allowed across origin and failover origins");if([originConfig.originPath,originConfig.s3OriginSource?.originPath,originConfig.customOriginSource?.originPath].filter(x=>x).length>1)throw new Error("Only one originPath field allowed across origin and failover origins");if([originConfig.originShieldRegion,originConfig.s3OriginSource?.originShieldRegion,originConfig.customOriginSource?.originShieldRegion].filter(x=>x).length>1)throw new Error("Only one originShieldRegion field allowed across origin and failover origins");const headers=originConfig.originHeaders??originConfig.s3OriginSource?.originHeaders??originConfig.customOriginSource?.originHeaders,originHeaders=[];headers&&Object.keys(headers).forEach(key=>{const oHeader={headerName:key,headerValue:headers[key]};originHeaders.push(oHeader)});let s3OriginConfig;originConfig.s3OriginSource&&(originConfig.s3OriginSource.originAccessIdentity?(originConfig.s3OriginSource.s3BucketSource.addToResourcePolicy(new iam.PolicyStatement({resources:[originConfig.s3OriginSource.s3BucketSource.arnForObjects("*")],actions:["s3:GetObject"],principals:[originConfig.s3OriginSource.originAccessIdentity.grantPrincipal]})),s3OriginConfig={originAccessIdentity:`origin-access-identity/cloudfront/${originConfig.s3OriginSource.originAccessIdentity.originAccessIdentityId}`}):s3OriginConfig={});const connectionAttempts=originConfig.connectionAttempts??3;if(connectionAttempts<1||3<connectionAttempts||!Number.isInteger(connectionAttempts))throw new Error("connectionAttempts: You can specify 1, 2, or 3 as the number of attempts.");const connectionTimeout=(originConfig.connectionTimeout||cdk.Duration.seconds(10)).toSeconds();if(connectionTimeout<1||10<connectionTimeout||!Number.isInteger(connectionTimeout))throw new Error("connectionTimeout: You can specify a number of seconds between 1 and 10 (inclusive).");return{id:originId,domainName:originConfig.s3OriginSource?originConfig.s3OriginSource.s3BucketSource.bucketRegionalDomainName:originConfig.customOriginSource.domainName,originPath:originConfig.originPath??originConfig.customOriginSource?.originPath??originConfig.s3OriginSource?.originPath,originCustomHeaders:originHeaders.length>0?originHeaders:void 0,s3OriginConfig,originShield:this.toOriginShieldProperty(originConfig),customOriginConfig:originConfig.customOriginSource?{httpPort:originConfig.customOriginSource.httpPort||80,httpsPort:originConfig.customOriginSource.httpsPort||443,originKeepaliveTimeout:originConfig.customOriginSource.originKeepaliveTimeout&&originConfig.customOriginSource.originKeepaliveTimeout.toSeconds()||5,originReadTimeout:originConfig.customOriginSource.originReadTimeout&&originConfig.customOriginSource.originReadTimeout.toSeconds()||30,originProtocolPolicy:originConfig.customOriginSource.originProtocolPolicy||distribution_1.OriginProtocolPolicy.HTTPS_ONLY,originSslProtocols:originConfig.customOriginSource.allowedOriginSSLVersions||[OriginSslPolicy.TLS_V1_2]}:void 0,connectionAttempts,connectionTimeout}}toOriginShieldProperty(originConfig){const originShieldRegion=originConfig.originShieldRegion??originConfig.customOriginSource?.originShieldRegion??originConfig.s3OriginSource?.originShieldRegion;return originShieldRegion?{enabled:!0,originShieldRegion}:void 0}}exports.CloudFrontWebDistribution=CloudFrontWebDistribution,_b=JSII_RTTI_SYMBOL_1,CloudFrontWebDistribution[_b]={fqn:"aws-cdk-lib.aws_cloudfront.CloudFrontWebDistribution",version:"2.51.1"};
3
3
  //# sourceMappingURL=web-distribution.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpOrigin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cloudfront=require("../../aws-cloudfront"),utils_1=require("./private/utils");class HttpOrigin extends cloudfront.OriginBase{constructor(domainName,props={}){super(domainName,props),this.props=props;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_HttpOriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,HttpOrigin),error}utils_1.validateSecondsInRangeOrUndefined("readTimeout",1,180,props.readTimeout),utils_1.validateSecondsInRangeOrUndefined("keepaliveTimeout",1,180,props.keepaliveTimeout)}renderCustomOriginConfig(){return{originSslProtocols:this.props.originSslProtocols??[cloudfront.OriginSslPolicy.TLS_V1_2],originProtocolPolicy:this.props.protocolPolicy??cloudfront.OriginProtocolPolicy.HTTPS_ONLY,httpPort:this.props.httpPort,httpsPort:this.props.httpsPort,originReadTimeout:this.props.readTimeout?.toSeconds(),originKeepaliveTimeout:this.props.keepaliveTimeout?.toSeconds()}}}exports.HttpOrigin=HttpOrigin,_a=JSII_RTTI_SYMBOL_1,HttpOrigin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.HttpOrigin",version:"2.51.0"};
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpOrigin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cloudfront=require("../../aws-cloudfront"),utils_1=require("./private/utils");class HttpOrigin extends cloudfront.OriginBase{constructor(domainName,props={}){super(domainName,props),this.props=props;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_HttpOriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,HttpOrigin),error}utils_1.validateSecondsInRangeOrUndefined("readTimeout",1,180,props.readTimeout),utils_1.validateSecondsInRangeOrUndefined("keepaliveTimeout",1,180,props.keepaliveTimeout)}renderCustomOriginConfig(){return{originSslProtocols:this.props.originSslProtocols??[cloudfront.OriginSslPolicy.TLS_V1_2],originProtocolPolicy:this.props.protocolPolicy??cloudfront.OriginProtocolPolicy.HTTPS_ONLY,httpPort:this.props.httpPort,httpsPort:this.props.httpsPort,originReadTimeout:this.props.readTimeout?.toSeconds(),originKeepaliveTimeout:this.props.keepaliveTimeout?.toSeconds()}}}exports.HttpOrigin=HttpOrigin,_a=JSII_RTTI_SYMBOL_1,HttpOrigin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.HttpOrigin",version:"2.51.1"};
2
2
  //# sourceMappingURL=http-origin.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoadBalancerV2Origin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),http_origin_1=require("./http-origin");class LoadBalancerV2Origin extends http_origin_1.HttpOrigin{constructor(loadBalancer,props={}){super(loadBalancer.loadBalancerDnsName,{...props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_elasticloadbalancingv2_ILoadBalancerV2(loadBalancer),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_LoadBalancerV2OriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,LoadBalancerV2Origin),error}}}exports.LoadBalancerV2Origin=LoadBalancerV2Origin,_a=JSII_RTTI_SYMBOL_1,LoadBalancerV2Origin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.LoadBalancerV2Origin",version:"2.51.0"};
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoadBalancerV2Origin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),http_origin_1=require("./http-origin");class LoadBalancerV2Origin extends http_origin_1.HttpOrigin{constructor(loadBalancer,props={}){super(loadBalancer.loadBalancerDnsName,{...props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_elasticloadbalancingv2_ILoadBalancerV2(loadBalancer),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_LoadBalancerV2OriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,LoadBalancerV2Origin),error}}}exports.LoadBalancerV2Origin=LoadBalancerV2Origin,_a=JSII_RTTI_SYMBOL_1,LoadBalancerV2Origin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.LoadBalancerV2Origin",version:"2.51.1"};
2
2
  //# sourceMappingURL=load-balancer-origin.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginGroup=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class OriginGroup{constructor(props){this.props=props;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_OriginGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginGroup),error}}bind(scope,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginBindOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}const primaryOriginConfig=this.props.primaryOrigin.bind(scope,options);if(primaryOriginConfig.failoverConfig)throw new Error("An OriginGroup cannot use an Origin with its own failover configuration as its primary origin!");return{originProperty:primaryOriginConfig.originProperty,failoverConfig:{failoverOrigin:this.props.fallbackOrigin,statusCodes:this.props.fallbackStatusCodes}}}}exports.OriginGroup=OriginGroup,_a=JSII_RTTI_SYMBOL_1,OriginGroup[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.OriginGroup",version:"2.51.0"};
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.OriginGroup=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class OriginGroup{constructor(props){this.props=props;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_OriginGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OriginGroup),error}}bind(scope,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginBindOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}const primaryOriginConfig=this.props.primaryOrigin.bind(scope,options);if(primaryOriginConfig.failoverConfig)throw new Error("An OriginGroup cannot use an Origin with its own failover configuration as its primary origin!");return{originProperty:primaryOriginConfig.originProperty,failoverConfig:{failoverOrigin:this.props.fallbackOrigin,statusCodes:this.props.fallbackStatusCodes}}}}exports.OriginGroup=OriginGroup,_a=JSII_RTTI_SYMBOL_1,OriginGroup[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.OriginGroup",version:"2.51.1"};
2
2
  //# sourceMappingURL=origin-group.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.RestApiOrigin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cloudfront=require("../../aws-cloudfront"),cdk=require("../../core"),utils_1=require("./private/utils");class RestApiOrigin extends cloudfront.OriginBase{constructor(restApi,props={}){super(cdk.Fn.select(2,cdk.Fn.split("/",restApi.url)),{originPath:`/${cdk.Fn.select(3,cdk.Fn.split("/",restApi.url))}`,...props}),this.props=props;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_apigateway_RestApi(restApi),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_RestApiOriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,RestApiOrigin),error}utils_1.validateSecondsInRangeOrUndefined("readTimeout",1,180,props.readTimeout),utils_1.validateSecondsInRangeOrUndefined("keepaliveTimeout",1,180,props.keepaliveTimeout)}renderCustomOriginConfig(){return{originSslProtocols:[cloudfront.OriginSslPolicy.TLS_V1_2],originProtocolPolicy:cloudfront.OriginProtocolPolicy.HTTPS_ONLY,originReadTimeout:this.props.readTimeout?.toSeconds(),originKeepaliveTimeout:this.props.keepaliveTimeout?.toSeconds()}}}exports.RestApiOrigin=RestApiOrigin,_a=JSII_RTTI_SYMBOL_1,RestApiOrigin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.RestApiOrigin",version:"2.51.0"};
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.RestApiOrigin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cloudfront=require("../../aws-cloudfront"),cdk=require("../../core"),utils_1=require("./private/utils");class RestApiOrigin extends cloudfront.OriginBase{constructor(restApi,props={}){super(cdk.Fn.select(2,cdk.Fn.split("/",restApi.url)),{originPath:`/${cdk.Fn.select(3,cdk.Fn.split("/",restApi.url))}`,...props}),this.props=props;try{jsiiDeprecationWarnings.aws_cdk_lib_aws_apigateway_RestApi(restApi),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_RestApiOriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,RestApiOrigin),error}utils_1.validateSecondsInRangeOrUndefined("readTimeout",1,180,props.readTimeout),utils_1.validateSecondsInRangeOrUndefined("keepaliveTimeout",1,180,props.keepaliveTimeout)}renderCustomOriginConfig(){return{originSslProtocols:[cloudfront.OriginSslPolicy.TLS_V1_2],originProtocolPolicy:cloudfront.OriginProtocolPolicy.HTTPS_ONLY,originReadTimeout:this.props.readTimeout?.toSeconds(),originKeepaliveTimeout:this.props.keepaliveTimeout?.toSeconds()}}}exports.RestApiOrigin=RestApiOrigin,_a=JSII_RTTI_SYMBOL_1,RestApiOrigin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.RestApiOrigin",version:"2.51.1"};
2
2
  //# sourceMappingURL=rest-api-origin.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.S3Origin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cloudfront=require("../../aws-cloudfront"),iam=require("../../aws-iam"),cdk=require("../../core"),http_origin_1=require("./http-origin");class S3Origin{constructor(bucket,props={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_IBucket(bucket),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_S3OriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,S3Origin),error}this.origin=bucket.isWebsite?new http_origin_1.HttpOrigin(bucket.bucketWebsiteDomainName,{protocolPolicy:cloudfront.OriginProtocolPolicy.HTTP_ONLY,...props}):new S3BucketOrigin(bucket,props)}bind(scope,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginBindOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return this.origin.bind(scope,options)}}exports.S3Origin=S3Origin,_a=JSII_RTTI_SYMBOL_1,S3Origin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.S3Origin",version:"2.51.0"};class S3BucketOrigin extends cloudfront.OriginBase{constructor(bucket,{originAccessIdentity,...props}){super(bucket.bucketRegionalDomainName,props),this.bucket=bucket,originAccessIdentity&&(this.originAccessIdentity=originAccessIdentity)}bind(scope,options){if(!this.originAccessIdentity){const bucketStack=cdk.Stack.of(this.bucket),bucketInDifferentStack=bucketStack!==cdk.Stack.of(scope),oaiScope=bucketInDifferentStack?bucketStack:scope,oaiId=bucketInDifferentStack?`${cdk.Names.uniqueId(scope)}S3Origin`:"S3Origin";this.originAccessIdentity=new cloudfront.OriginAccessIdentity(oaiScope,oaiId,{comment:`Identity for ${options.originId}`})}return this.bucket.addToResourcePolicy(new iam.PolicyStatement({resources:[this.bucket.arnForObjects("*")],actions:["s3:GetObject"],principals:[this.originAccessIdentity.grantPrincipal]})),super.bind(scope,options)}renderS3OriginConfig(){return{originAccessIdentity:`origin-access-identity/cloudfront/${this.originAccessIdentity.originAccessIdentityId}`}}}
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.S3Origin=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cloudfront=require("../../aws-cloudfront"),iam=require("../../aws-iam"),cdk=require("../../core"),http_origin_1=require("./http-origin");class S3Origin{constructor(bucket,props={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_IBucket(bucket),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_origins_S3OriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,S3Origin),error}this.origin=bucket.isWebsite?new http_origin_1.HttpOrigin(bucket.bucketWebsiteDomainName,{protocolPolicy:cloudfront.OriginProtocolPolicy.HTTP_ONLY,...props}):new S3BucketOrigin(bucket,props)}bind(scope,options){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudfront_OriginBindOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return this.origin.bind(scope,options)}}exports.S3Origin=S3Origin,_a=JSII_RTTI_SYMBOL_1,S3Origin[_a]={fqn:"aws-cdk-lib.aws_cloudfront_origins.S3Origin",version:"2.51.1"};class S3BucketOrigin extends cloudfront.OriginBase{constructor(bucket,{originAccessIdentity,...props}){super(bucket.bucketRegionalDomainName,props),this.bucket=bucket,originAccessIdentity&&(this.originAccessIdentity=originAccessIdentity)}bind(scope,options){if(!this.originAccessIdentity){const bucketStack=cdk.Stack.of(this.bucket),bucketInDifferentStack=bucketStack!==cdk.Stack.of(scope),oaiScope=bucketInDifferentStack?bucketStack:scope,oaiId=bucketInDifferentStack?`${cdk.Names.uniqueId(scope)}S3Origin`:"S3Origin";this.originAccessIdentity=new cloudfront.OriginAccessIdentity(oaiScope,oaiId,{comment:`Identity for ${options.originId}`})}return this.bucket.addToResourcePolicy(new iam.PolicyStatement({resources:[this.bucket.arnForObjects("*")],actions:["s3:GetObject"],principals:[this.originAccessIdentity.grantPrincipal]})),super.bind(scope,options)}renderS3OriginConfig(){return{originAccessIdentity:`origin-access-identity/cloudfront/${this.originAccessIdentity.originAccessIdentityId}`}}}
2
2
  //# sourceMappingURL=s3-origin.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTrail=exports.CfnEventDataStore=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnEventDataStorePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("advancedEventSelectors",cdk.listValidator(CfnEventDataStore_AdvancedEventSelectorPropertyValidator))(properties.advancedEventSelectors)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("multiRegionEnabled",cdk.validateBoolean)(properties.multiRegionEnabled)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("organizationEnabled",cdk.validateBoolean)(properties.organizationEnabled)),errors.collect(cdk.propertyValidator("retentionPeriod",cdk.validateNumber)(properties.retentionPeriod)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("terminationProtectionEnabled",cdk.validateBoolean)(properties.terminationProtectionEnabled)),errors.wrap('supplied properties not correct for "CfnEventDataStoreProps"')}function cfnEventDataStorePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnEventDataStorePropsValidator(properties).assertSuccess(),{AdvancedEventSelectors:cdk.listMapper(cfnEventDataStoreAdvancedEventSelectorPropertyToCloudFormation)(properties.advancedEventSelectors),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),MultiRegionEnabled:cdk.booleanToCloudFormation(properties.multiRegionEnabled),Name:cdk.stringToCloudFormation(properties.name),OrganizationEnabled:cdk.booleanToCloudFormation(properties.organizationEnabled),RetentionPeriod:cdk.numberToCloudFormation(properties.retentionPeriod),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TerminationProtectionEnabled:cdk.booleanToCloudFormation(properties.terminationProtectionEnabled)}):properties}function CfnEventDataStorePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("advancedEventSelectors","AdvancedEventSelectors",properties.AdvancedEventSelectors!=null?cfn_parse.FromCloudFormation.getArray(CfnEventDataStoreAdvancedEventSelectorPropertyFromCloudFormation)(properties.AdvancedEventSelectors):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("multiRegionEnabled","MultiRegionEnabled",properties.MultiRegionEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.MultiRegionEnabled):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("organizationEnabled","OrganizationEnabled",properties.OrganizationEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.OrganizationEnabled):void 0),ret.addPropertyResult("retentionPeriod","RetentionPeriod",properties.RetentionPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.RetentionPeriod):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("terminationProtectionEnabled","TerminationProtectionEnabled",properties.TerminationProtectionEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.TerminationProtectionEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEventDataStore extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnEventDataStore.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_CfnEventDataStoreProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEventDataStore),error}this.attrCreatedTimestamp=cdk.Token.asString(this.getAtt("CreatedTimestamp")),this.attrEventDataStoreArn=cdk.Token.asString(this.getAtt("EventDataStoreArn")),this.attrStatus=cdk.Token.asString(this.getAtt("Status")),this.attrUpdatedTimestamp=cdk.Token.asString(this.getAtt("UpdatedTimestamp")),this.advancedEventSelectors=props.advancedEventSelectors,this.kmsKeyId=props.kmsKeyId,this.multiRegionEnabled=props.multiRegionEnabled,this.name=props.name,this.organizationEnabled=props.organizationEnabled,this.retentionPeriod=props.retentionPeriod,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::CloudTrail::EventDataStore",props.tags,{tagPropertyName:"tags"}),this.terminationProtectionEnabled=props.terminationProtectionEnabled}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEventDataStorePropsFromCloudFormation(resourceProperties),ret=new CfnEventDataStore(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnEventDataStore.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{advancedEventSelectors:this.advancedEventSelectors,kmsKeyId:this.kmsKeyId,multiRegionEnabled:this.multiRegionEnabled,name:this.name,organizationEnabled:this.organizationEnabled,retentionPeriod:this.retentionPeriod,tags:this.tags.renderTags(),terminationProtectionEnabled:this.terminationProtectionEnabled}}renderProperties(props){return cfnEventDataStorePropsToCloudFormation(props)}}exports.CfnEventDataStore=CfnEventDataStore,_a=JSII_RTTI_SYMBOL_1,CfnEventDataStore[_a]={fqn:"aws-cdk-lib.aws_cloudtrail.CfnEventDataStore",version:"2.51.0"},CfnEventDataStore.CFN_RESOURCE_TYPE_NAME="AWS::CloudTrail::EventDataStore";function CfnEventDataStore_AdvancedEventSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("fieldSelectors",cdk.requiredValidator)(properties.fieldSelectors)),errors.collect(cdk.propertyValidator("fieldSelectors",cdk.listValidator(CfnEventDataStore_AdvancedFieldSelectorPropertyValidator))(properties.fieldSelectors)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "AdvancedEventSelectorProperty"')}function cfnEventDataStoreAdvancedEventSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnEventDataStore_AdvancedEventSelectorPropertyValidator(properties).assertSuccess(),{FieldSelectors:cdk.listMapper(cfnEventDataStoreAdvancedFieldSelectorPropertyToCloudFormation)(properties.fieldSelectors),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnEventDataStoreAdvancedEventSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldSelectors","FieldSelectors",cfn_parse.FromCloudFormation.getArray(CfnEventDataStoreAdvancedFieldSelectorPropertyFromCloudFormation)(properties.FieldSelectors)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventDataStore_AdvancedFieldSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("endsWith",cdk.listValidator(cdk.validateString))(properties.endsWith)),errors.collect(cdk.propertyValidator("equalTo",cdk.listValidator(cdk.validateString))(properties.equalTo)),errors.collect(cdk.propertyValidator("field",cdk.requiredValidator)(properties.field)),errors.collect(cdk.propertyValidator("field",cdk.validateString)(properties.field)),errors.collect(cdk.propertyValidator("notEndsWith",cdk.listValidator(cdk.validateString))(properties.notEndsWith)),errors.collect(cdk.propertyValidator("notEquals",cdk.listValidator(cdk.validateString))(properties.notEquals)),errors.collect(cdk.propertyValidator("notStartsWith",cdk.listValidator(cdk.validateString))(properties.notStartsWith)),errors.collect(cdk.propertyValidator("startsWith",cdk.listValidator(cdk.validateString))(properties.startsWith)),errors.wrap('supplied properties not correct for "AdvancedFieldSelectorProperty"')}function cfnEventDataStoreAdvancedFieldSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnEventDataStore_AdvancedFieldSelectorPropertyValidator(properties).assertSuccess(),{EndsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.endsWith),Equals:cdk.listMapper(cdk.stringToCloudFormation)(properties.equalTo),Field:cdk.stringToCloudFormation(properties.field),NotEndsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.notEndsWith),NotEquals:cdk.listMapper(cdk.stringToCloudFormation)(properties.notEquals),NotStartsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.notStartsWith),StartsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.startsWith)}):properties}function CfnEventDataStoreAdvancedFieldSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("endsWith","EndsWith",properties.EndsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.EndsWith):void 0),ret.addPropertyResult("equalTo","Equals",properties.Equals!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Equals):void 0),ret.addPropertyResult("field","Field",cfn_parse.FromCloudFormation.getString(properties.Field)),ret.addPropertyResult("notEndsWith","NotEndsWith",properties.NotEndsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.NotEndsWith):void 0),ret.addPropertyResult("notEquals","NotEquals",properties.NotEquals!=null?cfn_parse.FromCloudFormation.getStringArray(properties.NotEquals):void 0),ret.addPropertyResult("notStartsWith","NotStartsWith",properties.NotStartsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.NotStartsWith):void 0),ret.addPropertyResult("startsWith","StartsWith",properties.StartsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.StartsWith):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrailPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchLogsLogGroupArn",cdk.validateString)(properties.cloudWatchLogsLogGroupArn)),errors.collect(cdk.propertyValidator("cloudWatchLogsRoleArn",cdk.validateString)(properties.cloudWatchLogsRoleArn)),errors.collect(cdk.propertyValidator("enableLogFileValidation",cdk.validateBoolean)(properties.enableLogFileValidation)),errors.collect(cdk.propertyValidator("eventSelectors",cdk.listValidator(CfnTrail_EventSelectorPropertyValidator))(properties.eventSelectors)),errors.collect(cdk.propertyValidator("includeGlobalServiceEvents",cdk.validateBoolean)(properties.includeGlobalServiceEvents)),errors.collect(cdk.propertyValidator("insightSelectors",cdk.listValidator(CfnTrail_InsightSelectorPropertyValidator))(properties.insightSelectors)),errors.collect(cdk.propertyValidator("isLogging",cdk.requiredValidator)(properties.isLogging)),errors.collect(cdk.propertyValidator("isLogging",cdk.validateBoolean)(properties.isLogging)),errors.collect(cdk.propertyValidator("isMultiRegionTrail",cdk.validateBoolean)(properties.isMultiRegionTrail)),errors.collect(cdk.propertyValidator("isOrganizationTrail",cdk.validateBoolean)(properties.isOrganizationTrail)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("s3BucketName",cdk.requiredValidator)(properties.s3BucketName)),errors.collect(cdk.propertyValidator("s3BucketName",cdk.validateString)(properties.s3BucketName)),errors.collect(cdk.propertyValidator("s3KeyPrefix",cdk.validateString)(properties.s3KeyPrefix)),errors.collect(cdk.propertyValidator("snsTopicName",cdk.validateString)(properties.snsTopicName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("trailName",cdk.validateString)(properties.trailName)),errors.wrap('supplied properties not correct for "CfnTrailProps"')}function cfnTrailPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrailPropsValidator(properties).assertSuccess(),{IsLogging:cdk.booleanToCloudFormation(properties.isLogging),S3BucketName:cdk.stringToCloudFormation(properties.s3BucketName),CloudWatchLogsLogGroupArn:cdk.stringToCloudFormation(properties.cloudWatchLogsLogGroupArn),CloudWatchLogsRoleArn:cdk.stringToCloudFormation(properties.cloudWatchLogsRoleArn),EnableLogFileValidation:cdk.booleanToCloudFormation(properties.enableLogFileValidation),EventSelectors:cdk.listMapper(cfnTrailEventSelectorPropertyToCloudFormation)(properties.eventSelectors),IncludeGlobalServiceEvents:cdk.booleanToCloudFormation(properties.includeGlobalServiceEvents),InsightSelectors:cdk.listMapper(cfnTrailInsightSelectorPropertyToCloudFormation)(properties.insightSelectors),IsMultiRegionTrail:cdk.booleanToCloudFormation(properties.isMultiRegionTrail),IsOrganizationTrail:cdk.booleanToCloudFormation(properties.isOrganizationTrail),KMSKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),S3KeyPrefix:cdk.stringToCloudFormation(properties.s3KeyPrefix),SnsTopicName:cdk.stringToCloudFormation(properties.snsTopicName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TrailName:cdk.stringToCloudFormation(properties.trailName)}):properties}function CfnTrailPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isLogging","IsLogging",cfn_parse.FromCloudFormation.getBoolean(properties.IsLogging)),ret.addPropertyResult("s3BucketName","S3BucketName",cfn_parse.FromCloudFormation.getString(properties.S3BucketName)),ret.addPropertyResult("cloudWatchLogsLogGroupArn","CloudWatchLogsLogGroupArn",properties.CloudWatchLogsLogGroupArn!=null?cfn_parse.FromCloudFormation.getString(properties.CloudWatchLogsLogGroupArn):void 0),ret.addPropertyResult("cloudWatchLogsRoleArn","CloudWatchLogsRoleArn",properties.CloudWatchLogsRoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.CloudWatchLogsRoleArn):void 0),ret.addPropertyResult("enableLogFileValidation","EnableLogFileValidation",properties.EnableLogFileValidation!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EnableLogFileValidation):void 0),ret.addPropertyResult("eventSelectors","EventSelectors",properties.EventSelectors!=null?cfn_parse.FromCloudFormation.getArray(CfnTrailEventSelectorPropertyFromCloudFormation)(properties.EventSelectors):void 0),ret.addPropertyResult("includeGlobalServiceEvents","IncludeGlobalServiceEvents",properties.IncludeGlobalServiceEvents!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IncludeGlobalServiceEvents):void 0),ret.addPropertyResult("insightSelectors","InsightSelectors",properties.InsightSelectors!=null?cfn_parse.FromCloudFormation.getArray(CfnTrailInsightSelectorPropertyFromCloudFormation)(properties.InsightSelectors):void 0),ret.addPropertyResult("isMultiRegionTrail","IsMultiRegionTrail",properties.IsMultiRegionTrail!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsMultiRegionTrail):void 0),ret.addPropertyResult("isOrganizationTrail","IsOrganizationTrail",properties.IsOrganizationTrail!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsOrganizationTrail):void 0),ret.addPropertyResult("kmsKeyId","KMSKeyId",properties.KMSKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.KMSKeyId):void 0),ret.addPropertyResult("s3KeyPrefix","S3KeyPrefix",properties.S3KeyPrefix!=null?cfn_parse.FromCloudFormation.getString(properties.S3KeyPrefix):void 0),ret.addPropertyResult("snsTopicName","SnsTopicName",properties.SnsTopicName!=null?cfn_parse.FromCloudFormation.getString(properties.SnsTopicName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("trailName","TrailName",properties.TrailName!=null?cfn_parse.FromCloudFormation.getString(properties.TrailName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTrail extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnTrail.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_CfnTrailProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTrail),error}cdk.requireProperty(props,"isLogging",this),cdk.requireProperty(props,"s3BucketName",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrSnsTopicArn=cdk.Token.asString(this.getAtt("SnsTopicArn")),this.isLogging=props.isLogging,this.s3BucketName=props.s3BucketName,this.cloudWatchLogsLogGroupArn=props.cloudWatchLogsLogGroupArn,this.cloudWatchLogsRoleArn=props.cloudWatchLogsRoleArn,this.enableLogFileValidation=props.enableLogFileValidation,this.eventSelectors=props.eventSelectors,this.includeGlobalServiceEvents=props.includeGlobalServiceEvents,this.insightSelectors=props.insightSelectors,this.isMultiRegionTrail=props.isMultiRegionTrail,this.isOrganizationTrail=props.isOrganizationTrail,this.kmsKeyId=props.kmsKeyId,this.s3KeyPrefix=props.s3KeyPrefix,this.snsTopicName=props.snsTopicName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::CloudTrail::Trail",props.tags,{tagPropertyName:"tags"}),this.trailName=props.trailName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTrailPropsFromCloudFormation(resourceProperties),ret=new CfnTrail(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTrail.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{isLogging:this.isLogging,s3BucketName:this.s3BucketName,cloudWatchLogsLogGroupArn:this.cloudWatchLogsLogGroupArn,cloudWatchLogsRoleArn:this.cloudWatchLogsRoleArn,enableLogFileValidation:this.enableLogFileValidation,eventSelectors:this.eventSelectors,includeGlobalServiceEvents:this.includeGlobalServiceEvents,insightSelectors:this.insightSelectors,isMultiRegionTrail:this.isMultiRegionTrail,isOrganizationTrail:this.isOrganizationTrail,kmsKeyId:this.kmsKeyId,s3KeyPrefix:this.s3KeyPrefix,snsTopicName:this.snsTopicName,tags:this.tags.renderTags(),trailName:this.trailName}}renderProperties(props){return cfnTrailPropsToCloudFormation(props)}}exports.CfnTrail=CfnTrail,_b=JSII_RTTI_SYMBOL_1,CfnTrail[_b]={fqn:"aws-cdk-lib.aws_cloudtrail.CfnTrail",version:"2.51.0"},CfnTrail.CFN_RESOURCE_TYPE_NAME="AWS::CloudTrail::Trail";function CfnTrail_DataResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.collect(cdk.propertyValidator("values",cdk.listValidator(cdk.validateString))(properties.values)),errors.wrap('supplied properties not correct for "DataResourceProperty"')}function cfnTrailDataResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrail_DataResourcePropertyValidator(properties).assertSuccess(),{Type:cdk.stringToCloudFormation(properties.type),Values:cdk.listMapper(cdk.stringToCloudFormation)(properties.values)}):properties}function CfnTrailDataResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrail_EventSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataResources",cdk.listValidator(CfnTrail_DataResourcePropertyValidator))(properties.dataResources)),errors.collect(cdk.propertyValidator("excludeManagementEventSources",cdk.listValidator(cdk.validateString))(properties.excludeManagementEventSources)),errors.collect(cdk.propertyValidator("includeManagementEvents",cdk.validateBoolean)(properties.includeManagementEvents)),errors.collect(cdk.propertyValidator("readWriteType",cdk.validateString)(properties.readWriteType)),errors.wrap('supplied properties not correct for "EventSelectorProperty"')}function cfnTrailEventSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrail_EventSelectorPropertyValidator(properties).assertSuccess(),{DataResources:cdk.listMapper(cfnTrailDataResourcePropertyToCloudFormation)(properties.dataResources),ExcludeManagementEventSources:cdk.listMapper(cdk.stringToCloudFormation)(properties.excludeManagementEventSources),IncludeManagementEvents:cdk.booleanToCloudFormation(properties.includeManagementEvents),ReadWriteType:cdk.stringToCloudFormation(properties.readWriteType)}):properties}function CfnTrailEventSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataResources","DataResources",properties.DataResources!=null?cfn_parse.FromCloudFormation.getArray(CfnTrailDataResourcePropertyFromCloudFormation)(properties.DataResources):void 0),ret.addPropertyResult("excludeManagementEventSources","ExcludeManagementEventSources",properties.ExcludeManagementEventSources!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExcludeManagementEventSources):void 0),ret.addPropertyResult("includeManagementEvents","IncludeManagementEvents",properties.IncludeManagementEvents!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IncludeManagementEvents):void 0),ret.addPropertyResult("readWriteType","ReadWriteType",properties.ReadWriteType!=null?cfn_parse.FromCloudFormation.getString(properties.ReadWriteType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrail_InsightSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("insightType",cdk.validateString)(properties.insightType)),errors.wrap('supplied properties not correct for "InsightSelectorProperty"')}function cfnTrailInsightSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrail_InsightSelectorPropertyValidator(properties).assertSuccess(),{InsightType:cdk.stringToCloudFormation(properties.insightType)}):properties}function CfnTrailInsightSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("insightType","InsightType",properties.InsightType!=null?cfn_parse.FromCloudFormation.getString(properties.InsightType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
1
+ "use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTrail=exports.CfnEventDataStore=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnEventDataStorePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("advancedEventSelectors",cdk.listValidator(CfnEventDataStore_AdvancedEventSelectorPropertyValidator))(properties.advancedEventSelectors)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("multiRegionEnabled",cdk.validateBoolean)(properties.multiRegionEnabled)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("organizationEnabled",cdk.validateBoolean)(properties.organizationEnabled)),errors.collect(cdk.propertyValidator("retentionPeriod",cdk.validateNumber)(properties.retentionPeriod)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("terminationProtectionEnabled",cdk.validateBoolean)(properties.terminationProtectionEnabled)),errors.wrap('supplied properties not correct for "CfnEventDataStoreProps"')}function cfnEventDataStorePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnEventDataStorePropsValidator(properties).assertSuccess(),{AdvancedEventSelectors:cdk.listMapper(cfnEventDataStoreAdvancedEventSelectorPropertyToCloudFormation)(properties.advancedEventSelectors),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),MultiRegionEnabled:cdk.booleanToCloudFormation(properties.multiRegionEnabled),Name:cdk.stringToCloudFormation(properties.name),OrganizationEnabled:cdk.booleanToCloudFormation(properties.organizationEnabled),RetentionPeriod:cdk.numberToCloudFormation(properties.retentionPeriod),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TerminationProtectionEnabled:cdk.booleanToCloudFormation(properties.terminationProtectionEnabled)}):properties}function CfnEventDataStorePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("advancedEventSelectors","AdvancedEventSelectors",properties.AdvancedEventSelectors!=null?cfn_parse.FromCloudFormation.getArray(CfnEventDataStoreAdvancedEventSelectorPropertyFromCloudFormation)(properties.AdvancedEventSelectors):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("multiRegionEnabled","MultiRegionEnabled",properties.MultiRegionEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.MultiRegionEnabled):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("organizationEnabled","OrganizationEnabled",properties.OrganizationEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.OrganizationEnabled):void 0),ret.addPropertyResult("retentionPeriod","RetentionPeriod",properties.RetentionPeriod!=null?cfn_parse.FromCloudFormation.getNumber(properties.RetentionPeriod):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("terminationProtectionEnabled","TerminationProtectionEnabled",properties.TerminationProtectionEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.TerminationProtectionEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEventDataStore extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnEventDataStore.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_CfnEventDataStoreProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEventDataStore),error}this.attrCreatedTimestamp=cdk.Token.asString(this.getAtt("CreatedTimestamp")),this.attrEventDataStoreArn=cdk.Token.asString(this.getAtt("EventDataStoreArn")),this.attrStatus=cdk.Token.asString(this.getAtt("Status")),this.attrUpdatedTimestamp=cdk.Token.asString(this.getAtt("UpdatedTimestamp")),this.advancedEventSelectors=props.advancedEventSelectors,this.kmsKeyId=props.kmsKeyId,this.multiRegionEnabled=props.multiRegionEnabled,this.name=props.name,this.organizationEnabled=props.organizationEnabled,this.retentionPeriod=props.retentionPeriod,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::CloudTrail::EventDataStore",props.tags,{tagPropertyName:"tags"}),this.terminationProtectionEnabled=props.terminationProtectionEnabled}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEventDataStorePropsFromCloudFormation(resourceProperties),ret=new CfnEventDataStore(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnEventDataStore.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{advancedEventSelectors:this.advancedEventSelectors,kmsKeyId:this.kmsKeyId,multiRegionEnabled:this.multiRegionEnabled,name:this.name,organizationEnabled:this.organizationEnabled,retentionPeriod:this.retentionPeriod,tags:this.tags.renderTags(),terminationProtectionEnabled:this.terminationProtectionEnabled}}renderProperties(props){return cfnEventDataStorePropsToCloudFormation(props)}}exports.CfnEventDataStore=CfnEventDataStore,_a=JSII_RTTI_SYMBOL_1,CfnEventDataStore[_a]={fqn:"aws-cdk-lib.aws_cloudtrail.CfnEventDataStore",version:"2.51.1"},CfnEventDataStore.CFN_RESOURCE_TYPE_NAME="AWS::CloudTrail::EventDataStore";function CfnEventDataStore_AdvancedEventSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("fieldSelectors",cdk.requiredValidator)(properties.fieldSelectors)),errors.collect(cdk.propertyValidator("fieldSelectors",cdk.listValidator(CfnEventDataStore_AdvancedFieldSelectorPropertyValidator))(properties.fieldSelectors)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "AdvancedEventSelectorProperty"')}function cfnEventDataStoreAdvancedEventSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnEventDataStore_AdvancedEventSelectorPropertyValidator(properties).assertSuccess(),{FieldSelectors:cdk.listMapper(cfnEventDataStoreAdvancedFieldSelectorPropertyToCloudFormation)(properties.fieldSelectors),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnEventDataStoreAdvancedEventSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldSelectors","FieldSelectors",cfn_parse.FromCloudFormation.getArray(CfnEventDataStoreAdvancedFieldSelectorPropertyFromCloudFormation)(properties.FieldSelectors)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEventDataStore_AdvancedFieldSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("endsWith",cdk.listValidator(cdk.validateString))(properties.endsWith)),errors.collect(cdk.propertyValidator("equalTo",cdk.listValidator(cdk.validateString))(properties.equalTo)),errors.collect(cdk.propertyValidator("field",cdk.requiredValidator)(properties.field)),errors.collect(cdk.propertyValidator("field",cdk.validateString)(properties.field)),errors.collect(cdk.propertyValidator("notEndsWith",cdk.listValidator(cdk.validateString))(properties.notEndsWith)),errors.collect(cdk.propertyValidator("notEquals",cdk.listValidator(cdk.validateString))(properties.notEquals)),errors.collect(cdk.propertyValidator("notStartsWith",cdk.listValidator(cdk.validateString))(properties.notStartsWith)),errors.collect(cdk.propertyValidator("startsWith",cdk.listValidator(cdk.validateString))(properties.startsWith)),errors.wrap('supplied properties not correct for "AdvancedFieldSelectorProperty"')}function cfnEventDataStoreAdvancedFieldSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnEventDataStore_AdvancedFieldSelectorPropertyValidator(properties).assertSuccess(),{EndsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.endsWith),Equals:cdk.listMapper(cdk.stringToCloudFormation)(properties.equalTo),Field:cdk.stringToCloudFormation(properties.field),NotEndsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.notEndsWith),NotEquals:cdk.listMapper(cdk.stringToCloudFormation)(properties.notEquals),NotStartsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.notStartsWith),StartsWith:cdk.listMapper(cdk.stringToCloudFormation)(properties.startsWith)}):properties}function CfnEventDataStoreAdvancedFieldSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("endsWith","EndsWith",properties.EndsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.EndsWith):void 0),ret.addPropertyResult("equalTo","Equals",properties.Equals!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Equals):void 0),ret.addPropertyResult("field","Field",cfn_parse.FromCloudFormation.getString(properties.Field)),ret.addPropertyResult("notEndsWith","NotEndsWith",properties.NotEndsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.NotEndsWith):void 0),ret.addPropertyResult("notEquals","NotEquals",properties.NotEquals!=null?cfn_parse.FromCloudFormation.getStringArray(properties.NotEquals):void 0),ret.addPropertyResult("notStartsWith","NotStartsWith",properties.NotStartsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.NotStartsWith):void 0),ret.addPropertyResult("startsWith","StartsWith",properties.StartsWith!=null?cfn_parse.FromCloudFormation.getStringArray(properties.StartsWith):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrailPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchLogsLogGroupArn",cdk.validateString)(properties.cloudWatchLogsLogGroupArn)),errors.collect(cdk.propertyValidator("cloudWatchLogsRoleArn",cdk.validateString)(properties.cloudWatchLogsRoleArn)),errors.collect(cdk.propertyValidator("enableLogFileValidation",cdk.validateBoolean)(properties.enableLogFileValidation)),errors.collect(cdk.propertyValidator("eventSelectors",cdk.listValidator(CfnTrail_EventSelectorPropertyValidator))(properties.eventSelectors)),errors.collect(cdk.propertyValidator("includeGlobalServiceEvents",cdk.validateBoolean)(properties.includeGlobalServiceEvents)),errors.collect(cdk.propertyValidator("insightSelectors",cdk.listValidator(CfnTrail_InsightSelectorPropertyValidator))(properties.insightSelectors)),errors.collect(cdk.propertyValidator("isLogging",cdk.requiredValidator)(properties.isLogging)),errors.collect(cdk.propertyValidator("isLogging",cdk.validateBoolean)(properties.isLogging)),errors.collect(cdk.propertyValidator("isMultiRegionTrail",cdk.validateBoolean)(properties.isMultiRegionTrail)),errors.collect(cdk.propertyValidator("isOrganizationTrail",cdk.validateBoolean)(properties.isOrganizationTrail)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("s3BucketName",cdk.requiredValidator)(properties.s3BucketName)),errors.collect(cdk.propertyValidator("s3BucketName",cdk.validateString)(properties.s3BucketName)),errors.collect(cdk.propertyValidator("s3KeyPrefix",cdk.validateString)(properties.s3KeyPrefix)),errors.collect(cdk.propertyValidator("snsTopicName",cdk.validateString)(properties.snsTopicName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("trailName",cdk.validateString)(properties.trailName)),errors.wrap('supplied properties not correct for "CfnTrailProps"')}function cfnTrailPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrailPropsValidator(properties).assertSuccess(),{IsLogging:cdk.booleanToCloudFormation(properties.isLogging),S3BucketName:cdk.stringToCloudFormation(properties.s3BucketName),CloudWatchLogsLogGroupArn:cdk.stringToCloudFormation(properties.cloudWatchLogsLogGroupArn),CloudWatchLogsRoleArn:cdk.stringToCloudFormation(properties.cloudWatchLogsRoleArn),EnableLogFileValidation:cdk.booleanToCloudFormation(properties.enableLogFileValidation),EventSelectors:cdk.listMapper(cfnTrailEventSelectorPropertyToCloudFormation)(properties.eventSelectors),IncludeGlobalServiceEvents:cdk.booleanToCloudFormation(properties.includeGlobalServiceEvents),InsightSelectors:cdk.listMapper(cfnTrailInsightSelectorPropertyToCloudFormation)(properties.insightSelectors),IsMultiRegionTrail:cdk.booleanToCloudFormation(properties.isMultiRegionTrail),IsOrganizationTrail:cdk.booleanToCloudFormation(properties.isOrganizationTrail),KMSKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),S3KeyPrefix:cdk.stringToCloudFormation(properties.s3KeyPrefix),SnsTopicName:cdk.stringToCloudFormation(properties.snsTopicName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TrailName:cdk.stringToCloudFormation(properties.trailName)}):properties}function CfnTrailPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isLogging","IsLogging",cfn_parse.FromCloudFormation.getBoolean(properties.IsLogging)),ret.addPropertyResult("s3BucketName","S3BucketName",cfn_parse.FromCloudFormation.getString(properties.S3BucketName)),ret.addPropertyResult("cloudWatchLogsLogGroupArn","CloudWatchLogsLogGroupArn",properties.CloudWatchLogsLogGroupArn!=null?cfn_parse.FromCloudFormation.getString(properties.CloudWatchLogsLogGroupArn):void 0),ret.addPropertyResult("cloudWatchLogsRoleArn","CloudWatchLogsRoleArn",properties.CloudWatchLogsRoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.CloudWatchLogsRoleArn):void 0),ret.addPropertyResult("enableLogFileValidation","EnableLogFileValidation",properties.EnableLogFileValidation!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EnableLogFileValidation):void 0),ret.addPropertyResult("eventSelectors","EventSelectors",properties.EventSelectors!=null?cfn_parse.FromCloudFormation.getArray(CfnTrailEventSelectorPropertyFromCloudFormation)(properties.EventSelectors):void 0),ret.addPropertyResult("includeGlobalServiceEvents","IncludeGlobalServiceEvents",properties.IncludeGlobalServiceEvents!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IncludeGlobalServiceEvents):void 0),ret.addPropertyResult("insightSelectors","InsightSelectors",properties.InsightSelectors!=null?cfn_parse.FromCloudFormation.getArray(CfnTrailInsightSelectorPropertyFromCloudFormation)(properties.InsightSelectors):void 0),ret.addPropertyResult("isMultiRegionTrail","IsMultiRegionTrail",properties.IsMultiRegionTrail!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsMultiRegionTrail):void 0),ret.addPropertyResult("isOrganizationTrail","IsOrganizationTrail",properties.IsOrganizationTrail!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsOrganizationTrail):void 0),ret.addPropertyResult("kmsKeyId","KMSKeyId",properties.KMSKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.KMSKeyId):void 0),ret.addPropertyResult("s3KeyPrefix","S3KeyPrefix",properties.S3KeyPrefix!=null?cfn_parse.FromCloudFormation.getString(properties.S3KeyPrefix):void 0),ret.addPropertyResult("snsTopicName","SnsTopicName",properties.SnsTopicName!=null?cfn_parse.FromCloudFormation.getString(properties.SnsTopicName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("trailName","TrailName",properties.TrailName!=null?cfn_parse.FromCloudFormation.getString(properties.TrailName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTrail extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnTrail.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_CfnTrailProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTrail),error}cdk.requireProperty(props,"isLogging",this),cdk.requireProperty(props,"s3BucketName",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrSnsTopicArn=cdk.Token.asString(this.getAtt("SnsTopicArn")),this.isLogging=props.isLogging,this.s3BucketName=props.s3BucketName,this.cloudWatchLogsLogGroupArn=props.cloudWatchLogsLogGroupArn,this.cloudWatchLogsRoleArn=props.cloudWatchLogsRoleArn,this.enableLogFileValidation=props.enableLogFileValidation,this.eventSelectors=props.eventSelectors,this.includeGlobalServiceEvents=props.includeGlobalServiceEvents,this.insightSelectors=props.insightSelectors,this.isMultiRegionTrail=props.isMultiRegionTrail,this.isOrganizationTrail=props.isOrganizationTrail,this.kmsKeyId=props.kmsKeyId,this.s3KeyPrefix=props.s3KeyPrefix,this.snsTopicName=props.snsTopicName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::CloudTrail::Trail",props.tags,{tagPropertyName:"tags"}),this.trailName=props.trailName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTrailPropsFromCloudFormation(resourceProperties),ret=new CfnTrail(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTrail.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{isLogging:this.isLogging,s3BucketName:this.s3BucketName,cloudWatchLogsLogGroupArn:this.cloudWatchLogsLogGroupArn,cloudWatchLogsRoleArn:this.cloudWatchLogsRoleArn,enableLogFileValidation:this.enableLogFileValidation,eventSelectors:this.eventSelectors,includeGlobalServiceEvents:this.includeGlobalServiceEvents,insightSelectors:this.insightSelectors,isMultiRegionTrail:this.isMultiRegionTrail,isOrganizationTrail:this.isOrganizationTrail,kmsKeyId:this.kmsKeyId,s3KeyPrefix:this.s3KeyPrefix,snsTopicName:this.snsTopicName,tags:this.tags.renderTags(),trailName:this.trailName}}renderProperties(props){return cfnTrailPropsToCloudFormation(props)}}exports.CfnTrail=CfnTrail,_b=JSII_RTTI_SYMBOL_1,CfnTrail[_b]={fqn:"aws-cdk-lib.aws_cloudtrail.CfnTrail",version:"2.51.1"},CfnTrail.CFN_RESOURCE_TYPE_NAME="AWS::CloudTrail::Trail";function CfnTrail_DataResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.collect(cdk.propertyValidator("values",cdk.listValidator(cdk.validateString))(properties.values)),errors.wrap('supplied properties not correct for "DataResourceProperty"')}function cfnTrailDataResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrail_DataResourcePropertyValidator(properties).assertSuccess(),{Type:cdk.stringToCloudFormation(properties.type),Values:cdk.listMapper(cdk.stringToCloudFormation)(properties.values)}):properties}function CfnTrailDataResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrail_EventSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataResources",cdk.listValidator(CfnTrail_DataResourcePropertyValidator))(properties.dataResources)),errors.collect(cdk.propertyValidator("excludeManagementEventSources",cdk.listValidator(cdk.validateString))(properties.excludeManagementEventSources)),errors.collect(cdk.propertyValidator("includeManagementEvents",cdk.validateBoolean)(properties.includeManagementEvents)),errors.collect(cdk.propertyValidator("readWriteType",cdk.validateString)(properties.readWriteType)),errors.wrap('supplied properties not correct for "EventSelectorProperty"')}function cfnTrailEventSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrail_EventSelectorPropertyValidator(properties).assertSuccess(),{DataResources:cdk.listMapper(cfnTrailDataResourcePropertyToCloudFormation)(properties.dataResources),ExcludeManagementEventSources:cdk.listMapper(cdk.stringToCloudFormation)(properties.excludeManagementEventSources),IncludeManagementEvents:cdk.booleanToCloudFormation(properties.includeManagementEvents),ReadWriteType:cdk.stringToCloudFormation(properties.readWriteType)}):properties}function CfnTrailEventSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataResources","DataResources",properties.DataResources!=null?cfn_parse.FromCloudFormation.getArray(CfnTrailDataResourcePropertyFromCloudFormation)(properties.DataResources):void 0),ret.addPropertyResult("excludeManagementEventSources","ExcludeManagementEventSources",properties.ExcludeManagementEventSources!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExcludeManagementEventSources):void 0),ret.addPropertyResult("includeManagementEvents","IncludeManagementEvents",properties.IncludeManagementEvents!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IncludeManagementEvents):void 0),ret.addPropertyResult("readWriteType","ReadWriteType",properties.ReadWriteType!=null?cfn_parse.FromCloudFormation.getString(properties.ReadWriteType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTrail_InsightSelectorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("insightType",cdk.validateString)(properties.insightType)),errors.wrap('supplied properties not correct for "InsightSelectorProperty"')}function cfnTrailInsightSelectorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTrail_InsightSelectorPropertyValidator(properties).assertSuccess(),{InsightType:cdk.stringToCloudFormation(properties.insightType)}):properties}function CfnTrailInsightSelectorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("insightType","InsightType",properties.InsightType!=null?cfn_parse.FromCloudFormation.getString(properties.InsightType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
2
2
  //# sourceMappingURL=cloudtrail.generated.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.DataResourceType=exports.ManagementEventSources=exports.Trail=exports.ReadWriteType=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),events=require("../../aws-events"),iam=require("../../aws-iam"),logs=require("../../aws-logs"),s3=require("../../aws-s3"),core_1=require("../../core"),cloudtrail_generated_1=require("./cloudtrail.generated");var ReadWriteType;(function(ReadWriteType2){ReadWriteType2.READ_ONLY="ReadOnly",ReadWriteType2.WRITE_ONLY="WriteOnly",ReadWriteType2.ALL="All",ReadWriteType2.NONE="None"})(ReadWriteType=exports.ReadWriteType||(exports.ReadWriteType={}));class Trail extends core_1.Resource{constructor(scope,id,props={}){super(scope,id,{physicalName:props.trailName}),this.eventSelectors=[];try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_TrailProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,Trail),error}const cloudTrailPrincipal=new iam.ServicePrincipal("cloudtrail.amazonaws.com");this.s3bucket=props.bucket||new s3.Bucket(this,"S3",{encryption:s3.BucketEncryption.UNENCRYPTED,enforceSSL:!0}),this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({resources:[this.s3bucket.bucketArn],actions:["s3:GetBucketAcl"],principals:[cloudTrailPrincipal]})),this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({resources:[this.s3bucket.arnForObjects(`${props.s3KeyPrefix?`${props.s3KeyPrefix}/`:""}AWSLogs/${core_1.Stack.of(this).account}/*`)],actions:["s3:PutObject"],principals:[cloudTrailPrincipal],conditions:{StringEquals:{"s3:x-amz-acl":"bucket-owner-full-control"}}})),this.topic=props.snsTopic,this.topic&&this.topic.grantPublish(cloudTrailPrincipal);let logsRole;if(props.sendToCloudWatchLogs&&(props.cloudWatchLogGroup?this.logGroup=props.cloudWatchLogGroup:this.logGroup=new logs.LogGroup(this,"LogGroup",{retention:props.cloudWatchLogsRetention??logs.RetentionDays.ONE_YEAR}),logsRole=new iam.Role(this,"LogsRole",{assumedBy:cloudTrailPrincipal}),logsRole.addToPrincipalPolicy(new iam.PolicyStatement({actions:["logs:PutLogEvents","logs:CreateLogStream"],resources:[this.logGroup.logGroupArn]}))),props.managementEvents){let managementEvent;props.managementEvents===ReadWriteType.NONE?managementEvent={includeManagementEvents:!1}:managementEvent={includeManagementEvents:!0,readWriteType:props.managementEvents},this.eventSelectors.push(managementEvent)}if(props.kmsKey&&props.encryptionKey)throw new Error("Both kmsKey and encryptionKey must not be specified. Use only encryptionKey");const trail=new cloudtrail_generated_1.CfnTrail(this,"Resource",{isLogging:!0,enableLogFileValidation:props.enableFileValidation==null?!0:props.enableFileValidation,isMultiRegionTrail:props.isMultiRegionTrail==null?!0:props.isMultiRegionTrail,includeGlobalServiceEvents:props.includeGlobalServiceEvents==null?!0:props.includeGlobalServiceEvents,trailName:this.physicalName,kmsKeyId:props.encryptionKey?.keyArn??props.kmsKey?.keyArn,s3BucketName:this.s3bucket.bucketName,s3KeyPrefix:props.s3KeyPrefix,cloudWatchLogsLogGroupArn:this.logGroup?.logGroupArn,cloudWatchLogsRoleArn:logsRole?.roleArn,snsTopicName:this.topic?.topicName,eventSelectors:this.eventSelectors,isOrganizationTrail:props.isOrganizationTrail});this.trailArn=this.getResourceArnAttribute(trail.attrArn,{service:"cloudtrail",resource:"trail",resourceName:this.physicalName}),this.trailSnsTopicArn=trail.attrSnsTopicArn,this.s3bucket.policy&&trail.node.addDependency(this.s3bucket.policy),logsRole!==void 0&&trail.node.addDependency(logsRole)}static onEvent(scope,id,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_events_OnEventOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.onEvent),error}const rule=new events.Rule(scope,id,options);return rule.addTarget(options.target),rule.addEventPattern({detailType:["AWS API Call via CloudTrail"]}),rule}addEventSelector(dataResourceType,dataResourceValues,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_DataResourceType(dataResourceType),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addEventSelector),error}if(dataResourceValues.length>250)throw new Error("A maximum of 250 data elements can be in one event selector");if(this.eventSelectors.length>5)throw new Error("A maximum of 5 event selectors are supported per trail.");this.eventSelectors.push({dataResources:[{type:dataResourceType,values:dataResourceValues}],includeManagementEvents:options.includeManagementEvents,excludeManagementEventSources:options.excludeManagementEventSources,readWriteType:options.readWriteType})}addLambdaEventSelector(handlers,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addLambdaEventSelector),error}if(handlers.length===0)return;const dataResourceValues=handlers.map(h=>h.functionArn);return this.addEventSelector(DataResourceType.LAMBDA_FUNCTION,dataResourceValues,options)}logAllLambdaDataEvents(options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.logAllLambdaDataEvents),error}return this.addEventSelector(DataResourceType.LAMBDA_FUNCTION,[`arn:${this.stack.partition}:lambda`],options)}addS3EventSelector(s3Selector,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addS3EventSelector),error}if(s3Selector.length===0)return;const dataResourceValues=s3Selector.map(sel=>`${sel.bucket.bucketArn}/${sel.objectPrefix??""}`);return this.addEventSelector(DataResourceType.S3_OBJECT,dataResourceValues,options)}logAllS3DataEvents(options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.logAllS3DataEvents),error}return this.addEventSelector(DataResourceType.S3_OBJECT,[`arn:${this.stack.partition}:s3:::`],options)}onCloudTrailEvent(id,options={}){return Trail.onEvent(this,id,options)}}exports.Trail=Trail,_a=JSII_RTTI_SYMBOL_1,Trail[_a]={fqn:"aws-cdk-lib.aws_cloudtrail.Trail",version:"2.51.0"};var ManagementEventSources;(function(ManagementEventSources2){ManagementEventSources2.KMS="kms.amazonaws.com",ManagementEventSources2.RDS_DATA_API="rdsdata.amazonaws.com"})(ManagementEventSources=exports.ManagementEventSources||(exports.ManagementEventSources={}));var DataResourceType;(function(DataResourceType2){DataResourceType2.LAMBDA_FUNCTION="AWS::Lambda::Function",DataResourceType2.S3_OBJECT="AWS::S3::Object"})(DataResourceType=exports.DataResourceType||(exports.DataResourceType={}));
1
+ "use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.DataResourceType=exports.ManagementEventSources=exports.Trail=exports.ReadWriteType=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),events=require("../../aws-events"),iam=require("../../aws-iam"),logs=require("../../aws-logs"),s3=require("../../aws-s3"),core_1=require("../../core"),cloudtrail_generated_1=require("./cloudtrail.generated");var ReadWriteType;(function(ReadWriteType2){ReadWriteType2.READ_ONLY="ReadOnly",ReadWriteType2.WRITE_ONLY="WriteOnly",ReadWriteType2.ALL="All",ReadWriteType2.NONE="None"})(ReadWriteType=exports.ReadWriteType||(exports.ReadWriteType={}));class Trail extends core_1.Resource{constructor(scope,id,props={}){super(scope,id,{physicalName:props.trailName}),this.eventSelectors=[];try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_TrailProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,Trail),error}const cloudTrailPrincipal=new iam.ServicePrincipal("cloudtrail.amazonaws.com");this.s3bucket=props.bucket||new s3.Bucket(this,"S3",{encryption:s3.BucketEncryption.UNENCRYPTED,enforceSSL:!0}),this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({resources:[this.s3bucket.bucketArn],actions:["s3:GetBucketAcl"],principals:[cloudTrailPrincipal]})),this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({resources:[this.s3bucket.arnForObjects(`${props.s3KeyPrefix?`${props.s3KeyPrefix}/`:""}AWSLogs/${core_1.Stack.of(this).account}/*`)],actions:["s3:PutObject"],principals:[cloudTrailPrincipal],conditions:{StringEquals:{"s3:x-amz-acl":"bucket-owner-full-control"}}})),this.topic=props.snsTopic,this.topic&&this.topic.grantPublish(cloudTrailPrincipal);let logsRole;if(props.sendToCloudWatchLogs&&(props.cloudWatchLogGroup?this.logGroup=props.cloudWatchLogGroup:this.logGroup=new logs.LogGroup(this,"LogGroup",{retention:props.cloudWatchLogsRetention??logs.RetentionDays.ONE_YEAR}),logsRole=new iam.Role(this,"LogsRole",{assumedBy:cloudTrailPrincipal}),logsRole.addToPrincipalPolicy(new iam.PolicyStatement({actions:["logs:PutLogEvents","logs:CreateLogStream"],resources:[this.logGroup.logGroupArn]}))),props.managementEvents){let managementEvent;props.managementEvents===ReadWriteType.NONE?managementEvent={includeManagementEvents:!1}:managementEvent={includeManagementEvents:!0,readWriteType:props.managementEvents},this.eventSelectors.push(managementEvent)}if(props.kmsKey&&props.encryptionKey)throw new Error("Both kmsKey and encryptionKey must not be specified. Use only encryptionKey");const trail=new cloudtrail_generated_1.CfnTrail(this,"Resource",{isLogging:!0,enableLogFileValidation:props.enableFileValidation==null?!0:props.enableFileValidation,isMultiRegionTrail:props.isMultiRegionTrail==null?!0:props.isMultiRegionTrail,includeGlobalServiceEvents:props.includeGlobalServiceEvents==null?!0:props.includeGlobalServiceEvents,trailName:this.physicalName,kmsKeyId:props.encryptionKey?.keyArn??props.kmsKey?.keyArn,s3BucketName:this.s3bucket.bucketName,s3KeyPrefix:props.s3KeyPrefix,cloudWatchLogsLogGroupArn:this.logGroup?.logGroupArn,cloudWatchLogsRoleArn:logsRole?.roleArn,snsTopicName:this.topic?.topicName,eventSelectors:this.eventSelectors,isOrganizationTrail:props.isOrganizationTrail});this.trailArn=this.getResourceArnAttribute(trail.attrArn,{service:"cloudtrail",resource:"trail",resourceName:this.physicalName}),this.trailSnsTopicArn=trail.attrSnsTopicArn,this.s3bucket.policy&&trail.node.addDependency(this.s3bucket.policy),logsRole!==void 0&&trail.node.addDependency(logsRole)}static onEvent(scope,id,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_events_OnEventOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.onEvent),error}const rule=new events.Rule(scope,id,options);return rule.addTarget(options.target),rule.addEventPattern({detailType:["AWS API Call via CloudTrail"]}),rule}addEventSelector(dataResourceType,dataResourceValues,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_DataResourceType(dataResourceType),jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addEventSelector),error}if(dataResourceValues.length>250)throw new Error("A maximum of 250 data elements can be in one event selector");if(this.eventSelectors.length>5)throw new Error("A maximum of 5 event selectors are supported per trail.");this.eventSelectors.push({dataResources:[{type:dataResourceType,values:dataResourceValues}],includeManagementEvents:options.includeManagementEvents,excludeManagementEventSources:options.excludeManagementEventSources,readWriteType:options.readWriteType})}addLambdaEventSelector(handlers,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addLambdaEventSelector),error}if(handlers.length===0)return;const dataResourceValues=handlers.map(h=>h.functionArn);return this.addEventSelector(DataResourceType.LAMBDA_FUNCTION,dataResourceValues,options)}logAllLambdaDataEvents(options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.logAllLambdaDataEvents),error}return this.addEventSelector(DataResourceType.LAMBDA_FUNCTION,[`arn:${this.stack.partition}:lambda`],options)}addS3EventSelector(s3Selector,options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addS3EventSelector),error}if(s3Selector.length===0)return;const dataResourceValues=s3Selector.map(sel=>`${sel.bucket.bucketArn}/${sel.objectPrefix??""}`);return this.addEventSelector(DataResourceType.S3_OBJECT,dataResourceValues,options)}logAllS3DataEvents(options={}){try{jsiiDeprecationWarnings.aws_cdk_lib_aws_cloudtrail_AddEventSelectorOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.logAllS3DataEvents),error}return this.addEventSelector(DataResourceType.S3_OBJECT,[`arn:${this.stack.partition}:s3:::`],options)}onCloudTrailEvent(id,options={}){return Trail.onEvent(this,id,options)}}exports.Trail=Trail,_a=JSII_RTTI_SYMBOL_1,Trail[_a]={fqn:"aws-cdk-lib.aws_cloudtrail.Trail",version:"2.51.1"};var ManagementEventSources;(function(ManagementEventSources2){ManagementEventSources2.KMS="kms.amazonaws.com",ManagementEventSources2.RDS_DATA_API="rdsdata.amazonaws.com"})(ManagementEventSources=exports.ManagementEventSources||(exports.ManagementEventSources={}));var DataResourceType;(function(DataResourceType2){DataResourceType2.LAMBDA_FUNCTION="AWS::Lambda::Function",DataResourceType2.S3_OBJECT="AWS::S3::Object"})(DataResourceType=exports.DataResourceType||(exports.DataResourceType={}));
2
2
  //# sourceMappingURL=cloudtrail.js.map