terraconstructs 0.0.22 → 0.0.24

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 (288) hide show
  1. package/.jsii +104400 -90067
  2. package/go.mod +2 -1
  3. package/go.sum +2 -0
  4. package/lib/aws/arn.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/ec2.js +1 -1
  9. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  10. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  11. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  12. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  13. package/lib/aws/cloudwatch/alarm.js +4 -5
  14. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  15. package/lib/aws/cloudwatch/dashboard.js +1 -1
  16. package/lib/aws/cloudwatch/data-protection-policy.js +5 -5
  17. package/lib/aws/cloudwatch/graph.js +8 -8
  18. package/lib/aws/cloudwatch/layout.js +3 -3
  19. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  20. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  21. package/lib/aws/cloudwatch/log-group.js +3 -3
  22. package/lib/aws/cloudwatch/log-query.js +1 -1
  23. package/lib/aws/cloudwatch/log-stream.js +1 -1
  24. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  25. package/lib/aws/cloudwatch/metric.js +4 -4
  26. package/lib/aws/cloudwatch/pattern.js +3 -3
  27. package/lib/aws/cloudwatch/policy.js +1 -1
  28. package/lib/aws/cloudwatch/private/metric-util.js +1 -2
  29. package/lib/aws/cloudwatch/query-definition.js +2 -2
  30. package/lib/aws/cloudwatch/stats.js +1 -1
  31. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  32. package/lib/aws/cloudwatch/text.js +1 -1
  33. package/lib/aws/cloudwatch/variable.js +3 -3
  34. package/lib/aws/cloudwatch/widget.js +1 -1
  35. package/lib/aws/compute/activity.js +1 -1
  36. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  37. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  38. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  39. package/lib/aws/compute/alb/application-listener.js +2 -4
  40. package/lib/aws/compute/alb/application-load-balancer.js +2 -4
  41. package/lib/aws/compute/alb/application-target-group.js +1 -1
  42. package/lib/aws/compute/alb/conditions.js +1 -1
  43. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  44. package/lib/aws/compute/alb/trust-store.js +1 -1
  45. package/lib/aws/compute/architecture.js +1 -1
  46. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  47. package/lib/aws/compute/autoscaling-common/index.d.ts +3 -0
  48. package/lib/aws/compute/autoscaling-common/index.js +21 -0
  49. package/lib/aws/compute/autoscaling-common/interval-utils.d.ts +21 -0
  50. package/lib/aws/compute/autoscaling-common/interval-utils.js +213 -0
  51. package/lib/aws/compute/autoscaling-common/test-utils.d.ts +21 -0
  52. package/lib/aws/compute/autoscaling-common/test-utils.js +94 -0
  53. package/lib/aws/compute/autoscaling-common/types.d.ts +34 -0
  54. package/lib/aws/compute/autoscaling-common/types.js +3 -0
  55. package/lib/aws/compute/base-scalable-attribute.d.ts +74 -0
  56. package/lib/aws/compute/base-scalable-attribute.js +58 -0
  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/condition.js +1 -1
  63. package/lib/aws/compute/connections.js +1 -1
  64. package/lib/aws/compute/ec2-util.js +1 -4
  65. package/lib/aws/compute/event-invoke-config.js +1 -1
  66. package/lib/aws/compute/event-source-filter.js +2 -2
  67. package/lib/aws/compute/event-source-mapping.js +3 -3
  68. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  69. package/lib/aws/compute/event-sources/s3.js +1 -1
  70. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  71. package/lib/aws/compute/event-sources/sqs.js +1 -1
  72. package/lib/aws/compute/fields.js +4 -4
  73. package/lib/aws/compute/function-alias.js +1 -1
  74. package/lib/aws/compute/function-base.js +7 -8
  75. package/lib/aws/compute/function-destinations/event-bridge.js +3 -3
  76. package/lib/aws/compute/function-destinations/function.js +1 -1
  77. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  78. package/lib/aws/compute/function-nodejs.js +1 -1
  79. package/lib/aws/compute/function-url.js +1 -1
  80. package/lib/aws/compute/function-vpc-config.generated.d.ts +3 -3
  81. package/lib/aws/compute/function-vpc-config.generated.js +1 -1
  82. package/lib/aws/compute/function.js +1 -1
  83. package/lib/aws/compute/index.d.ts +7 -0
  84. package/lib/aws/compute/index.js +11 -2
  85. package/lib/aws/compute/instance-types.js +1 -1
  86. package/lib/aws/compute/instance.js +1 -1
  87. package/lib/aws/compute/ip-addresses.js +2 -2
  88. package/lib/aws/compute/ipam.js +1 -1
  89. package/lib/aws/compute/key-pair.js +1 -1
  90. package/lib/aws/compute/launch-template.js +2 -2
  91. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  92. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  93. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  94. package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +31 -31
  95. package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +1 -1
  96. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +4 -4
  97. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +1 -1
  98. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  99. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  100. package/lib/aws/compute/lb-shared/util.js +1 -2
  101. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  102. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  103. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  104. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  105. package/lib/aws/compute/load-balancer.js +3 -3
  106. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  107. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  108. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  109. package/lib/aws/compute/machine-image/common.js +1 -1
  110. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  111. package/lib/aws/compute/machine-image/utils.js +6 -6
  112. package/lib/aws/compute/nat.js +5 -5
  113. package/lib/aws/compute/network-acl-types.js +2 -2
  114. package/lib/aws/compute/network-acl.js +3 -3
  115. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  116. package/lib/aws/compute/nlb/network-listener.js +2 -3
  117. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  118. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  119. package/lib/aws/compute/peer.js +1 -1
  120. package/lib/aws/compute/placement-group.js +1 -1
  121. package/lib/aws/compute/port.js +1 -1
  122. package/lib/aws/compute/prefix-list.js +1 -1
  123. package/lib/aws/compute/private/context-stub.js +2 -2
  124. package/lib/aws/compute/route.js +11 -11
  125. package/lib/aws/compute/scalable-target.d.ts +197 -0
  126. package/lib/aws/compute/scalable-target.js +168 -0
  127. package/lib/aws/compute/schedule.d.ts +81 -0
  128. package/lib/aws/compute/schedule.js +145 -0
  129. package/lib/aws/compute/security-group.js +4 -4
  130. package/lib/aws/compute/state-graph.js +1 -1
  131. package/lib/aws/compute/state-machine-fragment.js +1 -1
  132. package/lib/aws/compute/state-machine.js +4 -4
  133. package/lib/aws/compute/states/choice.js +1 -1
  134. package/lib/aws/compute/states/custom-state.js +1 -1
  135. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  136. package/lib/aws/compute/states/distributed-map/item-reader.js +7 -7
  137. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  138. package/lib/aws/compute/states/distributed-map.js +4 -4
  139. package/lib/aws/compute/states/fail.js +1 -1
  140. package/lib/aws/compute/states/map-base.js +1 -1
  141. package/lib/aws/compute/states/map.js +1 -1
  142. package/lib/aws/compute/states/parallel.js +1 -1
  143. package/lib/aws/compute/states/pass.js +2 -2
  144. package/lib/aws/compute/states/state.js +1 -1
  145. package/lib/aws/compute/states/succeed.js +1 -1
  146. package/lib/aws/compute/states/task-base.js +2 -2
  147. package/lib/aws/compute/states/task.js +1 -1
  148. package/lib/aws/compute/states/wait.js +2 -2
  149. package/lib/aws/compute/step-scaling-action.d.ts +148 -0
  150. package/lib/aws/compute/step-scaling-action.js +109 -0
  151. package/lib/aws/compute/step-scaling-policy.d.ts +132 -0
  152. package/lib/aws/compute/step-scaling-policy.js +153 -0
  153. package/lib/aws/compute/subnet-v2.js +2 -2
  154. package/lib/aws/compute/subnet.js +1 -1
  155. package/lib/aws/compute/target-tracking-scaling-policy.d.ts +262 -0
  156. package/lib/aws/compute/target-tracking-scaling-policy.js +234 -0
  157. package/lib/aws/compute/task-credentials.js +1 -1
  158. package/lib/aws/compute/task-input.js +1 -1
  159. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  160. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  161. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  162. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  163. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  164. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  165. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  166. package/lib/aws/compute/types.js +1 -1
  167. package/lib/aws/compute/user-data.js +3 -3
  168. package/lib/aws/compute/volume.js +2 -2
  169. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  170. package/lib/aws/compute/vpc-endpoint.js +6 -6
  171. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  172. package/lib/aws/compute/vpc-v2-base.js +1 -1
  173. package/lib/aws/compute/vpc-v2.js +2 -2
  174. package/lib/aws/compute/vpc.d.ts +1 -1
  175. package/lib/aws/compute/vpc.js +10 -16
  176. package/lib/aws/compute/vpn.js +4 -7
  177. package/lib/aws/compute/windows-versions.js +1 -2
  178. package/lib/aws/edge/certificate.js +1 -1
  179. package/lib/aws/edge/distribution.js +4 -5
  180. package/lib/aws/edge/dns-alias-record-targets.js +3 -3
  181. package/lib/aws/edge/dns-record.js +13 -13
  182. package/lib/aws/edge/dns-zone.js +1 -1
  183. package/lib/aws/edge/function.js +2 -2
  184. package/lib/aws/edge/key-value-store.js +4 -4
  185. package/lib/aws/edge/origin.js +3 -3
  186. package/lib/aws/edge/response-headers-policy.js +1 -1
  187. package/lib/aws/encryption/alias.js +1 -1
  188. package/lib/aws/encryption/key.js +1 -1
  189. package/lib/aws/encryption/via-service-principal.js +1 -1
  190. package/lib/aws/iam/grant.js +3 -4
  191. package/lib/aws/iam/group.js +1 -1
  192. package/lib/aws/iam/instance-profile.js +1 -1
  193. package/lib/aws/iam/managed-policy.js +1 -1
  194. package/lib/aws/iam/oidc-provider.js +3 -3
  195. package/lib/aws/iam/policy-document-config.generated.d.ts +8 -8
  196. package/lib/aws/iam/policy-document-config.generated.js +1 -1
  197. package/lib/aws/iam/policy-document.js +1 -1
  198. package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
  199. package/lib/aws/iam/policy-statement-props.generated.js +1 -1
  200. package/lib/aws/iam/policy-statement.js +1 -1
  201. package/lib/aws/iam/policy.js +1 -1
  202. package/lib/aws/iam/principals.js +20 -20
  203. package/lib/aws/iam/role.js +1 -1
  204. package/lib/aws/iam/saml-provider.js +2 -2
  205. package/lib/aws/iam/unknown-principal.js +1 -1
  206. package/lib/aws/iam/user.js +1 -1
  207. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  208. package/lib/aws/network/subnet-group.js +3 -3
  209. package/lib/aws/network/subnet.js +4 -4
  210. package/lib/aws/notify/archive.js +1 -1
  211. package/lib/aws/notify/connection.js +7 -7
  212. package/lib/aws/notify/event-bus.js +3 -3
  213. package/lib/aws/notify/event-pattern.js +1 -1
  214. package/lib/aws/notify/input.js +2 -2
  215. package/lib/aws/notify/kinesis-stream.js +1 -1
  216. package/lib/aws/notify/notification-rule.js +1 -1
  217. package/lib/aws/notify/policy.js +1 -1
  218. package/lib/aws/notify/queue-config.generated.d.ts +12 -12
  219. package/lib/aws/notify/queue-config.generated.js +1 -1
  220. package/lib/aws/notify/queue-policy.js +1 -1
  221. package/lib/aws/notify/queue.js +1 -1
  222. package/lib/aws/notify/resource-policy.js +1 -1
  223. package/lib/aws/notify/rule.js +1 -1
  224. package/lib/aws/notify/schedule.js +1 -1
  225. package/lib/aws/notify/subscription-filter.js +1 -1
  226. package/lib/aws/notify/subscription.js +4 -4
  227. package/lib/aws/notify/subscriptions/email.js +1 -1
  228. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  229. package/lib/aws/notify/subscriptions/sms.js +1 -1
  230. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  231. package/lib/aws/notify/subscriptions/url.js +1 -1
  232. package/lib/aws/notify/targets/event-bus.js +1 -1
  233. package/lib/aws/notify/targets/function.js +1 -1
  234. package/lib/aws/notify/targets/log-group.js +2 -2
  235. package/lib/aws/notify/targets/sqs.js +3 -3
  236. package/lib/aws/notify/targets/state-machine.js +1 -1
  237. package/lib/aws/notify/targets/util.js +2 -2
  238. package/lib/aws/notify/topic-base.js +1 -1
  239. package/lib/aws/notify/topic.js +1 -1
  240. package/lib/aws/provider-config.generated.d.ts +33 -33
  241. package/lib/aws/provider-config.generated.js +1 -1
  242. package/lib/aws/storage/billing.d.ts +62 -0
  243. package/lib/aws/storage/billing.js +49 -0
  244. package/lib/aws/storage/bucket-notifications.js +1 -1
  245. package/lib/aws/storage/bucket-policy.js +1 -1
  246. package/lib/aws/storage/bucket-source.js +3 -3
  247. package/lib/aws/storage/bucket.js +2 -2
  248. package/lib/aws/storage/capacity.d.ts +96 -0
  249. package/lib/aws/storage/capacity.js +103 -0
  250. package/lib/aws/storage/cors-config.generated.d.ts +3 -3
  251. package/lib/aws/storage/cors-config.generated.js +1 -1
  252. package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
  253. package/lib/aws/storage/cors-rule-config.generated.js +1 -1
  254. package/lib/aws/storage/dynamodb-canned-metrics.generated.d.ts +493 -0
  255. package/lib/aws/storage/dynamodb-canned-metrics.generated.js +263 -0
  256. package/lib/aws/storage/dynamodb-perms.d.ts +8 -0
  257. package/lib/aws/storage/dynamodb-perms.js +45 -0
  258. package/lib/aws/storage/encryption.d.ts +54 -0
  259. package/lib/aws/storage/encryption.js +116 -0
  260. package/lib/aws/storage/index.d.ts +6 -0
  261. package/lib/aws/storage/index.js +10 -1
  262. package/lib/aws/storage/lifecycle-config.generated.d.ts +7 -7
  263. package/lib/aws/storage/lifecycle-config.generated.js +1 -1
  264. package/lib/aws/storage/notification-targets/function.js +1 -1
  265. package/lib/aws/storage/notification-targets/queue.js +1 -1
  266. package/lib/aws/storage/origin-access-identity.js +1 -1
  267. package/lib/aws/storage/parameter.js +2 -2
  268. package/lib/aws/storage/scalable-attribute-api.d.ts +36 -0
  269. package/lib/aws/storage/scalable-attribute-api.js +3 -0
  270. package/lib/aws/storage/scalable-table-attribute.d.ts +32 -0
  271. package/lib/aws/storage/scalable-table-attribute.js +48 -0
  272. package/lib/aws/storage/shared.d.ts +419 -0
  273. package/lib/aws/storage/shared.js +161 -0
  274. package/lib/aws/storage/table.d.ts +536 -0
  275. package/lib/aws/storage/table.js +1054 -0
  276. package/lib/aws/storage/website-config.generated.d.ts +5 -5
  277. package/lib/aws/storage/website-config.generated.js +1 -1
  278. package/lib/construct-base.js +2 -2
  279. package/lib/duration.js +1 -1
  280. package/lib/expiration.js +1 -1
  281. package/lib/index.d.ts +1 -0
  282. package/lib/index.js +2 -1
  283. package/lib/size.js +1 -1
  284. package/lib/stack-base.js +1 -1
  285. package/lib/terra-func.js +1 -1
  286. package/lib/time-zone.d.ts +724 -0
  287. package/lib/time-zone.js +737 -0
  288. package/package.json +14 -13
@@ -0,0 +1,262 @@
1
+ import { Construct } from "constructs";
2
+ import { IScalableTarget } from "./scalable-target";
3
+ import { Duration } from "../../duration";
4
+ import { AwsConstructBase, AwsConstructProps } from "../aws-construct";
5
+ import * as cloudwatch from "../cloudwatch";
6
+ /**
7
+ * Base interface for target tracking props
8
+ *
9
+ * Contains the attributes that are common to target tracking policies,
10
+ * except the ones relating to the metric and to the scalable target.
11
+ *
12
+ * This interface is reused by more specific target tracking props objects
13
+ * in other services.
14
+ */
15
+ export interface BaseTargetTrackingProps {
16
+ /**
17
+ * A name for the scaling policy
18
+ *
19
+ * @default - Friendly name of the construct.
20
+ */
21
+ readonly policyName?: string;
22
+ /**
23
+ * Indicates whether scale in by the target tracking policy is disabled.
24
+ *
25
+ * If the value is true, scale in is disabled and the target tracking policy
26
+ * won't remove capacity from the scalable resource. Otherwise, scale in is
27
+ * enabled and the target tracking policy can remove capacity from the
28
+ * scalable resource.
29
+ *
30
+ * @default false
31
+ */
32
+ readonly disableScaleIn?: boolean;
33
+ /**
34
+ * Period after a scale in activity completes before another scale in activity can start.
35
+ *
36
+ * @default Duration.seconds(300) for the following scalable targets: ECS services,
37
+ * Spot Fleet requests, EMR clusters, AppStream 2.0 fleets, Aurora DB clusters,
38
+ * Amazon SageMaker endpoint variants, Custom resources. For all other scalable
39
+ * targets, the default value is Duration.seconds(0): DynamoDB tables, DynamoDB
40
+ * global secondary indexes, Amazon Comprehend document classification endpoints,
41
+ * Lambda provisioned concurrency
42
+ */
43
+ readonly scaleInCooldown?: Duration;
44
+ /**
45
+ * Period after a scale out activity completes before another scale out activity can start.
46
+ *
47
+ * @default Duration.seconds(300) for the following scalable targets: ECS services,
48
+ * Spot Fleet requests, EMR clusters, AppStream 2.0 fleets, Aurora DB clusters,
49
+ * Amazon SageMaker endpoint variants, Custom resources. For all other scalable
50
+ * targets, the default value is Duration.seconds(0): DynamoDB tables, DynamoDB
51
+ * global secondary indexes, Amazon Comprehend document classification endpoints,
52
+ * Lambda provisioned concurrency
53
+ */
54
+ readonly scaleOutCooldown?: Duration;
55
+ }
56
+ /**
57
+ * Properties for a Target Tracking policy that include the metric but exclude the target
58
+ */
59
+ export interface BasicTargetTrackingScalingPolicyProps extends BaseTargetTrackingProps {
60
+ /**
61
+ * The target value for the metric.
62
+ */
63
+ readonly targetValue: number;
64
+ /**
65
+ * A predefined metric for application autoscaling
66
+ *
67
+ * The metric must track utilization. Scaling out will happen if the metric is higher than
68
+ * the target value, scaling in will happen in the metric is lower than the target value.
69
+ *
70
+ * Exactly one of customMetric or predefinedMetric must be specified.:
71
+ Object.entries(c.dimensions).map() as appautoscalingPolicy.AppautoscalingPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensions[],
72
+ *
73
+ * @default - No predefined metrics.
74
+ */
75
+ readonly predefinedMetric?: PredefinedMetric;
76
+ /**
77
+ * Identify the resource associated with the metric type.
78
+ *
79
+ * Only used for predefined metric ALBRequestCountPerTarget.
80
+ *
81
+ * Example value: `app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>`
82
+ *
83
+ * @default - No resource label.
84
+ */
85
+ readonly resourceLabel?: string;
86
+ /**
87
+ * A custom metric for application autoscaling
88
+ *
89
+ * The metric must track utilization. Scaling out will happen if the metric is higher than
90
+ * the target value, scaling in will happen in the metric is lower than the target value.
91
+ *
92
+ * Exactly one of customMetric or predefinedMetric must be specified.
93
+ *
94
+ * @default - No custom metric.
95
+ */
96
+ readonly customMetric?: cloudwatch.IMetric;
97
+ }
98
+ /**
99
+ * Properties for a concrete TargetTrackingPolicy
100
+ *
101
+ * Adds the scalingTarget.
102
+ */
103
+ export interface TargetTrackingScalingPolicyProps extends BasicTargetTrackingScalingPolicyProps, AwsConstructProps {
104
+ readonly scalingTarget: IScalableTarget;
105
+ }
106
+ /**
107
+ * Defines a target tracking scaling policy for Application Auto Scaling.
108
+ */
109
+ export declare class TargetTrackingScalingPolicy extends AwsConstructBase {
110
+ /**
111
+ * ARN of the scaling policy
112
+ */
113
+ readonly scalingPolicyArn: string;
114
+ private readonly resource;
115
+ get outputs(): Record<string, any>;
116
+ constructor(scope: Construct, id: string, props: TargetTrackingScalingPolicyProps);
117
+ }
118
+ /**
119
+ * One of the predefined autoscaling metrics
120
+ */
121
+ export declare enum PredefinedMetric {
122
+ /**
123
+ * Average percentage of instances in an AppStream fleet that are being used.
124
+ */
125
+ APPSTREAM_AVERAGE_CAPACITY_UTILIZATION = "AppStreamAverageCapacityUtilization",
126
+ /**
127
+ * Percentage of provisioned read capacity units utilized by a Keyspaces table.
128
+ */
129
+ CASSANDRA_READ_CAPACITY_UTILIZATION = "CassandraReadCapacityUtilization",
130
+ /**
131
+ * Percentage of provisioned write capacity units utilized by a Keyspaces table.
132
+ */
133
+ CASSANDRA_WRITE_CAPACITY_UTILIZATION = "CassandraWriteCapacityUtilization",
134
+ /**
135
+ * Percentage of provisioned inference units utilized by a Comprehend endpoint.
136
+ */
137
+ COMPREHEND_INFERENCE_UTILIZATION = "ComprehendInferenceUtilization",
138
+ /**
139
+ * Average CPU Utilization of read replica instances in a Neptune DB cluster.
140
+ */
141
+ NEPTURE_READER_AVERAGE_CPU_UTILIZATION = "NeptuneReaderAverageCPUUtilization",
142
+ /**
143
+ * Percentage of provisioned read capacity units consumed by a DynamoDB table.
144
+ */
145
+ DYNAMODB_READ_CAPACITY_UTILIZATION = "DynamoDBReadCapacityUtilization",
146
+ /**
147
+ * Percentage of provisioned write capacity units consumed by a DynamoDB table.
148
+ *
149
+ * Suffix `dummy` is necessary due to jsii bug (https://github.com/aws/jsii/issues/2782).
150
+ * Duplicate values will be dropped, so this suffix is added as a workaround.
151
+ * The value will be replaced when this enum is used.
152
+ *
153
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
154
+ */
155
+ DYNAMODB_WRITE_CAPACITY_UTILIZATION = "DynamoDBWriteCapacityUtilization-dummy",
156
+ /**
157
+ * DYANMODB_WRITE_CAPACITY_UTILIZATION
158
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
159
+ * @deprecated use `PredefinedMetric.DYNAMODB_WRITE_CAPACITY_UTILIZATION`
160
+ */
161
+ DYANMODB_WRITE_CAPACITY_UTILIZATION = "DynamoDBWriteCapacityUtilization",
162
+ /**
163
+ * ALB_REQUEST_COUNT_PER_TARGET
164
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
165
+ */
166
+ ALB_REQUEST_COUNT_PER_TARGET = "ALBRequestCountPerTarget",
167
+ /**
168
+ * RDS_READER_AVERAGE_CPU_UTILIZATION
169
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
170
+ */
171
+ RDS_READER_AVERAGE_CPU_UTILIZATION = "RDSReaderAverageCPUUtilization",
172
+ /**
173
+ * RDS_READER_AVERAGE_DATABASE_CONNECTIONS
174
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
175
+ */
176
+ RDS_READER_AVERAGE_DATABASE_CONNECTIONS = "RDSReaderAverageDatabaseConnections",
177
+ /**
178
+ * EC2_SPOT_FLEET_REQUEST_AVERAGE_CPU_UTILIZATION
179
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
180
+ */
181
+ EC2_SPOT_FLEET_REQUEST_AVERAGE_CPU_UTILIZATION = "EC2SpotFleetRequestAverageCPUUtilization",
182
+ /**
183
+ * EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_IN
184
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
185
+ */
186
+ EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_IN = "EC2SpotFleetRequestAverageNetworkIn",
187
+ /**
188
+ * EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_OUT
189
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
190
+ */
191
+ EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_OUT = "EC2SpotFleetRequestAverageNetworkOut",
192
+ /**
193
+ * SAGEMAKER_VARIANT_INVOCATIONS_PER_INSTANCE
194
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
195
+ */
196
+ SAGEMAKER_VARIANT_INVOCATIONS_PER_INSTANCE = "SageMakerVariantInvocationsPerInstance",
197
+ /**
198
+ * SAGEMAKER_VARIANT_PROVISIONED_CONCURRENCY_UTILIZATION
199
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
200
+ */
201
+ SAGEMAKER_VARIANT_PROVISIONED_CONCURRENCY_UTILIZATION = "SageMakerVariantProvisionedConcurrencyUtilization",
202
+ /**
203
+ * SAGEMAKER_INFERENCE_COMPONENT_INVOCATIONS_PER_COPY
204
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
205
+ */
206
+ SAGEMAKER_INFERENCE_COMPONENT_INVOCATIONS_PER_COPY = "SageMakerInferenceComponentInvocationsPerCopy",
207
+ /**
208
+ * ECS_SERVICE_AVERAGE_CPU_UTILIZATION
209
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
210
+ */
211
+ ECS_SERVICE_AVERAGE_CPU_UTILIZATION = "ECSServiceAverageCPUUtilization",
212
+ /**
213
+ * ECS_SERVICE_AVERAGE_MEMORY_UTILIZATION
214
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
215
+ */
216
+ ECS_SERVICE_AVERAGE_MEMORY_UTILIZATION = "ECSServiceAverageMemoryUtilization",
217
+ /**
218
+ * LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION
219
+ * @see https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html#monitoring-metrics-concurrency
220
+ */
221
+ LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION = "LambdaProvisionedConcurrencyUtilization",
222
+ /**
223
+ * KAFKA_BROKER_STORAGE_UTILIZATION
224
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
225
+ */
226
+ KAFKA_BROKER_STORAGE_UTILIZATION = "KafkaBrokerStorageUtilization",
227
+ /**
228
+ * ELASTICACHE_PRIMARY_ENGINE_CPU_UTILIZATION
229
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
230
+ */
231
+ ELASTICACHE_PRIMARY_ENGINE_CPU_UTILIZATION = "ElastiCachePrimaryEngineCPUUtilization",
232
+ /**
233
+ * ELASTICACHE_REPLICA_ENGINE_CPU_UTILIZATION
234
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
235
+ */
236
+ ELASTICACHE_REPLICA_ENGINE_CPU_UTILIZATION = "ElastiCacheReplicaEngineCPUUtilization",
237
+ /**
238
+ * ELASTICACHE_DATABASE_MEMORY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE
239
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
240
+ */
241
+ ELASTICACHE_DATABASE_MEMORY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE = "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage",
242
+ /**
243
+ * ELASTICACHE_DATABASE_CAPACITY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE
244
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
245
+ */
246
+ ELASTICACHE_DATABASE_CAPACITY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE = "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage",
247
+ /**
248
+ * SAGEMAKER_INFERENCE_COMPONENT_CONCURRENT_REQUESTS_PER_COPY_HIGH_RESOLUTION
249
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
250
+ */
251
+ SAGEMAKER_INFERENCE_COMPONENT_CONCURRENT_REQUESTS_PER_COPY_HIGH_RESOLUTION = "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution",
252
+ /**
253
+ * SAGEMAKER_VARIANT_CONCURRENT_REQUESTS_PER_MODEL_HIGH_RESOLUTION
254
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
255
+ */
256
+ SAGEMAKER_VARIANT_CONCURRENT_REQUESTS_PER_MODEL_HIGH_RESOLUTION = "SageMakerVariantConcurrentRequestsPerModelHighResolution",
257
+ /**
258
+ * WORKSPACES_AVERAGE_USER_SESSIONS_CAPACITY_UTILIZATION
259
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
260
+ */
261
+ WORKSPACES_AVERAGE_USER_SESSIONS_CAPACITY_UTILIZATION = "WorkSpacesAverageUserSessionsCapacityUtilization"
262
+ }
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.PredefinedMetric = exports.TargetTrackingScalingPolicy = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.168.0/packages/aws-cdk-lib/aws-applicationautoscaling/lib/target-tracking-scaling-policy.ts
7
+ const provider_aws_1 = require("@cdktf/provider-aws");
8
+ const aws_construct_1 = require("../aws-construct");
9
+ /**
10
+ * Defines a target tracking scaling policy for Application Auto Scaling.
11
+ */
12
+ class TargetTrackingScalingPolicy extends aws_construct_1.AwsConstructBase {
13
+ get outputs() {
14
+ return {
15
+ scalingPolicyArn: this.scalingPolicyArn,
16
+ };
17
+ }
18
+ constructor(scope, id, props) {
19
+ super(scope, id, props);
20
+ if ((props.customMetric === undefined) ===
21
+ (props.predefinedMetric === undefined)) {
22
+ // Assuming ValidationError is available, otherwise use standard Error
23
+ throw new Error("Exactly one of 'customMetric' or 'predefinedMetric' must be specified.");
24
+ }
25
+ if (props.customMetric && !props.customMetric.toMetricConfig().metricStat) {
26
+ // Assuming ValidationError is available, otherwise use standard Error
27
+ throw new Error("Only direct metrics are supported for Target Tracking. Use Step Scaling or supply a Metric object.");
28
+ }
29
+ // replace dummy value in DYNAMODB_WRITE_CAPACITY_UTILIZATION due to a jsii bug (https://github.com/aws/jsii/issues/2782)
30
+ const predefinedMetricValue = props.predefinedMetric ===
31
+ PredefinedMetric.DYNAMODB_WRITE_CAPACITY_UTILIZATION
32
+ ? PredefinedMetric.DYANMODB_WRITE_CAPACITY_UTILIZATION
33
+ : props.predefinedMetric;
34
+ const policyName = props.policyName ?? this.friendlyName;
35
+ this.resource = new provider_aws_1.appautoscalingPolicy.AppautoscalingPolicy(this, "Resource", {
36
+ name: policyName,
37
+ policyType: "TargetTrackingScaling",
38
+ resourceId: props.scalingTarget.resourceId,
39
+ scalableDimension: props.scalingTarget.scalableDimension,
40
+ serviceNamespace: props.scalingTarget.serviceNamespace,
41
+ targetTrackingScalingPolicyConfiguration: {
42
+ customizedMetricSpecification: renderCustomMetric(props.customMetric),
43
+ disableScaleIn: props.disableScaleIn,
44
+ predefinedMetricSpecification: predefinedMetricValue !== undefined
45
+ ? {
46
+ predefinedMetricType: predefinedMetricValue,
47
+ resourceLabel: props.resourceLabel,
48
+ }
49
+ : undefined,
50
+ scaleInCooldown: props.scaleInCooldown?.toSeconds(),
51
+ scaleOutCooldown: props.scaleOutCooldown?.toSeconds(),
52
+ targetValue: props.targetValue,
53
+ },
54
+ });
55
+ this.scalingPolicyArn = this.resource.arn;
56
+ }
57
+ }
58
+ exports.TargetTrackingScalingPolicy = TargetTrackingScalingPolicy;
59
+ _a = JSII_RTTI_SYMBOL_1;
60
+ TargetTrackingScalingPolicy[_a] = { fqn: "terraconstructs.aws.compute.TargetTrackingScalingPolicy", version: "0.0.24" };
61
+ function renderCustomMetric(metric) {
62
+ if (!metric) {
63
+ return undefined;
64
+ }
65
+ const metricConfig = metric.toMetricConfig();
66
+ // Target tracking only supports metrics with a single metric stat
67
+ if (!metricConfig.metricStat) {
68
+ // Assuming ValidationError is available, otherwise use standard Error
69
+ throw new Error("Target tracking custom metric must be a single metric stat.");
70
+ }
71
+ const c = metricConfig.metricStat;
72
+ if (c.statistic.startsWith("p")) {
73
+ // Assuming ValidationError is available, otherwise use standard Error
74
+ throw new Error(`Cannot use statistic '${c.statistic}' for Target Tracking: only 'Average', 'Minimum', 'Maximum', 'SampleCount', and 'Sum' are supported.`);
75
+ }
76
+ const dimensions = Object.entries(c.dimensions ?? {}).map(([name, value]) => ({
77
+ name,
78
+ value,
79
+ }));
80
+ return {
81
+ dimensions,
82
+ metricName: c.metricName,
83
+ namespace: c.namespace,
84
+ statistic: c.statistic,
85
+ unit: c.unitFilter,
86
+ };
87
+ }
88
+ /**
89
+ * One of the predefined autoscaling metrics
90
+ */
91
+ var PredefinedMetric;
92
+ (function (PredefinedMetric) {
93
+ /**
94
+ * Average percentage of instances in an AppStream fleet that are being used.
95
+ */
96
+ PredefinedMetric["APPSTREAM_AVERAGE_CAPACITY_UTILIZATION"] = "AppStreamAverageCapacityUtilization";
97
+ /**
98
+ * Percentage of provisioned read capacity units utilized by a Keyspaces table.
99
+ */
100
+ PredefinedMetric["CASSANDRA_READ_CAPACITY_UTILIZATION"] = "CassandraReadCapacityUtilization";
101
+ /**
102
+ * Percentage of provisioned write capacity units utilized by a Keyspaces table.
103
+ */
104
+ PredefinedMetric["CASSANDRA_WRITE_CAPACITY_UTILIZATION"] = "CassandraWriteCapacityUtilization";
105
+ /**
106
+ * Percentage of provisioned inference units utilized by a Comprehend endpoint.
107
+ */
108
+ PredefinedMetric["COMPREHEND_INFERENCE_UTILIZATION"] = "ComprehendInferenceUtilization";
109
+ /**
110
+ * Average CPU Utilization of read replica instances in a Neptune DB cluster.
111
+ */
112
+ PredefinedMetric["NEPTURE_READER_AVERAGE_CPU_UTILIZATION"] = "NeptuneReaderAverageCPUUtilization";
113
+ /**
114
+ * Percentage of provisioned read capacity units consumed by a DynamoDB table.
115
+ */
116
+ PredefinedMetric["DYNAMODB_READ_CAPACITY_UTILIZATION"] = "DynamoDBReadCapacityUtilization";
117
+ /**
118
+ * Percentage of provisioned write capacity units consumed by a DynamoDB table.
119
+ *
120
+ * Suffix `dummy` is necessary due to jsii bug (https://github.com/aws/jsii/issues/2782).
121
+ * Duplicate values will be dropped, so this suffix is added as a workaround.
122
+ * The value will be replaced when this enum is used.
123
+ *
124
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
125
+ */
126
+ PredefinedMetric["DYNAMODB_WRITE_CAPACITY_UTILIZATION"] = "DynamoDBWriteCapacityUtilization-dummy";
127
+ /**
128
+ * DYANMODB_WRITE_CAPACITY_UTILIZATION
129
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
130
+ * @deprecated use `PredefinedMetric.DYNAMODB_WRITE_CAPACITY_UTILIZATION`
131
+ */
132
+ PredefinedMetric["DYANMODB_WRITE_CAPACITY_UTILIZATION"] = "DynamoDBWriteCapacityUtilization";
133
+ /**
134
+ * ALB_REQUEST_COUNT_PER_TARGET
135
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
136
+ */
137
+ PredefinedMetric["ALB_REQUEST_COUNT_PER_TARGET"] = "ALBRequestCountPerTarget";
138
+ /**
139
+ * RDS_READER_AVERAGE_CPU_UTILIZATION
140
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
141
+ */
142
+ PredefinedMetric["RDS_READER_AVERAGE_CPU_UTILIZATION"] = "RDSReaderAverageCPUUtilization";
143
+ /**
144
+ * RDS_READER_AVERAGE_DATABASE_CONNECTIONS
145
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
146
+ */
147
+ PredefinedMetric["RDS_READER_AVERAGE_DATABASE_CONNECTIONS"] = "RDSReaderAverageDatabaseConnections";
148
+ /**
149
+ * EC2_SPOT_FLEET_REQUEST_AVERAGE_CPU_UTILIZATION
150
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
151
+ */
152
+ PredefinedMetric["EC2_SPOT_FLEET_REQUEST_AVERAGE_CPU_UTILIZATION"] = "EC2SpotFleetRequestAverageCPUUtilization";
153
+ /**
154
+ * EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_IN
155
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
156
+ */
157
+ PredefinedMetric["EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_IN"] = "EC2SpotFleetRequestAverageNetworkIn";
158
+ /**
159
+ * EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_OUT
160
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
161
+ */
162
+ PredefinedMetric["EC2_SPOT_FLEET_REQUEST_AVERAGE_NETWORK_OUT"] = "EC2SpotFleetRequestAverageNetworkOut";
163
+ /**
164
+ * SAGEMAKER_VARIANT_INVOCATIONS_PER_INSTANCE
165
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
166
+ */
167
+ PredefinedMetric["SAGEMAKER_VARIANT_INVOCATIONS_PER_INSTANCE"] = "SageMakerVariantInvocationsPerInstance";
168
+ /**
169
+ * SAGEMAKER_VARIANT_PROVISIONED_CONCURRENCY_UTILIZATION
170
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
171
+ */
172
+ PredefinedMetric["SAGEMAKER_VARIANT_PROVISIONED_CONCURRENCY_UTILIZATION"] = "SageMakerVariantProvisionedConcurrencyUtilization";
173
+ /**
174
+ * SAGEMAKER_INFERENCE_COMPONENT_INVOCATIONS_PER_COPY
175
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
176
+ */
177
+ PredefinedMetric["SAGEMAKER_INFERENCE_COMPONENT_INVOCATIONS_PER_COPY"] = "SageMakerInferenceComponentInvocationsPerCopy";
178
+ /**
179
+ * ECS_SERVICE_AVERAGE_CPU_UTILIZATION
180
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
181
+ */
182
+ PredefinedMetric["ECS_SERVICE_AVERAGE_CPU_UTILIZATION"] = "ECSServiceAverageCPUUtilization";
183
+ /**
184
+ * ECS_SERVICE_AVERAGE_MEMORY_UTILIZATION
185
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
186
+ */
187
+ PredefinedMetric["ECS_SERVICE_AVERAGE_MEMORY_UTILIZATION"] = "ECSServiceAverageMemoryUtilization";
188
+ /**
189
+ * LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION
190
+ * @see https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html#monitoring-metrics-concurrency
191
+ */
192
+ PredefinedMetric["LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION"] = "LambdaProvisionedConcurrencyUtilization";
193
+ /**
194
+ * KAFKA_BROKER_STORAGE_UTILIZATION
195
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
196
+ */
197
+ PredefinedMetric["KAFKA_BROKER_STORAGE_UTILIZATION"] = "KafkaBrokerStorageUtilization";
198
+ /**
199
+ * ELASTICACHE_PRIMARY_ENGINE_CPU_UTILIZATION
200
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
201
+ */
202
+ PredefinedMetric["ELASTICACHE_PRIMARY_ENGINE_CPU_UTILIZATION"] = "ElastiCachePrimaryEngineCPUUtilization";
203
+ /**
204
+ * ELASTICACHE_REPLICA_ENGINE_CPU_UTILIZATION
205
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
206
+ */
207
+ PredefinedMetric["ELASTICACHE_REPLICA_ENGINE_CPU_UTILIZATION"] = "ElastiCacheReplicaEngineCPUUtilization";
208
+ /**
209
+ * ELASTICACHE_DATABASE_MEMORY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE
210
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
211
+ */
212
+ PredefinedMetric["ELASTICACHE_DATABASE_MEMORY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE"] = "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage";
213
+ /**
214
+ * ELASTICACHE_DATABASE_CAPACITY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE
215
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
216
+ */
217
+ PredefinedMetric["ELASTICACHE_DATABASE_CAPACITY_USAGE_COUNTED_FOR_EVICT_PERCENTAGE"] = "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage";
218
+ /**
219
+ * SAGEMAKER_INFERENCE_COMPONENT_CONCURRENT_REQUESTS_PER_COPY_HIGH_RESOLUTION
220
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
221
+ */
222
+ PredefinedMetric["SAGEMAKER_INFERENCE_COMPONENT_CONCURRENT_REQUESTS_PER_COPY_HIGH_RESOLUTION"] = "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution";
223
+ /**
224
+ * SAGEMAKER_VARIANT_CONCURRENT_REQUESTS_PER_MODEL_HIGH_RESOLUTION
225
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
226
+ */
227
+ PredefinedMetric["SAGEMAKER_VARIANT_CONCURRENT_REQUESTS_PER_MODEL_HIGH_RESOLUTION"] = "SageMakerVariantConcurrentRequestsPerModelHighResolution";
228
+ /**
229
+ * WORKSPACES_AVERAGE_USER_SESSIONS_CAPACITY_UTILIZATION
230
+ * @see https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PredefinedMetricSpecification.html
231
+ */
232
+ PredefinedMetric["WORKSPACES_AVERAGE_USER_SESSIONS_CAPACITY_UTILIZATION"] = "WorkSpacesAverageUserSessionsCapacityUtilization";
233
+ })(PredefinedMetric || (exports.PredefinedMetric = PredefinedMetric = {}));
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXRyYWNraW5nLXNjYWxpbmctcG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL3RhcmdldC10cmFja2luZy1zY2FsaW5nLXBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFJQUFxSTtBQUVySSxzREFBMkQ7QUFJM0Qsb0RBQXVFO0FBMEh2RTs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsZ0NBQWdCO0lBUS9ELElBQVcsT0FBTztRQUNoQixPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUN4QyxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQXVDO1FBRXZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQ0UsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQztZQUNsQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsRUFDdEMsQ0FBQztZQUNELHNFQUFzRTtZQUN0RSxNQUFNLElBQUksS0FBSyxDQUNiLHdFQUF3RSxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUUsc0VBQXNFO1lBQ3RFLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0dBQW9HLENBQ3JHLENBQUM7UUFDSixDQUFDO1FBRUQseUhBQXlIO1FBQ3pILE1BQU0scUJBQXFCLEdBQ3pCLEtBQUssQ0FBQyxnQkFBZ0I7WUFDdEIsZ0JBQWdCLENBQUMsbUNBQW1DO1lBQ2xELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxtQ0FBbUM7WUFDdEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztRQUU3QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1DQUFvQixDQUFDLG9CQUFvQixDQUMzRCxJQUFJLEVBQ0osVUFBVSxFQUNWO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLHVCQUF1QjtZQUNuQyxVQUFVLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVO1lBQzFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsaUJBQWlCO1lBQ3hELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCO1lBQ3RELHdDQUF3QyxFQUFFO2dCQUN4Qyw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2dCQUNyRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7Z0JBQ3BDLDZCQUE2QixFQUMzQixxQkFBcUIsS0FBSyxTQUFTO29CQUNqQyxDQUFDLENBQUM7d0JBQ0Usb0JBQW9CLEVBQUUscUJBQXFCO3dCQUMzQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7cUJBQ25DO29CQUNILENBQUMsQ0FBQyxTQUFTO2dCQUNmLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRTtnQkFDbkQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRTtnQkFDckQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2FBQy9CO1NBQ0YsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzVDLENBQUM7O0FBMUVILGtFQTJFQzs7O0FBRUQsU0FBUyxrQkFBa0IsQ0FDekIsTUFBMkI7SUFJM0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUU3QyxrRUFBa0U7SUFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3QixzRUFBc0U7UUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FDYiw2REFBNkQsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBRWxDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxzRUFBc0U7UUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FDYix5QkFBeUIsQ0FBQyxDQUFDLFNBQVMsc0dBQXNHLENBQzNJLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQ2QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUk7UUFDSixLQUFLO0tBQ04sQ0FBQyxDQUFDLENBQUM7SUFFTixPQUFPO1FBQ0wsVUFBVTtRQUNWLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtRQUN4QixTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVM7UUFDdEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTO1FBQ3RCLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVTtLQUNuQixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsSUFBWSxnQkE2SVg7QUE3SUQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCxrR0FBOEUsQ0FBQTtJQUM5RTs7T0FFRztJQUNILDRGQUF3RSxDQUFBO0lBQ3hFOztPQUVHO0lBQ0gsOEZBQTBFLENBQUE7SUFDMUU7O09BRUc7SUFDSCx1RkFBbUUsQ0FBQTtJQUNuRTs7T0FFRztJQUNILGlHQUE2RSxDQUFBO0lBQzdFOztPQUVHO0lBQ0gsMEZBQXNFLENBQUE7SUFDdEU7Ozs7Ozs7O09BUUc7SUFDSCxrR0FBOEUsQ0FBQTtJQUM5RTs7OztPQUlHO0lBQ0gsNEZBQXdFLENBQUE7SUFDeEU7OztPQUdHO0lBQ0gsNkVBQXlELENBQUE7SUFDekQ7OztPQUdHO0lBQ0gseUZBQXFFLENBQUE7SUFDckU7OztPQUdHO0lBQ0gsbUdBQStFLENBQUE7SUFDL0U7OztPQUdHO0lBQ0gsK0dBQTJGLENBQUE7SUFDM0Y7OztPQUdHO0lBQ0gscUdBQWlGLENBQUE7SUFDakY7OztPQUdHO0lBQ0gsdUdBQW1GLENBQUE7SUFDbkY7OztPQUdHO0lBQ0gseUdBQXFGLENBQUE7SUFDckY7OztPQUdHO0lBQ0gsK0hBQTJHLENBQUE7SUFDM0c7OztPQUdHO0lBQ0gsd0hBQW9HLENBQUE7SUFDcEc7OztPQUdHO0lBQ0gsMkZBQXVFLENBQUE7SUFDdkU7OztPQUdHO0lBQ0gsaUdBQTZFLENBQUE7SUFDN0U7OztPQUdHO0lBQ0gsMEdBQXNGLENBQUE7SUFDdEY7OztPQUdHO0lBQ0gsc0ZBQWtFLENBQUE7SUFDbEU7OztPQUdHO0lBQ0gseUdBQXFGLENBQUE7SUFDckY7OztPQUdHO0lBQ0gseUdBQXFGLENBQUE7SUFDckY7OztPQUdHO0lBQ0gsOElBQTBILENBQUE7SUFDMUg7OztPQUdHO0lBQ0gsa0pBQThILENBQUE7SUFDOUg7OztPQUdHO0lBQ0gscUtBQWlKLENBQUE7SUFDako7OztPQUdHO0lBQ0gsZ0pBQTRILENBQUE7SUFDNUg7OztPQUdHO0lBQ0gsOEhBQTBHLENBQUE7QUFDNUcsQ0FBQyxFQTdJVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQTZJM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNjguMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtYXBwbGljYXRpb25hdXRvc2NhbGluZy9saWIvdGFyZ2V0LXRyYWNraW5nLXNjYWxpbmctcG9saWN5LnRzXG5cbmltcG9ydCB7IGFwcGF1dG9zY2FsaW5nUG9saWN5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJU2NhbGFibGVUYXJnZXQgfSBmcm9tIFwiLi9zY2FsYWJsZS10YXJnZXRcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2R1cmF0aW9uXCI7XG5pbXBvcnQgeyBBd3NDb25zdHJ1Y3RCYXNlLCBBd3NDb25zdHJ1Y3RQcm9wcyB9IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gXCIuLi9jbG91ZHdhdGNoXCI7XG4vLyBUT0RPIEFkdXB0IFZhbGlkYXRpb25FcnJvciBpcyBhdmFpbGFibGUsIG90aGVyd2lzZSB1c2Ugc3RhbmRhcmQgRXJyb3Jcbi8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL3B1bGwvMzMzODIvXG4vLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9wdWxsLzMzMDQ1XG4vLyBpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vY29yZS9lcnJvcnNcIjtcblxuLyoqXG4gKiBCYXNlIGludGVyZmFjZSBmb3IgdGFyZ2V0IHRyYWNraW5nIHByb3BzXG4gKlxuICogQ29udGFpbnMgdGhlIGF0dHJpYnV0ZXMgdGhhdCBhcmUgY29tbW9uIHRvIHRhcmdldCB0cmFja2luZyBwb2xpY2llcyxcbiAqIGV4Y2VwdCB0aGUgb25lcyByZWxhdGluZyB0byB0aGUgbWV0cmljIGFuZCB0byB0aGUgc2NhbGFibGUgdGFyZ2V0LlxuICpcbiAqIFRoaXMgaW50ZXJmYWNlIGlzIHJldXNlZCBieSBtb3JlIHNwZWNpZmljIHRhcmdldCB0cmFja2luZyBwcm9wcyBvYmplY3RzXG4gKiBpbiBvdGhlciBzZXJ2aWNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlVGFyZ2V0VHJhY2tpbmdQcm9wcyB7XG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBzY2FsaW5nIHBvbGljeVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEZyaWVuZGx5IG5hbWUgb2YgdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHNjYWxlIGluIGJ5IHRoZSB0YXJnZXQgdHJhY2tpbmcgcG9saWN5IGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgc2NhbGUgaW4gaXMgZGlzYWJsZWQgYW5kIHRoZSB0YXJnZXQgdHJhY2tpbmcgcG9saWN5XG4gICAqIHdvbid0IHJlbW92ZSBjYXBhY2l0eSBmcm9tIHRoZSBzY2FsYWJsZSByZXNvdXJjZS4gT3RoZXJ3aXNlLCBzY2FsZSBpbiBpc1xuICAgKiBlbmFibGVkIGFuZCB0aGUgdGFyZ2V0IHRyYWNraW5nIHBvbGljeSBjYW4gcmVtb3ZlIGNhcGFjaXR5IGZyb20gdGhlXG4gICAqIHNjYWxhYmxlIHJlc291cmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVNjYWxlSW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQZXJpb2QgYWZ0ZXIgYSBzY2FsZSBpbiBhY3Rpdml0eSBjb21wbGV0ZXMgYmVmb3JlIGFub3RoZXIgc2NhbGUgaW4gYWN0aXZpdHkgY2FuIHN0YXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5zZWNvbmRzKDMwMCkgZm9yIHRoZSBmb2xsb3dpbmcgc2NhbGFibGUgdGFyZ2V0czogRUNTIHNlcnZpY2VzLFxuICAgKiBTcG90IEZsZWV0IHJlcXVlc3RzLCBFTVIgY2x1c3RlcnMsIEFwcFN0cmVhbSAyLjAgZmxlZXRzLCBBdXJvcmEgREIgY2x1c3RlcnMsXG4gICAqIEFtYXpvbiBTYWdlTWFrZXIgZW5kcG9pbnQgdmFyaWFudHMsIEN1c3RvbSByZXNvdXJjZXMuIEZvciBhbGwgb3RoZXIgc2NhbGFibGVcbiAgICogdGFyZ2V0cywgdGhlIGRlZmF1bHQgdmFsdWUgaXMgRHVyYXRpb24uc2Vjb25kcygwKTogRHluYW1vREIgdGFibGVzLCBEeW5hbW9EQlxuICAgKiBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4ZXMsIEFtYXpvbiBDb21wcmVoZW5kIGRvY3VtZW50IGNsYXNzaWZpY2F0aW9uIGVuZHBvaW50cyxcbiAgICogTGFtYmRhIHByb3Zpc2lvbmVkIGNvbmN1cnJlbmN5XG4gICAqL1xuICByZWFkb25seSBzY2FsZUluQ29vbGRvd24/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogUGVyaW9kIGFmdGVyIGEgc2NhbGUgb3V0IGFjdGl2aXR5IGNvbXBsZXRlcyBiZWZvcmUgYW5vdGhlciBzY2FsZSBvdXQgYWN0aXZpdHkgY2FuIHN0YXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5zZWNvbmRzKDMwMCkgZm9yIHRoZSBmb2xsb3dpbmcgc2NhbGFibGUgdGFyZ2V0czogRUNTIHNlcnZpY2VzLFxuICAgKiBTcG90IEZsZWV0IHJlcXVlc3RzLCBFTVIgY2x1c3RlcnMsIEFwcFN0cmVhbSAyLjAgZmxlZXRzLCBBdXJvcmEgREIgY2x1c3RlcnMsXG4gICAqIEFtYXpvbiBTYWdlTWFrZXIgZW5kcG9pbnQgdmFyaWFudHMsIEN1c3RvbSByZXNvdXJjZXMuIEZvciBhbGwgb3RoZXIgc2NhbGFibGVcbiAgICogdGFyZ2V0cywgdGhlIGRlZmF1bHQgdmFsdWUgaXMgRHVyYXRpb24uc2Vjb25kcygwKTogRHluYW1vREIgdGFibGVzLCBEeW5hbW9EQlxuICAgKiBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4ZXMsIEFtYXpvbiBDb21wcmVoZW5kIGRvY3VtZW50IGNsYXNzaWZpY2F0aW9uIGVuZHBvaW50cyxcbiAgICogTGFtYmRhIHByb3Zpc2lvbmVkIGNvbmN1cnJlbmN5XG4gICAqL1xuICByZWFkb25seSBzY2FsZU91dENvb2xkb3duPzogRHVyYXRpb247XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBUYXJnZXQgVHJhY2tpbmcgcG9saWN5IHRoYXQgaW5jbHVkZSB0aGUgbWV0cmljIGJ1dCBleGNsdWRlIHRoZSB0YXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNpY1RhcmdldFRyYWNraW5nU2NhbGluZ1BvbGljeVByb3BzXG4gIGV4dGVuZHMgQmFzZVRhcmdldFRyYWNraW5nUHJvcHMge1xuICAvKipcbiAgICogVGhlIHRhcmdldCB2YWx1ZSBmb3IgdGhlIG1ldHJpYy5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFZhbHVlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgcHJlZGVmaW5lZCBtZXRyaWMgZm9yIGFwcGxpY2F0aW9uIGF1dG9zY2FsaW5nXG4gICAqXG4gICAqIFRoZSBtZXRyaWMgbXVzdCB0cmFjayB1dGlsaXphdGlvbi4gU2NhbGluZyBvdXQgd2lsbCBoYXBwZW4gaWYgdGhlIG1ldHJpYyBpcyBoaWdoZXIgdGhhblxuICAgKiB0aGUgdGFyZ2V0IHZhbHVlLCBzY2FsaW5nIGluIHdpbGwgaGFwcGVuIGluIHRoZSBtZXRyaWMgaXMgbG93ZXIgdGhhbiB0aGUgdGFyZ2V0IHZhbHVlLlxuICAgKlxuICAgKiBFeGFjdGx5IG9uZSBvZiBjdXN0b21NZXRyaWMgb3IgcHJlZGVmaW5lZE1ldHJpYyBtdXN0IGJlIHNwZWNpZmllZC46XG4gICAgICBPYmplY3QuZW50cmllcyhjLmRpbWVuc2lvbnMpLm1hcCgpIGFzIGFwcGF1dG9zY2FsaW5nUG9saWN5LkFwcGF1dG9zY2FsaW5nUG9saWN5VGFyZ2V0VHJhY2tpbmdTY2FsaW5nUG9saWN5Q29uZmlndXJhdGlvbkN1c3RvbWl6ZWRNZXRyaWNTcGVjaWZpY2F0aW9uRGltZW5zaW9uc1tdLFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHByZWRlZmluZWQgbWV0cmljcy5cbiAgICovXG4gIHJlYWRvbmx5IHByZWRlZmluZWRNZXRyaWM/OiBQcmVkZWZpbmVkTWV0cmljO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmeSB0aGUgcmVzb3VyY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBtZXRyaWMgdHlwZS5cbiAgICpcbiAgICogT25seSB1c2VkIGZvciBwcmVkZWZpbmVkIG1ldHJpYyBBTEJSZXF1ZXN0Q291bnRQZXJUYXJnZXQuXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWU6IGBhcHAvPGxvYWQtYmFsYW5jZXItbmFtZT4vPGxvYWQtYmFsYW5jZXItaWQ+L3RhcmdldGdyb3VwLzx0YXJnZXQtZ3JvdXAtbmFtZT4vPHRhcmdldC1ncm91cC1pZD5gXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcmVzb3VyY2UgbGFiZWwuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGN1c3RvbSBtZXRyaWMgZm9yIGFwcGxpY2F0aW9uIGF1dG9zY2FsaW5nXG4gICAqXG4gICAqIFRoZSBtZXRyaWMgbXVzdCB0cmFjayB1dGlsaXphdGlvbi4gU2NhbGluZyBvdXQgd2lsbCBoYXBwZW4gaWYgdGhlIG1ldHJpYyBpcyBoaWdoZXIgdGhhblxuICAgKiB0aGUgdGFyZ2V0IHZhbHVlLCBzY2FsaW5nIGluIHdpbGwgaGFwcGVuIGluIHRoZSBtZXRyaWMgaXMgbG93ZXIgdGhhbiB0aGUgdGFyZ2V0IHZhbHVlLlxuICAgKlxuICAgKiBFeGFjdGx5IG9uZSBvZiBjdXN0b21NZXRyaWMgb3IgcHJlZGVmaW5lZE1ldHJpYyBtdXN0IGJlIHNwZWNpZmllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBjdXN0b20gbWV0cmljLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tTWV0cmljPzogY2xvdWR3YXRjaC5JTWV0cmljO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgY29uY3JldGUgVGFyZ2V0VHJhY2tpbmdQb2xpY3lcbiAqXG4gKiBBZGRzIHRoZSBzY2FsaW5nVGFyZ2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldFRyYWNraW5nU2NhbGluZ1BvbGljeVByb3BzXG4gIGV4dGVuZHMgQmFzaWNUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3lQcm9wcyxcbiAgICBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qXG4gICAqIFRoZSBzY2FsYWJsZSB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IHNjYWxpbmdUYXJnZXQ6IElTY2FsYWJsZVRhcmdldDtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgdGFyZ2V0IHRyYWNraW5nIHNjYWxpbmcgcG9saWN5IGZvciBBcHBsaWNhdGlvbiBBdXRvIFNjYWxpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3kgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgLyoqXG4gICAqIEFSTiBvZiB0aGUgc2NhbGluZyBwb2xpY3lcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY2FsaW5nUG9saWN5QXJuOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogYXBwYXV0b3NjYWxpbmdQb2xpY3kuQXBwYXV0b3NjYWxpbmdQb2xpY3k7XG5cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7XG4gICAgICBzY2FsaW5nUG9saWN5QXJuOiB0aGlzLnNjYWxpbmdQb2xpY3lBcm4sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogVGFyZ2V0VHJhY2tpbmdTY2FsaW5nUG9saWN5UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKFxuICAgICAgKHByb3BzLmN1c3RvbU1ldHJpYyA9PT0gdW5kZWZpbmVkKSA9PT1cbiAgICAgIChwcm9wcy5wcmVkZWZpbmVkTWV0cmljID09PSB1bmRlZmluZWQpXG4gICAgKSB7XG4gICAgICAvLyBBc3N1bWluZyBWYWxpZGF0aW9uRXJyb3IgaXMgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIHN0YW5kYXJkIEVycm9yXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRXhhY3RseSBvbmUgb2YgJ2N1c3RvbU1ldHJpYycgb3IgJ3ByZWRlZmluZWRNZXRyaWMnIG11c3QgYmUgc3BlY2lmaWVkLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuY3VzdG9tTWV0cmljICYmICFwcm9wcy5jdXN0b21NZXRyaWMudG9NZXRyaWNDb25maWcoKS5tZXRyaWNTdGF0KSB7XG4gICAgICAvLyBBc3N1bWluZyBWYWxpZGF0aW9uRXJyb3IgaXMgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIHN0YW5kYXJkIEVycm9yXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiT25seSBkaXJlY3QgbWV0cmljcyBhcmUgc3VwcG9ydGVkIGZvciBUYXJnZXQgVHJhY2tpbmcuIFVzZSBTdGVwIFNjYWxpbmcgb3Igc3VwcGx5IGEgTWV0cmljIG9iamVjdC5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gcmVwbGFjZSBkdW1teSB2YWx1ZSBpbiBEWU5BTU9EQl9XUklURV9DQVBBQ0lUWV9VVElMSVpBVElPTiBkdWUgdG8gYSBqc2lpIGJ1ZyAoaHR0cHM6Ly9naXRodWIuY29tL2F3cy9qc2lpL2lzc3Vlcy8yNzgyKVxuICAgIGNvbnN0IHByZWRlZmluZWRNZXRyaWNWYWx1ZSA9XG4gICAgICBwcm9wcy5wcmVkZWZpbmVkTWV0cmljID09PVxuICAgICAgUHJlZGVmaW5lZE1ldHJpYy5EWU5BTU9EQl9XUklURV9DQVBBQ0lUWV9VVElMSVpBVElPTlxuICAgICAgICA/IFByZWRlZmluZWRNZXRyaWMuRFlBTk1PREJfV1JJVEVfQ0FQQUNJVFlfVVRJTElaQVRJT05cbiAgICAgICAgOiBwcm9wcy5wcmVkZWZpbmVkTWV0cmljO1xuXG4gICAgY29uc3QgcG9saWN5TmFtZSA9IHByb3BzLnBvbGljeU5hbWUgPz8gdGhpcy5mcmllbmRseU5hbWU7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGFwcGF1dG9zY2FsaW5nUG9saWN5LkFwcGF1dG9zY2FsaW5nUG9saWN5KFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgbmFtZTogcG9saWN5TmFtZSxcbiAgICAgICAgcG9saWN5VHlwZTogXCJUYXJnZXRUcmFja2luZ1NjYWxpbmdcIixcbiAgICAgICAgcmVzb3VyY2VJZDogcHJvcHMuc2NhbGluZ1RhcmdldC5yZXNvdXJjZUlkLFxuICAgICAgICBzY2FsYWJsZURpbWVuc2lvbjogcHJvcHMuc2NhbGluZ1RhcmdldC5zY2FsYWJsZURpbWVuc2lvbixcbiAgICAgICAgc2VydmljZU5hbWVzcGFjZTogcHJvcHMuc2NhbGluZ1RhcmdldC5zZXJ2aWNlTmFtZXNwYWNlLFxuICAgICAgICB0YXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3lDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgY3VzdG9taXplZE1ldHJpY1NwZWNpZmljYXRpb246IHJlbmRlckN1c3RvbU1ldHJpYyhwcm9wcy5jdXN0b21NZXRyaWMpLFxuICAgICAgICAgIGRpc2FibGVTY2FsZUluOiBwcm9wcy5kaXNhYmxlU2NhbGVJbixcbiAgICAgICAgICBwcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbjpcbiAgICAgICAgICAgIHByZWRlZmluZWRNZXRyaWNWYWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgcHJlZGVmaW5lZE1ldHJpY1R5cGU6IHByZWRlZmluZWRNZXRyaWNWYWx1ZSxcbiAgICAgICAgICAgICAgICAgIHJlc291cmNlTGFiZWw6IHByb3BzLnJlc291cmNlTGFiZWwsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzY2FsZUluQ29vbGRvd246IHByb3BzLnNjYWxlSW5Db29sZG93bj8udG9TZWNvbmRzKCksXG4gICAgICAgICAgc2NhbGVPdXRDb29sZG93bjogcHJvcHMuc2NhbGVPdXRDb29sZG93bj8udG9TZWNvbmRzKCksXG4gICAgICAgICAgdGFyZ2V0VmFsdWU6IHByb3BzLnRhcmdldFZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5zY2FsaW5nUG9saWN5QXJuID0gdGhpcy5yZXNvdXJjZS5hcm47XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyQ3VzdG9tTWV0cmljKFxuICBtZXRyaWM/OiBjbG91ZHdhdGNoLklNZXRyaWMsXG4pOlxuICB8IGFwcGF1dG9zY2FsaW5nUG9saWN5LkFwcGF1dG9zY2FsaW5nUG9saWN5VGFyZ2V0VHJhY2tpbmdTY2FsaW5nUG9saWN5Q29uZmlndXJhdGlvbkN1c3RvbWl6ZWRNZXRyaWNTcGVjaWZpY2F0aW9uXG4gIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFtZXRyaWMpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IG1ldHJpY0NvbmZpZyA9IG1ldHJpYy50b01ldHJpY0NvbmZpZygpO1xuXG4gIC8vIFRhcmdldCB0cmFja2luZyBvbmx5IHN1cHBvcnRzIG1ldHJpY3Mgd2l0aCBhIHNpbmdsZSBtZXRyaWMgc3RhdFxuICBpZiAoIW1ldHJpY0NvbmZpZy5tZXRyaWNTdGF0KSB7XG4gICAgLy8gQXNzdW1pbmcgVmFsaWRhdGlvbkVycm9yIGlzIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBzdGFuZGFyZCBFcnJvclxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiVGFyZ2V0IHRyYWNraW5nIGN1c3RvbSBtZXRyaWMgbXVzdCBiZSBhIHNpbmdsZSBtZXRyaWMgc3RhdC5cIixcbiAgICApO1xuICB9XG4gIGNvbnN0IGMgPSBtZXRyaWNDb25maWcubWV0cmljU3RhdDtcblxuICBpZiAoYy5zdGF0aXN0aWMuc3RhcnRzV2l0aChcInBcIikpIHtcbiAgICAvLyBBc3N1bWluZyBWYWxpZGF0aW9uRXJyb3IgaXMgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIHN0YW5kYXJkIEVycm9yXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENhbm5vdCB1c2Ugc3RhdGlzdGljICcke2Muc3RhdGlzdGljfScgZm9yIFRhcmdldCBUcmFja2luZzogb25seSAnQXZlcmFnZScsICdNaW5pbXVtJywgJ01heGltdW0nLCAnU2FtcGxlQ291bnQnLCBhbmQgJ1N1bScgYXJlIHN1cHBvcnRlZC5gLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBkaW1lbnNpb25zOiBhcHBhdXRvc2NhbGluZ1BvbGljeS5BcHBhdXRvc2NhbGluZ1BvbGljeVRhcmdldFRyYWNraW5nU2NhbGluZ1BvbGljeUNvbmZpZ3VyYXRpb25DdXN0b21pemVkTWV0cmljU3BlY2lmaWNhdGlvbkRpbWVuc2lvbnNbXSA9XG4gICAgT2JqZWN0LmVudHJpZXMoYy5kaW1lbnNpb25zID8/IHt9KS5tYXAoKFtuYW1lLCB2YWx1ZV0pID0+ICh7XG4gICAgICBuYW1lLFxuICAgICAgdmFsdWUsXG4gICAgfSkpO1xuXG4gIHJldHVybiB7XG4gICAgZGltZW5zaW9ucyxcbiAgICBtZXRyaWNOYW1lOiBjLm1ldHJpY05hbWUsXG4gICAgbmFtZXNwYWNlOiBjLm5hbWVzcGFjZSxcbiAgICBzdGF0aXN0aWM6IGMuc3RhdGlzdGljLFxuICAgIHVuaXQ6IGMudW5pdEZpbHRlcixcbiAgfTtcbn1cblxuLyoqXG4gKiBPbmUgb2YgdGhlIHByZWRlZmluZWQgYXV0b3NjYWxpbmcgbWV0cmljc1xuICovXG5leHBvcnQgZW51bSBQcmVkZWZpbmVkTWV0cmljIHtcbiAgLyoqXG4gICAqIEF2ZXJhZ2UgcGVyY2VudGFnZSBvZiBpbnN0YW5jZXMgaW4gYW4gQXBwU3RyZWFtIGZsZWV0IHRoYXQgYXJlIGJlaW5nIHVzZWQuXG4gICAqL1xuICBBUFBTVFJFQU1fQVZFUkFHRV9DQVBBQ0lUWV9VVElMSVpBVElPTiA9IFwiQXBwU3RyZWFtQXZlcmFnZUNhcGFjaXR5VXRpbGl6YXRpb25cIixcbiAgLyoqXG4gICAqIFBlcmNlbnRhZ2Ugb2YgcHJvdmlzaW9uZWQgcmVhZCBjYXBhY2l0eSB1bml0cyB1dGlsaXplZCBieSBhIEtleXNwYWNlcyB0YWJsZS5cbiAgICovXG4gIENBU1NBTkRSQV9SRUFEX0NBUEFDSVRZX1VUSUxJWkFUSU9OID0gXCJDYXNzYW5kcmFSZWFkQ2FwYWNpdHlVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogUGVyY2VudGFnZSBvZiBwcm92aXNpb25lZCB3cml0ZSBjYXBhY2l0eSB1bml0cyB1dGlsaXplZCBieSBhIEtleXNwYWNlcyB0YWJsZS5cbiAgICovXG4gIENBU1NBTkRSQV9XUklURV9DQVBBQ0lUWV9VVElMSVpBVElPTiA9IFwiQ2Fzc2FuZHJhV3JpdGVDYXBhY2l0eVV0aWxpemF0aW9uXCIsXG4gIC8qKlxuICAgKiBQZXJjZW50YWdlIG9mIHByb3Zpc2lvbmVkIGluZmVyZW5jZSB1bml0cyB1dGlsaXplZCBieSBhIENvbXByZWhlbmQgZW5kcG9pbnQuXG4gICAqL1xuICBDT01QUkVIRU5EX0lORkVSRU5DRV9VVElMSVpBVElPTiA9IFwiQ29tcHJlaGVuZEluZmVyZW5jZVV0aWxpemF0aW9uXCIsXG4gIC8qKlxuICAgKiBBdmVyYWdlIENQVSBVdGlsaXphdGlvbiBvZiByZWFkIHJlcGxpY2EgaW5zdGFuY2VzIGluIGEgTmVwdHVuZSBEQiBjbHVzdGVyLlxuICAgKi9cbiAgTkVQVFVSRV9SRUFERVJfQVZFUkFHRV9DUFVfVVRJTElaQVRJT04gPSBcIk5lcHR1bmVSZWFkZXJBdmVyYWdlQ1BVVXRpbGl6YXRpb25cIixcbiAgLyoqXG4gICAqIFBlcmNlbnRhZ2Ugb2YgcHJvdmlzaW9uZWQgcmVhZCBjYXBhY2l0eSB1bml0cyBjb25zdW1lZCBieSBhIER5bmFtb0RCIHRhYmxlLlxuICAgKi9cbiAgRFlOQU1PREJfUkVBRF9DQVBBQ0lUWV9VVElMSVpBVElPTiA9IFwiRHluYW1vREJSZWFkQ2FwYWNpdHlVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogUGVyY2VudGFnZSBvZiBwcm92aXNpb25lZCB3cml0ZSBjYXBhY2l0eSB1bml0cyBjb25zdW1lZCBieSBhIER5bmFtb0RCIHRhYmxlLlxuICAgKlxuICAgKiBTdWZmaXggYGR1bW15YCBpcyBuZWNlc3NhcnkgZHVlIHRvIGpzaWkgYnVnIChodHRwczovL2dpdGh1Yi5jb20vYXdzL2pzaWkvaXNzdWVzLzI3ODIpLlxuICAgKiBEdXBsaWNhdGUgdmFsdWVzIHdpbGwgYmUgZHJvcHBlZCwgc28gdGhpcyBzdWZmaXggaXMgYWRkZWQgYXMgYSB3b3JrYXJvdW5kLlxuICAgKiBUaGUgdmFsdWUgd2lsbCBiZSByZXBsYWNlZCB3aGVuIHRoaXMgZW51bSBpcyB1c2VkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIERZTkFNT0RCX1dSSVRFX0NBUEFDSVRZX1VUSUxJWkFUSU9OID0gXCJEeW5hbW9EQldyaXRlQ2FwYWNpdHlVdGlsaXphdGlvbi1kdW1teVwiLFxuICAvKipcbiAgICogRFlBTk1PREJfV1JJVEVfQ0FQQUNJVFlfVVRJTElaQVRJT05cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXV0b3NjYWxpbmcvYXBwbGljYXRpb24vQVBJUmVmZXJlbmNlL0FQSV9QcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbi5odG1sXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgUHJlZGVmaW5lZE1ldHJpYy5EWU5BTU9EQl9XUklURV9DQVBBQ0lUWV9VVElMSVpBVElPTmBcbiAgICovXG4gIERZQU5NT0RCX1dSSVRFX0NBUEFDSVRZX1VUSUxJWkFUSU9OID0gXCJEeW5hbW9EQldyaXRlQ2FwYWNpdHlVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogQUxCX1JFUVVFU1RfQ09VTlRfUEVSX1RBUkdFVFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIEFMQl9SRVFVRVNUX0NPVU5UX1BFUl9UQVJHRVQgPSBcIkFMQlJlcXVlc3RDb3VudFBlclRhcmdldFwiLFxuICAvKipcbiAgICogUkRTX1JFQURFUl9BVkVSQUdFX0NQVV9VVElMSVpBVElPTlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIFJEU19SRUFERVJfQVZFUkFHRV9DUFVfVVRJTElaQVRJT04gPSBcIlJEU1JlYWRlckF2ZXJhZ2VDUFVVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogUkRTX1JFQURFUl9BVkVSQUdFX0RBVEFCQVNFX0NPTk5FQ1RJT05TXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F1dG9zY2FsaW5nL2FwcGxpY2F0aW9uL0FQSVJlZmVyZW5jZS9BUElfUHJlZGVmaW5lZE1ldHJpY1NwZWNpZmljYXRpb24uaHRtbFxuICAgKi9cbiAgUkRTX1JFQURFUl9BVkVSQUdFX0RBVEFCQVNFX0NPTk5FQ1RJT05TID0gXCJSRFNSZWFkZXJBdmVyYWdlRGF0YWJhc2VDb25uZWN0aW9uc1wiLFxuICAvKipcbiAgICogRUMyX1NQT1RfRkxFRVRfUkVRVUVTVF9BVkVSQUdFX0NQVV9VVElMSVpBVElPTlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIEVDMl9TUE9UX0ZMRUVUX1JFUVVFU1RfQVZFUkFHRV9DUFVfVVRJTElaQVRJT04gPSBcIkVDMlNwb3RGbGVldFJlcXVlc3RBdmVyYWdlQ1BVVXRpbGl6YXRpb25cIixcbiAgLyoqXG4gICAqIEVDMl9TUE9UX0ZMRUVUX1JFUVVFU1RfQVZFUkFHRV9ORVRXT1JLX0lOXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F1dG9zY2FsaW5nL2FwcGxpY2F0aW9uL0FQSVJlZmVyZW5jZS9BUElfUHJlZGVmaW5lZE1ldHJpY1NwZWNpZmljYXRpb24uaHRtbFxuICAgKi9cbiAgRUMyX1NQT1RfRkxFRVRfUkVRVUVTVF9BVkVSQUdFX05FVFdPUktfSU4gPSBcIkVDMlNwb3RGbGVldFJlcXVlc3RBdmVyYWdlTmV0d29ya0luXCIsXG4gIC8qKlxuICAgKiBFQzJfU1BPVF9GTEVFVF9SRVFVRVNUX0FWRVJBR0VfTkVUV09SS19PVVRcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXV0b3NjYWxpbmcvYXBwbGljYXRpb24vQVBJUmVmZXJlbmNlL0FQSV9QcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbi5odG1sXG4gICAqL1xuICBFQzJfU1BPVF9GTEVFVF9SRVFVRVNUX0FWRVJBR0VfTkVUV09SS19PVVQgPSBcIkVDMlNwb3RGbGVldFJlcXVlc3RBdmVyYWdlTmV0d29ya091dFwiLFxuICAvKipcbiAgICogU0FHRU1BS0VSX1ZBUklBTlRfSU5WT0NBVElPTlNfUEVSX0lOU1RBTkNFXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F1dG9zY2FsaW5nL2FwcGxpY2F0aW9uL0FQSVJlZmVyZW5jZS9BUElfUHJlZGVmaW5lZE1ldHJpY1NwZWNpZmljYXRpb24uaHRtbFxuICAgKi9cbiAgU0FHRU1BS0VSX1ZBUklBTlRfSU5WT0NBVElPTlNfUEVSX0lOU1RBTkNFID0gXCJTYWdlTWFrZXJWYXJpYW50SW52b2NhdGlvbnNQZXJJbnN0YW5jZVwiLFxuICAvKipcbiAgICogU0FHRU1BS0VSX1ZBUklBTlRfUFJPVklTSU9ORURfQ09OQ1VSUkVOQ1lfVVRJTElaQVRJT05cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXV0b3NjYWxpbmcvYXBwbGljYXRpb24vQVBJUmVmZXJlbmNlL0FQSV9QcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbi5odG1sXG4gICAqL1xuICBTQUdFTUFLRVJfVkFSSUFOVF9QUk9WSVNJT05FRF9DT05DVVJSRU5DWV9VVElMSVpBVElPTiA9IFwiU2FnZU1ha2VyVmFyaWFudFByb3Zpc2lvbmVkQ29uY3VycmVuY3lVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogU0FHRU1BS0VSX0lORkVSRU5DRV9DT01QT05FTlRfSU5WT0NBVElPTlNfUEVSX0NPUFlcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXV0b3NjYWxpbmcvYXBwbGljYXRpb24vQVBJUmVmZXJlbmNlL0FQSV9QcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbi5odG1sXG4gICAqL1xuICBTQUdFTUFLRVJfSU5GRVJFTkNFX0NPTVBPTkVOVF9JTlZPQ0FUSU9OU19QRVJfQ09QWSA9IFwiU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50SW52b2NhdGlvbnNQZXJDb3B5XCIsXG4gIC8qKlxuICAgKiBFQ1NfU0VSVklDRV9BVkVSQUdFX0NQVV9VVElMSVpBVElPTlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIEVDU19TRVJWSUNFX0FWRVJBR0VfQ1BVX1VUSUxJWkFUSU9OID0gXCJFQ1NTZXJ2aWNlQXZlcmFnZUNQVVV0aWxpemF0aW9uXCIsXG4gIC8qKlxuICAgKiBFQ1NfU0VSVklDRV9BVkVSQUdFX01FTU9SWV9VVElMSVpBVElPTlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIEVDU19TRVJWSUNFX0FWRVJBR0VfTUVNT1JZX1VUSUxJWkFUSU9OID0gXCJFQ1NTZXJ2aWNlQXZlcmFnZU1lbW9yeVV0aWxpemF0aW9uXCIsXG4gIC8qKlxuICAgKiBMQU1CREFfUFJPVklTSU9ORURfQ09OQ1VSUkVOQ1lfVVRJTElaQVRJT05cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9tb25pdG9yaW5nLW1ldHJpY3MuaHRtbCNtb25pdG9yaW5nLW1ldHJpY3MtY29uY3VycmVuY3lcbiAgICovXG4gIExBTUJEQV9QUk9WSVNJT05FRF9DT05DVVJSRU5DWV9VVElMSVpBVElPTiA9IFwiTGFtYmRhUHJvdmlzaW9uZWRDb25jdXJyZW5jeVV0aWxpemF0aW9uXCIsXG4gIC8qKlxuICAgKiBLQUZLQV9CUk9LRVJfU1RPUkFHRV9VVElMSVpBVElPTlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIEtBRktBX0JST0tFUl9TVE9SQUdFX1VUSUxJWkFUSU9OID0gXCJLYWZrYUJyb2tlclN0b3JhZ2VVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogRUxBU1RJQ0FDSEVfUFJJTUFSWV9FTkdJTkVfQ1BVX1VUSUxJWkFUSU9OXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F1dG9zY2FsaW5nL2FwcGxpY2F0aW9uL0FQSVJlZmVyZW5jZS9BUElfUHJlZGVmaW5lZE1ldHJpY1NwZWNpZmljYXRpb24uaHRtbFxuICAgKi9cbiAgRUxBU1RJQ0FDSEVfUFJJTUFSWV9FTkdJTkVfQ1BVX1VUSUxJWkFUSU9OID0gXCJFbGFzdGlDYWNoZVByaW1hcnlFbmdpbmVDUFVVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogRUxBU1RJQ0FDSEVfUkVQTElDQV9FTkdJTkVfQ1BVX1VUSUxJWkFUSU9OXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F1dG9zY2FsaW5nL2FwcGxpY2F0aW9uL0FQSVJlZmVyZW5jZS9BUElfUHJlZGVmaW5lZE1ldHJpY1NwZWNpZmljYXRpb24uaHRtbFxuICAgKi9cbiAgRUxBU1RJQ0FDSEVfUkVQTElDQV9FTkdJTkVfQ1BVX1VUSUxJWkFUSU9OID0gXCJFbGFzdGlDYWNoZVJlcGxpY2FFbmdpbmVDUFVVdGlsaXphdGlvblwiLFxuICAvKipcbiAgICogRUxBU1RJQ0FDSEVfREFUQUJBU0VfTUVNT1JZX1VTQUdFX0NPVU5URURfRk9SX0VWSUNUX1BFUkNFTlRBR0VcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXV0b3NjYWxpbmcvYXBwbGljYXRpb24vQVBJUmVmZXJlbmNlL0FQSV9QcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbi5odG1sXG4gICAqL1xuICBFTEFTVElDQUNIRV9EQVRBQkFTRV9NRU1PUllfVVNBR0VfQ09VTlRFRF9GT1JfRVZJQ1RfUEVSQ0VOVEFHRSA9IFwiRWxhc3RpQ2FjaGVEYXRhYmFzZU1lbW9yeVVzYWdlQ291bnRlZEZvckV2aWN0UGVyY2VudGFnZVwiLFxuICAvKipcbiAgICogRUxBU1RJQ0FDSEVfREFUQUJBU0VfQ0FQQUNJVFlfVVNBR0VfQ09VTlRFRF9GT1JfRVZJQ1RfUEVSQ0VOVEFHRVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIEVMQVNUSUNBQ0hFX0RBVEFCQVNFX0NBUEFDSVRZX1VTQUdFX0NPVU5URURfRk9SX0VWSUNUX1BFUkNFTlRBR0UgPSBcIkVsYXN0aUNhY2hlRGF0YWJhc2VDYXBhY2l0eVVzYWdlQ291bnRlZEZvckV2aWN0UGVyY2VudGFnZVwiLFxuICAvKipcbiAgICogU0FHRU1BS0VSX0lORkVSRU5DRV9DT01QT05FTlRfQ09OQ1VSUkVOVF9SRVFVRVNUU19QRVJfQ09QWV9ISUdIX1JFU09MVVRJT05cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXV0b3NjYWxpbmcvYXBwbGljYXRpb24vQVBJUmVmZXJlbmNlL0FQSV9QcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbi5odG1sXG4gICAqL1xuICBTQUdFTUFLRVJfSU5GRVJFTkNFX0NPTVBPTkVOVF9DT05DVVJSRU5UX1JFUVVFU1RTX1BFUl9DT1BZX0hJR0hfUkVTT0xVVElPTiA9IFwiU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50Q29uY3VycmVudFJlcXVlc3RzUGVyQ29weUhpZ2hSZXNvbHV0aW9uXCIsXG4gIC8qKlxuICAgKiBTQUdFTUFLRVJfVkFSSUFOVF9DT05DVVJSRU5UX1JFUVVFU1RTX1BFUl9NT0RFTF9ISUdIX1JFU09MVVRJT05cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXV0b3NjYWxpbmcvYXBwbGljYXRpb24vQVBJUmVmZXJlbmNlL0FQSV9QcmVkZWZpbmVkTWV0cmljU3BlY2lmaWNhdGlvbi5odG1sXG4gICAqL1xuICBTQUdFTUFLRVJfVkFSSUFOVF9DT05DVVJSRU5UX1JFUVVFU1RTX1BFUl9NT0RFTF9ISUdIX1JFU09MVVRJT04gPSBcIlNhZ2VNYWtlclZhcmlhbnRDb25jdXJyZW50UmVxdWVzdHNQZXJNb2RlbEhpZ2hSZXNvbHV0aW9uXCIsXG4gIC8qKlxuICAgKiBXT1JLU1BBQ0VTX0FWRVJBR0VfVVNFUl9TRVNTSU9OU19DQVBBQ0lUWV9VVElMSVpBVElPTlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9hcHBsaWNhdGlvbi9BUElSZWZlcmVuY2UvQVBJX1ByZWRlZmluZWRNZXRyaWNTcGVjaWZpY2F0aW9uLmh0bWxcbiAgICovXG4gIFdPUktTUEFDRVNfQVZFUkFHRV9VU0VSX1NFU1NJT05TX0NBUEFDSVRZX1VUSUxJWkFUSU9OID0gXCJXb3JrU3BhY2VzQXZlcmFnZVVzZXJTZXNzaW9uc0NhcGFjaXR5VXRpbGl6YXRpb25cIixcbn1cbiJdfQ==
@@ -34,7 +34,7 @@ class TaskRole {
34
34
  }
35
35
  exports.TaskRole = TaskRole;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- TaskRole[_a] = { fqn: "terraconstructs.aws.compute.TaskRole", version: "0.0.22" };
37
+ TaskRole[_a] = { fqn: "terraconstructs.aws.compute.TaskRole", version: "0.0.24" };
38
38
  class JsonExpressionTaskRole extends TaskRole {
39
39
  constructor(expression) {
40
40
  super();
@@ -74,7 +74,7 @@ class TaskInput {
74
74
  }
75
75
  exports.TaskInput = TaskInput;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- TaskInput[_a] = { fqn: "terraconstructs.aws.compute.TaskInput", version: "0.0.22" };
77
+ TaskInput[_a] = { fqn: "terraconstructs.aws.compute.TaskInput", version: "0.0.24" };
78
78
  /**
79
79
  * The type of task input
80
80
  */
@@ -65,5 +65,5 @@ class CallAwsService extends compute.TaskStateBase {
65
65
  }
66
66
  exports.CallAwsService = CallAwsService;
67
67
  _a = JSII_RTTI_SYMBOL_1;
68
- CallAwsService[_a] = { fqn: "terraconstructs.aws.compute.tasks.CallAwsService", version: "0.0.22" };
68
+ CallAwsService[_a] = { fqn: "terraconstructs.aws.compute.tasks.CallAwsService", version: "0.0.24" };
69
69
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC1hd3Mtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS90YXNrcy9hd3Mtc2RrL2NhbGwtYXdzLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBOEI7QUFFOUIsa0NBQWtDO0FBQ2xDLG9DQUFvQztBQUNwQyxzREFBK0Q7QUFnRS9EOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsT0FBTyxDQUFDLGFBQWE7SUFJdkQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ08sS0FBMEI7UUFFM0MsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFGUCxVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUkzQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEtBQUssT0FBTyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pFLE1BQU0sSUFBSSxLQUFLLENBQ2IscUVBQXFFLENBQ3RFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFDRSxDQUFDLGFBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDdEMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFDbEUsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQzNELENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQ2hELENBQUM7WUFDRixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0Q0FBNEMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNyRSxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCw0Q0FBNEM7UUFDNUMsTUFBTSxhQUFhLEdBQTJCO1lBQzVDLEdBQUcsRUFBRSxRQUFRO1lBQ2IsY0FBYyxFQUFFLE1BQU07WUFDdEIsZUFBZSxFQUFFLGtCQUFrQjtZQUNuQyxJQUFJLEVBQUUsU0FBUztZQUNmLEdBQUcsRUFBRSxtQkFBbUI7U0FDekIsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUVqRSxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxZQUFZO2dCQUM3QixzREFBc0Q7Z0JBQ3RELDJGQUEyRjtnQkFDM0YsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxHQUFHLFVBQVUsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDOUQsQ0FBQztZQUNGLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDO1NBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRWpDLElBQUksQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBRUQsb0dBQW9HO1FBQ3BHLGdHQUFnRztRQUNoRyx3REFBd0Q7UUFDeEQsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFBLG1DQUFzQixFQUM5QixJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQzlCO1lBQ0QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLHFDQUFxQztTQUNoSCxDQUFDO0lBQ0osQ0FBQzs7QUE1RUgsd0NBNkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLi8uLi9cIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vLi4vaWFtXCI7XG5pbXBvcnQgeyBpbnRlZ3JhdGlvblJlc291cmNlQXJuIH0gZnJvbSBcIi4uL3ByaXZhdGUvdGFzay11dGlsc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNhbGxpbmcgYW4gQVdTIHNlcnZpY2UncyBBUEkgYWN0aW9uIGZyb20geW91clxuICogc3RhdGUgbWFjaGluZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zdGVwLWZ1bmN0aW9ucy9sYXRlc3QvZGcvc3VwcG9ydGVkLXNlcnZpY2VzLWF3c3Nkay5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbEF3c1NlcnZpY2VQcm9wcyBleHRlbmRzIGNvbXB1dGUuVGFza1N0YXRlQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBBV1Mgc2VydmljZSB0byBjYWxsLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zdGVwLWZ1bmN0aW9ucy9sYXRlc3QvZGcvc3VwcG9ydGVkLXNlcnZpY2VzLWF3c3Nkay5odG1sXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUEkgYWN0aW9uIHRvIGNhbGwuXG4gICAqXG4gICAqIFVzZSBjYW1lbENhc2UuXG4gICAqL1xuICByZWFkb25seSBhY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogUGFyYW1ldGVycyBmb3IgdGhlIEFQSSBhY3Rpb24gY2FsbC5cbiAgICpcbiAgICogVXNlIFBhc2NhbENhc2UgZm9yIHRoZSBwYXJhbWV0ZXIgbmFtZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcGFyYW1ldGVyc1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVycz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZXMgZm9yIHRoZSBJQU0gc3RhdGVtZW50IHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3RhdGVcbiAgICogbWFjaGluZSByb2xlJ3MgcG9saWN5IHRvIGFsbG93IHRoZSBzdGF0ZSBtYWNoaW5lIHRvIG1ha2UgdGhlIEFQSSBjYWxsLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0IHRoZSBhY3Rpb24gZm9yIHRoaXMgSUFNIHN0YXRlbWVudCB3aWxsIGJlIGBzZXJ2aWNlOmFjdGlvbmAuXG4gICAqL1xuICByZWFkb25seSBpYW1SZXNvdXJjZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGZvciB0aGUgSUFNIHN0YXRlbWVudCB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIHN0YXRlXG4gICAqIG1hY2hpbmUgcm9sZSdzIHBvbGljeSB0byBhbGxvdyB0aGUgc3RhdGUgbWFjaGluZSB0byBtYWtlIHRoZSBBUEkgY2FsbC5cbiAgICpcbiAgICogVXNlIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBJQU0gYWN0aW9uIG5hbWUgZG9lcyBub3QgbWF0Y2ggd2l0aCB0aGVcbiAgICogQVBJIHNlcnZpY2UvYWN0aW9uIG5hbWUsIGUuZy4gYHMzOkxpc3RCdWNrZXRzYCByZXF1aXJlcyBgczM6TGlzdEFsbE15QnVja2V0c2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZTphY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IGlhbUFjdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBJQU0gc3RhdGVtZW50cyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIHN0YXRlIG1hY2hpbmVcbiAgICogcm9sZSdzIHBvbGljeS5cbiAgICpcbiAgICogVXNlIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBjYWxsIHJlcXVpcmVzIG1vcmUgdGhhbiBhIHNpbmdsZSBzdGF0ZW1lbnQgdG9cbiAgICogYmUgZXhlY3V0ZWQsIGUuZy4gYHJla29nbml0aW9uOmRldGVjdExhYmVsc2AgcmVxdWlyZXMgYWxzbyBTMyBwZXJtaXNzaW9uc1xuICAgKiB0byByZWFkIHRoZSBvYmplY3Qgb24gd2hpY2ggaXQgbXVzdCBhY3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBzdGF0ZW1lbnRzIGFyZSBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbElhbVN0YXRlbWVudHM/OiBpYW0uUG9saWN5U3RhdGVtZW50W107XG59XG5cbi8qKlxuICogQSBTdGVwRnVuY3Rpb25zIHRhc2sgdG8gY2FsbCBhbiBBV1Mgc2VydmljZSBBUElcbiAqL1xuZXhwb3J0IGNsYXNzIENhbGxBd3NTZXJ2aWNlIGV4dGVuZHMgY29tcHV0ZS5UYXNrU3RhdGVCYXNlIHtcbiAgLy8gcHJvdGVjdGVkIHJlYWRvbmx5IHRhc2tNZXRyaWNzPzogc2ZuLlRhc2tNZXRyaWNzQ29uZmlnO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFza1BvbGljaWVzPzogaWFtLlBvbGljeVN0YXRlbWVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBDYWxsQXdzU2VydmljZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmludGVncmF0aW9uUGF0dGVybiA9PT0gY29tcHV0ZS5JbnRlZ3JhdGlvblBhdHRlcm4uUlVOX0pPQikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBSVU5fSk9CIGludGVncmF0aW9uIHBhdHRlcm4gaXMgbm90IHN1cHBvcnRlZCBmb3IgQ2FsbEF3c1NlcnZpY2VcIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQodGhpcy5wcm9wcy5hY3Rpb24pICYmXG4gICAgICAhdGhpcy5wcm9wcy5hY3Rpb24uc3RhcnRzV2l0aCh0aGlzLnByb3BzLmFjdGlvblswXT8udG9Mb3dlckNhc2UoKSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYWN0aW9uIG11c3QgYmUgY2FtZWxDYXNlLCBnb3Q6ICR7dGhpcy5wcm9wcy5hY3Rpb259YCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLnBhcmFtZXRlcnMpIHtcbiAgICAgIGNvbnN0IGludmFsaWRLZXlzID0gT2JqZWN0LmtleXModGhpcy5wcm9wcy5wYXJhbWV0ZXJzKS5maWx0ZXIoXG4gICAgICAgIChrZXkpID0+ICFrZXkuc3RhcnRzV2l0aChrZXlbMF0/LnRvVXBwZXJDYXNlKCkpLFxuICAgICAgKTtcbiAgICAgIGlmIChpbnZhbGlkS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBwYXJhbWV0ZXIgbmFtZXMgbXVzdCBiZSBQYXNjYWxDYXNlLCBnb3Q6ICR7aW52YWxpZEtleXMuam9pbihcIiwgXCIpfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL3B1bGwvMjc2MjNcbiAgICBjb25zdCBpYW1TZXJ2aWNlTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgc2ZuOiBcInN0YXRlc1wiLFxuICAgICAgY2xvdWR3YXRjaGxvZ3M6IFwibG9nc1wiLFxuICAgICAgbWVkaWFwYWNrYWdldm9kOiBcIm1lZGlhcGFja2FnZS12b2RcIixcbiAgICAgIG13YWE6IFwiYWlyZmxvd1wiLFxuICAgICAgZWZzOiBcImVsYXN0aWNmaWxlc3lzdGVtXCIsXG4gICAgfTtcbiAgICBjb25zdCBpYW1TZXJ2aWNlID0gaWFtU2VydmljZU1hcFtwcm9wcy5zZXJ2aWNlXSA/PyBwcm9wcy5zZXJ2aWNlO1xuXG4gICAgdGhpcy50YXNrUG9saWNpZXMgPSBbXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogcHJvcHMuaWFtUmVzb3VyY2VzLFxuICAgICAgICAvLyBUaGUgcHJlZml4IGFuZCB0aGUgYWN0aW9uIG5hbWUgYXJlIGNhc2UgaW5zZW5zaXRpdmVcbiAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19hY3Rpb24uaHRtbFxuICAgICAgICBhY3Rpb25zOiBbcHJvcHMuaWFtQWN0aW9uID8/IGAke2lhbVNlcnZpY2V9OiR7cHJvcHMuYWN0aW9ufWBdLFxuICAgICAgfSksXG4gICAgICAuLi4ocHJvcHMuYWRkaXRpb25hbElhbVN0YXRlbWVudHMgPz8gW10pLFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgX3JlbmRlclRhc2soKTogYW55IHtcbiAgICBsZXQgc2VydmljZSA9IHRoaXMucHJvcHMuc2VydmljZTtcblxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHNlcnZpY2UpKSB7XG4gICAgICBzZXJ2aWNlID0gc2VydmljZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8vIFRoZSBwYXR0ZXJuIGhlcmUgaXM6IFwiYXJuOmF3czpzdGF0ZXM6Ojphd3Mtc2RrOnNlcnZpY2VOYW1lOmFwaUFjdGlvbi5bc2VydmljZUludGVncmF0aW9uUGF0dGVybl1cIlxuICAgIC8vIFNlZSBoZXJlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3RlcC1mdW5jdGlvbnMvbGF0ZXN0L2RnL3N1cHBvcnRlZC1zZXJ2aWNlcy1hd3NzZGsuaHRtbFxuICAgIC8vIFRoaXMgZG9lcyBub3QgY2hhbmdlIHdpdGggc2RrIHVwZ3JhZGVzLCBUVDpQMTI1Mzg4Mzg4XG4gICAgcmV0dXJuIHtcbiAgICAgIFJlc291cmNlOiBpbnRlZ3JhdGlvblJlc291cmNlQXJuKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcImF3cy1zZGtcIixcbiAgICAgICAgYCR7c2VydmljZX06JHt0aGlzLnByb3BzLmFjdGlvbn1gLFxuICAgICAgICB0aGlzLnByb3BzLmludGVncmF0aW9uUGF0dGVybixcbiAgICAgICksXG4gICAgICBQYXJhbWV0ZXJzOiBjb21wdXRlLkZpZWxkVXRpbHMucmVuZGVyT2JqZWN0KHRoaXMucHJvcHMucGFyYW1ldGVycykgPz8ge30sIC8vIFBhcmFtZXRlcnMgaXMgcmVxdWlyZWQgZm9yIGF3cy1zZGtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -86,7 +86,7 @@ class EventBridgePutEvents extends compute.TaskStateBase {
86
86
  }
87
87
  exports.EventBridgePutEvents = EventBridgePutEvents;
88
88
  _a = JSII_RTTI_SYMBOL_1;
89
- EventBridgePutEvents[_a] = { fqn: "terraconstructs.aws.compute.tasks.EventBridgePutEvents", version: "0.0.22" };
89
+ EventBridgePutEvents[_a] = { fqn: "terraconstructs.aws.compute.tasks.EventBridgePutEvents", version: "0.0.24" };
90
90
  EventBridgePutEvents.SUPPORTED_INTEGRATION_PATTERNS = [
91
91
  compute.IntegrationPattern.REQUEST_RESPONSE,
92
92
  compute.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
@@ -113,5 +113,5 @@ class HttpInvoke extends compute.TaskStateBase {
113
113
  }
114
114
  exports.HttpInvoke = HttpInvoke;
115
115
  _a = JSII_RTTI_SYMBOL_1;
116
- HttpInvoke[_a] = { fqn: "terraconstructs.aws.compute.tasks.HttpInvoke", version: "0.0.22" };
116
+ HttpInvoke[_a] = { fqn: "terraconstructs.aws.compute.tasks.HttpInvoke", version: "0.0.24" };
117
117
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2tlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL3Rhc2tzL2h0dHAvaW52b2tlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0Esa0NBQWtDO0FBQ2xDLG9DQUFvQztBQUVwQyxzREFBK0Q7QUFFL0Q7O0dBRUc7QUFDSCxJQUFZLGlCQXlCWDtBQXpCRCxXQUFZLGlCQUFpQjtJQUMzQjs7T0FFRztJQUNILDBDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gsc0NBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCx3Q0FBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILHdDQUFtQixDQUFBO0lBQ25COztPQUVHO0lBQ0gsa0NBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsc0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQXpCVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQXlCNUI7QUFxRkQ7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxPQUFPLENBQUMsYUFBYTtJQUluRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDTyxLQUFzQjtRQUV2QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUZQLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBSXZDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxXQUFXO1FBQ25CLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBQSxtQ0FBc0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUN4RCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDeEUsQ0FBQztJQUNKLENBQUM7SUFFUyx5QkFBeUI7UUFDakMsT0FBTztZQUNMLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLENBQUMsc0NBQXNDLENBQUM7Z0JBQ2pELFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQzthQUNqRCxDQUFDO1lBQ0YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN0QixPQUFPLEVBQUU7b0JBQ1AsK0JBQStCO29CQUMvQiwrQkFBK0I7aUJBQ2hDO2dCQUNELFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDO2FBQ3ZELENBQUM7WUFDRixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUN0QyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxJQUFJLEVBQUUsWUFBWTt3QkFDbEIsUUFBUSxFQUFFLHFCQUFxQjt3QkFDL0IsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDO3FCQUNuQztpQkFDRjthQUNGLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLFVBQVUsR0FBbUI7WUFDakMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQ3BFLGNBQWMsRUFBRTtnQkFDZCxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYTthQUNuRDtZQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLEtBQUs7U0FDekQsQ0FBQztRQUVGLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxJQUFJO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssaUJBQWlCLENBQUMsSUFBSSxFQUN2RCxDQUFDO1lBQ0QsVUFBVSxDQUFDLE9BQU8sR0FBRztnQkFDbkIsR0FBRyxVQUFVLENBQUMsT0FBTztnQkFDckIsY0FBYyxFQUFFLG1DQUFtQzthQUNwRCxDQUFDO1lBQ0YsVUFBVSxDQUFDLFNBQVMsR0FBRztnQkFDckIsbUJBQW1CLEVBQUUsYUFBYTthQUNuQyxDQUFDO1lBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixLQUFLLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvRCxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixHQUFHO29CQUM1QyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7aUJBQzFDLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7O0FBckZILGdDQXNGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLi8uLi9cIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vLi4vaWFtXCI7XG5pbXBvcnQgKiBhcyBub3RpZnkgZnJvbSBcIi4uLy4uLy4uL25vdGlmeVwiO1xuaW1wb3J0IHsgaW50ZWdyYXRpb25SZXNvdXJjZUFybiB9IGZyb20gXCIuLi9wcml2YXRlL3Rhc2stdXRpbHNcIjtcblxuLyoqXG4gKiBUaGUgc3R5bGUgdXNlZCB3aGVuIGFwcGx5aW5nIFVSTCBlbmNvZGluZyB0byBhcnJheSB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBlbnVtIFVSTEVuY29kaW5nRm9ybWF0IHtcbiAgLyoqXG4gICAqIEVuY29kZSBhcnJheXMgdXNpbmcgYnJhY2tldHMuIEZvciBleGFtcGxlLCB7J2FycmF5JzogWydhJywnYicsJ2MnXX0gZW5jb2RlcyB0byAnYXJyYXlbXT1hJmFycmF5W109YiZhcnJheVtdPWMnXG4gICAqL1xuICBCUkFDS0VUUyA9IFwiQlJBQ0tFVFNcIixcbiAgLyoqXG4gICAqIEVuY29kZSBhcnJheXMgdXNpbmcgY29tbWFzLiBGb3IgZXhhbXBsZSwgeydhcnJheSc6IFsnYScsJ2InLCdjJ119IGVuY29kZXMgdG8gJ2FycmF5PWEsYixjLGQnXG4gICAqL1xuICBDT01NQVMgPSBcIkNPTU1BU1wiLFxuICAvKipcbiAgICogQXBwbHkgdGhlIGRlZmF1bHQgVVJMIGVuY29kaW5nIHN0eWxlIChJTkRJQ0VTKS5cbiAgICovXG4gIERFRkFVTFQgPSBcIkRFRkFVTFRcIixcbiAgLyoqXG4gICAqIEVuY29kZSBhcnJheXMgdXNpbmcgdGhlIGluZGV4IHZhbHVlLiBGb3IgZXhhbXBsZSwgeydhcnJheSc6IFsnYScsJ2InLCdjJ119IGVuY29kZXMgdG8gJ2FycmF5WzBdPWEmYXJyYXlbMV09YiZhcnJheVsyXT1jJ1xuICAgKi9cbiAgSU5ESUNFUyA9IFwiSU5ESUNFU1wiLFxuICAvKipcbiAgICogRG8gbm90IGFwcGx5IFVSTCBlbmNvZGluZy5cbiAgICovXG4gIE5PTkUgPSBcIk5PTkVcIixcbiAgLyoqXG4gICAqIFJlcGVhdCBrZXkgZm9yIGVhY2ggaXRlbSBpbiB0aGUgYXJyYXkuIEZvciBleGFtcGxlLCB7J2FycmF5JzogWydhJywnYicsJ2MnXX0gZW5jb2RlcyB0byAnYXJyYXlbXT1hJmFycmF5W109YiZhcnJheVtdPWMnXG4gICAqL1xuICBSRVBFQVQgPSBcIlJFUEVBVFwiLFxufVxuXG4vKipcbiAqIFRoZSBTdGVwRnVuY3Rpb25zIHBhcmFtZXRlcnMgZm9yIHRoZSBodHRwOmludm9rZSB0YXNrLlxuICovXG5pbnRlcmZhY2UgVGFza1BhcmFtZXRlcnMge1xuICBBcGlFbmRwb2ludDogc3RyaW5nO1xuICBBdXRoZW50aWNhdGlvbjoge1xuICAgIENvbm5lY3Rpb25Bcm46IHN0cmluZztcbiAgfTtcbiAgTWV0aG9kOiBzdHJpbmc7XG4gIEhlYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBSZXF1ZXN0Qm9keT86IHN0cmluZztcbiAgUXVlcnlQYXJhbWV0ZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgVHJhbnNmb3JtPzoge1xuICAgIFJlcXVlc3RCb2R5RW5jb2Rpbmc6IHN0cmluZztcbiAgICBSZXF1ZXN0RW5jb2RpbmdPcHRpb25zPzoge1xuICAgICAgQXJyYXlGb3JtYXQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNhbGxpbmcgYW4gZXh0ZXJuYWwgSFRUUCBlbmRwb2ludCB3aXRoIEh0dHBJbnZva2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEludm9rZVByb3BzIGV4dGVuZHMgY29tcHV0ZS5UYXNrU3RhdGVCYXNlUHJvcHMge1xuICAvKipcbiAgICogUGVybWlzc2lvbnMgYXJlIGdyYW50ZWQgdG8gY2FsbCBhbGwgcmVzb3VyY2VzIHVuZGVyIHRoaXMgcGF0aC5cbiAgICpcbiAgICogQGV4YW1wbGUgJ2h0dHBzOi8vYXBpLmV4YW1wbGUuY29tJ1xuICAgKi9cbiAgcmVhZG9ubHkgYXBpUm9vdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVBJIGVuZHBvaW50IHRvIGNhbGwsIHJlbGF0aXZlIHRvIGBhcGlSb290YC5cbiAgICogQGV4YW1wbGUgY29tcHV0ZS5UYXNrSW5wdXQuZnJvbVRleHQoJ3BhdGgvdG8vcmVzb3VyY2UnKVxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW5kcG9pbnQ6IGNvbXB1dGUuVGFza0lucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgdG8gdXNlLlxuICAgKlxuICAgKiBAZXhhbXBsZSBjb21wdXRlLlRhc2tJbnB1dC5mcm9tVGV4dCgnR0VUJylcbiAgICovXG4gIHJlYWRvbmx5IG1ldGhvZDogY29tcHV0ZS5UYXNrSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBFdmVudEJyaWRnZSBDb25uZWN0aW9uIHRvIHVzZSBmb3IgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uOiBub3RpZnkuSUNvbm5lY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBib2R5IHRvIHNlbmQgdG8gdGhlIEhUVFAgZW5kcG9pbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYm9keSBpcyBzZW50IHdpdGggdGhlIHJlcXVlc3QuXG4gICAqL1xuICByZWFkb25seSBib2R5PzogY29tcHV0ZS5UYXNrSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkZXJzIHRvIHNlbmQgdG8gdGhlIEhUVFAgZW5kcG9pbnQuXG4gICAqXG4gICAqIEBleGFtcGxlIGNvbXB1dGUuVGFza0lucHV0LmZyb21PYmplY3QoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYWRkaXRpb25hbCBoZWFkZXJzIGFyZSBhZGRlZCB0byB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHJlYWRvbmx5IGhlYWRlcnM/OiBjb21wdXRlLlRhc2tJbnB1dDtcblxuICAvKipcbiAgICogVGhlIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIHRvIHNlbmQgdG8gdGhlIEhUVFAgZW5kcG9pbnQuXG4gICAqIEBkZWZhdWx0IC0gTm8gcXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMgYXJlIHNlbnQgaW4gdGhlIHJlcXVlc3QuXG4gICAqL1xuICByZWFkb25seSBxdWVyeVN0cmluZ1BhcmFtZXRlcnM/OiBjb21wdXRlLlRhc2tJbnB1dDtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGFwcGx5IFVSTCBlbmNvZGluZyB0byB0aGUgcmVxdWVzdCBib2R5LCBhbmQgd2hpY2ggYXJyYXkgZW5jb2RpbmcgZm9ybWF0IHRvIHVzZS5cbiAgICpcbiAgICogYFVSTEVuY29kaW5nRm9ybWF0Lk5PTkVgIHBhc3NlcyB0aGUgSlNPTi1zZXJpYWxpemVkIGBSZXF1ZXN0Qm9keWAgZmllbGQgYXMgdGhlIEhUVFAgcmVxdWVzdCBib2R5LlxuICAgKiBPdGhlcndpc2UsIHRoZSBIVFRQIHJlcXVlc3QgYm9keSBpcyB0aGUgVVJMLWVuY29kZWQgZm9ybSBkYXRhIG9mIHRoZSBgUmVxdWVzdEJvZHlgIGZpZWxkIHVzaW5nIHRoZVxuICAgKiBzcGVjaWZpZWQgYXJyYXkgZW5jb2RpbmcgZm9ybWF0LCBhbmQgdGhlIGBDb250ZW50LVR5cGVgIGhlYWRlciBpcyBzZXQgdG8gYGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVVJMRW5jb2RpbmdGb3JtYXQuTk9ORVxuICAgKi9cbiAgcmVhZG9ubHkgdXJsRW5jb2RpbmdGb3JtYXQ/OiBVUkxFbmNvZGluZ0Zvcm1hdDtcbn1cblxuLyoqXG4gKiBBIFN0ZXAgRnVuY3Rpb25zIFRhc2sgdG8gY2FsbCBhIHB1YmxpYyB0aGlyZC1wYXJ0eSBBUEkuXG4gKi9cbmV4cG9ydCBjbGFzcyBIdHRwSW52b2tlIGV4dGVuZHMgY29tcHV0ZS5UYXNrU3RhdGVCYXNlIHtcbiAgLy8gcHJvdGVjdGVkIHJlYWRvbmx5IHRhc2tNZXRyaWNzPzogY29tcHV0ZS5UYXNrTWV0cmljc0NvbmZpZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhc2tQb2xpY2llcz86IGlhbS5Qb2xpY3lTdGF0ZW1lbnRbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSHR0cEludm9rZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMudGFza1BvbGljaWVzID0gdGhpcy5idWlsZFRhc2tQb2xpY3lTdGF0ZW1lbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgdGhlIEhUVFAgSW52b2tlIHNlcnZpY2UgaW50ZWdyYXRpb24gdGFzayBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfcmVuZGVyVGFzaygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBSZXNvdXJjZTogaW50ZWdyYXRpb25SZXNvdXJjZUFybih0aGlzLCBcImh0dHBcIiwgXCJpbnZva2VcIiksXG4gICAgICBQYXJhbWV0ZXJzOiBjb21wdXRlLkZpZWxkVXRpbHMucmVuZGVyT2JqZWN0KHRoaXMuYnVpbGRUYXNrUGFyYW1ldGVycygpKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVGFza1BvbGljeVN0YXRlbWVudHMoKTogaWFtLlBvbGljeVN0YXRlbWVudFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJldmVudHM6UmV0cmlldmVDb25uZWN0aW9uQ3JlZGVudGlhbHNcIl0sXG4gICAgICAgIHJlc291cmNlczogW3RoaXMucHJvcHMuY29ubmVjdGlvbi5jb25uZWN0aW9uQXJuXSxcbiAgICAgIH0pLFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZVwiLFxuICAgICAgICAgIFwic2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXRcIixcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5wcm9wcy5jb25uZWN0aW9uLmNvbm5lY3Rpb25TZWNyZXRBcm5dLFxuICAgICAgfSksXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcInN0YXRlczpJbnZva2VIVFRQRW5kcG9pbnRcIl0sXG4gICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgICAgY29uZGl0aW9uOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGVzdDogXCJTdHJpbmdMaWtlXCIsXG4gICAgICAgICAgICB2YXJpYWJsZTogXCJzdGF0ZXM6SFRUUEVuZHBvaW50XCIsXG4gICAgICAgICAgICB2YWx1ZXM6IFtgJHt0aGlzLnByb3BzLmFwaVJvb3R9KmBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRhc2tQYXJhbWV0ZXJzKCkge1xuICAgIGNvbnN0IHBhcmFtZXRlcnM6IFRhc2tQYXJhbWV0ZXJzID0ge1xuICAgICAgQXBpRW5kcG9pbnQ6IGAke3RoaXMucHJvcHMuYXBpUm9vdH0vJHt0aGlzLnByb3BzLmFwaUVuZHBvaW50LnZhbHVlfWAsXG4gICAgICBBdXRoZW50aWNhdGlvbjoge1xuICAgICAgICBDb25uZWN0aW9uQXJuOiB0aGlzLnByb3BzLmNvbm5lY3Rpb24uY29ubmVjdGlvbkFybixcbiAgICAgIH0sXG4gICAgICBNZXRob2Q6IHRoaXMucHJvcHMubWV0aG9kLnZhbHVlLFxuICAgICAgSGVhZGVyczogdGhpcy5wcm9wcy5oZWFkZXJzPy52YWx1ZSxcbiAgICAgIFJlcXVlc3RCb2R5OiB0aGlzLnByb3BzLmJvZHk/LnZhbHVlLFxuICAgICAgUXVlcnlQYXJhbWV0ZXJzOiB0aGlzLnByb3BzLnF1ZXJ5U3RyaW5nUGFyYW1ldGVycz8udmFsdWUsXG4gICAgfTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMucHJvcHMudXJsRW5jb2RpbmdGb3JtYXQgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5wcm9wcy51cmxFbmNvZGluZ0Zvcm1hdCAhPT0gVVJMRW5jb2RpbmdGb3JtYXQuTk9ORVxuICAgICkge1xuICAgICAgcGFyYW1ldGVycy5IZWFkZXJzID0ge1xuICAgICAgICAuLi5wYXJhbWV0ZXJzLkhlYWRlcnMsXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIsXG4gICAgICB9O1xuICAgICAgcGFyYW1ldGVycy5UcmFuc2Zvcm0gPSB7XG4gICAgICAgIFJlcXVlc3RCb2R5RW5jb2Rpbmc6IFwiVVJMX0VOQ09ERURcIixcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnByb3BzLnVybEVuY29kaW5nRm9ybWF0ICE9PSBVUkxFbmNvZGluZ0Zvcm1hdC5ERUZBVUxUKSB7XG4gICAgICAgIHBhcmFtZXRlcnMuVHJhbnNmb3JtLlJlcXVlc3RFbmNvZGluZ09wdGlvbnMgPSB7XG4gICAgICAgICAgQXJyYXlGb3JtYXQ6IHRoaXMucHJvcHMudXJsRW5jb2RpbmdGb3JtYXQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gIH1cbn1cbiJdfQ==