terraconstructs 0.2.2 → 0.2.4

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 (281) hide show
  1. package/.jsii +899 -409
  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.d.ts +16 -0
  7. package/lib/aws/aws-stack.js +14 -2
  8. package/lib/aws/aws-tags.js +2 -2
  9. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  10. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  11. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  12. package/lib/aws/cloudwatch/actions/sns.js +1 -1
  13. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  14. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  15. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  16. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  17. package/lib/aws/cloudwatch/alarm.js +1 -1
  18. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  19. package/lib/aws/cloudwatch/dashboard.js +1 -1
  20. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  21. package/lib/aws/cloudwatch/graph.js +8 -8
  22. package/lib/aws/cloudwatch/layout.js +3 -3
  23. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  24. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  25. package/lib/aws/cloudwatch/log-group.js +1 -1
  26. package/lib/aws/cloudwatch/log-query.js +1 -1
  27. package/lib/aws/cloudwatch/log-stream.js +1 -1
  28. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  29. package/lib/aws/cloudwatch/metric.js +2 -2
  30. package/lib/aws/cloudwatch/pattern.js +3 -3
  31. package/lib/aws/cloudwatch/policy.js +1 -1
  32. package/lib/aws/cloudwatch/query-definition.js +2 -2
  33. package/lib/aws/cloudwatch/stats.js +1 -1
  34. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  35. package/lib/aws/cloudwatch/text.js +1 -1
  36. package/lib/aws/cloudwatch/variable.js +3 -3
  37. package/lib/aws/cloudwatch/widget.js +1 -1
  38. package/lib/aws/compute/access-log.js +4 -4
  39. package/lib/aws/compute/activity.js +1 -1
  40. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  41. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  42. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  43. package/lib/aws/compute/alb/application-listener.js +1 -1
  44. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  45. package/lib/aws/compute/alb/application-target-group.js +1 -1
  46. package/lib/aws/compute/alb/conditions.js +1 -1
  47. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  48. package/lib/aws/compute/alb/trust-store.js +1 -1
  49. package/lib/aws/compute/api-definition.js +3 -3
  50. package/lib/aws/compute/api-key.js +2 -2
  51. package/lib/aws/compute/architecture.js +1 -1
  52. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  53. package/lib/aws/compute/authorizer.js +1 -1
  54. package/lib/aws/compute/authorizers/identity-source.js +1 -1
  55. package/lib/aws/compute/authorizers/lambda.js +2 -2
  56. package/lib/aws/compute/base-path-mapping.js +1 -1
  57. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  58. package/lib/aws/compute/bastion-host.js +1 -1
  59. package/lib/aws/compute/chain.js +1 -1
  60. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  61. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  62. package/lib/aws/compute/client-vpn-route.js +2 -2
  63. package/lib/aws/compute/code.js +8 -8
  64. package/lib/aws/compute/condition.js +1 -1
  65. package/lib/aws/compute/connections.js +1 -1
  66. package/lib/aws/compute/cors.js +1 -1
  67. package/lib/aws/compute/deployment.js +1 -1
  68. package/lib/aws/compute/domain-name.js +1 -1
  69. package/lib/aws/compute/event-invoke-config.js +1 -1
  70. package/lib/aws/compute/event-source-filter.js +2 -2
  71. package/lib/aws/compute/event-source-mapping.js +1 -1
  72. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  73. package/lib/aws/compute/event-sources/s3.js +1 -1
  74. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  75. package/lib/aws/compute/event-sources/sqs.js +1 -1
  76. package/lib/aws/compute/fields.js +4 -4
  77. package/lib/aws/compute/function-alias.js +1 -1
  78. package/lib/aws/compute/function-base.js +2 -2
  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.js +1 -1
  85. package/lib/aws/compute/gateway-response.js +2 -2
  86. package/lib/aws/compute/handler.js +1 -1
  87. package/lib/aws/compute/instance-types.js +1 -1
  88. package/lib/aws/compute/instance.js +1 -1
  89. package/lib/aws/compute/integration.js +1 -1
  90. package/lib/aws/compute/integrations/aws.js +1 -1
  91. package/lib/aws/compute/integrations/http.js +1 -1
  92. package/lib/aws/compute/integrations/lambda.js +1 -1
  93. package/lib/aws/compute/integrations/mock.js +1 -1
  94. package/lib/aws/compute/integrations/stepfunctions.js +1 -1
  95. package/lib/aws/compute/ip-addresses.js +2 -2
  96. package/lib/aws/compute/ipam.js +1 -1
  97. package/lib/aws/compute/key-pair.js +1 -1
  98. package/lib/aws/compute/lambda-api.js +1 -1
  99. package/lib/aws/compute/launch-template.js +2 -2
  100. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  101. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  102. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  103. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  104. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  105. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  106. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  107. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  108. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  109. package/lib/aws/compute/load-balancer.js +3 -3
  110. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  111. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  112. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  113. package/lib/aws/compute/machine-image/common.js +1 -1
  114. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  115. package/lib/aws/compute/method.js +1 -1
  116. package/lib/aws/compute/model.js +3 -3
  117. package/lib/aws/compute/nat.js +5 -5
  118. package/lib/aws/compute/network-acl-types.js +2 -2
  119. package/lib/aws/compute/network-acl.js +3 -3
  120. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  121. package/lib/aws/compute/nlb/network-listener.js +1 -1
  122. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  123. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  124. package/lib/aws/compute/peer.js +1 -1
  125. package/lib/aws/compute/placement-group.js +1 -1
  126. package/lib/aws/compute/port.js +1 -1
  127. package/lib/aws/compute/prefix-list.js +1 -1
  128. package/lib/aws/compute/requestvalidator.js +1 -1
  129. package/lib/aws/compute/resource.js +3 -3
  130. package/lib/aws/compute/restapi.js +3 -3
  131. package/lib/aws/compute/route.js +10 -9
  132. package/lib/aws/compute/runtime.js +1 -1
  133. package/lib/aws/compute/scalable-target.js +1 -1
  134. package/lib/aws/compute/schedule.js +1 -1
  135. package/lib/aws/compute/security-group.js +39 -13
  136. package/lib/aws/compute/stage.js +2 -2
  137. package/lib/aws/compute/state-graph.js +1 -1
  138. package/lib/aws/compute/state-machine-fragment.js +1 -1
  139. package/lib/aws/compute/state-machine.js +4 -4
  140. package/lib/aws/compute/states/choice.js +1 -1
  141. package/lib/aws/compute/states/custom-state.js +1 -1
  142. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  143. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  144. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  145. package/lib/aws/compute/states/distributed-map.js +1 -1
  146. package/lib/aws/compute/states/fail.js +1 -1
  147. package/lib/aws/compute/states/map-base.js +1 -1
  148. package/lib/aws/compute/states/map.js +1 -1
  149. package/lib/aws/compute/states/parallel.js +1 -1
  150. package/lib/aws/compute/states/pass.js +2 -2
  151. package/lib/aws/compute/states/state.js +1 -1
  152. package/lib/aws/compute/states/succeed.js +1 -1
  153. package/lib/aws/compute/states/task-base.js +2 -2
  154. package/lib/aws/compute/states/task.js +1 -1
  155. package/lib/aws/compute/states/wait.js +2 -2
  156. package/lib/aws/compute/step-scaling-action.js +1 -1
  157. package/lib/aws/compute/step-scaling-policy.js +1 -1
  158. package/lib/aws/compute/stepfunctions-api.js +1 -1
  159. package/lib/aws/compute/subnet-v2.js +2 -2
  160. package/lib/aws/compute/subnet.js +1 -1
  161. package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
  162. package/lib/aws/compute/task-credentials.js +1 -1
  163. package/lib/aws/compute/task-input.js +1 -1
  164. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  165. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  166. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  167. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  168. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  169. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  170. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  171. package/lib/aws/compute/types.js +1 -1
  172. package/lib/aws/compute/usage-plan.js +1 -1
  173. package/lib/aws/compute/user-data.js +3 -3
  174. package/lib/aws/compute/volume.js +2 -2
  175. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  176. package/lib/aws/compute/vpc-endpoint.js +6 -6
  177. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  178. package/lib/aws/compute/vpc-link.js +1 -1
  179. package/lib/aws/compute/vpc-v2-base.js +1 -1
  180. package/lib/aws/compute/vpc-v2.js +2 -2
  181. package/lib/aws/compute/vpc.d.ts +47 -4
  182. package/lib/aws/compute/vpc.js +304 -148
  183. package/lib/aws/compute/vpn.js +3 -3
  184. package/lib/aws/context-provider.d.ts +117 -0
  185. package/lib/aws/context-provider.js +141 -0
  186. package/lib/aws/cx-api.d.ts +171 -0
  187. package/lib/aws/cx-api.js +23 -3
  188. package/lib/aws/edge/certificate.js +1 -1
  189. package/lib/aws/edge/distribution.js +3 -3
  190. package/lib/aws/edge/dns-alias-record-targets.js +6 -6
  191. package/lib/aws/edge/dns-record.js +13 -13
  192. package/lib/aws/edge/dns-zone.js +1 -1
  193. package/lib/aws/edge/function.js +2 -2
  194. package/lib/aws/edge/key-value-store.js +4 -4
  195. package/lib/aws/edge/origin.js +3 -3
  196. package/lib/aws/edge/response-headers-policy.js +1 -1
  197. package/lib/aws/encryption/alias.js +1 -1
  198. package/lib/aws/encryption/key.js +1 -1
  199. package/lib/aws/encryption/via-service-principal.js +1 -1
  200. package/lib/aws/iam/grant.js +3 -3
  201. package/lib/aws/iam/group.js +1 -1
  202. package/lib/aws/iam/instance-profile.js +1 -1
  203. package/lib/aws/iam/managed-policy.js +1 -1
  204. package/lib/aws/iam/oidc-provider.js +1 -1
  205. package/lib/aws/iam/policy-document.js +1 -1
  206. package/lib/aws/iam/policy-statement.js +1 -1
  207. package/lib/aws/iam/policy.js +1 -1
  208. package/lib/aws/iam/principals.js +20 -20
  209. package/lib/aws/iam/role.js +1 -1
  210. package/lib/aws/iam/saml-provider.js +2 -2
  211. package/lib/aws/iam/unknown-principal.js +1 -1
  212. package/lib/aws/iam/user.js +1 -1
  213. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  214. package/lib/aws/network/subnet-group.js +3 -3
  215. package/lib/aws/network/subnet.js +4 -4
  216. package/lib/aws/notify/archive.js +1 -1
  217. package/lib/aws/notify/connection.js +3 -3
  218. package/lib/aws/notify/event-bus.js +3 -3
  219. package/lib/aws/notify/event-pattern.js +1 -1
  220. package/lib/aws/notify/index.d.ts +1 -0
  221. package/lib/aws/notify/index.js +3 -1
  222. package/lib/aws/notify/input.js +2 -2
  223. package/lib/aws/notify/kinesis-stream.js +1 -1
  224. package/lib/aws/notify/notification-rule.js +1 -1
  225. package/lib/aws/notify/policy.js +1 -1
  226. package/lib/aws/notify/queue-base.js +1 -1
  227. package/lib/aws/notify/queue-policy.js +1 -1
  228. package/lib/aws/notify/queue.js +1 -1
  229. package/lib/aws/notify/resource-policy.js +1 -1
  230. package/lib/aws/notify/rule.js +1 -1
  231. package/lib/aws/notify/schedule.js +1 -1
  232. package/lib/aws/notify/sns-grants.generated.d.ts +39 -0
  233. package/lib/aws/notify/sns-grants.generated.js +77 -0
  234. package/lib/aws/notify/sqs-grants.generated.js +1 -1
  235. package/lib/aws/notify/subscription-filter.js +1 -1
  236. package/lib/aws/notify/subscription.d.ts +8 -2
  237. package/lib/aws/notify/subscription.js +6 -7
  238. package/lib/aws/notify/subscriptions/email.js +1 -1
  239. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  240. package/lib/aws/notify/subscriptions/sms.js +1 -1
  241. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  242. package/lib/aws/notify/subscriptions/url.js +1 -1
  243. package/lib/aws/notify/targets/event-bus.js +1 -1
  244. package/lib/aws/notify/targets/function.js +1 -1
  245. package/lib/aws/notify/targets/log-group.js +2 -2
  246. package/lib/aws/notify/targets/sqs.js +1 -1
  247. package/lib/aws/notify/targets/state-machine.js +1 -1
  248. package/lib/aws/notify/topic-base.d.ts +6 -0
  249. package/lib/aws/notify/topic-base.js +16 -19
  250. package/lib/aws/notify/topic.d.ts +29 -6
  251. package/lib/aws/notify/topic.js +50 -47
  252. package/lib/aws/storage/assets/image-asset.js +3 -3
  253. package/lib/aws/storage/assets/s3.js +1 -1
  254. package/lib/aws/storage/auth-token.js +2 -2
  255. package/lib/aws/storage/billing.js +1 -1
  256. package/lib/aws/storage/bucket-notifications.js +1 -1
  257. package/lib/aws/storage/bucket-policy.js +1 -1
  258. package/lib/aws/storage/bucket-source.js +1 -1
  259. package/lib/aws/storage/bucket.js +2 -2
  260. package/lib/aws/storage/capacity.js +1 -1
  261. package/lib/aws/storage/ecr-repository.js +3 -3
  262. package/lib/aws/storage/encryption.js +1 -1
  263. package/lib/aws/storage/notification-targets/function.js +1 -1
  264. package/lib/aws/storage/notification-targets/queue.js +1 -1
  265. package/lib/aws/storage/origin-access-identity.js +1 -1
  266. package/lib/aws/storage/parameter.js +2 -2
  267. package/lib/aws/storage/stream-grants.js +1 -1
  268. package/lib/aws/storage/table-grants.js +1 -1
  269. package/lib/aws/storage/table.js +3 -3
  270. package/lib/bundling.js +3 -3
  271. package/lib/construct-base.js +2 -2
  272. package/lib/duration.js +1 -1
  273. package/lib/errors.js +1 -1
  274. package/lib/expiration.js +1 -1
  275. package/lib/fs/ignore.js +4 -4
  276. package/lib/fs/index.js +1 -1
  277. package/lib/size.js +1 -1
  278. package/lib/stack-base.js +1 -1
  279. package/lib/terra-func.js +1 -1
  280. package/lib/time-zone.js +1 -1
  281. package/package.json +3 -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.2.2" };
60
+ VpnGateway[_a] = { fqn: "terraconstructs.aws.compute.VpnGateway", version: "0.2.4" };
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.2.2" };
79
+ VpnConnectionBase[_b] = { fqn: "terraconstructs.aws.compute.VpnConnectionBase", version: "0.2.4" };
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.2.2" };
257
+ VpnConnection[_c] = { fqn: "terraconstructs.aws.compute.VpnConnection", version: "0.2.4" };
258
258
  exports.RESERVED_TUNNEL_INSIDE_CIDR = [
259
259
  "169.254.0.0/30",
260
260
  "169.254.1.0/30",
@@ -0,0 +1,117 @@
1
+ import { Construct } from "constructs";
2
+ /**
3
+ */
4
+ export interface GetContextKeyOptions {
5
+ /**
6
+ * The context provider to query.
7
+ */
8
+ readonly provider: string;
9
+ /**
10
+ * Provider-specific properties.
11
+ */
12
+ readonly props?: {
13
+ [key: string]: any;
14
+ };
15
+ /**
16
+ * Whether to include the stack's account and region automatically.
17
+ *
18
+ * @default false
19
+ */
20
+ readonly includeEnvironment?: boolean;
21
+ /**
22
+ * Adds an additional discriminator to the `cdk.context.json` cache key.
23
+ *
24
+ * @default - no additional cache key
25
+ */
26
+ readonly additionalCacheKey?: string;
27
+ }
28
+ /**
29
+ */
30
+ export interface GetContextValueOptions extends GetContextKeyOptions {
31
+ /**
32
+ * The value to return if the lookup has not yet been performed.
33
+ *
34
+ * Upon first synthesis, the lookups has not yet been performed. The
35
+ * `getValue()` operation returns this value instead, so that synthesis can
36
+ * proceed. After synthesis completes the first time, the actual lookup will
37
+ * be performed and synthesis will run again with the *real* value.
38
+ *
39
+ * Dummy values should preferably have valid shapes so that downstream
40
+ * consumers of lookup values don't throw validation exceptions if they
41
+ * encounter a dummy value (or all possible downstream consumers need to
42
+ * effectively check for the well-known shape of the dummy value); throwing an
43
+ * exception would error out the synthesis operation and prevent the lookup
44
+ * and the second, real, synthesis from happening.
45
+ *
46
+ * ## Connection to mustExist
47
+ *
48
+ * `dummyValue` is also used as the official value to return if the lookup has
49
+ * failed and `mustExist == false`.
50
+ */
51
+ readonly dummyValue: any;
52
+ /**
53
+ * Whether the resource must exist
54
+ *
55
+ * If this is set (the default), the query fails if the value or resource we
56
+ * tried to look up doesn't exist.
57
+ *
58
+ * If this is `false` and the value we tried to look up could not be found, the
59
+ * failure is suppressed and `dummyValue` is officially returned instead.
60
+ *
61
+ * When this happens, `dummyValue` is encoded into cached context and it will
62
+ * never be refreshed anymore until the user runs `cdk context --reset <key>`.
63
+ *
64
+ * Note that it is not possible for the CDK app code to make a distinction
65
+ * between "the lookup has not been performed yet" and "the lookup didn't
66
+ * find anything and we returned a default value instead".
67
+ *
68
+ * ## Context providers
69
+ *
70
+ * This feature must explicitly be supported by context providers. It is
71
+ * currently supported by:
72
+ *
73
+ * - KMS key provider
74
+ * - SSM parameter provider
75
+ *
76
+ * ## Note to implementors
77
+ *
78
+ * The dummy value should not be returned for all SDK lookup failures. For
79
+ * example, "no network" or "no credentials" or "malformed query" should
80
+ * not lead to the dummy value being returned. Only the case of "no such
81
+ * resource" should.
82
+ *
83
+ * @default true
84
+ */
85
+ readonly mustExist?: boolean;
86
+ }
87
+ /**
88
+ */
89
+ export interface GetContextKeyResult {
90
+ readonly key: string;
91
+ readonly props: {
92
+ [key: string]: any;
93
+ };
94
+ }
95
+ /**
96
+ */
97
+ export interface GetContextValueResult {
98
+ readonly value?: any;
99
+ }
100
+ /**
101
+ * Base class for the model side of context providers
102
+ *
103
+ * Instances of this class communicate with context provider plugins in the 'cdk
104
+ * toolkit' via context variables (input), outputting specialized queries for
105
+ * more context variables (output).
106
+ *
107
+ * ContextProvider needs access to a Construct to hook into the context mechanism.
108
+ *
109
+ */
110
+ export declare class ContextProvider {
111
+ /**
112
+ * @returns the context key or undefined if a key cannot be rendered (due to tokens used in any of the props)
113
+ */
114
+ static getKey(scope: Construct, options: GetContextKeyOptions): GetContextKeyResult;
115
+ static getValue(scope: Construct, options: GetContextValueOptions): GetContextValueResult;
116
+ private constructor();
117
+ }
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextProvider = void 0;
4
+ const cdktf_1 = require("cdktf");
5
+ const constructs_1 = require("constructs");
6
+ const errors_1 = require("../errors");
7
+ const aws_stack_1 = require("./aws-stack");
8
+ const cxapi = require("./cx-api");
9
+ /**
10
+ * Base class for the model side of context providers
11
+ *
12
+ * Instances of this class communicate with context provider plugins in the 'cdk
13
+ * toolkit' via context variables (input), outputting specialized queries for
14
+ * more context variables (output).
15
+ *
16
+ * ContextProvider needs access to a Construct to hook into the context mechanism.
17
+ *
18
+ */
19
+ class ContextProvider {
20
+ /**
21
+ * @returns the context key or undefined if a key cannot be rendered (due to tokens used in any of the props)
22
+ */
23
+ static getKey(scope, options) {
24
+ const stack = aws_stack_1.AwsStack.ofAwsConstruct(scope);
25
+ const props = {
26
+ // Defaults to false because we do not support static value for account
27
+ ...((options.includeEnvironment ?? false)
28
+ ? { account: stack.account, region: stack.region }
29
+ : {}),
30
+ ...(options.additionalCacheKey
31
+ ? { additionalCacheKey: options.additionalCacheKey }
32
+ : {}),
33
+ ...options.props,
34
+ };
35
+ if (Object.values(props).find((x) => cdktf_1.Token.isUnresolved(x))) {
36
+ throw new errors_1.ValidationError(`Cannot determine scope for context provider ${options.provider}.\n` +
37
+ "This usually happens when one or more of the provider props have unresolved tokens", scope);
38
+ }
39
+ const propStrings = propsToArray(props);
40
+ return {
41
+ key: `${options.provider}:${propStrings.join(":")}`,
42
+ props,
43
+ };
44
+ }
45
+ static getValue(scope, options) {
46
+ if (options.mustExist !== undefined) {
47
+ throw new errors_1.ValidationError("Only supply one of 'mustExist' and 'ignoreErrorOnMissingContext'", scope);
48
+ }
49
+ const stack = aws_stack_1.AwsStack.ofAwsConstruct(scope);
50
+ // TODO: re-enable whenever environment details can be set directly
51
+ // if (Token.isUnresolved(stack.account) || Token.isUnresolved(stack.region)) {
52
+ // throw new ValidationError(
53
+ // `Cannot retrieve value from context provider ${options.provider} since account/region ` +
54
+ // 'are not specified at the stack level. Configure "env" with an account and region when ' +
55
+ // "you define your stack." +
56
+ // "See https://docs.aws.amazon.com/cdk/latest/guide/environments.html for more details.",
57
+ // scope,
58
+ // );
59
+ // }
60
+ const { key, props } = this.getKey(scope, options);
61
+ const value = constructs_1.Node.of(scope).tryGetContext(key);
62
+ const providerError = extractProviderError(value);
63
+ // if context is missing or an error occurred during context retrieval,
64
+ // report and return a dummy value.
65
+ if (value === undefined || providerError !== undefined) {
66
+ // Render 'ignoreErrorOnMissingContext' iff one of the parameters is supplied.
67
+ const ignoreErrorOnMissingContext = options.mustExist !== undefined ? !options.mustExist : undefined;
68
+ // build a version of the props which includes the dummyValue and ignoreError flag
69
+ const extendedProps = {
70
+ dummyValue: options.dummyValue,
71
+ // Even though we renamed the user-facing property, the field in the
72
+ // cloud assembly still has the original name, which is somewhat wrong
73
+ // because it's not about missing context.
74
+ ignoreErrorOnMissingContext,
75
+ ...(options.additionalCacheKey
76
+ ? { additionalCacheKey: options.additionalCacheKey }
77
+ : {}),
78
+ ...props,
79
+ };
80
+ // We'll store the extendedProps in the missingContextKey report
81
+ // so that we can retrieve the dummyValue and ignoreError flag
82
+ // in the aws-cdk's ssm-context and kms key provider
83
+ stack.reportMissingContextKey({
84
+ key,
85
+ provider: options.provider,
86
+ props: extendedProps,
87
+ });
88
+ if (providerError !== undefined) {
89
+ cdktf_1.Annotations.of(scope).addError(providerError);
90
+ }
91
+ return { value: options.dummyValue };
92
+ }
93
+ return { value };
94
+ }
95
+ constructor() { }
96
+ }
97
+ exports.ContextProvider = ContextProvider;
98
+ /**
99
+ * If the context value represents an error, return the error message
100
+ */
101
+ function extractProviderError(value) {
102
+ if (typeof value === "object" && value !== null) {
103
+ return value[cxapi.PROVIDER_ERROR_KEY];
104
+ }
105
+ return undefined;
106
+ }
107
+ /**
108
+ * Quote colons in all strings so that we can undo the quoting at a later point
109
+ *
110
+ * We'll use $ as a quoting character, for no particularly good reason other
111
+ * than that \ is going to lead to quoting hell when the keys are stored in JSON.
112
+ */
113
+ function colonQuote(xs) {
114
+ return xs.replace(/\$/g, "$$").replace(/:/g, "$:");
115
+ }
116
+ function propsToArray(props, keyPrefix = "") {
117
+ const ret = [];
118
+ for (const key of Object.keys(props)) {
119
+ // skip undefined values
120
+ if (props[key] === undefined) {
121
+ continue;
122
+ }
123
+ switch (typeof props[key]) {
124
+ case "object": {
125
+ ret.push(...propsToArray(props[key], `${keyPrefix}${key}.`));
126
+ break;
127
+ }
128
+ case "string": {
129
+ ret.push(`${keyPrefix}${key}=${colonQuote(props[key])}`);
130
+ break;
131
+ }
132
+ default: {
133
+ ret.push(`${keyPrefix}${key}=${JSON.stringify(props[key])}`);
134
+ break;
135
+ }
136
+ }
137
+ }
138
+ ret.sort();
139
+ return ret;
140
+ }
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3MvY29udGV4dC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpQ0FBMkM7QUFDM0MsMkNBQTZDO0FBQzdDLHNDQUE0QztBQUM1QywyQ0FBdUM7QUFDdkMsa0NBQWtDO0FBd0dsQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLGVBQWU7SUFDMUI7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUNsQixLQUFnQixFQUNoQixPQUE2QjtRQUU3QixNQUFNLEtBQUssR0FBRyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxNQUFNLEtBQUssR0FBRztZQUNaLHVFQUF1RTtZQUN2RSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksS0FBSyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDbEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCO2dCQUM1QixDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3BELENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLE9BQU8sQ0FBQyxLQUFLO1NBQ2pCLENBQUM7UUFFRixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksd0JBQWUsQ0FDdkIsK0NBQStDLE9BQU8sQ0FBQyxRQUFRLEtBQUs7Z0JBQ2xFLG9GQUFvRixFQUN0RixLQUFLLENBQ04s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Q0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNYLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gXCJAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWFcIjtcbmltcG9ydCB7IEFubm90YXRpb25zLCBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tIFwiLi9jeC1hcGlcIjtcblxuLyoqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udGV4dEtleU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbnRleHQgcHJvdmlkZXIgdG8gcXVlcnkuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlci1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcHM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluY2x1ZGUgdGhlIHN0YWNrJ3MgYWNjb3VudCBhbmQgcmVnaW9uIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbmNsdWRlRW52aXJvbm1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGFkZGl0aW9uYWwgZGlzY3JpbWluYXRvciB0byB0aGUgYGNkay5jb250ZXh0Lmpzb25gIGNhY2hlIGtleS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGNhY2hlIGtleVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENhY2hlS2V5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRDb250ZXh0VmFsdWVPcHRpb25zIGV4dGVuZHMgR2V0Q29udGV4dEtleU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHZhbHVlIHRvIHJldHVybiBpZiB0aGUgbG9va3VwIGhhcyBub3QgeWV0IGJlZW4gcGVyZm9ybWVkLlxuICAgKlxuICAgKiBVcG9uIGZpcnN0IHN5bnRoZXNpcywgdGhlIGxvb2t1cHMgaGFzIG5vdCB5ZXQgYmVlbiBwZXJmb3JtZWQuIFRoZVxuICAgKiBgZ2V0VmFsdWUoKWAgb3BlcmF0aW9uIHJldHVybnMgdGhpcyB2YWx1ZSBpbnN0ZWFkLCBzbyB0aGF0IHN5bnRoZXNpcyBjYW5cbiAgICogcHJvY2VlZC4gQWZ0ZXIgc3ludGhlc2lzIGNvbXBsZXRlcyB0aGUgZmlyc3QgdGltZSwgdGhlIGFjdHVhbCBsb29rdXAgd2lsbFxuICAgKiBiZSBwZXJmb3JtZWQgYW5kIHN5bnRoZXNpcyB3aWxsIHJ1biBhZ2FpbiB3aXRoIHRoZSAqcmVhbCogdmFsdWUuXG4gICAqXG4gICAqIER1bW15IHZhbHVlcyBzaG91bGQgcHJlZmVyYWJseSBoYXZlIHZhbGlkIHNoYXBlcyBzbyB0aGF0IGRvd25zdHJlYW1cbiAgICogY29uc3VtZXJzIG9mIGxvb2t1cCB2YWx1ZXMgZG9uJ3QgdGhyb3cgdmFsaWRhdGlvbiBleGNlcHRpb25zIGlmIHRoZXlcbiAgICogZW5jb3VudGVyIGEgZHVtbXkgdmFsdWUgKG9yIGFsbCBwb3NzaWJsZSBkb3duc3RyZWFtIGNvbnN1bWVycyBuZWVkIHRvXG4gICAqIGVmZmVjdGl2ZWx5IGNoZWNrIGZvciB0aGUgd2VsbC1rbm93biBzaGFwZSBvZiB0aGUgZHVtbXkgdmFsdWUpOyB0aHJvd2luZyBhblxuICAgKiBleGNlcHRpb24gd291bGQgZXJyb3Igb3V0IHRoZSBzeW50aGVzaXMgb3BlcmF0aW9uIGFuZCBwcmV2ZW50IHRoZSBsb29rdXBcbiAgICogYW5kIHRoZSBzZWNvbmQsIHJlYWwsIHN5bnRoZXNpcyBmcm9tIGhhcHBlbmluZy5cbiAgICpcbiAgICogIyMgQ29ubmVjdGlvbiB0byBtdXN0RXhpc3RcbiAgICpcbiAgICogYGR1bW15VmFsdWVgIGlzIGFsc28gdXNlZCBhcyB0aGUgb2ZmaWNpYWwgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBsb29rdXAgaGFzXG4gICAqIGZhaWxlZCBhbmQgYG11c3RFeGlzdCA9PSBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBkdW1teVZhbHVlOiBhbnk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlc291cmNlIG11c3QgZXhpc3RcbiAgICpcbiAgICogSWYgdGhpcyBpcyBzZXQgKHRoZSBkZWZhdWx0KSwgdGhlIHF1ZXJ5IGZhaWxzIGlmIHRoZSB2YWx1ZSBvciByZXNvdXJjZSB3ZVxuICAgKiB0cmllZCB0byBsb29rIHVwIGRvZXNuJ3QgZXhpc3QuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYGZhbHNlYCBhbmQgdGhlIHZhbHVlIHdlIHRyaWVkIHRvIGxvb2sgdXAgY291bGQgbm90IGJlIGZvdW5kLCB0aGVcbiAgICogZmFpbHVyZSBpcyBzdXBwcmVzc2VkIGFuZCBgZHVtbXlWYWx1ZWAgaXMgb2ZmaWNpYWxseSByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKlxuICAgKiBXaGVuIHRoaXMgaGFwcGVucywgYGR1bW15VmFsdWVgIGlzIGVuY29kZWQgaW50byBjYWNoZWQgY29udGV4dCBhbmQgaXQgd2lsbFxuICAgKiBuZXZlciBiZSByZWZyZXNoZWQgYW55bW9yZSB1bnRpbCB0aGUgdXNlciBydW5zIGBjZGsgY29udGV4dCAtLXJlc2V0IDxrZXk+YC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSBmb3IgdGhlIENESyBhcHAgY29kZSB0byBtYWtlIGEgZGlzdGluY3Rpb25cbiAgICogYmV0d2VlbiBcInRoZSBsb29rdXAgaGFzIG5vdCBiZWVuIHBlcmZvcm1lZCB5ZXRcIiBhbmQgXCJ0aGUgbG9va3VwIGRpZG4ndFxuICAgKiBmaW5kIGFueXRoaW5nIGFuZCB3ZSByZXR1cm5lZCBhIGRlZmF1bHQgdmFsdWUgaW5zdGVhZFwiLlxuICAgKlxuICAgKiAjIyBDb250ZXh0IHByb3ZpZGVyc1xuICAgKlxuICAgKiBUaGlzIGZlYXR1cmUgbXVzdCBleHBsaWNpdGx5IGJlIHN1cHBvcnRlZCBieSBjb250ZXh0IHByb3ZpZGVycy4gSXQgaXNcbiAgICogY3VycmVudGx5IHN1cHBvcnRlZCBieTpcbiAgICpcbiAgICogLSBLTVMga2V5IHByb3ZpZGVyXG4gICAqIC0gU1NNIHBhcmFtZXRlciBwcm92aWRlclxuICAgKlxuICAgKiAjIyBOb3RlIHRvIGltcGxlbWVudG9yc1xuICAgKlxuICAgKiBUaGUgZHVtbXkgdmFsdWUgc2hvdWxkIG5vdCBiZSByZXR1cm5lZCBmb3IgYWxsIFNESyBsb29rdXAgZmFpbHVyZXMuIEZvclxuICAgKiBleGFtcGxlLCBcIm5vIG5ldHdvcmtcIiBvciBcIm5vIGNyZWRlbnRpYWxzXCIgb3IgXCJtYWxmb3JtZWQgcXVlcnlcIiBzaG91bGRcbiAgICogbm90IGxlYWQgdG8gdGhlIGR1bW15IHZhbHVlIGJlaW5nIHJldHVybmVkLiBPbmx5IHRoZSBjYXNlIG9mIFwibm8gc3VjaFxuICAgKiByZXNvdXJjZVwiIHNob3VsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbXVzdEV4aXN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udGV4dEtleVJlc3VsdCB7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cblxuLyoqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udGV4dFZhbHVlUmVzdWx0IHtcbiAgcmVhZG9ubHkgdmFsdWU/OiBhbnk7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgdGhlIG1vZGVsIHNpZGUgb2YgY29udGV4dCBwcm92aWRlcnNcbiAqXG4gKiBJbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyBjb21tdW5pY2F0ZSB3aXRoIGNvbnRleHQgcHJvdmlkZXIgcGx1Z2lucyBpbiB0aGUgJ2Nka1xuICogdG9vbGtpdCcgdmlhIGNvbnRleHQgdmFyaWFibGVzIChpbnB1dCksIG91dHB1dHRpbmcgc3BlY2lhbGl6ZWQgcXVlcmllcyBmb3JcbiAqIG1vcmUgY29udGV4dCB2YXJpYWJsZXMgKG91dHB1dCkuXG4gKlxuICogQ29udGV4dFByb3ZpZGVyIG5lZWRzIGFjY2VzcyB0byBhIENvbnN0cnVjdCB0byBob29rIGludG8gdGhlIGNvbnRleHQgbWVjaGFuaXNtLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnRleHRQcm92aWRlciB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB0aGUgY29udGV4dCBrZXkgb3IgdW5kZWZpbmVkIGlmIGEga2V5IGNhbm5vdCBiZSByZW5kZXJlZCAoZHVlIHRvIHRva2VucyB1c2VkIGluIGFueSBvZiB0aGUgcHJvcHMpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldEtleShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIG9wdGlvbnM6IEdldENvbnRleHRLZXlPcHRpb25zLFxuICApOiBHZXRDb250ZXh0S2V5UmVzdWx0IHtcbiAgICBjb25zdCBzdGFjayA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKTtcblxuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgLy8gRGVmYXVsdHMgdG8gZmFsc2UgYmVjYXVzZSB3ZSBkbyBub3Qgc3VwcG9ydCBzdGF0aWMgdmFsdWUgZm9yIGFjY291bnRcbiAgICAgIC4uLigob3B0aW9ucy5pbmNsdWRlRW52aXJvbm1lbnQgPz8gZmFsc2UpXG4gICAgICAgID8geyBhY2NvdW50OiBzdGFjay5hY2NvdW50LCByZWdpb246IHN0YWNrLnJlZ2lvbiB9XG4gICAgICAgIDoge30pLFxuICAgICAgLi4uKG9wdGlvbnMuYWRkaXRpb25hbENhY2hlS2V5XG4gICAgICAgID8geyBhZGRpdGlvbmFsQ2FjaGVLZXk6IG9wdGlvbnMuYWRkaXRpb25hbENhY2hlS2V5IH1cbiAgICAgICAgOiB7fSksXG4gICAgICAuLi5vcHRpb25zLnByb3BzLFxuICAgIH07XG5cbiAgICBpZiAoT2JqZWN0LnZhbHVlcyhwcm9wcykuZmluZCgoeCkgPT4gVG9rZW4uaXNVbnJlc29sdmVkKHgpKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYENhbm5vdCBkZXRlcm1pbmUgc2NvcGUgZm9yIGNvbnRleHQgcHJvdmlkZXIgJHtvcHRpb25zLnByb3ZpZGVyfS5cXG5gICtcbiAgICAgICAgICBcIlRoaXMgdXN1YWxseSBoYXBwZW5zIHdoZW4gb25lIG9yIG1vcmUgb2YgdGhlIHByb3ZpZGVyIHByb3BzIGhhdmUgdW5yZXNvbHZlZCB0b2tlbnNcIixcbiAgICAgICAgc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BTdHJpbmdzID0gcHJvcHNUb0FycmF5KHByb3BzKTtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiBgJHtvcHRpb25zLnByb3ZpZGVyfToke3Byb3BTdHJpbmdzLmpvaW4oXCI6XCIpfWAsXG4gICAgICBwcm9wcyxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRWYWx1ZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIG9wdGlvbnM6IEdldENvbnRleHRWYWx1ZU9wdGlvbnMsXG4gICk6IEdldENvbnRleHRWYWx1ZVJlc3VsdCB7XG4gICAgaWYgKG9wdGlvbnMubXVzdEV4aXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIFwiT25seSBzdXBwbHkgb25lIG9mICdtdXN0RXhpc3QnIGFuZCAnaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0J1wiLFxuICAgICAgICBzY29wZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSk7XG5cbiAgICAvLyBUT0RPOiByZS1lbmFibGUgd2hlbmV2ZXIgZW52aXJvbm1lbnQgZGV0YWlscyBjYW4gYmUgc2V0IGRpcmVjdGx5XG4gICAgLy8gaWYgKFRva2VuLmlzVW5yZXNvbHZlZChzdGFjay5hY2NvdW50KSB8fCBUb2tlbi5pc1VucmVzb2x2ZWQoc3RhY2sucmVnaW9uKSkge1xuICAgIC8vICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAvLyAgICAgYENhbm5vdCByZXRyaWV2ZSB2YWx1ZSBmcm9tIGNvbnRleHQgcHJvdmlkZXIgJHtvcHRpb25zLnByb3ZpZGVyfSBzaW5jZSBhY2NvdW50L3JlZ2lvbiBgICtcbiAgICAvLyAgICAgICAnYXJlIG5vdCBzcGVjaWZpZWQgYXQgdGhlIHN0YWNrIGxldmVsLiBDb25maWd1cmUgXCJlbnZcIiB3aXRoIGFuIGFjY291bnQgYW5kIHJlZ2lvbiB3aGVuICcgK1xuICAgIC8vICAgICAgIFwieW91IGRlZmluZSB5b3VyIHN0YWNrLlwiICtcbiAgICAvLyAgICAgICBcIlNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2xhdGVzdC9ndWlkZS9lbnZpcm9ubWVudHMuaHRtbCBmb3IgbW9yZSBkZXRhaWxzLlwiLFxuICAgIC8vICAgICBzY29wZSxcbiAgICAvLyAgICk7XG4gICAgLy8gfVxuXG4gICAgY29uc3QgeyBrZXksIHByb3BzIH0gPSB0aGlzLmdldEtleShzY29wZSwgb3B0aW9ucyk7XG4gICAgY29uc3QgdmFsdWUgPSBOb2RlLm9mKHNjb3BlKS50cnlHZXRDb250ZXh0KGtleSk7XG4gICAgY29uc3QgcHJvdmlkZXJFcnJvciA9IGV4dHJhY3RQcm92aWRlckVycm9yKHZhbHVlKTtcblxuICAgIC8vIGlmIGNvbnRleHQgaXMgbWlzc2luZyBvciBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgY29udGV4dCByZXRyaWV2YWwsXG4gICAgLy8gcmVwb3J0IGFuZCByZXR1cm4gYSBkdW1teSB2YWx1ZS5cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwcm92aWRlckVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFJlbmRlciAnaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0JyBpZmYgb25lIG9mIHRoZSBwYXJhbWV0ZXJzIGlzIHN1cHBsaWVkLlxuICAgICAgY29uc3QgaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0ID1cbiAgICAgICAgb3B0aW9ucy5tdXN0RXhpc3QgIT09IHVuZGVmaW5lZCA/ICFvcHRpb25zLm11c3RFeGlzdCA6IHVuZGVmaW5lZDtcblxuICAgICAgLy8gYnVpbGQgYSB2ZXJzaW9uIG9mIHRoZSBwcm9wcyB3aGljaCBpbmNsdWRlcyB0aGUgZHVtbXlWYWx1ZSBhbmQgaWdub3JlRXJyb3IgZmxhZ1xuICAgICAgY29uc3QgZXh0ZW5kZWRQcm9wczogeyBbcDogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgICAgIGR1bW15VmFsdWU6IG9wdGlvbnMuZHVtbXlWYWx1ZSxcblxuICAgICAgICAvLyBFdmVuIHRob3VnaCB3ZSByZW5hbWVkIHRoZSB1c2VyLWZhY2luZyBwcm9wZXJ0eSwgdGhlIGZpZWxkIGluIHRoZVxuICAgICAgICAvLyBjbG91ZCBhc3NlbWJseSBzdGlsbCBoYXMgdGhlIG9yaWdpbmFsIG5hbWUsIHdoaWNoIGlzIHNvbWV3aGF0IHdyb25nXG4gICAgICAgIC8vIGJlY2F1c2UgaXQncyBub3QgYWJvdXQgbWlzc2luZyBjb250ZXh0LlxuICAgICAgICBpZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHQsXG4gICAgICAgIC4uLihvcHRpb25zLmFkZGl0aW9uYWxDYWNoZUtleVxuICAgICAgICAgID8geyBhZGRpdGlvbmFsQ2FjaGVLZXk6IG9wdGlvbnMuYWRkaXRpb25hbENhY2hlS2V5IH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICB9O1xuXG4gICAgICAvLyBXZSdsbCBzdG9yZSB0aGUgZXh0ZW5kZWRQcm9wcyBpbiB0aGUgbWlzc2luZ0NvbnRleHRLZXkgcmVwb3J0XG4gICAgICAvLyBzbyB0aGF0IHdlIGNhbiByZXRyaWV2ZSB0aGUgZHVtbXlWYWx1ZSBhbmQgaWdub3JlRXJyb3IgZmxhZ1xuICAgICAgLy8gaW4gdGhlIGF3cy1jZGsncyBzc20tY29udGV4dCBhbmQga21zIGtleSBwcm92aWRlclxuICAgICAgc3RhY2sucmVwb3J0TWlzc2luZ0NvbnRleHRLZXkoe1xuICAgICAgICBrZXksXG4gICAgICAgIHByb3ZpZGVyOiBvcHRpb25zLnByb3ZpZGVyIGFzIGN4c2NoZW1hLkNvbnRleHRQcm92aWRlcixcbiAgICAgICAgcHJvcHM6IGV4dGVuZGVkUHJvcHMgYXMgY3hzY2hlbWEuQ29udGV4dFF1ZXJ5UHJvcGVydGllcyxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocHJvdmlkZXJFcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIEFubm90YXRpb25zLm9mKHNjb3BlKS5hZGRFcnJvcihwcm92aWRlckVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgdmFsdWU6IG9wdGlvbnMuZHVtbXlWYWx1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHZhbHVlIH07XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cbn1cblxuLyoqXG4gKiBJZiB0aGUgY29udGV4dCB2YWx1ZSByZXByZXNlbnRzIGFuIGVycm9yLCByZXR1cm4gdGhlIGVycm9yIG1lc3NhZ2VcbiAqL1xuZnVuY3Rpb24gZXh0cmFjdFByb3ZpZGVyRXJyb3IodmFsdWU6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWVbY3hhcGkuUFJPVklERVJfRVJST1JfS0VZXTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFF1b3RlIGNvbG9ucyBpbiBhbGwgc3RyaW5ncyBzbyB0aGF0IHdlIGNhbiB1bmRvIHRoZSBxdW90aW5nIGF0IGEgbGF0ZXIgcG9pbnRcbiAqXG4gKiBXZSdsbCB1c2UgJCBhcyBhIHF1b3RpbmcgY2hhcmFjdGVyLCBmb3Igbm8gcGFydGljdWxhcmx5IGdvb2QgcmVhc29uIG90aGVyXG4gKiB0aGFuIHRoYXQgXFwgaXMgZ29pbmcgdG8gbGVhZCB0byBxdW90aW5nIGhlbGwgd2hlbiB0aGUga2V5cyBhcmUgc3RvcmVkIGluIEpTT04uXG4gKi9cbmZ1bmN0aW9uIGNvbG9uUXVvdGUoeHM6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB4cy5yZXBsYWNlKC9cXCQvZywgXCIkJFwiKS5yZXBsYWNlKC86L2csIFwiJDpcIik7XG59XG5cbmZ1bmN0aW9uIHByb3BzVG9BcnJheShwcm9wczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwga2V5UHJlZml4ID0gXCJcIik6IHN0cmluZ1tdIHtcbiAgY29uc3QgcmV0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgIC8vIHNraXAgdW5kZWZpbmVkIHZhbHVlc1xuICAgIGlmIChwcm9wc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZW9mIHByb3BzW2tleV0pIHtcbiAgICAgIGNhc2UgXCJvYmplY3RcIjoge1xuICAgICAgICByZXQucHVzaCguLi5wcm9wc1RvQXJyYXkocHJvcHNba2V5XSwgYCR7a2V5UHJlZml4fSR7a2V5fS5gKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBcInN0cmluZ1wiOiB7XG4gICAgICAgIHJldC5wdXNoKGAke2tleVByZWZpeH0ke2tleX09JHtjb2xvblF1b3RlKHByb3BzW2tleV0pfWApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0LnB1c2goYCR7a2V5UHJlZml4fSR7a2V5fT0ke0pTT04uc3RyaW5naWZ5KHByb3BzW2tleV0pfWApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXQuc29ydCgpO1xuICByZXR1cm4gcmV0O1xufVxuIl19
@@ -1 +1,172 @@
1
+ /**
2
+ * If a context value is an object with this key, it indicates an error
3
+ */
4
+ export declare const PROVIDER_ERROR_KEY = "$providerError";
1
5
  export declare const TARGET_PARTITIONS = "terraconstructs/core:target-partitions";
6
+ /**
7
+ * The type of subnet group.
8
+ * Same as SubnetType in the aws-cdk-lib/aws-ec2 package,
9
+ * but we can't use that because of cyclical dependencies.
10
+ */
11
+ export declare enum VpcSubnetGroupType {
12
+ /** Public subnet group type. */
13
+ PUBLIC = "Public",
14
+ /** Private subnet group type. */
15
+ PRIVATE = "Private",
16
+ /** Isolated subnet group type. */
17
+ ISOLATED = "Isolated"
18
+ }
19
+ /**
20
+ * A subnet representation that the VPC provider uses.
21
+ */
22
+ export interface VpcSubnet {
23
+ /** The identifier of the subnet. */
24
+ readonly subnetId: string;
25
+ /**
26
+ * The code of the availability zone this subnet is in
27
+ * (for example, 'us-west-2a').
28
+ */
29
+ readonly availabilityZone: string;
30
+ /** The identifier of the route table for this subnet. */
31
+ readonly routeTableId: string;
32
+ /**
33
+ * CIDR range of the subnet
34
+ *
35
+ * @default - CIDR information not available
36
+ */
37
+ readonly cidr?: string;
38
+ }
39
+ /**
40
+ * A group of subnets returned by the VPC provider.
41
+ * The included subnets do NOT have to be symmetric!
42
+ */
43
+ export interface VpcSubnetGroup {
44
+ /**
45
+ * The name of the subnet group,
46
+ * determined by looking at the tags of of the subnets
47
+ * that belong to it.
48
+ */
49
+ readonly name: string;
50
+ /** The type of the subnet group. */
51
+ readonly type: VpcSubnetGroupType;
52
+ /**
53
+ * The subnets that are part of this group.
54
+ * There is no condition that the subnets have to be symmetric
55
+ * in the group.
56
+ */
57
+ readonly subnets: VpcSubnet[];
58
+ }
59
+ /**
60
+ * Properties of a discovered VPC
61
+ */
62
+ export interface VpcContextResponse {
63
+ /**
64
+ * VPC id
65
+ */
66
+ readonly vpcId: string;
67
+ /**
68
+ * VPC cidr
69
+ *
70
+ * @default - CIDR information not available
71
+ */
72
+ readonly vpcCidrBlock?: string;
73
+ /**
74
+ * AZs
75
+ */
76
+ readonly availabilityZones: string[];
77
+ /**
78
+ * IDs of all public subnets
79
+ *
80
+ * Element count: #(availabilityZones) · #(publicGroups)
81
+ */
82
+ readonly publicSubnetIds?: string[];
83
+ /**
84
+ * Name of public subnet groups
85
+ *
86
+ * Element count: #(publicGroups)
87
+ */
88
+ readonly publicSubnetNames?: string[];
89
+ /**
90
+ * Route Table IDs of public subnet groups.
91
+ *
92
+ * Element count: #(availabilityZones) · #(publicGroups)
93
+ */
94
+ readonly publicSubnetRouteTableIds?: string[];
95
+ /**
96
+ * IDs of all private subnets
97
+ *
98
+ * Element count: #(availabilityZones) · #(privateGroups)
99
+ */
100
+ readonly privateSubnetIds?: string[];
101
+ /**
102
+ * Name of private subnet groups
103
+ *
104
+ * Element count: #(privateGroups)
105
+ */
106
+ readonly privateSubnetNames?: string[];
107
+ /**
108
+ * Route Table IDs of private subnet groups.
109
+ *
110
+ * Element count: #(availabilityZones) · #(privateGroups)
111
+ */
112
+ readonly privateSubnetRouteTableIds?: string[];
113
+ /**
114
+ * IDs of all isolated subnets
115
+ *
116
+ * Element count: #(availabilityZones) · #(isolatedGroups)
117
+ */
118
+ readonly isolatedSubnetIds?: string[];
119
+ /**
120
+ * Name of isolated subnet groups
121
+ *
122
+ * Element count: #(isolatedGroups)
123
+ */
124
+ readonly isolatedSubnetNames?: string[];
125
+ /**
126
+ * Route Table IDs of isolated subnet groups.
127
+ *
128
+ * Element count: #(availabilityZones) · #(isolatedGroups)
129
+ */
130
+ readonly isolatedSubnetRouteTableIds?: string[];
131
+ /**
132
+ * The VPN gateway ID
133
+ */
134
+ readonly vpnGatewayId?: string;
135
+ /**
136
+ * The subnet groups discovered for the given VPC.
137
+ * Unlike the above properties, this will include asymmetric subnets,
138
+ * if the VPC has any.
139
+ * This property will only be populated if `VpcContextQuery.returnAsymmetricSubnets`
140
+ * is true.
141
+ *
142
+ * @default - no subnet groups will be returned unless `VpcContextQuery.returnAsymmetricSubnets` is true
143
+ */
144
+ readonly subnetGroups?: VpcSubnetGroup[];
145
+ /**
146
+ * The region in which the VPC is in.
147
+ *
148
+ * @default - Region of the parent stack
149
+ */
150
+ readonly region?: string;
151
+ /**
152
+ * The ID of the AWS account that owns the VPC.
153
+ *
154
+ * @default the account id of the parent stack
155
+ */
156
+ readonly ownerAccountId?: string;
157
+ }
158
+ /**
159
+ * Properties of a discovered SecurityGroup.
160
+ */
161
+ export interface SecurityGroupContextResponse {
162
+ /**
163
+ * The security group's id.
164
+ */
165
+ readonly securityGroupId: string;
166
+ /**
167
+ * Whether the security group allows all outbound traffic. This will be true
168
+ * when the security group has all-protocol egress permissions to access both
169
+ * `0.0.0.0/0` and `::/0`.
170
+ */
171
+ readonly allowAllOutbound: boolean;
172
+ }
package/lib/aws/cx-api.js CHANGED
@@ -1,6 +1,26 @@
1
1
  "use strict";
2
- // https://github.com/aws/aws-cdk/blob/v2.232.2/packages/aws-cdk-lib/cx-api/lib/features.ts
2
+ // https://github.com/aws/aws-cdk/blob/v2.233.0/packages/aws-cdk-lib/cx-api/lib/cxapi.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.TARGET_PARTITIONS = void 0;
4
+ exports.VpcSubnetGroupType = exports.TARGET_PARTITIONS = exports.PROVIDER_ERROR_KEY = void 0;
5
+ /**
6
+ * If a context value is an object with this key, it indicates an error
7
+ */
8
+ exports.PROVIDER_ERROR_KEY = "$providerError";
9
+ // Ref: https://github.com/aws/aws-cdk/blob/v2.232.2/packages/aws-cdk-lib/cx-api/lib/features.ts
5
10
  exports.TARGET_PARTITIONS = "terraconstructs/core:target-partitions";
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3gtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9jeC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDJGQUEyRjs7O0FBRTlFLFFBQUEsaUJBQWlCLEdBQUcsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4yMzIuMi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jeC1hcGkvbGliL2ZlYXR1cmVzLnRzXG5cbmV4cG9ydCBjb25zdCBUQVJHRVRfUEFSVElUSU9OUyA9IFwidGVycmFjb25zdHJ1Y3RzL2NvcmU6dGFyZ2V0LXBhcnRpdGlvbnNcIjtcbiJdfQ==
11
+ // Ref: https://github.com/aws/aws-cdk/blob/v2.232.2/packages/aws-cdk-lib/cx-api/lib/context/vpc.ts
12
+ /**
13
+ * The type of subnet group.
14
+ * Same as SubnetType in the aws-cdk-lib/aws-ec2 package,
15
+ * but we can't use that because of cyclical dependencies.
16
+ */
17
+ var VpcSubnetGroupType;
18
+ (function (VpcSubnetGroupType) {
19
+ /** Public subnet group type. */
20
+ VpcSubnetGroupType["PUBLIC"] = "Public";
21
+ /** Private subnet group type. */
22
+ VpcSubnetGroupType["PRIVATE"] = "Private";
23
+ /** Isolated subnet group type. */
24
+ VpcSubnetGroupType["ISOLATED"] = "Isolated";
25
+ })(VpcSubnetGroupType || (exports.VpcSubnetGroupType = VpcSubnetGroupType = {}));
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3gtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9jeC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdGQUF3Rjs7O0FBRXhGOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUVuRCxnR0FBZ0c7QUFFbkYsUUFBQSxpQkFBaUIsR0FBRyx3Q0FBd0MsQ0FBQztBQUUxRSxtR0FBbUc7QUFFbkc7Ozs7R0FJRztBQUNILElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUM1QixnQ0FBZ0M7SUFDaEMsdUNBQWlCLENBQUE7SUFFakIsaUNBQWlDO0lBQ2pDLHlDQUFtQixDQUFBO0lBRW5CLGtDQUFrQztJQUNsQywyQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVFcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFTN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4yMzMuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jeC1hcGkvbGliL2N4YXBpLnRzXG5cbi8qKlxuICogSWYgYSBjb250ZXh0IHZhbHVlIGlzIGFuIG9iamVjdCB3aXRoIHRoaXMga2V5LCBpdCBpbmRpY2F0ZXMgYW4gZXJyb3JcbiAqL1xuZXhwb3J0IGNvbnN0IFBST1ZJREVSX0VSUk9SX0tFWSA9IFwiJHByb3ZpZGVyRXJyb3JcIjtcblxuLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4yMzIuMi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jeC1hcGkvbGliL2ZlYXR1cmVzLnRzXG5cbmV4cG9ydCBjb25zdCBUQVJHRVRfUEFSVElUSU9OUyA9IFwidGVycmFjb25zdHJ1Y3RzL2NvcmU6dGFyZ2V0LXBhcnRpdGlvbnNcIjtcblxuLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4yMzIuMi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jeC1hcGkvbGliL2NvbnRleHQvdnBjLnRzXG5cbi8qKlxuICogVGhlIHR5cGUgb2Ygc3VibmV0IGdyb3VwLlxuICogU2FtZSBhcyBTdWJuZXRUeXBlIGluIHRoZSBhd3MtY2RrLWxpYi9hd3MtZWMyIHBhY2thZ2UsXG4gKiBidXQgd2UgY2FuJ3QgdXNlIHRoYXQgYmVjYXVzZSBvZiBjeWNsaWNhbCBkZXBlbmRlbmNpZXMuXG4gKi9cbmV4cG9ydCBlbnVtIFZwY1N1Ym5ldEdyb3VwVHlwZSB7XG4gIC8qKiBQdWJsaWMgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIFBVQkxJQyA9IFwiUHVibGljXCIsXG5cbiAgLyoqIFByaXZhdGUgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIFBSSVZBVEUgPSBcIlByaXZhdGVcIixcblxuICAvKiogSXNvbGF0ZWQgc3VibmV0IGdyb3VwIHR5cGUuICovXG4gIElTT0xBVEVEID0gXCJJc29sYXRlZFwiLFxufVxuXG4vKipcbiAqIEEgc3VibmV0IHJlcHJlc2VudGF0aW9uIHRoYXQgdGhlIFZQQyBwcm92aWRlciB1c2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY1N1Ym5ldCB7XG4gIC8qKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgc3VibmV0LiAqL1xuICByZWFkb25seSBzdWJuZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29kZSBvZiB0aGUgYXZhaWxhYmlsaXR5IHpvbmUgdGhpcyBzdWJuZXQgaXMgaW5cbiAgICogKGZvciBleGFtcGxlLCAndXMtd2VzdC0yYScpLlxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcm91dGUgdGFibGUgZm9yIHRoaXMgc3VibmV0LiAqL1xuICByZWFkb25seSByb3V0ZVRhYmxlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ0lEUiByYW5nZSBvZiB0aGUgc3VibmV0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ0lEUiBpbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBjaWRyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgZ3JvdXAgb2Ygc3VibmV0cyByZXR1cm5lZCBieSB0aGUgVlBDIHByb3ZpZGVyLlxuICogVGhlIGluY2x1ZGVkIHN1Ym5ldHMgZG8gTk9UIGhhdmUgdG8gYmUgc3ltbWV0cmljIVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY1N1Ym5ldEdyb3VwIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdWJuZXQgZ3JvdXAsXG4gICAqIGRldGVybWluZWQgYnkgbG9va2luZyBhdCB0aGUgdGFncyBvZiBvZiB0aGUgc3VibmV0c1xuICAgKiB0aGF0IGJlbG9uZyB0byBpdC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKiogVGhlIHR5cGUgb2YgdGhlIHN1Ym5ldCBncm91cC4gKi9cbiAgcmVhZG9ubHkgdHlwZTogVnBjU3VibmV0R3JvdXBUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3VibmV0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgZ3JvdXAuXG4gICAqIFRoZXJlIGlzIG5vIGNvbmRpdGlvbiB0aGF0IHRoZSBzdWJuZXRzIGhhdmUgdG8gYmUgc3ltbWV0cmljXG4gICAqIGluIHRoZSBncm91cC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM6IFZwY1N1Ym5ldFtdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgb2YgYSBkaXNjb3ZlcmVkIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbnRleHRSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBWUEMgaWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBjaWRyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ0lEUiBpbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSB2cGNDaWRyQmxvY2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFac1xuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIHB1YmxpYyBzdWJuZXRzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMocHVibGljR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgcHVibGljIHN1Ym5ldCBncm91cHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhwdWJsaWNHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgcHVibGljIHN1Ym5ldCBncm91cHMuXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMoYXZhaWxhYmlsaXR5Wm9uZXMpIMK3ICMocHVibGljR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIHByaXZhdGUgc3VibmV0c1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHByaXZhdGVHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgcHJpdmF0ZSBzdWJuZXQgZ3JvdXBzXG4gICAqXG4gICAqIEVsZW1lbnQgY291bnQ6ICMocHJpdmF0ZUdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgcHJpdmF0ZSBzdWJuZXQgZ3JvdXBzLlxuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGF2YWlsYWJpbGl0eVpvbmVzKSDCtyAjKHByaXZhdGVHcm91cHMpXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgYWxsIGlzb2xhdGVkIHN1Ym5ldHNcbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhpc29sYXRlZEdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgaXNvbGF0ZWQgc3VibmV0IGdyb3Vwc1xuICAgKlxuICAgKiBFbGVtZW50IGNvdW50OiAjKGlzb2xhdGVkR3JvdXBzKVxuICAgKi9cbiAgcmVhZG9ubHkgaXNvbGF0ZWRTdWJuZXROYW1lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSb3V0ZSBUYWJsZSBJRHMgb2YgaXNvbGF0ZWQgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogRWxlbWVudCBjb3VudDogIyhhdmFpbGFiaWxpdHlab25lcykgwrcgIyhpc29sYXRlZEdyb3VwcylcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0Um91dGVUYWJsZUlkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBOIGdhdGV3YXkgSURcbiAgICovXG4gIHJlYWRvbmx5IHZwbkdhdGV3YXlJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1Ym5ldCBncm91cHMgZGlzY292ZXJlZCBmb3IgdGhlIGdpdmVuIFZQQy5cbiAgICogVW5saWtlIHRoZSBhYm92ZSBwcm9wZXJ0aWVzLCB0aGlzIHdpbGwgaW5jbHVkZSBhc3ltbWV0cmljIHN1Ym5ldHMsXG4gICAqIGlmIHRoZSBWUEMgaGFzIGFueS5cbiAgICogVGhpcyBwcm9wZXJ0eSB3aWxsIG9ubHkgYmUgcG9wdWxhdGVkIGlmIGBWcGNDb250ZXh0UXVlcnkucmV0dXJuQXN5bW1ldHJpY1N1Ym5ldHNgXG4gICAqIGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3VibmV0IGdyb3VwcyB3aWxsIGJlIHJldHVybmVkIHVubGVzcyBgVnBjQ29udGV4dFF1ZXJ5LnJldHVybkFzeW1tZXRyaWNTdWJuZXRzYCBpcyB0cnVlXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRHcm91cHM/OiBWcGNTdWJuZXRHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIGluIHdoaWNoIHRoZSBWUEMgaXMgaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUmVnaW9uIG9mIHRoZSBwYXJlbnQgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBBV1MgYWNjb3VudCB0aGF0IG93bnMgdGhlIFZQQy5cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIGFjY291bnQgaWQgb2YgdGhlIHBhcmVudCBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgb3duZXJBY2NvdW50SWQ/OiBzdHJpbmc7XG59XG5cbi8vIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMjMyLjIvcGFja2FnZXMvYXdzLWNkay1saWIvY3gtYXBpL2xpYi9jb250ZXh0L3NlY3VyaXR5LWdyb3VwLnRzXG5cbi8qKlxuICogUHJvcGVydGllcyBvZiBhIGRpc2NvdmVyZWQgU2VjdXJpdHlHcm91cC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUdyb3VwQ29udGV4dFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBncm91cCdzIGlkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlY3VyaXR5IGdyb3VwIGFsbG93cyBhbGwgb3V0Ym91bmQgdHJhZmZpYy4gVGhpcyB3aWxsIGJlIHRydWVcbiAgICogd2hlbiB0aGUgc2VjdXJpdHkgZ3JvdXAgaGFzIGFsbC1wcm90b2NvbCBlZ3Jlc3MgcGVybWlzc2lvbnMgdG8gYWNjZXNzIGJvdGhcbiAgICogYDAuMC4wLjAvMGAgYW5kIGA6Oi8wYC5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsT3V0Ym91bmQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -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.2.2" };
157
+ PublicCertificate[_a] = { fqn: "terraconstructs.aws.edge.PublicCertificate", version: "0.2.4" };
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.2.2" };
245
+ Distribution[_a] = { fqn: "terraconstructs.aws.edge.Distribution", version: "0.2.4" };
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.2.2" };
323
+ AllowedMethods[_b] = { fqn: "terraconstructs.aws.edge.AllowedMethods", version: "0.2.4" };
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.2.2" };
352
+ CachedMethods[_c] = { fqn: "terraconstructs.aws.edge.CachedMethods", version: "0.2.4" };
353
353
  /** HEAD and GET */
354
354
  CachedMethods.CACHE_GET_HEAD = new CachedMethods(["GET", "HEAD"]);
355
355
  /** HEAD, GET, and OPTIONS */
@@ -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.2.2" };
24
+ DistributionTarget[_a] = { fqn: "terraconstructs.aws.edge.DistributionTarget", version: "0.2.4" };
25
25
  /**
26
26
  * Use Bucket as an alias record target
27
27
  */
@@ -43,7 +43,7 @@ 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.2.2" };
46
+ BucketWebsiteTarget[_b] = { fqn: "terraconstructs.aws.edge.BucketWebsiteTarget", version: "0.2.4" };
47
47
  /**
48
48
  * Use an ELBv2 as an alias record target
49
49
  */
@@ -65,7 +65,7 @@ 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.2.2" };
68
+ LoadBalancerTarget[_c] = { fqn: "terraconstructs.aws.edge.LoadBalancerTarget", version: "0.2.4" };
69
69
  /**
70
70
  * Defines an API Gateway domain name as the alias target.
71
71
  *
@@ -86,7 +86,7 @@ class ApiGatewayDomain {
86
86
  }
87
87
  exports.ApiGatewayDomain = ApiGatewayDomain;
88
88
  _d = JSII_RTTI_SYMBOL_1;
89
- ApiGatewayDomain[_d] = { fqn: "terraconstructs.aws.edge.ApiGatewayDomain", version: "0.2.2" };
89
+ ApiGatewayDomain[_d] = { fqn: "terraconstructs.aws.edge.ApiGatewayDomain", version: "0.2.4" };
90
90
  /**
91
91
  * Defines an API Gateway REST API as the alias target. Requires that the domain
92
92
  * name will be defined through `RestApiProps.domainName`.
@@ -104,7 +104,7 @@ class ApiGatewayTarget extends ApiGatewayDomain {
104
104
  }
105
105
  exports.ApiGatewayTarget = ApiGatewayTarget;
106
106
  _e = JSII_RTTI_SYMBOL_1;
107
- ApiGatewayTarget[_e] = { fqn: "terraconstructs.aws.edge.ApiGatewayTarget", version: "0.2.2" };
107
+ ApiGatewayTarget[_e] = { fqn: "terraconstructs.aws.edge.ApiGatewayTarget", version: "0.2.4" };
108
108
  /**
109
109
  * Defines an API Gateway V2 domain name as the alias target.
110
110
  */
@@ -127,5 +127,5 @@ class ApiGatewayv2DomainProperties {
127
127
  }
128
128
  exports.ApiGatewayv2DomainProperties = ApiGatewayv2DomainProperties;
129
129
  _f = JSII_RTTI_SYMBOL_1;
130
- ApiGatewayv2DomainProperties[_f] = { fqn: "terraconstructs.aws.edge.ApiGatewayv2DomainProperties", version: "0.2.2" };
130
+ ApiGatewayv2DomainProperties[_f] = { fqn: "terraconstructs.aws.edge.ApiGatewayv2DomainProperties", version: "0.2.4" };
131
131
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWFsaWFzLXJlY29yZC10YXJnZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL2Rucy1hbGlhcy1yZWNvcmQtdGFyZ2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLGdGQUdpRDtBQWVqRDs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBQzdCLFlBQTZCLFlBQTJCO1FBQTNCLGlCQUFZLEdBQVosWUFBWSxDQUFlO0lBQUcsQ0FBQztJQUVyRCxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7WUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtZQUNsQyxvQkFBb0IsRUFBRSxLQUFLO1NBQzVCLENBQUM7SUFDSixDQUFDOztBQVpILGdEQWFDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBQzlCLFlBQTZCLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztJQUV6QyxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBRTVDLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtZQUNuQyxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOztBQW5CSCxrREFvQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FDMUIsaUNBQXlDLEVBQ3pDLG1CQUEyQjtRQUUzQixNQUFNLFFBQVEsR0FBRyxJQUFJLHlDQUFvQixDQUN2QyxpQ0FBaUMsRUFDakMsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixPQUFPLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFlBQTZCLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFM0QsSUFBSSxDQUNULE9BQW1CLEVBQ25CLEtBQWdCO1FBRWhCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQ0FBaUM7WUFDM0QsSUFBSSxFQUFFLGFBQWEsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxRCxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOztBQXRCSCxnREF1QkM7OztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFDM0IsWUFBNkIsVUFBdUI7UUFBdkIsZUFBVSxHQUFWLFVBQVUsQ0FBYTtJQUFHLENBQUM7SUFFakQsSUFBSSxDQUNULE9BQW1CLEVBQ25CLEtBQWdCO1FBRWhCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkI7WUFDbkQsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCO1lBQy9DLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7O0FBWkgsNENBYUM7OztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBQ3BELFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O0FBUEgsNENBUUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSw0QkFBNEI7SUFDdkM7OztPQUdHO0lBQ0gsWUFDbUIsa0JBQTBCLEVBQzFCLG9CQUE0QjtRQUQ1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFDMUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFRO0lBQzVDLENBQUM7SUFFRyxJQUFJLENBQ1QsT0FBbUIsRUFDbkIsS0FBZ0I7UUFFaEIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQ2pDLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7O0FBbkJILG9FQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJvdXRlNTNSZWNvcmQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgSVJlY29yZFNldCwgSURuc1pvbmUsIElEaXN0cmlidXRpb24gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgSURvbWFpbk5hbWUgfSBmcm9tIFwiLi4vY29tcHV0ZS9kb21haW4tbmFtZVwiO1xuaW1wb3J0IHtcbiAgSUxvYWRCYWxhbmNlckJhc2VWMixcbiAgSW1wb3J0ZWRMb2FkQmFsYW5jZXIsXG59IGZyb20gXCIuLi9jb21wdXRlL2xiLXNoYXJlZC9iYXNlLWxvYWQtYmFsYW5jZXJcIjtcbmltcG9ydCB7IFJlc3RBcGlCYXNlIH0gZnJvbSBcIi4uL2NvbXB1dGUvcmVzdGFwaVwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCIuLi9zdG9yYWdlXCI7XG5cbi8qKlxuICogQ2xhc3NlcyB0aGF0IGFyZSB2YWxpZCBhbGlhcyByZWNvcmQgdGFyZ2V0cywgbGlrZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbnMgbG9hZFxuICogYmFsYW5jZXJzLCBzaG91bGQgaW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIC8qKlxuICAgKiBSZXR1cm4gaG9zdGVkIHpvbmUgSUQgYW5kIEROUyBuYW1lLCB1c2FibGUgZm9yIFJvdXRlNTMgYWxpYXMgdGFyZ2V0c1xuICAgKi9cbiAgYmluZChyZWNvcmQ6IElSZWNvcmRTZXQsIHpvbmU/OiBJRG5zWm9uZSk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzO1xufVxuXG4vKipcbiAqIFVzZSBhIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uIGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcbiAqL1xuZXhwb3J0IGNsYXNzIERpc3RyaWJ1dGlvblRhcmdldCBpbXBsZW1lbnRzIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBJRGlzdHJpYnV0aW9uKSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIF9yZWNvcmQ6IElSZWNvcmRTZXQsXG4gICAgX3pvbmU/OiBJRG5zWm9uZSxcbiAgKTogcm91dGU1M1JlY29yZC5Sb3V0ZTUzUmVjb3JkQWxpYXMge1xuICAgIHJldHVybiB7XG4gICAgICB6b25lSWQ6IHRoaXMuZGlzdHJpYnV0aW9uLmhvc3RlZFpvbmVJZCxcbiAgICAgIG5hbWU6IHRoaXMuZGlzdHJpYnV0aW9uLmRvbWFpbk5hbWUsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFVzZSBCdWNrZXQgYXMgYW4gYWxpYXMgcmVjb3JkIHRhcmdldFxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0V2Vic2l0ZVRhcmdldCBpbXBsZW1lbnRzIElBbGlhc1JlY29yZFRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0KSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIF9yZWNvcmQ6IElSZWNvcmRTZXQsXG4gICAgX3pvbmU/OiBJRG5zWm9uZSxcbiAgKTogcm91dGU1M1JlY29yZC5Sb3V0ZTUzUmVjb3JkQWxpYXMge1xuICAgIGlmICghdGhpcy5idWNrZXQuaXNXZWJzaXRlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgdXNlIGEgbm9uLXdlYnNpdGUgYnVja2V0IGFzIGFuIGFsaWFzIHJlY29yZCB0YXJnZXRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYnVja2V0LmJ1Y2tldE91dHB1dHMud2Vic2l0ZURvbWFpbk5hbWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmJ1Y2tldC5ob3N0ZWRab25lSWQsXG4gICAgICBuYW1lOiB0aGlzLmJ1Y2tldC53ZWJzaXRlRG9tYWluTmFtZSxcbiAgICAgIGV2YWx1YXRlVGFyZ2V0SGVhbHRoOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBVc2UgYW4gRUxCdjIgYXMgYW4gYWxpYXMgcmVjb3JkIHRhcmdldFxuICovXG5leHBvcnQgY2xhc3MgTG9hZEJhbGFuY2VyVGFyZ2V0IGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgcHVibGljIHN0YXRpYyBmcm9tQXR0cmlidXRlcyhcbiAgICBsb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQ6IHN0cmluZyxcbiAgICBsb2FkQmFsYW5jZXJEbnNOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIGNvbnN0IGltcG9ydGVkID0gbmV3IEltcG9ydGVkTG9hZEJhbGFuY2VyKFxuICAgICAgbG9hZEJhbGFuY2VyQ2Fub25pY2FsSG9zdGVkWm9uZUlkLFxuICAgICAgbG9hZEJhbGFuY2VyRG5zTmFtZSxcbiAgICApO1xuICAgIHJldHVybiBuZXcgTG9hZEJhbGFuY2VyVGFyZ2V0KGltcG9ydGVkKTtcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvYWRCYWxhbmNlcjogSUxvYWRCYWxhbmNlckJhc2VWMikge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQsXG4gICAgICBuYW1lOiBgZHVhbHN0YWNrLiR7dGhpcy5sb2FkQmFsYW5jZXIubG9hZEJhbGFuY2VyRG5zTmFtZX1gLFxuICAgICAgZXZhbHVhdGVUYXJnZXRIZWFsdGg6IHRydWUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmluZXMgYW4gQVBJIEdhdGV3YXkgZG9tYWluIG5hbWUgYXMgdGhlIGFsaWFzIHRhcmdldC5cbiAqXG4gKiBVc2UgdGhlIGBBcGlHYXRld2F5VGFyZ2V0YCBjbGFzcyBpZiB5b3Ugd2lzaCB0byBtYXAgdGhlIGFsaWFzIHRvIGFuIFJFU1QgQVBJIHdpdGggYVxuICogZG9tYWluIG5hbWUgZGVmaW5lZCB0aHJvdWdoIHRoZSBgUmVzdEFwaVByb3BzLmRvbWFpbk5hbWVgIHByb3AuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5RG9tYWluIGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkb21haW5OYW1lOiBJRG9tYWluTmFtZSkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZUlkOiB0aGlzLmRvbWFpbk5hbWUuZG9tYWluTmFtZUFsaWFzSG9zdGVkWm9uZUlkLFxuICAgICAgbmFtZTogdGhpcy5kb21haW5OYW1lLmRvbWFpbk5hbWVBbGlhc0RvbWFpbk5hbWUsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogRGVmaW5lcyBhbiBBUEkgR2F0ZXdheSBSRVNUIEFQSSBhcyB0aGUgYWxpYXMgdGFyZ2V0LiBSZXF1aXJlcyB0aGF0IHRoZSBkb21haW5cbiAqIG5hbWUgd2lsbCBiZSBkZWZpbmVkIHRocm91Z2ggYFJlc3RBcGlQcm9wcy5kb21haW5OYW1lYC5cbiAqXG4gKiBZb3UgY2FuIGRpcmVjdCB0aGUgYWxpYXMgdG8gYW55IGBhcGlnYXRld2F5LkRvbWFpbk5hbWVgIHJlc291cmNlIHRocm91Z2ggdGhlXG4gKiBgQXBpR2F0ZXdheURvbWFpbmAgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5VGFyZ2V0IGV4dGVuZHMgQXBpR2F0ZXdheURvbWFpbiB7XG4gIGNvbnN0cnVjdG9yKGFwaTogUmVzdEFwaUJhc2UpIHtcbiAgICBpZiAoIWFwaS5kb21haW5OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFQSSBkb2VzIG5vdCBkZWZpbmUgYSBkZWZhdWx0IGRvbWFpbiBuYW1lOiAke2FwaX1gKTtcbiAgICB9XG5cbiAgICBzdXBlcihhcGkuZG9tYWluTmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmVzIGFuIEFQSSBHYXRld2F5IFYyIGRvbWFpbiBuYW1lIGFzIHRoZSBhbGlhcyB0YXJnZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzIGltcGxlbWVudHMgSUFsaWFzUmVjb3JkVGFyZ2V0IHtcbiAgLyoqXG4gICAqIEBwYXJhbSByZWdpb25hbERvbWFpbk5hbWUgdGhlIGRvbWFpbiBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVnaW9uYWwgZW5kcG9pbnQgZm9yIHRoaXMgY3VzdG9tIGRvbWFpbiBuYW1lLlxuICAgKiBAcGFyYW0gcmVnaW9uYWxIb3N0ZWRab25lSWQgdGhlIHJlZ2lvbi1zcGVjaWZpYyBBbWF6b24gUm91dGUgNTMgSG9zdGVkIFpvbmUgSUQgb2YgdGhlIHJlZ2lvbmFsIGVuZHBvaW50LlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWdpb25hbERvbWFpbk5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lvbmFsSG9zdGVkWm9uZUlkOiBzdHJpbmcsXG4gICkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBfcmVjb3JkOiBJUmVjb3JkU2V0LFxuICAgIF96b25lPzogSURuc1pvbmUsXG4gICk6IHJvdXRlNTNSZWNvcmQuUm91dGU1M1JlY29yZEFsaWFzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5yZWdpb25hbERvbWFpbk5hbWUsXG4gICAgICB6b25lSWQ6IHRoaXMucmVnaW9uYWxIb3N0ZWRab25lSWQsXG4gICAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=