terraconstructs 0.1.4 → 0.1.6

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 (270) hide show
  1. package/.jsii +662 -282
  2. package/lib/asset-staging.js +1 -1
  3. package/lib/aws/arn.js +1 -1
  4. package/lib/aws/aws-asset-manager.js +1 -1
  5. package/lib/aws/aws-construct.js +1 -1
  6. package/lib/aws/aws-stack.js +1 -1
  7. package/lib/aws/aws-tags.js +2 -2
  8. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  9. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  10. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  11. package/lib/aws/cloudwatch/actions/sns.js +1 -1
  12. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  13. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  14. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  15. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  16. package/lib/aws/cloudwatch/alarm.js +1 -1
  17. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  18. package/lib/aws/cloudwatch/dashboard.js +1 -1
  19. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  20. package/lib/aws/cloudwatch/graph.js +8 -8
  21. package/lib/aws/cloudwatch/layout.js +3 -3
  22. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  23. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  24. package/lib/aws/cloudwatch/log-group.js +1 -1
  25. package/lib/aws/cloudwatch/log-query.js +1 -1
  26. package/lib/aws/cloudwatch/log-stream.js +1 -1
  27. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  28. package/lib/aws/cloudwatch/metric.js +2 -2
  29. package/lib/aws/cloudwatch/pattern.js +3 -3
  30. package/lib/aws/cloudwatch/policy.js +1 -1
  31. package/lib/aws/cloudwatch/query-definition.js +2 -2
  32. package/lib/aws/cloudwatch/stats.js +1 -1
  33. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  34. package/lib/aws/cloudwatch/text.js +1 -1
  35. package/lib/aws/cloudwatch/variable.js +3 -3
  36. package/lib/aws/cloudwatch/widget.js +1 -1
  37. package/lib/aws/compute/access-log.js +4 -4
  38. package/lib/aws/compute/activity.js +1 -1
  39. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  40. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  41. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  42. package/lib/aws/compute/alb/application-listener.js +1 -1
  43. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  44. package/lib/aws/compute/alb/application-target-group.js +1 -1
  45. package/lib/aws/compute/alb/conditions.js +1 -1
  46. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  47. package/lib/aws/compute/alb/trust-store.js +1 -1
  48. package/lib/aws/compute/api-definition.js +3 -3
  49. package/lib/aws/compute/api-key.js +2 -2
  50. package/lib/aws/compute/architecture.js +1 -1
  51. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  52. package/lib/aws/compute/authorizer.js +1 -1
  53. package/lib/aws/compute/authorizers/identity-source.js +1 -1
  54. package/lib/aws/compute/authorizers/lambda.js +2 -2
  55. package/lib/aws/compute/base-path-mapping.js +1 -1
  56. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  57. package/lib/aws/compute/bastion-host.js +1 -1
  58. package/lib/aws/compute/chain.js +1 -1
  59. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  60. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  61. package/lib/aws/compute/client-vpn-route.js +2 -2
  62. package/lib/aws/compute/code.js +44 -11
  63. package/lib/aws/compute/condition.js +1 -1
  64. package/lib/aws/compute/connections.js +1 -1
  65. package/lib/aws/compute/cors.js +1 -1
  66. package/lib/aws/compute/deployment.js +1 -1
  67. package/lib/aws/compute/domain-name.js +1 -1
  68. package/lib/aws/compute/event-invoke-config.js +1 -1
  69. package/lib/aws/compute/event-source-filter.js +2 -2
  70. package/lib/aws/compute/event-source-mapping.js +1 -1
  71. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  72. package/lib/aws/compute/event-sources/s3.js +1 -1
  73. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  74. package/lib/aws/compute/event-sources/sqs.js +1 -1
  75. package/lib/aws/compute/fields.js +4 -4
  76. package/lib/aws/compute/function-alias.js +1 -1
  77. package/lib/aws/compute/function-base.d.ts +20 -0
  78. package/lib/aws/compute/function-base.js +23 -3
  79. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  80. package/lib/aws/compute/function-destinations/function.js +1 -1
  81. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  82. package/lib/aws/compute/function-nodejs/function.js +1 -1
  83. package/lib/aws/compute/function-url.js +1 -1
  84. package/lib/aws/compute/function.d.ts +88 -1
  85. package/lib/aws/compute/function.js +108 -18
  86. package/lib/aws/compute/gateway-response.js +2 -2
  87. package/lib/aws/compute/handler.js +1 -1
  88. package/lib/aws/compute/instance-types.js +1 -1
  89. package/lib/aws/compute/instance.js +1 -1
  90. package/lib/aws/compute/integration.js +1 -1
  91. package/lib/aws/compute/integrations/aws.js +1 -1
  92. package/lib/aws/compute/integrations/http.js +1 -1
  93. package/lib/aws/compute/integrations/lambda.js +1 -1
  94. package/lib/aws/compute/integrations/mock.js +1 -1
  95. package/lib/aws/compute/integrations/stepfunctions.js +1 -1
  96. package/lib/aws/compute/ip-addresses.js +2 -2
  97. package/lib/aws/compute/ipam.js +1 -1
  98. package/lib/aws/compute/key-pair.js +1 -1
  99. package/lib/aws/compute/lambda-api.js +1 -1
  100. package/lib/aws/compute/launch-template.js +2 -2
  101. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  102. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  103. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  104. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  105. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  106. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  107. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  108. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  109. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  110. package/lib/aws/compute/load-balancer.js +3 -3
  111. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  112. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  113. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  114. package/lib/aws/compute/machine-image/common.js +1 -1
  115. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  116. package/lib/aws/compute/method.js +1 -1
  117. package/lib/aws/compute/model.js +3 -3
  118. package/lib/aws/compute/nat.js +5 -5
  119. package/lib/aws/compute/network-acl-types.js +2 -2
  120. package/lib/aws/compute/network-acl.js +3 -3
  121. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  122. package/lib/aws/compute/nlb/network-listener.js +1 -1
  123. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  124. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  125. package/lib/aws/compute/peer.js +1 -1
  126. package/lib/aws/compute/placement-group.js +1 -1
  127. package/lib/aws/compute/port.js +1 -1
  128. package/lib/aws/compute/prefix-list.js +1 -1
  129. package/lib/aws/compute/requestvalidator.js +1 -1
  130. package/lib/aws/compute/resource.js +3 -3
  131. package/lib/aws/compute/restapi.js +3 -3
  132. package/lib/aws/compute/route.js +8 -8
  133. package/lib/aws/compute/runtime.js +1 -1
  134. package/lib/aws/compute/scalable-target.js +1 -1
  135. package/lib/aws/compute/schedule.js +1 -1
  136. package/lib/aws/compute/security-group.js +1 -1
  137. package/lib/aws/compute/stage.js +2 -2
  138. package/lib/aws/compute/state-graph.js +1 -1
  139. package/lib/aws/compute/state-machine-fragment.js +1 -1
  140. package/lib/aws/compute/state-machine.js +4 -4
  141. package/lib/aws/compute/states/choice.js +1 -1
  142. package/lib/aws/compute/states/custom-state.js +1 -1
  143. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  144. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  145. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  146. package/lib/aws/compute/states/distributed-map.js +1 -1
  147. package/lib/aws/compute/states/fail.js +1 -1
  148. package/lib/aws/compute/states/map-base.js +1 -1
  149. package/lib/aws/compute/states/map.js +1 -1
  150. package/lib/aws/compute/states/parallel.js +1 -1
  151. package/lib/aws/compute/states/pass.js +2 -2
  152. package/lib/aws/compute/states/state.js +1 -1
  153. package/lib/aws/compute/states/succeed.js +1 -1
  154. package/lib/aws/compute/states/task-base.js +2 -2
  155. package/lib/aws/compute/states/task.js +1 -1
  156. package/lib/aws/compute/states/wait.js +2 -2
  157. package/lib/aws/compute/step-scaling-action.js +1 -1
  158. package/lib/aws/compute/step-scaling-policy.js +1 -1
  159. package/lib/aws/compute/stepfunctions-api.js +1 -1
  160. package/lib/aws/compute/subnet-v2.js +2 -2
  161. package/lib/aws/compute/subnet.js +1 -1
  162. package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
  163. package/lib/aws/compute/task-credentials.js +1 -1
  164. package/lib/aws/compute/task-input.js +1 -1
  165. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  166. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  167. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  168. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  169. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  170. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  171. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  172. package/lib/aws/compute/types.js +1 -1
  173. package/lib/aws/compute/usage-plan.js +1 -1
  174. package/lib/aws/compute/user-data.js +3 -3
  175. package/lib/aws/compute/volume.js +2 -2
  176. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  177. package/lib/aws/compute/vpc-endpoint.js +6 -6
  178. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  179. package/lib/aws/compute/vpc-link.js +1 -1
  180. package/lib/aws/compute/vpc-v2-base.js +1 -1
  181. package/lib/aws/compute/vpc-v2.js +2 -2
  182. package/lib/aws/compute/vpc.js +4 -4
  183. package/lib/aws/compute/vpn.js +3 -3
  184. package/lib/aws/edge/certificate.js +1 -1
  185. package/lib/aws/edge/distribution.js +3 -3
  186. package/lib/aws/edge/dns-alias-record-targets.d.ts +40 -1
  187. package/lib/aws/edge/dns-alias-record-targets.js +71 -9
  188. package/lib/aws/edge/dns-record.js +13 -13
  189. package/lib/aws/edge/dns-zone.js +1 -1
  190. package/lib/aws/edge/function.js +2 -2
  191. package/lib/aws/edge/key-value-store.js +4 -4
  192. package/lib/aws/edge/origin.js +3 -3
  193. package/lib/aws/edge/response-headers-policy.js +1 -1
  194. package/lib/aws/encryption/alias.js +1 -1
  195. package/lib/aws/encryption/key.js +1 -1
  196. package/lib/aws/encryption/via-service-principal.js +1 -1
  197. package/lib/aws/iam/grant.js +2 -2
  198. package/lib/aws/iam/group.js +1 -1
  199. package/lib/aws/iam/instance-profile.js +1 -1
  200. package/lib/aws/iam/managed-policy.js +1 -1
  201. package/lib/aws/iam/oidc-provider.js +1 -1
  202. package/lib/aws/iam/policy-document.js +1 -1
  203. package/lib/aws/iam/policy-statement.js +1 -1
  204. package/lib/aws/iam/policy.js +1 -1
  205. package/lib/aws/iam/principals.js +20 -20
  206. package/lib/aws/iam/role.js +1 -1
  207. package/lib/aws/iam/saml-provider.js +2 -2
  208. package/lib/aws/iam/unknown-principal.js +1 -1
  209. package/lib/aws/iam/user.js +1 -1
  210. package/lib/aws/network/simple-ipv4-vpc.d.ts +1 -0
  211. package/lib/aws/network/simple-ipv4-vpc.js +3 -2
  212. package/lib/aws/network/subnet-group.js +3 -3
  213. package/lib/aws/network/subnet.d.ts +9 -0
  214. package/lib/aws/network/subnet.js +14 -5
  215. package/lib/aws/notify/archive.js +1 -1
  216. package/lib/aws/notify/connection.js +3 -3
  217. package/lib/aws/notify/event-bus.js +3 -3
  218. package/lib/aws/notify/event-pattern.js +1 -1
  219. package/lib/aws/notify/input.js +2 -2
  220. package/lib/aws/notify/kinesis-stream.js +1 -1
  221. package/lib/aws/notify/notification-rule.js +1 -1
  222. package/lib/aws/notify/policy.js +1 -1
  223. package/lib/aws/notify/queue-policy.js +1 -1
  224. package/lib/aws/notify/queue.js +1 -1
  225. package/lib/aws/notify/resource-policy.js +1 -1
  226. package/lib/aws/notify/rule.js +1 -1
  227. package/lib/aws/notify/schedule.js +1 -1
  228. package/lib/aws/notify/subscription-filter.js +1 -1
  229. package/lib/aws/notify/subscription.js +4 -4
  230. package/lib/aws/notify/subscriptions/email.js +1 -1
  231. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  232. package/lib/aws/notify/subscriptions/sms.js +1 -1
  233. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  234. package/lib/aws/notify/subscriptions/url.js +1 -1
  235. package/lib/aws/notify/targets/event-bus.js +1 -1
  236. package/lib/aws/notify/targets/function.js +1 -1
  237. package/lib/aws/notify/targets/log-group.js +2 -2
  238. package/lib/aws/notify/targets/sqs.js +1 -1
  239. package/lib/aws/notify/targets/state-machine.js +1 -1
  240. package/lib/aws/notify/topic-base.js +1 -1
  241. package/lib/aws/notify/topic.js +1 -1
  242. package/lib/aws/storage/assets/image-asset.js +3 -3
  243. package/lib/aws/storage/assets/s3.js +1 -1
  244. package/lib/aws/storage/auth-token.js +2 -2
  245. package/lib/aws/storage/billing.js +1 -1
  246. package/lib/aws/storage/bucket-notifications.js +1 -1
  247. package/lib/aws/storage/bucket-policy.js +1 -1
  248. package/lib/aws/storage/bucket-source.js +1 -1
  249. package/lib/aws/storage/bucket.js +2 -2
  250. package/lib/aws/storage/capacity.js +1 -1
  251. package/lib/aws/storage/ecr-repository.js +3 -3
  252. package/lib/aws/storage/encryption.js +6 -14
  253. package/lib/aws/storage/notification-targets/function.js +1 -1
  254. package/lib/aws/storage/notification-targets/queue.js +1 -1
  255. package/lib/aws/storage/origin-access-identity.js +1 -1
  256. package/lib/aws/storage/parameter.js +2 -2
  257. package/lib/aws/storage/table.js +3 -3
  258. package/lib/bundling.js +3 -3
  259. package/lib/construct-base.js +2 -2
  260. package/lib/duration.js +1 -1
  261. package/lib/errors.d.ts +118 -0
  262. package/lib/errors.js +215 -0
  263. package/lib/expiration.js +1 -1
  264. package/lib/fs/ignore.js +4 -4
  265. package/lib/fs/index.js +1 -1
  266. package/lib/size.js +1 -1
  267. package/lib/stack-base.js +1 -1
  268. package/lib/terra-func.js +1 -1
  269. package/lib/time-zone.js +1 -1
  270. package/package.json +1 -1
@@ -57,7 +57,7 @@ class VpnGateway extends aws_construct_1.AwsConstructBase {
57
57
  }
58
58
  exports.VpnGateway = VpnGateway;
59
59
  _a = JSII_RTTI_SYMBOL_1;
60
- VpnGateway[_a] = { fqn: "terraconstructs.aws.compute.VpnGateway", version: "0.1.4" };
60
+ VpnGateway[_a] = { fqn: "terraconstructs.aws.compute.VpnGateway", version: "0.1.6" };
61
61
  /**
62
62
  * Base class for Vpn connections.
63
63
  */
@@ -76,7 +76,7 @@ class VpnConnectionBase extends aws_construct_1.AwsConstructBase {
76
76
  }
77
77
  exports.VpnConnectionBase = VpnConnectionBase;
78
78
  _b = JSII_RTTI_SYMBOL_1;
79
- VpnConnectionBase[_b] = { fqn: "terraconstructs.aws.compute.VpnConnectionBase", version: "0.1.4" };
79
+ VpnConnectionBase[_b] = { fqn: "terraconstructs.aws.compute.VpnConnectionBase", version: "0.1.6" };
80
80
  /**
81
81
  * Define a VPN Connection
82
82
  *
@@ -254,7 +254,7 @@ class VpnConnection extends VpnConnectionBase {
254
254
  }
255
255
  exports.VpnConnection = VpnConnection;
256
256
  _c = JSII_RTTI_SYMBOL_1;
257
- VpnConnection[_c] = { fqn: "terraconstructs.aws.compute.VpnConnection", version: "0.1.4" };
257
+ VpnConnection[_c] = { fqn: "terraconstructs.aws.compute.VpnConnection", version: "0.1.6" };
258
258
  exports.RESERVED_TUNNEL_INSIDE_CIDR = [
259
259
  "169.254.0.0/30",
260
260
  "169.254.1.0/30",
@@ -154,7 +154,7 @@ class PublicCertificate extends certificate_base_1.CertificateBase {
154
154
  }
155
155
  exports.PublicCertificate = PublicCertificate;
156
156
  _a = JSII_RTTI_SYMBOL_1;
157
- PublicCertificate[_a] = { fqn: "terraconstructs.aws.edge.PublicCertificate", version: "0.1.4" };
157
+ PublicCertificate[_a] = { fqn: "terraconstructs.aws.edge.PublicCertificate", version: "0.1.6" };
158
158
  /**
159
159
  * Method used to assert ownership of the domain
160
160
  */
@@ -242,7 +242,7 @@ class Distribution extends aws_construct_1.AwsConstructBase {
242
242
  }
243
243
  exports.Distribution = Distribution;
244
244
  _a = JSII_RTTI_SYMBOL_1;
245
- Distribution[_a] = { fqn: "terraconstructs.aws.edge.Distribution", version: "0.1.4" };
245
+ Distribution[_a] = { fqn: "terraconstructs.aws.edge.Distribution", version: "0.1.6" };
246
246
  var GeoRestrictionType;
247
247
  (function (GeoRestrictionType) {
248
248
  GeoRestrictionType["NONE"] = "none";
@@ -320,7 +320,7 @@ class AllowedMethods {
320
320
  }
321
321
  exports.AllowedMethods = AllowedMethods;
322
322
  _b = JSII_RTTI_SYMBOL_1;
323
- AllowedMethods[_b] = { fqn: "terraconstructs.aws.edge.AllowedMethods", version: "0.1.4" };
323
+ AllowedMethods[_b] = { fqn: "terraconstructs.aws.edge.AllowedMethods", version: "0.1.6" };
324
324
  /** HEAD and GET */
325
325
  AllowedMethods.ALLOW_GET_HEAD = new AllowedMethods(["GET", "HEAD"]);
326
326
  /** HEAD, GET, and OPTIONS */
@@ -349,7 +349,7 @@ class CachedMethods {
349
349
  }
350
350
  exports.CachedMethods = CachedMethods;
351
351
  _c = JSII_RTTI_SYMBOL_1;
352
- CachedMethods[_c] = { fqn: "terraconstructs.aws.edge.CachedMethods", version: "0.1.4" };
352
+ CachedMethods[_c] = { fqn: "terraconstructs.aws.edge.CachedMethods", version: "0.1.6" };
353
353
  /** HEAD and GET */
354
354
  CachedMethods.CACHE_GET_HEAD = new CachedMethods(["GET", "HEAD"]);
355
355
  /** HEAD, GET, and OPTIONS */
@@ -1,9 +1,11 @@
1
1
  import { route53Record } from "@cdktf/provider-aws";
2
2
  import { IRecordSet, IDnsZone, IDistribution } from ".";
3
+ import { IDomainName } from "../compute/domain-name";
3
4
  import { ILoadBalancerBaseV2 } from "../compute/lb-shared/base-load-balancer";
5
+ import { RestApiBase } from "../compute/restapi";
4
6
  import { IBucket } from "../storage";
5
7
  /**
6
- * Classes that are valid alias record targets, like CloudFront distributions and load
8
+ * Classes that are valid alias record targets, like CloudFront distributions load
7
9
  * balancers, should implement this interface.
8
10
  */
9
11
  export interface IAliasRecordTarget {
@@ -28,9 +30,46 @@ export declare class BucketWebsiteTarget implements IAliasRecordTarget {
28
30
  constructor(bucket: IBucket);
29
31
  bind(_record: IRecordSet, _zone?: IDnsZone): route53Record.Route53RecordAlias;
30
32
  }
33
+ /**
34
+ * Use an ELBv2 as an alias record target
35
+ */
31
36
  export declare class LoadBalancerTarget implements IAliasRecordTarget {
32
37
  private readonly loadBalancer;
33
38
  static fromAttributes(loadBalancerCanonicalHostedZoneId: string, loadBalancerDnsName: string): LoadBalancerTarget;
34
39
  constructor(loadBalancer: ILoadBalancerBaseV2);
35
40
  bind(_record: IRecordSet, _zone?: IDnsZone): route53Record.Route53RecordAlias;
36
41
  }
42
+ /**
43
+ * Defines an API Gateway domain name as the alias target.
44
+ *
45
+ * Use the `ApiGatewayTarget` class if you wish to map the alias to an REST API with a
46
+ * domain name defined through the `RestApiProps.domainName` prop.
47
+ */
48
+ export declare class ApiGatewayDomain implements IAliasRecordTarget {
49
+ private readonly domainName;
50
+ constructor(domainName: IDomainName);
51
+ bind(_record: IRecordSet, _zone?: IDnsZone): route53Record.Route53RecordAlias;
52
+ }
53
+ /**
54
+ * Defines an API Gateway REST API as the alias target. Requires that the domain
55
+ * name will be defined through `RestApiProps.domainName`.
56
+ *
57
+ * You can direct the alias to any `apigateway.DomainName` resource through the
58
+ * `ApiGatewayDomain` class.
59
+ */
60
+ export declare class ApiGatewayTarget extends ApiGatewayDomain {
61
+ constructor(api: RestApiBase);
62
+ }
63
+ /**
64
+ * Defines an API Gateway V2 domain name as the alias target.
65
+ */
66
+ export declare class ApiGatewayv2DomainProperties implements IAliasRecordTarget {
67
+ private readonly regionalDomainName;
68
+ private readonly regionalHostedZoneId;
69
+ /**
70
+ * @param regionalDomainName the domain name associated with the regional endpoint for this custom domain name.
71
+ * @param regionalHostedZoneId the region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
72
+ */
73
+ constructor(regionalDomainName: string, regionalHostedZoneId: string);
74
+ bind(_record: IRecordSet, _zone?: IDnsZone): route53Record.Route53RecordAlias;
75
+ }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var _a, _b, _c;
2
+ var _a, _b, _c, _d, _e, _f;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.LoadBalancerTarget = exports.BucketWebsiteTarget = exports.DistributionTarget = void 0;
4
+ exports.ApiGatewayv2DomainProperties = exports.ApiGatewayTarget = exports.ApiGatewayDomain = exports.LoadBalancerTarget = exports.BucketWebsiteTarget = exports.DistributionTarget = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const base_load_balancer_1 = require("../compute/lb-shared/base-load-balancer");
7
7
  /**
@@ -21,7 +21,7 @@ class DistributionTarget {
21
21
  }
22
22
  exports.DistributionTarget = DistributionTarget;
23
23
  _a = JSII_RTTI_SYMBOL_1;
24
- DistributionTarget[_a] = { fqn: "terraconstructs.aws.edge.DistributionTarget", version: "0.1.4" };
24
+ DistributionTarget[_a] = { fqn: "terraconstructs.aws.edge.DistributionTarget", version: "0.1.6" };
25
25
  /**
26
26
  * Use Bucket as an alias record target
27
27
  */
@@ -43,10 +43,10 @@ class BucketWebsiteTarget {
43
43
  }
44
44
  exports.BucketWebsiteTarget = BucketWebsiteTarget;
45
45
  _b = JSII_RTTI_SYMBOL_1;
46
- BucketWebsiteTarget[_b] = { fqn: "terraconstructs.aws.edge.BucketWebsiteTarget", version: "0.1.4" };
47
- // /**
48
- // * Use an ELBv2 as an alias record target
49
- // */
46
+ BucketWebsiteTarget[_b] = { fqn: "terraconstructs.aws.edge.BucketWebsiteTarget", version: "0.1.6" };
47
+ /**
48
+ * Use an ELBv2 as an alias record target
49
+ */
50
50
  class LoadBalancerTarget {
51
51
  static fromAttributes(loadBalancerCanonicalHostedZoneId, loadBalancerDnsName) {
52
52
  const imported = new base_load_balancer_1.ImportedLoadBalancer(loadBalancerCanonicalHostedZoneId, loadBalancerDnsName);
@@ -65,5 +65,67 @@ class LoadBalancerTarget {
65
65
  }
66
66
  exports.LoadBalancerTarget = LoadBalancerTarget;
67
67
  _c = JSII_RTTI_SYMBOL_1;
68
- LoadBalancerTarget[_c] = { fqn: "terraconstructs.aws.edge.LoadBalancerTarget", version: "0.1.4" };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWFsaWFzLXJlY29yZC10YXJnZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL2Rucy1hbGlhcy1yZWNvcmQtdGFyZ2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGdGQUdpRDtBQWNqRDs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBQzdCLFlBQTZCLFlBQTJCO1FBQTNCLGlCQUFZLEdBQVosWUFBWSxDQUFlO0lBQUcsQ0FBQztJQUVyRCxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7WUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtZQUNsQyxvQkFBb0IsRUFBRSxLQUFLO1NBQzVCLENBQUM7SUFDSixDQUFDOztBQVpILGdEQWFDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBQzlCLFlBQTZCLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztJQUV6QyxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBRTVDLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtZQUNuQyxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOztBQW5CSCxrREFvQkM7OztBQUVELE1BQU07QUFDTiw0Q0FBNEM7QUFDNUMsTUFBTTtBQUNOLE1BQWEsa0JBQWtCO0lBQ3RCLE1BQU0sQ0FBQyxjQUFjLENBQzFCLGlDQUF5QyxFQUN6QyxtQkFBMkI7UUFFM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSx5Q0FBb0IsQ0FDdkMsaUNBQWlDLEVBQ2pDLG1CQUFtQixDQUNwQixDQUFDO1FBQ0YsT0FBTyxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxZQUE2QixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRTNELElBQUksQ0FDVCxPQUFtQixFQUNuQixLQUFnQjtRQUVoQixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsaUNBQWlDO1lBQzNELElBQUksRUFBRSxhQUFhLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUU7WUFDMUQsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO0lBQ0osQ0FBQzs7QUF0QkgsZ0RBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcm91dGU1M1JlY29yZCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBJUmVjb3JkU2V0LCBJRG5zWm9uZSwgSURpc3RyaWJ1dGlvbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQge1xuICBJTG9hZEJhbGFuY2VyQmFzZVYyLFxuICBJbXBvcnRlZExvYWRCYWxhbmNlcixcbn0gZnJvbSBcIi4uL2NvbXB1dGUvbGItc2hhcmVkL2Jhc2UtbG9hZC1iYWxhbmNlclwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCIuLi9zdG9yYWdlXCI7XG5cbi8qKlxuICogQ2xhc3NlcyB0aGF0IGFyZSB2YWxpZCBhbGlhcyByZWNvcmQgdGFyZ2V0cywgbGlrZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbnMgYW5kIGxvYWRcbiAqIGJhbGFuY2Vycywgc2hvdWxkIGltcGxlbWVudCB0aGlzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQWxpYXNSZWNvcmRUYXJnZXQge1xuICAvKipcbiAgICogUmV0dXJuIGhvc3RlZCB6b25lIElEIGFuZCBETlMgbmFtZSwgdXNhYmxlIGZvciBSb3V0ZTUzIGFsaWFzIHRhcmdldHNcbiAgICovXG4gIGJpbmQocmVjb3JkOiBJUmVjb3JkU2V0LCB6b25lPzogSURuc1pvbmUpOiByb3V0ZTUzUmVjb3JkLlJvdXRlNTNSZWNvcmRBbGlhcztcbn1cblxuLyoqXG4gKiBVc2UgYSBDbG91ZEZyb250IERpc3RyaWJ1dGlvbiBhcyBhbiBhbGlhcyByZWNvcmQgdGFyZ2V0XG4gKi9cbmV4cG9ydCBjbGFzcyBEaXN0cmlidXRpb25UYXJnZXQgaW1wbGVtZW50cyBJQWxpYXNSZWNvcmRUYXJnZXQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogSURpc3RyaWJ1dGlvbikge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmRpc3RyaWJ1dGlvbi5ob3N0ZWRab25lSWQsXG4gICAgICBuYW1lOiB0aGlzLmRpc3RyaWJ1dGlvbi5kb21haW5OYW1lLFxuICAgICAgZXZhbHVhdGVUYXJnZXRIZWFsdGg6IGZhbHNlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBVc2UgQnVja2V0IGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldFdlYnNpdGVUYXJnZXQgaW1wbGVtZW50cyBJQWxpYXNSZWNvcmRUYXJnZXQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldCkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICBpZiAoIXRoaXMuYnVja2V0LmlzV2Vic2l0ZSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2Fubm90IHVzZSBhIG5vbi13ZWJzaXRlIGJ1Y2tldCBhcyBhbiBhbGlhcyByZWNvcmQgdGFyZ2V0XCIsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmJ1Y2tldC5idWNrZXRPdXRwdXRzLndlYnNpdGVEb21haW5OYW1lO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHpvbmVJZDogdGhpcy5idWNrZXQuaG9zdGVkWm9uZUlkLFxuICAgICAgbmFtZTogdGhpcy5idWNrZXQud2Vic2l0ZURvbWFpbk5hbWUsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG5cbi8vIC8qKlxuLy8gICogVXNlIGFuIEVMQnYyIGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcbi8vICAqL1xuZXhwb3J0IGNsYXNzIExvYWRCYWxhbmNlclRhcmdldCBpbXBsZW1lbnRzIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIHB1YmxpYyBzdGF0aWMgZnJvbUF0dHJpYnV0ZXMoXG4gICAgbG9hZEJhbGFuY2VyQ2Fub25pY2FsSG9zdGVkWm9uZUlkOiBzdHJpbmcsXG4gICAgbG9hZEJhbGFuY2VyRG5zTmFtZTogc3RyaW5nLFxuICApIHtcbiAgICBjb25zdCBpbXBvcnRlZCA9IG5ldyBJbXBvcnRlZExvYWRCYWxhbmNlcihcbiAgICAgIGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZCxcbiAgICAgIGxvYWRCYWxhbmNlckRuc05hbWUsXG4gICAgKTtcbiAgICByZXR1cm4gbmV3IExvYWRCYWxhbmNlclRhcmdldChpbXBvcnRlZCk7XG4gIH1cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2FkQmFsYW5jZXI6IElMb2FkQmFsYW5jZXJCYXNlVjIpIHt9XG5cbiAgcHVibGljIGJpbmQoXG4gICAgX3JlY29yZDogSVJlY29yZFNldCxcbiAgICBfem9uZT86IElEbnNab25lLFxuICApOiByb3V0ZTUzUmVjb3JkLlJvdXRlNTNSZWNvcmRBbGlhcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHpvbmVJZDogdGhpcy5sb2FkQmFsYW5jZXIubG9hZEJhbGFuY2VyQ2Fub25pY2FsSG9zdGVkWm9uZUlkLFxuICAgICAgbmFtZTogYGR1YWxzdGFjay4ke3RoaXMubG9hZEJhbGFuY2VyLmxvYWRCYWxhbmNlckRuc05hbWV9YCxcbiAgICAgIGV2YWx1YXRlVGFyZ2V0SGVhbHRoOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
68
+ LoadBalancerTarget[_c] = { fqn: "terraconstructs.aws.edge.LoadBalancerTarget", version: "0.1.6" };
69
+ /**
70
+ * Defines an API Gateway domain name as the alias target.
71
+ *
72
+ * Use the `ApiGatewayTarget` class if you wish to map the alias to an REST API with a
73
+ * domain name defined through the `RestApiProps.domainName` prop.
74
+ */
75
+ class ApiGatewayDomain {
76
+ constructor(domainName) {
77
+ this.domainName = domainName;
78
+ }
79
+ bind(_record, _zone) {
80
+ return {
81
+ zoneId: this.domainName.domainNameAliasHostedZoneId,
82
+ name: this.domainName.domainNameAliasDomainName,
83
+ evaluateTargetHealth: true,
84
+ };
85
+ }
86
+ }
87
+ exports.ApiGatewayDomain = ApiGatewayDomain;
88
+ _d = JSII_RTTI_SYMBOL_1;
89
+ ApiGatewayDomain[_d] = { fqn: "terraconstructs.aws.edge.ApiGatewayDomain", version: "0.1.6" };
90
+ /**
91
+ * Defines an API Gateway REST API as the alias target. Requires that the domain
92
+ * name will be defined through `RestApiProps.domainName`.
93
+ *
94
+ * You can direct the alias to any `apigateway.DomainName` resource through the
95
+ * `ApiGatewayDomain` class.
96
+ */
97
+ class ApiGatewayTarget extends ApiGatewayDomain {
98
+ constructor(api) {
99
+ if (!api.domainName) {
100
+ throw new Error(`API does not define a default domain name: ${api}`);
101
+ }
102
+ super(api.domainName);
103
+ }
104
+ }
105
+ exports.ApiGatewayTarget = ApiGatewayTarget;
106
+ _e = JSII_RTTI_SYMBOL_1;
107
+ ApiGatewayTarget[_e] = { fqn: "terraconstructs.aws.edge.ApiGatewayTarget", version: "0.1.6" };
108
+ /**
109
+ * Defines an API Gateway V2 domain name as the alias target.
110
+ */
111
+ class ApiGatewayv2DomainProperties {
112
+ /**
113
+ * @param regionalDomainName the domain name associated with the regional endpoint for this custom domain name.
114
+ * @param regionalHostedZoneId the region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
115
+ */
116
+ constructor(regionalDomainName, regionalHostedZoneId) {
117
+ this.regionalDomainName = regionalDomainName;
118
+ this.regionalHostedZoneId = regionalHostedZoneId;
119
+ }
120
+ bind(_record, _zone) {
121
+ return {
122
+ name: this.regionalDomainName,
123
+ zoneId: this.regionalHostedZoneId,
124
+ evaluateTargetHealth: true,
125
+ };
126
+ }
127
+ }
128
+ exports.ApiGatewayv2DomainProperties = ApiGatewayv2DomainProperties;
129
+ _f = JSII_RTTI_SYMBOL_1;
130
+ ApiGatewayv2DomainProperties[_f] = { fqn: "terraconstructs.aws.edge.ApiGatewayv2DomainProperties", version: "0.1.6" };
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWFsaWFzLXJlY29yZC10YXJnZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL2Rucy1hbGlhcy1yZWNvcmQtdGFyZ2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLGdGQUdpRDtBQWVqRDs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBQzdCLFlBQTZCLFlBQTJCO1FBQTNCLGlCQUFZLEdBQVosWUFBWSxDQUFlO0lBQUcsQ0FBQztJQUVyRCxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7WUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtZQUNsQyxvQkFBb0IsRUFBRSxLQUFLO1NBQzVCLENBQUM7SUFDSixDQUFDOztBQVpILGdEQWFDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBQzlCLFlBQTZCLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztJQUV6QyxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBRTVDLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtZQUNuQyxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOztBQW5CSCxrREFvQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FDMUIsaUNBQXlDLEVBQ3pDLG1CQUEyQjtRQUUzQixNQUFNLFFBQVEsR0FBRyxJQUFJLHlDQUFvQixDQUN2QyxpQ0FBaUMsRUFDakMsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixPQUFPLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFlBQTZCLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFM0QsSUFBSSxDQUNULE9BQW1CLEVBQ25CLEtBQWdCO1FBRWhCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQ0FBaUM7WUFDM0QsSUFBSSxFQUFFLGFBQWEsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxRCxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOztBQXRCSCxnREF1QkM7OztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFDM0IsWUFBNkIsVUFBdUI7UUFBdkIsZUFBVSxHQUFWLFVBQVUsQ0FBYTtJQUFHLENBQUM7SUFFakQsSUFBSSxDQUNULE9BQW1CLEVBQ25CLEtBQWdCO1FBRWhCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkI7WUFDbkQsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCO1lBQy9DLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7O0FBWkgsNENBYUM7OztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBQ3BELFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O0FBUEgsNENBUUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSw0QkFBNEI7SUFDdkM7OztPQUdHO0lBQ0gsWUFDbUIsa0JBQTBCLEVBQzFCLG9CQUE0QjtRQUQ1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFDMUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFRO0lBQzVDLENBQUM7SUFFRyxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQ2pDLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7O0FBbkJILG9FQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJvdXRlNTNSZWNvcmQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgSVJlY29yZFNldCwgSURuc1pvbmUsIElEaXN0cmlidXRpb24gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgSURvbWFpbk5hbWUgfSBmcm9tIFwiLi4vY29tcHV0ZS9kb21haW4tbmFtZVwiO1xuaW1wb3J0IHtcbiAgSUxvYWRCYWxhbmNlckJhc2VWMixcbiAgSW1wb3J0ZWRMb2FkQmFsYW5jZXIsXG59IGZyb20gXCIuLi9jb21wdXRlL2xiLXNoYXJlZC9iYXNlLWxvYWQtYmFsYW5jZXJcIjtcbmltcG9ydCB7IFJlc3RBcGlCYXNlIH0gZnJvbSBcIi4uL2NvbXB1dGUvcmVzdGFwaVwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCIuLi9zdG9yYWdlXCI7XG5cbi8qKlxuICogQ2xhc3NlcyB0aGF0IGFyZSB2YWxpZCBhbGlhcyByZWNvcmQgdGFyZ2V0cywgbGlrZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbnMgbG9hZFxuICogYmFsYW5jZXJzLCBzaG91bGQgaW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIC8qKlxuICAgKiBSZXR1cm4gaG9zdGVkIHpvbmUgSUQgYW5kIEROUyBuYW1lLCB1c2FibGUgZm9yIFJvdXRlNTMgYWxpYXMgdGFyZ2V0c1xuICAgKi9cbiAgYmluZChyZWNvcmQ6IElSZWNvcmRTZXQsIHpvbmU/OiBJRG5zWm9uZSk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzO1xufVxuXG4vKipcbiAqIFVzZSBhIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uIGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcbiAqL1xuZXhwb3J0IGNsYXNzIERpc3RyaWJ1dGlvblRhcmdldCBpbXBsZW1lbnRzIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBJRGlzdHJpYnV0aW9uKSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIF9yZWNvcmQ6IElSZWNvcmRTZXQsXG4gICAgX3pvbmU/OiBJRG5zWm9uZSxcbiAgKTogcm91dGU1M1JlY29yZC5Sb3V0ZTUzUmVjb3JkQWxpYXMge1xuICAgIHJldHVybiB7XG4gICAgICB6b25lSWQ6IHRoaXMuZGlzdHJpYnV0aW9uLmhvc3RlZFpvbmVJZCxcbiAgICAgIG5hbWU6IHRoaXMuZGlzdHJpYnV0aW9uLmRvbWFpbk5hbWUsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFVzZSBCdWNrZXQgYXMgYW4gYWxpYXMgcmVjb3JkIHRhcmdldFxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0V2Vic2l0ZVRhcmdldCBpbXBsZW1lbnRzIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0KSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIF9yZWNvcmQ6IElSZWNvcmRTZXQsXG4gICAgX3pvbmU/OiBJRG5zWm9uZSxcbiAgKTogcm91dGU1M1JlY29yZC5Sb3V0ZTUzUmVjb3JkQWxpYXMge1xuICAgIGlmICghdGhpcy5idWNrZXQuaXNXZWJzaXRlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgdXNlIGEgbm9uLXdlYnNpdGUgYnVja2V0IGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYnVja2V0LmJ1Y2tldE91dHB1dHMud2Vic2l0ZURvbWFpbk5hbWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmJ1Y2tldC5ob3N0ZWRab25lSWQsXG4gICAgICBuYW1lOiB0aGlzLmJ1Y2tldC53ZWJzaXRlRG9tYWluTmFtZSxcbiAgICAgIGV2YWx1YXRlVGFyZ2V0SGVhbHRoOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBVc2UgYW4gRUxCdjIgYXMgYW4gYWxpYXMgcmVjb3JkIHRhcmdldFxuICovXG5leHBvcnQgY2xhc3MgTG9hZEJhbGFuY2VyVGFyZ2V0IGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgcHVibGljIHN0YXRpYyBmcm9tQXR0cmlidXRlcyhcbiAgICBsb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQ6IHN0cmluZyxcbiAgICBsb2FkQmFsYW5jZXJEbnNOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIGNvbnN0IGltcG9ydGVkID0gbmV3IEltcG9ydGVkTG9hZEJhbGFuY2VyKFxuICAgICAgbG9hZEJhbGFuY2VyQ2Fub25pY2FsSG9zdGVkWm9uZUlkLFxuICAgICAgbG9hZEJhbGFuY2VyRG5zTmFtZSxcbiAgICApO1xuICAgIHJldHVybiBuZXcgTG9hZEJhbGFuY2VyVGFyZ2V0KGltcG9ydGVkKTtcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvYWRCYWxhbmNlcjogSUxvYWRCYWxhbmNlckJhc2VWMikge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQsXG4gICAgICBuYW1lOiBgZHVhbHN0YWNrLiR7dGhpcy5sb2FkQmFsYW5jZXIubG9hZEJhbGFuY2VyRG5zTmFtZX1gLFxuICAgICAgZXZhbHVhdGVUYXJnZXRIZWFsdGg6IHRydWUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmluZXMgYW4gQVBJIEdhdGV3YXkgZG9tYWluIG5hbWUgYXMgdGhlIGFsaWFzIHRhcmdldC5cbiAqXG4gKiBVc2UgdGhlIGBBcGlHYXRld2F5VGFyZ2V0YCBjbGFzcyBpZiB5b3Ugd2lzaCB0byBtYXAgdGhlIGFsaWFzIHRvIGFuIFJFU1QgQVBJIHdpdGggYVxuICogZG9tYWluIG5hbWUgZGVmaW5lZCB0aHJvdWdoIHRoZSBgUmVzdEFwaVByb3BzLmRvbWFpbk5hbWVgIHByb3AuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5RG9tYWluIGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkb21haW5OYW1lOiBJRG9tYWluTmFtZSkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmRvbWFpbk5hbWUuZG9tYWluTmFtZUFsaWFzSG9zdGVkWm9uZUlkLFxuICAgICAgbmFtZTogdGhpcy5kb21haW5OYW1lLmRvbWFpbk5hbWVBbGlhc0RvbWFpbk5hbWUsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogRGVmaW5lcyBhbiBBUEkgR2F0ZXdheSBSRVNUIEFQSSBhcyB0aGUgYWxpYXMgdGFyZ2V0LiBSZXF1aXJlcyB0aGF0IHRoZSBkb21haW5cbiAqIG5hbWUgd2lsbCBiZSBkZWZpbmVkIHRocm91Z2ggYFJlc3RBcGlQcm9wcy5kb21haW5OYW1lYC5cbiAqXG4gKiBZb3UgY2FuIGRpcmVjdCB0aGUgYWxpYXMgdG8gYW55IGBhcGlnYXRld2F5LkRvbWFpbk5hbWVgIHJlc291cmNlIHRocm91Z2ggdGhlXG4gKiBgQXBpR2F0ZXdheURvbWFpbmAgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5VGFyZ2V0IGV4dGVuZHMgQXBpR2F0ZXdheURvbWFpbiB7XG4gIGNvbnN0cnVjdG9yKGFwaTogUmVzdEFwaUJhc2UpIHtcbiAgICBpZiAoIWFwaS5kb21haW5OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFQSSBkb2VzIG5vdCBkZWZpbmUgYSBkZWZhdWx0IGRvbWFpbiBuYW1lOiAke2FwaX1gKTtcbiAgICB9XG5cbiAgICBzdXBlcihhcGkuZG9tYWluTmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmVzIGFuIEFQSSBHYXRld2F5IFYyIGRvbWFpbiBuYW1lIGFzIHRoZSBhbGlhcyB0YXJnZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzIGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgLyoqXG4gICAqIEBwYXJhbSByZWdpb25hbERvbWFpbk5hbWUgdGhlIGRvbWFpbiBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVnaW9uYWwgZW5kcG9pbnQgZm9yIHRoaXMgY3VzdG9tIGRvbWFpbiBuYW1lLlxuICAgKiBAcGFyYW0gcmVnaW9uYWxIb3N0ZWRab25lSWQgdGhlIHJlZ2lvbi1zcGVjaWZpYyBBbWF6b24gUm91dGUgNTMgSG9zdGVkIFpvbmUgSUQgb2YgdGhlIHJlZ2lvbmFsIGVuZHBvaW50LlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWdpb25hbERvbWFpbk5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lvbmFsSG9zdGVkWm9uZUlkOiBzdHJpbmcsXG4gICkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5yZWdpb25hbERvbWFpbk5hbWUsXG4gICAgICB6b25lSWQ6IHRoaXMucmVnaW9uYWxIb3N0ZWRab25lSWQsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -134,7 +134,7 @@ class RecordSet extends __1.AwsConstructBase {
134
134
  }
135
135
  exports.RecordSet = RecordSet;
136
136
  _a = JSII_RTTI_SYMBOL_1;
137
- RecordSet[_a] = { fqn: "terraconstructs.aws.edge.RecordSet", version: "0.1.4" };
137
+ RecordSet[_a] = { fqn: "terraconstructs.aws.edge.RecordSet", version: "0.1.6" };
138
138
  /**
139
139
  * The record type.
140
140
  */
@@ -259,7 +259,7 @@ class RecordTarget {
259
259
  }
260
260
  exports.RecordTarget = RecordTarget;
261
261
  _b = JSII_RTTI_SYMBOL_1;
262
- RecordTarget[_b] = { fqn: "terraconstructs.aws.edge.RecordTarget", version: "0.1.4" };
262
+ RecordTarget[_b] = { fqn: "terraconstructs.aws.edge.RecordTarget", version: "0.1.6" };
263
263
  /**
264
264
  * A DNS A record
265
265
  *
@@ -276,7 +276,7 @@ class ARecord extends RecordSet {
276
276
  }
277
277
  exports.ARecord = ARecord;
278
278
  _c = JSII_RTTI_SYMBOL_1;
279
- ARecord[_c] = { fqn: "terraconstructs.aws.edge.ARecord", version: "0.1.4" };
279
+ ARecord[_c] = { fqn: "terraconstructs.aws.edge.ARecord", version: "0.1.6" };
280
280
  /**
281
281
  * A DNS AAAA record
282
282
  *
@@ -293,7 +293,7 @@ class AaaaRecord extends RecordSet {
293
293
  }
294
294
  exports.AaaaRecord = AaaaRecord;
295
295
  _d = JSII_RTTI_SYMBOL_1;
296
- AaaaRecord[_d] = { fqn: "terraconstructs.aws.edge.AaaaRecord", version: "0.1.4" };
296
+ AaaaRecord[_d] = { fqn: "terraconstructs.aws.edge.AaaaRecord", version: "0.1.6" };
297
297
  /**
298
298
  * A DNS CNAME record
299
299
  *
@@ -310,7 +310,7 @@ class CnameRecord extends RecordSet {
310
310
  }
311
311
  exports.CnameRecord = CnameRecord;
312
312
  _e = JSII_RTTI_SYMBOL_1;
313
- CnameRecord[_e] = { fqn: "terraconstructs.aws.edge.CnameRecord", version: "0.1.4" };
313
+ CnameRecord[_e] = { fqn: "terraconstructs.aws.edge.CnameRecord", version: "0.1.6" };
314
314
  /**
315
315
  * A DNS TXT record
316
316
  *
@@ -327,7 +327,7 @@ class TxtRecord extends RecordSet {
327
327
  }
328
328
  exports.TxtRecord = TxtRecord;
329
329
  _f = JSII_RTTI_SYMBOL_1;
330
- TxtRecord[_f] = { fqn: "terraconstructs.aws.edge.TxtRecord", version: "0.1.4" };
330
+ TxtRecord[_f] = { fqn: "terraconstructs.aws.edge.TxtRecord", version: "0.1.6" };
331
331
  /**
332
332
  * Formats a text value for use in a TXT record
333
333
  *
@@ -363,7 +363,7 @@ class SrvRecord extends RecordSet {
363
363
  }
364
364
  exports.SrvRecord = SrvRecord;
365
365
  _g = JSII_RTTI_SYMBOL_1;
366
- SrvRecord[_g] = { fqn: "terraconstructs.aws.edge.SrvRecord", version: "0.1.4" };
366
+ SrvRecord[_g] = { fqn: "terraconstructs.aws.edge.SrvRecord", version: "0.1.6" };
367
367
  /**
368
368
  * The CAA tag.
369
369
  */
@@ -401,7 +401,7 @@ class CaaRecord extends RecordSet {
401
401
  }
402
402
  exports.CaaRecord = CaaRecord;
403
403
  _h = JSII_RTTI_SYMBOL_1;
404
- CaaRecord[_h] = { fqn: "terraconstructs.aws.edge.CaaRecord", version: "0.1.4" };
404
+ CaaRecord[_h] = { fqn: "terraconstructs.aws.edge.CaaRecord", version: "0.1.6" };
405
405
  /**
406
406
  * A DNS Amazon CAA record.
407
407
  *
@@ -426,7 +426,7 @@ class CaaAmazonRecord extends CaaRecord {
426
426
  }
427
427
  exports.CaaAmazonRecord = CaaAmazonRecord;
428
428
  _j = JSII_RTTI_SYMBOL_1;
429
- CaaAmazonRecord[_j] = { fqn: "terraconstructs.aws.edge.CaaAmazonRecord", version: "0.1.4" };
429
+ CaaAmazonRecord[_j] = { fqn: "terraconstructs.aws.edge.CaaAmazonRecord", version: "0.1.6" };
430
430
  /**
431
431
  * A DNS MX record
432
432
  *
@@ -443,7 +443,7 @@ class MxRecord extends RecordSet {
443
443
  }
444
444
  exports.MxRecord = MxRecord;
445
445
  _k = JSII_RTTI_SYMBOL_1;
446
- MxRecord[_k] = { fqn: "terraconstructs.aws.edge.MxRecord", version: "0.1.4" };
446
+ MxRecord[_k] = { fqn: "terraconstructs.aws.edge.MxRecord", version: "0.1.6" };
447
447
  /**
448
448
  * A DNS NS record
449
449
  *
@@ -460,7 +460,7 @@ class NsRecord extends RecordSet {
460
460
  }
461
461
  exports.NsRecord = NsRecord;
462
462
  _l = JSII_RTTI_SYMBOL_1;
463
- NsRecord[_l] = { fqn: "terraconstructs.aws.edge.NsRecord", version: "0.1.4" };
463
+ NsRecord[_l] = { fqn: "terraconstructs.aws.edge.NsRecord", version: "0.1.6" };
464
464
  /**
465
465
  * A DNS DS record
466
466
  *
@@ -477,7 +477,7 @@ class DsRecord extends RecordSet {
477
477
  }
478
478
  exports.DsRecord = DsRecord;
479
479
  _m = JSII_RTTI_SYMBOL_1;
480
- DsRecord[_m] = { fqn: "terraconstructs.aws.edge.DsRecord", version: "0.1.4" };
480
+ DsRecord[_m] = { fqn: "terraconstructs.aws.edge.DsRecord", version: "0.1.6" };
481
481
  /**
482
482
  * A record to delegate further lookups to a different set of name servers.
483
483
  */
@@ -495,7 +495,7 @@ class ZoneDelegationRecord extends RecordSet {
495
495
  }
496
496
  exports.ZoneDelegationRecord = ZoneDelegationRecord;
497
497
  _o = JSII_RTTI_SYMBOL_1;
498
- ZoneDelegationRecord[_o] = { fqn: "terraconstructs.aws.edge.ZoneDelegationRecord", version: "0.1.4" };
498
+ ZoneDelegationRecord[_o] = { fqn: "terraconstructs.aws.edge.ZoneDelegationRecord", version: "0.1.6" };
499
499
  // ref https://github.com/aws/aws-cdk/blob/v2.156.0/packages/aws-cdk-lib/aws-route53/lib/util.ts
500
500
  /**
501
501
  * Route53 requires the record names are specified as fully qualified names, but this
@@ -132,7 +132,7 @@ class DnsZone extends __1.AwsConstructBase {
132
132
  }
133
133
  exports.DnsZone = DnsZone;
134
134
  _a = JSII_RTTI_SYMBOL_1;
135
- DnsZone[_a] = { fqn: "terraconstructs.aws.edge.DnsZone", version: "0.1.4" };
135
+ DnsZone[_a] = { fqn: "terraconstructs.aws.edge.DnsZone", version: "0.1.6" };
136
136
  function makeHostedZoneArn(construct, hostedZoneId) {
137
137
  return __1.AwsStack.ofAwsConstruct(construct).formatArn({
138
138
  account: "",
@@ -30,7 +30,7 @@ class FunctionCode {
30
30
  }
31
31
  exports.FunctionCode = FunctionCode;
32
32
  _a = JSII_RTTI_SYMBOL_1;
33
- FunctionCode[_a] = { fqn: "terraconstructs.aws.edge.FunctionCode", version: "0.1.4" };
33
+ FunctionCode[_a] = { fqn: "terraconstructs.aws.edge.FunctionCode", version: "0.1.6" };
34
34
  /**
35
35
  * Represents the function's source code as inline code
36
36
  */
@@ -108,7 +108,7 @@ class Function extends aws_construct_1.AwsConstructBase {
108
108
  }
109
109
  exports.Function = Function;
110
110
  _b = JSII_RTTI_SYMBOL_1;
111
- Function[_b] = { fqn: "terraconstructs.aws.edge.Function", version: "0.1.4" };
111
+ Function[_b] = { fqn: "terraconstructs.aws.edge.Function", version: "0.1.6" };
112
112
  /**
113
113
  * The type of events that a CloudFront function can be invoked in response to.
114
114
  */
@@ -57,7 +57,7 @@ class KeyValuePairs {
57
57
  }
58
58
  exports.KeyValuePairs = KeyValuePairs;
59
59
  _a = JSII_RTTI_SYMBOL_1;
60
- KeyValuePairs[_a] = { fqn: "terraconstructs.aws.edge.KeyValuePairs", version: "0.1.4" };
60
+ KeyValuePairs[_a] = { fqn: "terraconstructs.aws.edge.KeyValuePairs", version: "0.1.6" };
61
61
  /**
62
62
  * inline Key Value pairs.
63
63
  */
@@ -72,7 +72,7 @@ class InlineKeyValuePairs extends KeyValuePairs {
72
72
  }
73
73
  exports.InlineKeyValuePairs = InlineKeyValuePairs;
74
74
  _b = JSII_RTTI_SYMBOL_1;
75
- InlineKeyValuePairs[_b] = { fqn: "terraconstructs.aws.edge.InlineKeyValuePairs", version: "0.1.4" };
75
+ InlineKeyValuePairs[_b] = { fqn: "terraconstructs.aws.edge.InlineKeyValuePairs", version: "0.1.6" };
76
76
  /**
77
77
  * Key Value pairs stored in a local file.
78
78
  */
@@ -105,7 +105,7 @@ class FileKeyValuePairs extends KeyValuePairs {
105
105
  }
106
106
  exports.FileKeyValuePairs = FileKeyValuePairs;
107
107
  _c = JSII_RTTI_SYMBOL_1;
108
- FileKeyValuePairs[_c] = { fqn: "terraconstructs.aws.edge.FileKeyValuePairs", version: "0.1.4" };
108
+ FileKeyValuePairs[_c] = { fqn: "terraconstructs.aws.edge.FileKeyValuePairs", version: "0.1.6" };
109
109
  /**
110
110
  * A CloudFront Key Value Store.
111
111
  *
@@ -159,5 +159,5 @@ class KeyValueStore extends aws_construct_1.AwsConstructBase {
159
159
  }
160
160
  exports.KeyValueStore = KeyValueStore;
161
161
  _d = JSII_RTTI_SYMBOL_1;
162
- KeyValueStore[_d] = { fqn: "terraconstructs.aws.edge.KeyValueStore", version: "0.1.4" };
162
+ KeyValueStore[_d] = { fqn: "terraconstructs.aws.edge.KeyValueStore", version: "0.1.6" };
163
163
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXZhbHVlLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL2tleS12YWx1ZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6QixzREFHNkI7QUFFN0Isb0RBSTBCO0FBWTFCOzs7OztHQUtHO0FBQ0gsTUFBc0IsYUFBYTtJQUFuQztRQTJCRSxxRUFBcUU7UUFDM0QsU0FBSSxHQUF3QixFQUFFLENBQUM7S0FpQjFDO0lBNUNDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0I7UUFDckMsT0FBTyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUF5QjtRQUNoRCxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUlEOztPQUVHO0lBQ0ksTUFBTSxDQUNYLGdCQUF3QjtRQUV4QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsTUFBTSxLQUFLLEdBQ1QsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckUsT0FBTztnQkFDTCxHQUFHLEVBQUUsbURBQW1EO2dCQUN4RCxLQUFLLEVBQUUsc0RBQXNEO2dCQUM3RCxnQkFBZ0I7YUFDakIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1Q0gsc0NBNkNDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsYUFBYTtJQUNwRDs7T0FFRztJQUNI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QUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDckMsSUFBSSx5Q0FBMEIsQ0FBQywwQkFBMEIsQ0FDdkQsSUFBSSxFQUNKLE9BQU8sQ0FBQyxFQUFFLEVBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDWixDQUFDO0lBQ0osQ0FBQzs7QUExREgsc0NBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQge1xuICBjbG91ZGZyb250S2V5VmFsdWVTdG9yZSxcbiAgY2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXksXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgSUF3c0NvbnN0cnVjdCxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JlRGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIGNhbGxlZCB3aGVuIGdpdmVuIFN0b3JlRGF0YSBpcyBhZGRlZFxuICAgKiAoZm9yIHRoZSBmaXJzdCB0aW1lKSB0byBhIEtleVZhbHVlU3RvcmUuXG4gICAqL1xuICByZW5kZXIoXG4gICAga2V5VmFsdWVTdG9yZUFybjogc3RyaW5nLFxuICApOiBjbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleS5DbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleUNvbmZpZ1tdO1xufVxuXG4vKipcbiAqIFRoZSBpbml0aWFsIGRhdGEgdG8gc2V0IGZvciB0aGUga2V5IHZhbHVlIHN0b3JlLlxuICpcbiAqIFRoaXMgaXMgd29yayBhcm91bmQgZm9yIGxhY2sgb2Ygc3VwcG9ydCBmb3IgaW1wb3J0X3NvdXJjZVxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tcHJvdmlkZXItYXdzL2lzc3Vlcy8zNjUyNFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2V5VmFsdWVQYWlycyBpbXBsZW1lbnRzIElTdG9yZURhdGEge1xuICAvKipcbiAgICogS2V5IFZhbHVlIHBhaXJzIHN0b3JlZCBpbiBhIGxvY2FsIGZpbGUuXG4gICAqXG4gICAqIFRoZSBrZXktdmFsdWUgcGFpcnMgaGF2ZSB0aGUgZm9sbG93aW5nIGxpbWl0czpcbiAgICpcbiAgICogLSBGaWxlIHNpemUg4oCTIDUgTUJcbiAgICogLSBLZXkgc2l6ZSDigJMgNTEyIGNoYXJhY3RlcnNcbiAgICogLSBWYWx1ZSBzaXplIOKAkyAxMDI0IGNoYXJhY3RlcnNcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2t2cy13aXRoLWZ1bmN0aW9ucy1jcmVhdGUtczMta3ZwLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGZpbGVQYXRoIHRoZSBwYXRoIHRvIHRoZSBsb2NhbCBmaWxlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21QYXRoKGZpbGVQYXRoOiBzdHJpbmcpOiBLZXlWYWx1ZVBhaXJzIHtcbiAgICByZXR1cm4gbmV3IEZpbGVLZXlWYWx1ZVBhaXJzKGZpbGVQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBLZXkgVmFsdWUgcGFpcnMgaW5saW5lIHdpdGggQ29uc3RydWN0IHByb3BzLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSB0aGUgY29udGVudHMgb2YgdGhlIEtleVZhbHVlU3RvcmVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUlubGluZShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogS2V5VmFsdWVQYWlycyB7XG4gICAgcmV0dXJuIG5ldyBJbmxpbmVLZXlWYWx1ZVBhaXJzKGRhdGEpO1xuICB9XG5cbiAgLy8gVE9ETzogc3VwcG9ydCBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZSBvbiB0aGUga2V5IHZhbHVlIGVudHJpZXM/XG4gIHByb3RlY3RlZCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIC8qKlxuICAgKiBDYWxsZWQgaW50ZXJuYWxseSBieSB0aGUgS2V5VmFsdWVTdG9yZSB0byByZW5kZXIgdGhlIHN0b3JlIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgcmVuZGVyKFxuICAgIGtleVZhbHVlU3RvcmVBcm46IHN0cmluZyxcbiAgKTogY2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXkuQ2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXlDb25maWdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YSkubWFwKChba2V5LCB2YWx1ZUFueV0pID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgdHlwZW9mIHZhbHVlQW55ID09PSBcInN0cmluZ1wiID8gdmFsdWVBbnkgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZUFueSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXksIC8vVE9ETzogdmFsaWRhdGUga2V5IHN0cmluZyBsaW1pdCAoNTEyIGNoYXJhY3RlcnMpP1xuICAgICAgICB2YWx1ZSwgLy9UT0RPOiB2YWxpZGF0ZSB2YWx1ZSBzdHJpbmcgbGltaXQgKDEwMjQgY2hhcmFjdGVycyk/XG4gICAgICAgIGtleVZhbHVlU3RvcmVBcm4sXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogaW5saW5lIEtleSBWYWx1ZSBwYWlycy5cbiAqL1xuZXhwb3J0IGNsYXNzIElubGluZUtleVZhbHVlUGFpcnMgZXh0ZW5kcyBLZXlWYWx1ZVBhaXJzIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBjb250ZW50cyBvZiB0aGUgS2V5VmFsdWVTdG9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxufVxuXG4vKipcbiAqIEtleSBWYWx1ZSBwYWlycyBzdG9yZWQgaW4gYSBsb2NhbCBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgRmlsZUtleVZhbHVlUGFpcnMgZXh0ZW5kcyBLZXlWYWx1ZVBhaXJzIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBmaWxlUGF0aCB0aGUgcGF0aCB0byB0aGUgbG9jYWwgZmlsZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZmlsZVBhdGg6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XG4gICAgaWYgKHN0YXRzLnNpemUgPiA1ICogMTAyNCAqIDEwMjQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBmaWxlIHNpemUgb2YgJHtmaWxlUGF0aH0gc2hvdWxkIG5vdCBleGNlZWQgNU1CLiBSZWNlaXZlZDogJHtzdGF0cy5zaXplfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0ZjhcIik7XG4gICAgbGV0IHBhcnNlZERhdGE6IGFueTtcbiAgICB0cnkge1xuICAgICAgcGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEpTT04gZm9ybWF0OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzUmVjb3JkT2ZTdHJpbmdBbnkocGFyc2VkRGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSAke2ZpbGVQYXRofSBjb250ZW50cyBkb2VzIG5vdCBtYXRjaCB0aGUgcmVxdWlyZWQgdHlwZSBSZWNvcmQ8c3RyaW5nLCBhbnk+YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuZGF0YSA9IHBhcnNlZERhdGE7XG4gIH1cbiAgcHJpdmF0ZSBpc1JlY29yZE9mU3RyaW5nQW55KG9iajogYW55KTogb2JqIGlzIFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiICYmIG9iaiAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShvYmopO1xuICB9XG59XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgdG8gY3JlYXRlIGEgS2V5IFZhbHVlIFN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVZhbHVlU3RvcmVQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBIGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lU3VmZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgY29tbWVudCBmb3IgdGhlIEtleSBWYWx1ZSBTdG9yZVxuICAgKlxuICAgKiBAZGVmYXVsdCBObyBjb21tZW50IHdpbGwgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgS2V5IFZhbHVlIHN0b3JlIGRhdGEuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBwb3B1bGF0ZSB0aGUgaW5pdGlhbCBpdGVtcyBpbiB0aGUgS2V5IFZhbHVlIFN0b3JlLiBUaGVcbiAgICogc291cmNlIGRhdGEgbXVzdCBiZSBpbiBhIHZhbGlkIEpTT04gZm9ybWF0LlxuICAgKlxuICAgKiBUaGUga2V5LXZhbHVlIHBhaXJzIGhhdmUgdGhlIGZvbGxvd2luZyBsaW1pdHM6XG4gICAqXG4gICAqIC0gRmlsZSBzaXplIOKAkyA1IE1CXG4gICAqIC0gS2V5IHNpemUg4oCTIDUxMiBjaGFyYWN0ZXJzXG4gICAqIC0gVmFsdWUgc2l6ZSDigJMgMTAyNCBjaGFyYWN0ZXJzXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIGRhdGEgd2lsbCBiZSBpbXBvcnRlZCB0byB0aGUgc3RvcmVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGE/OiBJU3RvcmVEYXRhO1xufVxuXG4vKipcbiAqIENsb3VkRnJvbnQgS2V5IFZhbHVlIFN0b3JlIG91dHB1dHMgZm9yIGEgc3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2V5VmFsdWVTdG9yZU91dHB1dHMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVuaXF1ZSBJRCBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgQ2xvdWRGcm9udCBLZXkgVmFsdWUgU3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUtleVZhbHVlU3RvcmUgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqIFN0cm9uZ2x5IHR5cGVkIG91dHB1dHNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5VmFsdWVTdG9yZU91dHB1dHM6IEtleVZhbHVlU3RvcmVPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVW5pcXVlIElEIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIEtleSBWYWx1ZSBTdG9yZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBDbG91ZEZyb250IEtleSBWYWx1ZSBTdG9yZS5cbiAqXG4gKiBZb3UgY2FuIHN0b3JlIGFueSBvZiB0aGUgZm9sbG93aW5nIGZvcm1hdHM6XG4gKlxuICogLSBTdHJpbmdcbiAqIC0gQnl0ZS1lbmNvZGVkIHN0cmluZ1xuICogLSBKU09OXG4gKlxuICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2t2cy13aXRoLWZ1bmN0aW9ucy5odG1sXG4gKlxuICogQHJlc291cmNlIGF3c19jbG91ZGZyb250X2tleV92YWx1ZV9zdG9yZVxuICovXG5leHBvcnQgY2xhc3MgS2V5VmFsdWVTdG9yZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5VmFsdWVTdG9yZSB7XG4gIC8vIFRPRE86IEFkZCBzdGF0aWMgZnJvbUxvb2t1cD9cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBjbG91ZGZyb250S2V5VmFsdWVTdG9yZS5DbG91ZGZyb250S2V5VmFsdWVTdG9yZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vdXRwdXRzOiBLZXlWYWx1ZVN0b3JlT3V0cHV0cztcbiAgcHVibGljIGdldCBrZXlWYWx1ZVN0b3JlT3V0cHV0cygpOiBLZXlWYWx1ZVN0b3JlT3V0cHV0cyB7XG4gICAgcmV0dXJuIHRoaXMuX291dHB1dHM7XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmtleVZhbHVlU3RvcmVPdXRwdXRzO1xuICB9XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBzdGF0dXM6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2V5VmFsdWVTdG9yZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCB7IG5hbWVTdWZmaXggfSA9IHByb3BzO1xuICAgIC8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHRoZSBgdGhpcy5zdGFjay5tYWtlVW5pcXVlUmVzb3VyY2VOYW1lYCBmdW5jdGlvbj9cbiAgICBsZXQgbmFtZSA9IHRoaXMuZ3JpZFVVSUQ7XG4gICAgaWYgKG5hbWVTdWZmaXgpIHtcbiAgICAgIG5hbWUgPSBgJHtuYW1lfS0ke25hbWVTdWZmaXh9YDtcbiAgICB9XG4gICAgaWYgKG5hbWUubGVuZ3RoID4gNjQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBuYW1lIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUgbXVzdCBiZSBsZXNzIHRoYW4gNjQgY2hhcmFjdGVycy4gUmVjZWl2ZWQ6ICR7bmFtZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGNsb3VkZnJvbnRLZXlWYWx1ZVN0b3JlLkNsb3VkZnJvbnRLZXlWYWx1ZVN0b3JlKFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgY29tbWVudDogcHJvcHM/LmNvbW1lbnQsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZGF0YSkge1xuICAgICAgLy8gVE9ETzogc3VwcG9ydCBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZSBvbiB0aGUga2V5IHZhbHVlIGVudHJpZXM/XG4gICAgICBjb25zdCBkYXRhID0gcHJvcHMuZGF0YS5yZW5kZXIodGhpcy5yZXNvdXJjZS5hcm4pO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG5ldyBjbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleS5DbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGBLZXktJHtpfWAsXG4gICAgICAgICAgZGF0YVtpXSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFybiA9IHRoaXMucmVzb3VyY2UuYXJuO1xuICAgIHRoaXMuaWQgPSB0aGlzLnJlc291cmNlLmlkO1xuICAgIHRoaXMuc3RhdHVzID0gdGhpcy5yZXNvdXJjZS5ldGFnO1xuICAgIHRoaXMuX291dHB1dHMgPSB7XG4gICAgICBhcm46IHRoaXMuYXJuLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -98,7 +98,7 @@ class OriginBase {
98
98
  }
99
99
  exports.OriginBase = OriginBase;
100
100
  _a = JSII_RTTI_SYMBOL_1;
101
- OriginBase[_a] = { fqn: "terraconstructs.aws.edge.OriginBase", version: "0.1.4" };
101
+ OriginBase[_a] = { fqn: "terraconstructs.aws.edge.OriginBase", version: "0.1.6" };
102
102
  /**
103
103
  * Throws an error if a value is defined and not an integer or not in a range.
104
104
  */
@@ -183,7 +183,7 @@ class S3Origin {
183
183
  }
184
184
  exports.S3Origin = S3Origin;
185
185
  _b = JSII_RTTI_SYMBOL_1;
186
- S3Origin[_b] = { fqn: "terraconstructs.aws.edge.S3Origin", version: "0.1.4" };
186
+ S3Origin[_b] = { fqn: "terraconstructs.aws.edge.S3Origin", version: "0.1.6" };
187
187
  // https://github.com/aws/aws-cdk/blob/v2.156.0/packages/aws-cdk-lib/aws-cloudfront-origins/lib/s3-origin.ts#L51
188
188
  /**
189
189
  * An Origin specific to a S3 bucket (not configured for website hosting).
@@ -231,7 +231,7 @@ class HttpOrigin extends OriginBase {
231
231
  }
232
232
  exports.HttpOrigin = HttpOrigin;
233
233
  _c = JSII_RTTI_SYMBOL_1;
234
- HttpOrigin[_c] = { fqn: "terraconstructs.aws.edge.HttpOrigin", version: "0.1.4" };
234
+ HttpOrigin[_c] = { fqn: "terraconstructs.aws.edge.HttpOrigin", version: "0.1.6" };
235
235
  /**
236
236
  * Throws an error if a duration is defined and not an integer number of seconds within a range.
237
237
  */
@@ -141,7 +141,7 @@ class ResponseHeadersPolicy extends aws_construct_1.AwsConstructBase {
141
141
  }
142
142
  exports.ResponseHeadersPolicy = ResponseHeadersPolicy;
143
143
  _a = JSII_RTTI_SYMBOL_1;
144
- ResponseHeadersPolicy[_a] = { fqn: "terraconstructs.aws.edge.ResponseHeadersPolicy", version: "0.1.4" };
144
+ ResponseHeadersPolicy[_a] = { fqn: "terraconstructs.aws.edge.ResponseHeadersPolicy", version: "0.1.6" };
145
145
  /**
146
146
  * Enum representing possible values of the X-Frame-Options HTTP response header.
147
147
  */
@@ -212,5 +212,5 @@ class Alias extends AliasBase {
212
212
  }
213
213
  exports.Alias = Alias;
214
214
  _a = JSII_RTTI_SYMBOL_1;
215
- Alias[_a] = { fqn: "terraconstructs.aws.encryption.Alias", version: "0.1.4" };
215
+ Alias[_a] = { fqn: "terraconstructs.aws.encryption.Alias", version: "0.1.6" };
216
216
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2VuY3J5cHRpb24vYWxpYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5RkFBeUY7QUFFekYsc0RBQStDO0FBQy9DLGlDQUE0QztBQUU1QyxvREFBdUU7QUFDdkUsNENBQXdDO0FBRXhDLDhCQUE4QjtBQUU5QixNQUFNLHFCQUFxQixHQUFHLFFBQVEsQ0FBQztBQUN2QyxNQUFNLGlCQUFpQixHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztBQStEekQsTUFBZSxTQUFVLFNBQVEsZ0NBQWdCO0lBSy9DLElBQVcsWUFBWTtRQUNyQixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUNELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdDLE9BQU8sRUFBRSxLQUFLO1lBQ2QscUNBQXFDO1lBQ3JDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLG9CQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxPQUFPLEVBQUUsS0FBSztZQUNkLHFDQUFxQztZQUNyQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElB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QUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDbkUsTUFBTSxJQUFJLEtBQUssQ0FDYiwyQkFBMkIsaUJBQWlCLEtBQUssU0FBUyxFQUFFLENBQzdELENBQUM7WUFDSixDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxNQUFNLElBQUksS0FBSyxDQUNiLGtFQUFrRSxDQUNuRSxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFFdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHVCQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDdEQsSUFBSSxFQUFFLFNBQVM7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNO1NBQ3hDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDdEMsQ0FBQzs7QUFqS0gsc0JBa0tDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTcwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWttcy9saWIvYWxpYXMudHNcblxuaW1wb3J0IHsga21zQWxpYXMgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgVG9rZW4sIFRva2VuaXphdGlvbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdFByb3BzLCBBd3NDb25zdHJ1Y3RCYXNlIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uL2F3cy1zdGFja1wiO1xuaW1wb3J0IHsgSUtleSwgS2V5T3V0cHV0cyB9IGZyb20gXCIuL2tleVwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi9pYW1cIjtcblxuY29uc3QgUkVRVUlSRURfQUxJQVNfUFJFRklYID0gXCJhbGlhcy9cIjtcbmNvbnN0IERJU0FMTE9XRURfUFJFRklYID0gUkVRVUlSRURfQUxJQVNfUFJFRklYICsgXCJhd3MvXCI7XG5cbi8qKlxuICogT3V0cHV0cyB3aGljaCBtYXkgYmUgcmVnaXN0ZXJlZCBmb3Igb3V0cHV0IHZpYSB0aGUgR3JpZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGlhc091dHB1dHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFsaWFzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhbGlhc05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEtleSB0byB3aGljaCB0aGUgQWxpYXMgcmVmZXJzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhbGlhc1RhcmdldEtleTogS2V5T3V0cHV0cztcbn1cblxuLyoqXG4gKiBBIEtNUyBLZXkgYWxpYXMuXG4gKiBBbiBhbGlhcyBjYW4gYmUgdXNlZCBpbiBhbGwgcGxhY2VzIHRoYXQgZXhwZWN0IGEga2V5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBbGlhcyBleHRlbmRzIElLZXkge1xuICAvKiogU3Ryb25nbHkgdHlwZWQgb3V0cHV0cyAqL1xuICByZWFkb25seSBhbGlhc091dHB1dHM6IEFsaWFzT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFsaWFzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhbGlhc05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEtleSB0byB3aGljaCB0aGUgQWxpYXMgcmVmZXJzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhbGlhc1RhcmdldEtleTogSUtleTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3Rpb24gcHJvcGVydGllcyBmb3IgYSBLTVMgS2V5IEFsaWFzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGlhc1Byb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFsaWFzLiBUaGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYWxpYXMgZm9sbG93ZWQgYnkgYVxuICAgKiBmb3J3YXJkIHNsYXNoLCBzdWNoIGFzIGFsaWFzLy4gWW91IGNhbid0IHNwZWNpZnkgYWxpYXNlcyB0aGF0IGJlZ2luIHdpdGhcbiAgICogYWxpYXMvQVdTLiBUaGVzZSBhbGlhc2VzIGFyZSByZXNlcnZlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGtleSBmb3Igd2hpY2ggeW91IGFyZSBjcmVhdGluZyB0aGUgYWxpYXMuIFNwZWNpZnkgdGhlIGtleSdzXG4gICAqIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIG9yIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pLiBZb3UgY2FuJ3RcbiAgICogc3BlY2lmeSBhbm90aGVyIGFsaWFzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0S2V5OiBJS2V5O1xufVxuXG5hYnN0cmFjdCBjbGFzcyBBbGlhc0Jhc2UgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSUFsaWFzIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFsaWFzTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhbGlhc1RhcmdldEtleTogSUtleTtcblxuICBwdWJsaWMgZ2V0IGFsaWFzT3V0cHV0cygpOiBBbGlhc091dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBhbGlhc05hbWU6IHRoaXMuYWxpYXNOYW1lLFxuICAgICAgYWxpYXNUYXJnZXRLZXk6IHRoaXMua2V5T3V0cHV0cyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQga2V5T3V0cHV0cygpOiBLZXlPdXRwdXRzIHtcbiAgICByZXR1cm4gdGhpcy5hbGlhc1RhcmdldEtleS5rZXlPdXRwdXRzO1xuICB9XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hbGlhc091dHB1dHM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWxpYXMuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBhbGlhc0FybmAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGdldCBrZXlBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3QodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6IFwia21zXCIsXG4gICAgICAvLyBhbGlhc05hbWUgYWxyZWFkeSBjb250YWlucyB0aGUgJy8nXG4gICAgICByZXNvdXJjZTogdGhpcy5hbGlhc05hbWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWxpYXMuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBnZXQgYWxpYXNBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3QodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6IFwia21zXCIsXG4gICAgICAvLyBhbGlhc05hbWUgYWxyZWFkeSBjb250YWlucyB0aGUgJy8nXG4gICAgICByZXNvdXJjZTogdGhpcy5hbGlhc05hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGtleUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxpYXNOYW1lO1xuICB9XG5cbiAgcHVibGljIGFkZEFsaWFzKGFsaWFzOiBzdHJpbmcpOiBBbGlhcyB7XG4gICAgcmV0dXJuIHRoaXMuYWxpYXNUYXJnZXRLZXkuYWRkQWxpYXMoYWxpYXMpO1xuICB9XG5cbiAgcHVibGljIGFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50LFxuICAgIGFsbG93Tm9PcD86IGJvb2xlYW4sXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5hbGlhc1RhcmdldEtleS5hZGRUb1Jlc291cmNlUG9saWN5KHN0YXRlbWVudCwgYWxsb3dOb09wKTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmFsaWFzVGFyZ2V0S2V5LmdyYW50KGdyYW50ZWUsIC4uLmFjdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGdyYW50RGVjcnlwdChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYWxpYXNUYXJnZXRLZXkuZ3JhbnREZWNyeXB0KGdyYW50ZWUpO1xuICB9XG5cbiAgcHVibGljIGdyYW50RW5jcnlwdChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYWxpYXNUYXJnZXRLZXkuZ3JhbnRFbmNyeXB0KGdyYW50ZWUpO1xuICB9XG5cbiAgcHVibGljIGdyYW50RW5jcnlwdERlY3J5cHQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmFsaWFzVGFyZ2V0S2V5LmdyYW50RW5jcnlwdERlY3J5cHQoZ3JhbnRlZSk7XG4gIH1cblxuICBncmFudEdlbmVyYXRlTWFjKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5hbGlhc1RhcmdldEtleS5ncmFudEdlbmVyYXRlTWFjKGdyYW50ZWUpO1xuICB9XG5cbiAgZ3JhbnRWZXJpZnlNYWMoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmFsaWFzVGFyZ2V0S2V5LmdyYW50VmVyaWZ5TWFjKGdyYW50ZWUpO1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBvZiBhIHJlZmVyZW5jZSB0byBhbiBleGlzdGluZyBLTVMgQWxpYXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGlhc0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBhbGlhcyBuYW1lLiBUaGlzIHZhbHVlIG11c3QgYmVnaW4gd2l0aCBhbGlhcy8gZm9sbG93ZWQgYnkgYSBuYW1lIChpLmUuIGFsaWFzL0V4YW1wbGVBbGlhcylcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tZXIgbWFzdGVyIGtleSAoQ01LKSB0byB3aGljaCB0aGUgQWxpYXMgcmVmZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXNUYXJnZXRLZXk6IElLZXk7XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIGRpc3BsYXkgbmFtZSBmb3IgYSBjdXN0b21lciBtYXN0ZXIga2V5IChDTUspIGluIEFXUyBLZXkgTWFuYWdlbWVudFxuICogU2VydmljZSAoQVdTIEtNUykuIFVzaW5nIGFuIGFsaWFzIHRvIHJlZmVyIHRvIGEga2V5IGNhbiBoZWxwIHlvdSBzaW1wbGlmeSBrZXlcbiAqIG1hbmFnZW1lbnQuIEZvciBleGFtcGxlLCB3aGVuIHJvdGF0aW5nIGtleXMsIHlvdSBjYW4ganVzdCB1cGRhdGUgdGhlIGFsaWFzXG4gKiBtYXBwaW5nIGluc3RlYWQgb2YgdHJhY2tpbmcgYW5kIGNoYW5naW5nIGtleSBJRHMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWVcbiAqIFdvcmtpbmcgd2l0aCBBbGlhc2VzIGluIHRoZSBBV1MgS2V5IE1hbmFnZW1lbnQgU2VydmljZSBEZXZlbG9wZXIgR3VpZGUuXG4gKlxuICogWW91IGNhbiBhbHNvIGFkZCBhbiBhbGlhcyBmb3IgYSBrZXkgYnkgY2FsbGluZyBga2V5LmFkZEFsaWFzKGFsaWFzKWAuXG4gKlxuICogQHJlc291cmNlIEFXUzo6S01TOjpBbGlhc1xuICovXG5leHBvcnQgY2xhc3MgQWxpYXMgZXh0ZW5kcyBBbGlhc0Jhc2Uge1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIEtNUyBBbGlhcyBkZWZpbmVkIG91dHNpZGUgdGhlIENESyBhcHAuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWUuXG4gICAqIEBwYXJhbSBhdHRycyB0aGUgcHJvcGVydGllcyBvZiB0aGUgcmVmZXJlbmNlZCBLTVMgQWxpYXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFsaWFzQXR0cmlidXRlcyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYXR0cnM6IEFsaWFzQXR0cmlidXRlcyxcbiAgKTogSUFsaWFzIHtcbiAgICBjbGFzcyBfQWxpYXMgZXh0ZW5kcyBBbGlhc0Jhc2Uge1xuICAgICAgcHVibGljIGdldCBhbGlhc05hbWUoKSB7XG4gICAgICAgIHJldHVybiBhdHRycy5hbGlhc05hbWU7XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ2V0IGFsaWFzVGFyZ2V0S2V5KCkge1xuICAgICAgICByZXR1cm4gYXR0cnMuYWxpYXNUYXJnZXRLZXk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgX0FsaWFzKHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIEtNUyBBbGlhcyBkZWZpbmVkIG91dHNpZGUgdGhlIENESyBhcHAsIGJ5IHRoZSBhbGlhcyBuYW1lLiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgdXNlZFxuICAgKiBpbnN0ZWFkIG9mICdmcm9tQWxpYXNBdHRyaWJ1dGVzJyB3aGVuIHRoZSB1bmRlcmx5aW5nIEtNUyBLZXkgQVJOIGlzIG5vdCBhdmFpbGFibGUuXG4gICAqIFRoaXMgQWxpYXMgd2lsbCBub3QgaGF2ZSBhIGRpcmVjdCByZWZlcmVuY2UgdG8gdGhlIEtNUyBLZXksIHNvIGFkZEFsaWFzIGFuZCBncmFudCogbWV0aG9kcyBhcmUgbm90IHN1cHBvcnRlZC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYCkuXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZS5cbiAgICogQHBhcmFtIGFsaWFzTmFtZSBUaGUgZnVsbCBuYW1lIG9mIHRoZSBLTVMgQWxpYXMgKGUuZy4sICdhbGlhcy9hd3MvczMnLCAnYWxpYXMvbXlLZXlBbGlhcycpLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQWxpYXNOYW1lKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhbGlhc05hbWU6IHN0cmluZyxcbiAgKTogSUFsaWFzIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSUFsaWFzIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBrZXlBcm4gPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdCh0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiBcImttc1wiLFxuICAgICAgICByZXNvdXJjZTogYWxpYXNOYW1lLFxuICAgICAgfSk7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkga2V5SWQgPSBhbGlhc05hbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYWxpYXNOYW1lID0gYWxpYXNOYW1lO1xuICAgICAgcHVibGljIGdldCBrZXlPdXRwdXRzKCk6IEtleU91dHB1dHMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleUFybjogdGhpcy5rZXlBcm4sXG4gICAgICAgICAga2V5SWQ6IHRoaXMua2V5SWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ2V0IGFsaWFzT3V0cHV0cygpOiBBbGlhc091dHB1dHMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGFsaWFzTmFtZTogdGhpcy5hbGlhc05hbWUsXG4gICAgICAgICAgYWxpYXNUYXJnZXRLZXk6IHRoaXMua2V5T3V0cHV0cyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxpYXNPdXRwdXRzO1xuICAgICAgfVxuICAgICAgcHVibGljIGdldCBhbGlhc1RhcmdldEtleSgpOiBJS2V5IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiQ2Fubm90IGFjY2VzcyBhbGlhc1RhcmdldEtleSBvbiBhbiBBbGlhcyBpbXBvcnRlZCBieSBBbGlhcy5mcm9tQWxpYXNOYW1lKCkuXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBwdWJsaWMgYWRkQWxpYXMoX2FsaWFzOiBzdHJpbmcpOiBBbGlhcyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIkNhbm5vdCBjYWxsIGFkZEFsaWFzIG9uIGFuIEFsaWFzIGltcG9ydGVkIGJ5IEFsaWFzLmZyb21BbGlhc05hbWUoKS5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHB1YmxpYyBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgICBfc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50LFxuICAgICAgICBfYWxsb3dOb09wPzogYm9vbGVhbixcbiAgICAgICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICAgICAgcmV0dXJuIHsgc3RhdGVtZW50QWRkZWQ6IGZhbHNlIH07XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ3JhbnQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIC4uLl9hY3Rpb25zOiBzdHJpbmdbXSk6IGlhbS5HcmFudCB7XG4gICAgICAgIHJldHVybiBpYW0uR3JhbnQuZHJvcChncmFudGVlLCBcIlwiKTtcbiAgICAgIH1cbiAgICAgIHB1YmxpYyBncmFudERlY3J5cHQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgICAgICByZXR1cm4gaWFtLkdyYW50LmRyb3AoZ3JhbnRlZSwgXCJcIik7XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ3JhbnRFbmNyeXB0KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICAgICAgcmV0dXJuIGlhbS5HcmFudC5kcm9wKGdyYW50ZWUsIFwiXCIpO1xuICAgICAgfVxuICAgICAgcHVibGljIGdyYW50RW5jcnlwdERlY3J5cHQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgICAgICByZXR1cm4gaWFtLkdyYW50LmRyb3AoZ3JhbnRlZSwgXCJcIik7XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ3JhbnRHZW5lcmF0ZU1hYyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgICAgIHJldHVybiBpYW0uR3JhbnQuZHJvcChncmFudGVlLCBcIlwiKTtcbiAgICAgIH1cbiAgICAgIHB1YmxpYyBncmFudFZlcmlmeU1hYyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgICAgIHJldHVybiBpYW0uR3JhbnQuZHJvcChncmFudGVlLCBcIlwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGFsaWFzTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYWxpYXNUYXJnZXRLZXk6IElLZXk7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZToga21zQWxpYXMuS21zQWxpYXM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFsaWFzUHJvcHMpIHtcbiAgICBsZXQgYWxpYXNOYW1lID0gcHJvcHMuYWxpYXNOYW1lO1xuXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoYWxpYXNOYW1lKSkge1xuICAgICAgaWYgKCFhbGlhc05hbWUuc3RhcnRzV2l0aChSRVFVSVJFRF9BTElBU19QUkVGSVgpKSB7XG4gICAgICAgIGFsaWFzTmFtZSA9IFJFUVVJUkVEX0FMSUFTX1BSRUZJWCArIGFsaWFzTmFtZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFsaWFzTmFtZSA9PT0gUkVRVUlSRURfQUxJQVNfUFJFRklYKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQWxpYXMgbXVzdCBpbmNsdWRlIGEgdmFsdWUgYWZ0ZXIgXCIke1JFUVVJUkVEX0FMSUFTX1BSRUZJWH1cIjogJHthbGlhc05hbWV9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFsaWFzTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoRElTQUxMT1dFRF9QUkVGSVgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQWxpYXMgY2Fubm90IHN0YXJ0IHdpdGggJHtESVNBTExPV0VEX1BSRUZJWH06ICR7YWxpYXNOYW1lfWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICghYWxpYXNOYW1lLm1hdGNoKC9eW2EtekEtWjAtOTovXy1dezEsMjU2fSQvKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJBbGlhcyBuYW1lIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyNTYgY2hhcmFjdGVycyBpbiBhLXpBLVowLTk6L18tXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIFRva2VuaXphdGlvbi5yZXZlcnNlU3RyaW5nKGFsaWFzTmFtZSkuZmlyc3RWYWx1ZSAmJlxuICAgICAgVG9rZW5pemF0aW9uLnJldmVyc2VTdHJpbmcoYWxpYXNOYW1lKS5maXJzdFRva2VuID09PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGNvbnN0IHZhbHVlSW5Ub2tlbiA9IFRva2VuaXphdGlvbi5yZXZlcnNlU3RyaW5nKGFsaWFzTmFtZSkuZmlyc3RWYWx1ZTtcblxuICAgICAgaWYgKCF2YWx1ZUluVG9rZW4uc3RhcnRzV2l0aChSRVFVSVJFRF9BTElBU19QUkVGSVgpKSB7XG4gICAgICAgIGFsaWFzTmFtZSA9IFJFUVVJUkVEX0FMSUFTX1BSRUZJWCArIGFsaWFzTmFtZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlSW5Ub2tlbi50b0xvY2FsZUxvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoRElTQUxMT1dFRF9QUkVGSVgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQWxpYXMgY2Fubm90IHN0YXJ0IHdpdGggJHtESVNBTExPV0VEX1BSRUZJWH06ICR7YWxpYXNOYW1lfWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdmFsdWVJblRva2VuLm1hdGNoKC9eW2EtekEtWjAtOTovXy1dezEsMjU2fSQvKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJBbGlhcyBuYW1lIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyNTYgY2hhcmFjdGVycyBpbiBhLXpBLVowLTk6L18tXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLmFsaWFzVGFyZ2V0S2V5ID0gcHJvcHMudGFyZ2V0S2V5O1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBrbXNBbGlhcy5LbXNBbGlhcyh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIG5hbWU6IGFsaWFzTmFtZSxcbiAgICAgIHRhcmdldEtleUlkOiB0aGlzLmFsaWFzVGFyZ2V0S2V5LmtleUFybixcbiAgICB9KTtcblxuICAgIHRoaXMuYWxpYXNOYW1lID0gdGhpcy5yZXNvdXJjZS5uYW1lO1xuICB9XG59XG4iXX0=