@rio-cloud/cdk-v2-constructs 4.31.2 → 4.33.0

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.
package/API.md CHANGED
@@ -607,19 +607,25 @@ The tree node.
607
607
 
608
608
  ### AwsEcsAbruptlyStoppedMonitor <a name="AwsEcsAbruptlyStoppedMonitor" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor"></a>
609
609
 
610
- # WARNING: This construct is still on beta phase.
610
+ # WARNING: This construct is still in the beta phase.
611
611
 
612
- The construct creates monitoring for detecting ECS containers that were stopped abruptly for reasons such as,
613
- out of memory, failed health checks.
612
+ The construct creates monitoring for detecting ECS containers that were stopped abruptly by AWS for reasons such as,
613
+ out of memory, or failed health checks.
614
614
 
615
- The monitor will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog for
616
- better analyses and trigger an alert.
615
+ This monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate
616
+ to bigger issues, like a service that requires more resources to run properly.
617
617
 
618
- More details on the AWS ECS events can be found here:
619
- {@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}
618
+ The construct will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog,
619
+ allowing better analyses since AWS keeps the stopped task details for only one hour and will be used to create a
620
+ monitor.
620
621
 
621
- This monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate
622
- to bigger issues, like a service being that requires more resources.
622
+ Contributions are more than welcome, please get in touch with Team Outbound to ensure compatibility.
623
+
624
+ This construct was based on an AWS blog post about ECS anomaly detection, see here:
625
+ {@link https://aws.amazon.com/blogs/containers/amazon-elastic-container-service-anomaly-detection-using-amazon-eventbridge/}.
626
+
627
+ More details on the AWS ECS events can be found here:
628
+ {@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}.
623
629
 
624
630
  #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer"></a>
625
631
 
@@ -8532,43 +8538,66 @@ const ecsAbruptlyStoppedMonitorProps: EcsAbruptlyStoppedMonitorProps = { ... }
8532
8538
 
8533
8539
  | **Name** | **Type** | **Description** |
8534
8540
  | --- | --- | --- |
8535
- | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.notification">notification</a></code> | <code>@rio-cloud/cdk-v2-constructs.datadogv2.INotification</code> | *No description.* |
8536
- | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
8537
- | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.clusterArn">clusterArn</a></code> | <code>string</code> | ARN of the cluster that should be monitored. |
8541
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.serviceName">serviceName</a></code> | <code>string</code> | The name of the service to which the monitor belongs. |
8542
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.clusterArn">clusterArn</a></code> | <code>string</code> | ARN of the cluster that should be monitored, consuming only ECS events belonging to the cluster. |
8543
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.notification">notification</a></code> | <code>@rio-cloud/cdk-v2-constructs.datadogv2.INotification</code> | To explicitly disable notifications use {@link NoNotification }. |
8544
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.priority">priority</a></code> | <code>number</code> | The alert priority of the monitor. |
8538
8545
 
8539
8546
  ---
8540
8547
 
8541
- ##### `notification`<sup>Required</sup> <a name="notification" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.notification"></a>
8548
+ ##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.serviceName"></a>
8542
8549
 
8543
8550
  ```typescript
8544
- public readonly notification: INotification;
8551
+ public readonly serviceName: string;
8545
8552
  ```
8546
8553
 
8547
- - *Type:* @rio-cloud/cdk-v2-constructs.datadogv2.INotification
8554
+ - *Type:* string
8555
+
8556
+ The name of the service to which the monitor belongs.
8557
+
8558
+ Used to generate the monitor name as well a apply the `service` tag.
8548
8559
 
8549
8560
  ---
8550
8561
 
8551
- ##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.serviceName"></a>
8562
+ ##### `clusterArn`<sup>Optional</sup> <a name="clusterArn" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.clusterArn"></a>
8552
8563
 
8553
8564
  ```typescript
8554
- public readonly serviceName: string;
8565
+ public readonly clusterArn: string;
8555
8566
  ```
8556
8567
 
8557
8568
  - *Type:* string
8558
8569
 
8570
+ ARN of the cluster that should be monitored, consuming only ECS events belonging to the cluster.
8571
+
8572
+ If no cluster is provided, the monitor will consume ECS events for all clusters within the account.
8573
+
8559
8574
  ---
8560
8575
 
8561
- ##### `clusterArn`<sup>Optional</sup> <a name="clusterArn" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.clusterArn"></a>
8576
+ ##### `notification`<sup>Optional</sup> <a name="notification" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.notification"></a>
8562
8577
 
8563
8578
  ```typescript
8564
- public readonly clusterArn: string;
8579
+ public readonly notification: INotification;
8565
8580
  ```
8566
8581
 
8567
- - *Type:* string
8582
+ - *Type:* @rio-cloud/cdk-v2-constructs.datadogv2.INotification
8583
+ - *Default:* {@link DefaultSlackNotification }
8584
+
8585
+ To explicitly disable notifications use {@link NoNotification }.
8586
+
8587
+ > [https://docs.datadoghq.com/monitors/notify](https://docs.datadoghq.com/monitors/notify)
8588
+
8589
+ ---
8590
+
8591
+ ##### `priority`<sup>Optional</sup> <a name="priority" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.priority"></a>
8568
8592
 
8569
- ARN of the cluster that should be monitored.
8593
+ ```typescript
8594
+ public readonly priority: number;
8595
+ ```
8570
8596
 
8571
- If no cluster is provided, all ECS will be part of the monitor.
8597
+ - *Type:* number
8598
+ - *Default:* {@link DatadogMonitor.DEFAULT_PRIORITY }
8599
+
8600
+ The alert priority of the monitor.
8572
8601
 
8573
8602
  ---
8574
8603
 
@@ -8792,6 +8821,7 @@ const kafkaAclStatement: KafkaAclStatement = { ... }
8792
8821
  | --- | --- | --- |
8793
8822
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaAclStatement.property.read">read</a></code> | <code>string[]</code> | List of clients that should get read permissions. |
8794
8823
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaAclStatement.property.write">write</a></code> | <code>string[]</code> | List of clients that should get write permissions. |
8824
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaAclStatement.property.delete">delete</a></code> | <code>string[]</code> | List of clients that should get delete permissions. |
8795
8825
 
8796
8826
  ---
8797
8827
 
@@ -8819,6 +8849,22 @@ List of clients that should get write permissions.
8819
8849
 
8820
8850
  ---
8821
8851
 
8852
+ ##### `delete`<sup>Optional</sup> <a name="delete" id="@rio-cloud/cdk-v2-constructs.KafkaAclStatement.property.delete"></a>
8853
+
8854
+ ```typescript
8855
+ public readonly delete: string[];
8856
+ ```
8857
+
8858
+ - *Type:* string[]
8859
+
8860
+ List of clients that should get delete permissions.
8861
+
8862
+ Attention: Only use Deletion policy if you know what you are doing!
8863
+ This is only necessary for KStream and allows the application to delete messages and the topic.<br>
8864
+ If you just want to "delete" a message on a log compacted topic, you should not set this permission and send a tombstone message instead.
8865
+
8866
+ ---
8867
+
8822
8868
  ### KafkaAclStatement <a name="KafkaAclStatement" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaAclStatement"></a>
8823
8869
 
8824
8870
  Read and write permissions for the topic.
@@ -8839,6 +8885,7 @@ const kafkaAclStatement: kafka.KafkaAclStatement = { ... }
8839
8885
  | --- | --- | --- |
8840
8886
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaAclStatement.property.read">read</a></code> | <code>string[]</code> | List of clients that should get read permissions. |
8841
8887
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaAclStatement.property.write">write</a></code> | <code>string[]</code> | List of clients that should get write permissions. |
8888
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaAclStatement.property.delete">delete</a></code> | <code>string[]</code> | List of clients that should get delete permissions. |
8842
8889
 
8843
8890
  ---
8844
8891
 
@@ -8866,6 +8913,22 @@ List of clients that should get write permissions.
8866
8913
 
8867
8914
  ---
8868
8915
 
8916
+ ##### `delete`<sup>Optional</sup> <a name="delete" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaAclStatement.property.delete"></a>
8917
+
8918
+ ```typescript
8919
+ public readonly delete: string[];
8920
+ ```
8921
+
8922
+ - *Type:* string[]
8923
+
8924
+ List of clients that should get delete permissions.
8925
+
8926
+ Attention: Only use Deletion policy if you know what you are doing!
8927
+ This is only necessary for KStream and allows the application to delete messages and the topic.<br>
8928
+ If you just want to "delete" a message on a log compacted topic, you should not set this permission and send a tombstone message instead.
8929
+
8930
+ ---
8931
+
8869
8932
  ### KafkaEventSpecProps <a name="KafkaEventSpecProps" id="@rio-cloud/cdk-v2-constructs.KafkaEventSpecProps"></a>
8870
8933
 
8871
8934
  #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.KafkaEventSpecProps.Initializer"></a>
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [4.33.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.32.0&sourceBranch=refs%2Ftags%2Fv4.33.0) (2024-04-17)
6
+
7
+
8
+ ### Features
9
+
10
+ * **pipeline:** Tag CodeBuild projects to improve metrics ([802246e](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/802246ec75ff6dc47c2100010ce54c84ba591bde))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * Limit write access of KafkaEventSpec custom resource to relevant SNS topic ([78603b5](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/78603b51259afc486816d0fdebe19e02d4c827b8))
16
+ * Revert to original CHANGELOG.md and version.json ([769de0e](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/769de0e1f9ab5b0e181eec86775a37f612010639))
17
+
18
+ ## [4.32.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.31.2&sourceBranch=refs%2Ftags%2Fv4.32.0) (2024-04-08)
19
+
20
+
21
+ ### Features
22
+
23
+ * deletion permission for KafkaTopic ([7e8c623](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/7e8c6231c4257227674eb3b99f884f2bd34a3bc0))
24
+
5
25
  ## [4.31.2](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.31.1&sourceBranch=refs%2Ftags%2Fv4.31.2) (2024-04-02)
6
26
 
7
27
  ## [4.31.1](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.31.0&sourceBranch=refs%2Ftags%2Fv4.31.1) (2024-03-22)
package/README.md CHANGED
@@ -18,15 +18,15 @@ $ npm install --save @rio-cloud/cdk-v2-constructs
18
18
 
19
19
  ## See also
20
20
 
21
- * [How to contribut](./CONTRIBUTION.md)
21
+ * [How to contribute](./CONTRIBUTION.md)
22
22
  * [Changelog](./CHANGELOG.md)
23
- * [brief API desciption](./API.md)
23
+ * [brief API description](./API.md)
24
24
 
25
25
  ## Internal documentation for library devs
26
26
  [Documentation](./developers-readme.md)
27
27
 
28
28
  ## FAQ's
29
- - How can I udpate the thresholds of monitors created by watchful?
29
+ - How can I update the thresholds of monitors created by watchful?
30
30
 
31
31
  There is an `overrideAlarmThreshold` method which can be used to override the default watchful thresholds. Please make aure to use the method before the `watchscope` function.
32
32
  Eg -
@@ -1,28 +1,52 @@
1
1
  import { Construct } from 'constructs';
2
2
  import { INotification } from '../../../datadogv2';
3
3
  export interface EcsAbruptlyStoppedMonitorProps {
4
+ /**
5
+ * The name of the service to which the monitor belongs.
6
+ *
7
+ * Used to generate the monitor name as well a apply the `service` tag.
8
+ */
4
9
  readonly serviceName: string;
5
- readonly notification: INotification;
6
10
  /**
7
- * ARN of the cluster that should be monitored.
8
- * If no cluster is provided, all ECS will be part of the monitor.
11
+ * To explicitly disable notifications use {@link NoNotification}.
12
+ *
13
+ * @defaultValue {@link DefaultSlackNotification}
14
+ *
15
+ * @see https://docs.datadoghq.com/monitors/notify
16
+ */
17
+ readonly notification?: INotification;
18
+ /**
19
+ * The alert priority of the monitor
20
+ *
21
+ * @defaultValue {@link DatadogMonitor.DEFAULT_PRIORITY}
22
+ */
23
+ readonly priority?: number;
24
+ /**
25
+ * ARN of the cluster that should be monitored, consuming only ECS events belonging to the cluster.
26
+ * If no cluster is provided, the monitor will consume ECS events for all clusters within the account.
9
27
  */
10
28
  readonly clusterArn?: string;
11
29
  }
12
30
  /**
13
- * # WARNING: This construct is still on beta phase.
31
+ * # WARNING: This construct is still in the beta phase.
14
32
  *
15
- * The construct creates monitoring for detecting ECS containers that were stopped abruptly for reasons such as,
16
- * out of memory, failed health checks.
33
+ * The construct creates monitoring for detecting ECS containers that were stopped abruptly by AWS for reasons such as,
34
+ * out of memory, or failed health checks.
17
35
  *
18
- * The monitor will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog for
19
- * better analyses and trigger an alert.
36
+ * This monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate
37
+ * to bigger issues, like a service that requires more resources to run properly.
20
38
  *
21
- * More details on the AWS ECS events can be found here:
22
- * {@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}
39
+ * The construct will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog,
40
+ * allowing better analyses since AWS keeps the stopped task details for only one hour and will be used to create a
41
+ * monitor.
23
42
  *
24
- * This monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate
25
- * to bigger issues, like a service being that requires more resources.
43
+ * Contributions are more than welcome, please get in touch with Team Outbound to ensure compatibility.
44
+ *
45
+ * This construct was based on an AWS blog post about ECS anomaly detection, see here:
46
+ * {@link https://aws.amazon.com/blogs/containers/amazon-elastic-container-service-anomaly-detection-using-amazon-eventbridge/}.
47
+ *
48
+ * More details on the AWS ECS events can be found here:
49
+ * {@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}.
26
50
  */
27
51
  export declare class AwsEcsAbruptlyStoppedMonitor extends Construct {
28
52
  constructor(scope: Construct, id: string, props: EcsAbruptlyStoppedMonitorProps);
@@ -7,19 +7,25 @@ const cdk = require("aws-cdk-lib");
7
7
  const constructs_1 = require("constructs");
8
8
  const datadogv2_1 = require("../../../datadogv2");
9
9
  /**
10
- * # WARNING: This construct is still on beta phase.
10
+ * # WARNING: This construct is still in the beta phase.
11
11
  *
12
- * The construct creates monitoring for detecting ECS containers that were stopped abruptly for reasons such as,
13
- * out of memory, failed health checks.
12
+ * The construct creates monitoring for detecting ECS containers that were stopped abruptly by AWS for reasons such as,
13
+ * out of memory, or failed health checks.
14
14
  *
15
- * The monitor will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog for
16
- * better analyses and trigger an alert.
15
+ * This monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate
16
+ * to bigger issues, like a service that requires more resources to run properly.
17
17
  *
18
- * More details on the AWS ECS events can be found here:
19
- * {@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}
18
+ * The construct will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog,
19
+ * allowing better analyses since AWS keeps the stopped task details for only one hour and will be used to create a
20
+ * monitor.
20
21
  *
21
- * This monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate
22
- * to bigger issues, like a service being that requires more resources.
22
+ * Contributions are more than welcome, please get in touch with Team Outbound to ensure compatibility.
23
+ *
24
+ * This construct was based on an AWS blog post about ECS anomaly detection, see here:
25
+ * {@link https://aws.amazon.com/blogs/containers/amazon-elastic-container-service-anomaly-detection-using-amazon-eventbridge/}.
26
+ *
27
+ * More details on the AWS ECS events can be found here:
28
+ * {@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}.
23
29
  */
24
30
  class AwsEcsAbruptlyStoppedMonitor extends constructs_1.Construct {
25
31
  constructor(scope, id, props) {
@@ -59,7 +65,7 @@ class AwsEcsAbruptlyStoppedMonitor extends constructs_1.Construct {
59
65
  query: `logs("account_id:${cdk.Stack.of(this).account} @aws.awslogs.logGroup:\"${ecsStateChangeLogGroup.logGroupName}\"").index("*").rollup("count").last("5m") >= 1`,
60
66
  message: '{{#is_alert}}There are unexpected ECS status changes in the account ' +
61
67
  '{{log.tags.account_id}}, more details here {{log.link}} {{/is_alert}}',
62
- priority: 3,
68
+ priority: props.priority ?? datadogv2_1.DatadogMonitor.DEFAULT_PRIORITY,
63
69
  notification: props.notification,
64
70
  });
65
71
  }
@@ -67,4 +73,4 @@ class AwsEcsAbruptlyStoppedMonitor extends constructs_1.Construct {
67
73
  exports.AwsEcsAbruptlyStoppedMonitor = AwsEcsAbruptlyStoppedMonitor;
68
74
  _a = JSII_RTTI_SYMBOL_1;
69
75
  AwsEcsAbruptlyStoppedMonitor[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor", version: "0.0.0" };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjcy1hYnJ1cHRseS1zdG9wcGVkLW1vbml0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLW91Ym91dC1vcmRlci1ib29rL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUF1QztBQUN2QyxrREFBaUc7QUFZakc7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFhLDRCQUE2QixTQUFRLHNCQUFTO0lBQ3pELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLHNCQUFzQixHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFFekYsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7WUFDaEUsWUFBWSxFQUFFLHNCQUFzQixDQUFDLFlBQVk7WUFDakQsU0FBUyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7UUFFSCw0Q0FBNEM7UUFDNUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDbEQsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsVUFBVSxFQUFFLENBQUMsdUJBQXVCLEVBQUUscUNBQXFDLEVBQUUsb0JBQW9CLENBQUM7Z0JBQ2xHLE1BQU0sRUFBRTtvQkFDTixhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQzFCLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztpQkFDNUQ7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDakYsQ0FBQyxDQUFDO1FBRUgsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FDdkUsSUFBSSxFQUNKLGtDQUFrQyxFQUNsQztZQUNFLFdBQVcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxtREFBbUQsQ0FBQztZQUNwRixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQ25FLFdBQVcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztZQUNoRixhQUFhLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUMvQyx5QkFBeUIsRUFDekIscUNBQXFDLENBQ3RDO1lBQ0QsUUFBUSxFQUFFLHNCQUFzQjtTQUNqQyxDQUFDLENBQUM7UUFFSCw0RkFBNEY7UUFDNUYsSUFBSSwwQkFBYyxDQUFDLElBQUksRUFBRSwrQkFBK0IsRUFBRTtZQUN4RCxJQUFJLEVBQUUsK0JBQStCO1lBQ3JDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixXQUFXLEVBQUUsd0NBQTRCLENBQUMsU0FBUztZQUNuRCxLQUFLLEVBQUUsb0JBQW9CLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sNEJBQ25ELHNCQUFzQixDQUFDLFlBQ3pCLGlEQUFpRDtZQUNqRCxPQUFPLEVBQUUsc0VBQXNFO2dCQUNyRSx1RUFBdUU7WUFDakYsUUFBUSxFQUFFLENBQUM7WUFDWCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF4REgsb0VBeURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YWRvZ01vbml0b3IsIERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUsIElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9ndjInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVjc0FicnVwdGx5U3RvcHBlZE1vbml0b3JQcm9wcyB7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbjogSU5vdGlmaWNhdGlvbjtcbiAgLyoqXG4gICAgICogQVJOIG9mIHRoZSBjbHVzdGVyIHRoYXQgc2hvdWxkIGJlIG1vbml0b3JlZC5cbiAgICAgKiBJZiBubyBjbHVzdGVyIGlzIHByb3ZpZGVkLCBhbGwgRUNTIHdpbGwgYmUgcGFydCBvZiB0aGUgbW9uaXRvci5cbiAgICAgKi9cbiAgcmVhZG9ubHkgY2x1c3RlckFybj86IHN0cmluZztcbn1cblxuLyoqXG4gKiAjIFdBUk5JTkc6IFRoaXMgY29uc3RydWN0IGlzIHN0aWxsIG9uIGJldGEgcGhhc2UuXG4gKlxuICogVGhlIGNvbnN0cnVjdCBjcmVhdGVzIG1vbml0b3JpbmcgZm9yIGRldGVjdGluZyBFQ1MgY29udGFpbmVycyB0aGF0IHdlcmUgc3RvcHBlZCBhYnJ1cHRseSBmb3IgcmVhc29ucyBzdWNoIGFzLFxuICogb3V0IG9mIG1lbW9yeSwgZmFpbGVkIGhlYWx0aCBjaGVja3MuXG4gKlxuICogVGhlIG1vbml0b3Igd2lsbCBjb25zdW1lIHRoZSBFQ1MgZXZlbnRzIGFuZCBzZW5kIHRoZW0gdG8gYSBDbG91ZFdhdGNoIGxvZyBncm91cCwgd2hpY2ggYXJlIGZvcndhcmRlZCB0byBEYXRhZG9nIGZvclxuICogYmV0dGVyIGFuYWx5c2VzIGFuZCB0cmlnZ2VyIGFuIGFsZXJ0LlxuICpcbiAqIE1vcmUgZGV0YWlscyBvbiB0aGUgQVdTIEVDUyBldmVudHMgY2FuIGJlIGZvdW5kIGhlcmU6XG4gKiB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZWNzX2N3ZV9ldmVudHMuaHRtbH1cbiAqXG4gKiBUaGlzIG1vbml0b3IgYWRkcyB0cmFuc3BhcmVuY3kgdG8gc3VjaCBjYXNlcywgd2hpY2ggb3RoZXJ3aXNlIHdvdWxkIGhhcHBlbiB3aXRob3V0IGJlaW5nIG5vdGljZWQgYW5kIGNvdWxkIGVzY2FsYXRlXG4gKiB0byBiaWdnZXIgaXNzdWVzLCBsaWtlIGEgc2VydmljZSBiZWluZyB0aGF0IHJlcXVpcmVzIG1vcmUgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQXdzRWNzQWJydXB0bHlTdG9wcGVkTW9uaXRvciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NBYnJ1cHRseVN0b3BwZWRNb25pdG9yUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZWNzU3RhdGVDaGFuZ2VMb2dHcm91cCA9IG5ldyBjZGsuYXdzX2xvZ3MuTG9nR3JvdXAodGhpcywgJ0Vjc1N0YXRlQ2hhbmdlTG9nR3JvdXAnKTtcblxuICAgIG5ldyBjZGsuYXdzX2xvZ3MuTG9nUmV0ZW50aW9uKHRoaXMsICdFY3NTdGF0ZUNoYW5nZUxvZ1JldGVudGlvbicsIHtcbiAgICAgIGxvZ0dyb3VwTmFtZTogZWNzU3RhdGVDaGFuZ2VMb2dHcm91cC5sb2dHcm91cE5hbWUsXG4gICAgICByZXRlbnRpb246IDMsXG4gICAgfSk7XG5cbiAgICAvLyBSdWxlIHRvIGNvdmVyIGFsbCBjbHVzdGVycyBzdGF0dXMgY2hhbmdlc1xuICAgIG5ldyBjZGsuYXdzX2V2ZW50cy5SdWxlKHRoaXMsICdFY3NTdGF0ZUNoYW5nZVJ1bGUnLCB7XG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgc291cmNlOiBbJ2F3cy5lY3MnXSxcbiAgICAgICAgZGV0YWlsVHlwZTogWydFQ1MgVGFzayBTdGF0ZSBDaGFuZ2UnLCAnRUNTIENvbnRhaW5lciBJbnN0YW5jZSBTdGF0ZSBDaGFuZ2UnLCAnRUNTIFNlcnZpY2UgQWN0aW9uJ10sXG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGRlc2lyZWRTdGF0dXM6IFsnU1RPUFBFRCddLFxuICAgICAgICAgIGxhc3RTdGF0dXM6IFsnU1RPUFBFRCddLFxuICAgICAgICAgIC4uLihwcm9wcy5jbHVzdGVyQXJuICYmIHsgY2x1c3RlckFybjogW3Byb3BzLmNsdXN0ZXJBcm5dIH0pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhcmdldHM6IFtuZXcgY2RrLmF3c19ldmVudHNfdGFyZ2V0cy5DbG91ZFdhdGNoTG9nR3JvdXAoZWNzU3RhdGVDaGFuZ2VMb2dHcm91cCldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nRm9yd2FyZGVyTGFtYmRhID0gY2RrLmF3c19sYW1iZGEuRnVuY3Rpb24uZnJvbUZ1bmN0aW9uQXR0cmlidXRlcyhcbiAgICAgIHRoaXMsXG4gICAgICAnRWNzU3RhdGVDaGFuZ2VMb2dGb3J3YXJkZXJMYW1iZGEnLFxuICAgICAge1xuICAgICAgICBmdW5jdGlvbkFybjogY2RrLkZuLmltcG9ydFZhbHVlKCdjdXN0b20tcmVzb3VyY2UtZGF0YWRvZy1sb2dmb3J3YXJkZXItZnVuY3Rpb24tYXJuJyksXG4gICAgICAgIHNhbWVFbnZpcm9ubWVudDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIG5ldyBjZGsuYXdzX2xvZ3MuU3Vic2NyaXB0aW9uRmlsdGVyKHRoaXMsICdFY3NTdGF0ZUNoYW5nZUxvZ0ZpbHRlcicsIHtcbiAgICAgIGRlc3RpbmF0aW9uOiBuZXcgY2RrLmF3c19sb2dzX2Rlc3RpbmF0aW9ucy5MYW1iZGFEZXN0aW5hdGlvbihsb2dGb3J3YXJkZXJMYW1iZGEpLFxuICAgICAgZmlsdGVyUGF0dGVybjogY2RrLmF3c19sb2dzLkZpbHRlclBhdHRlcm4uYW55VGVybShcbiAgICAgICAgJ0NvbnRhaW5lciBraWxsZWQgZHVlIHRvJyxcbiAgICAgICAgJ1Rhc2sgZmFpbGVkIGNvbnRhaW5lciBoZWFsdGggY2hlY2tzJyxcbiAgICAgICksXG4gICAgICBsb2dHcm91cDogZWNzU3RhdGVDaGFuZ2VMb2dHcm91cCxcbiAgICB9KTtcblxuICAgIC8vIEFmdGVyIGJlaW5nIG1pZ3JhdGVkIHRvIHRoZSBuZXcgdmVyc2lvbiBpdCBjYW4gYmUgYWRkZWQgdG8gdGhlIENMQUlEIGNvbnN0cnVjdCByZXBvc2l0b3J5XG4gICAgbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsICdFY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwTW9uaXRvcicsIHtcbiAgICAgIG5hbWU6ICdVbmV4cGVjdGVkIEVDUyBzdGF0dXMgY2hhbmdlcycsXG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBtb25pdG9yVHlwZTogRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZS5MT0dfQUxFUlQsXG4gICAgICBxdWVyeTogYGxvZ3MoXCJhY2NvdW50X2lkOiR7Y2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnR9IEBhd3MuYXdzbG9ncy5sb2dHcm91cDpcXFwiJHtcbiAgICAgICAgZWNzU3RhdGVDaGFuZ2VMb2dHcm91cC5sb2dHcm91cE5hbWVcbiAgICAgIH1cXFwiXCIpLmluZGV4KFwiKlwiKS5yb2xsdXAoXCJjb3VudFwiKS5sYXN0KFwiNW1cIikgPj0gMWAsXG4gICAgICBtZXNzYWdlOiAne3sjaXNfYWxlcnR9fVRoZXJlIGFyZSB1bmV4cGVjdGVkIEVDUyBzdGF0dXMgY2hhbmdlcyBpbiB0aGUgYWNjb3VudCAnICtcbiAgICAgICAgICAgICAgICAne3tsb2cudGFncy5hY2NvdW50X2lkfX0sIG1vcmUgZGV0YWlscyBoZXJlIHt7bG9nLmxpbmt9fSB7ey9pc19hbGVydH19JyxcbiAgICAgIHByaW9yaXR5OiAzLFxuICAgICAgbm90aWZpY2F0aW9uOiBwcm9wcy5ub3RpZmljYXRpb24sXG4gICAgfSk7XG4gIH1cbn1cblxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjcy1hYnJ1cHRseS1zdG9wcGVkLW1vbml0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLW91Ym91dC1vcmRlci1ib29rL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUF1QztBQUN2QyxrREFBaUc7QUFvQ2pHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsc0JBQVM7SUFDekQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUV6RixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSw0QkFBNEIsRUFBRTtZQUNoRSxZQUFZLEVBQUUsc0JBQXNCLENBQUMsWUFBWTtZQUNqRCxTQUFTLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztRQUVILDRDQUE0QztRQUM1QyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUNsRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNuQixVQUFVLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxxQ0FBcUMsRUFBRSxvQkFBb0IsQ0FBQztnQkFDbEcsTUFBTSxFQUFFO29CQUNOLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDMUIsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUN2QixHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2lCQUM1RDthQUNGO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUNqRixDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUN2RSxJQUFJLEVBQ0osa0NBQWtDLEVBQ2xDO1lBQ0UsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLG1EQUFtRCxDQUFDO1lBQ3BGLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQ0YsQ0FBQztRQUVGLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUseUJBQXlCLEVBQUU7WUFDbkUsV0FBVyxFQUFFLElBQUksR0FBRyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO1lBQ2hGLGFBQWEsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQy9DLHlCQUF5QixFQUN6QixxQ0FBcUMsQ0FDdEM7WUFDRCxRQUFRLEVBQUUsc0JBQXNCO1NBQ2pDLENBQUMsQ0FBQztRQUVILDRGQUE0RjtRQUM1RixJQUFJLDBCQUFjLENBQUMsSUFBSSxFQUFFLCtCQUErQixFQUFFO1lBQ3hELElBQUksRUFBRSwrQkFBK0I7WUFDckMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFdBQVcsRUFBRSx3Q0FBNEIsQ0FBQyxTQUFTO1lBQ25ELEtBQUssRUFBRSxvQkFBb0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyw0QkFDbkQsc0JBQXNCLENBQUMsWUFDekIsaURBQWlEO1lBQ2pELE9BQU8sRUFBRSxzRUFBc0U7Z0JBQ3JFLHVFQUF1RTtZQUNqRixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSwwQkFBYyxDQUFDLGdCQUFnQjtZQUMzRCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF4REgsb0VBeURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YWRvZ01vbml0b3IsIERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUsIElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9ndjInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVjc0FicnVwdGx5U3RvcHBlZE1vbml0b3JQcm9wcyB7XG5cbiAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gd2hpY2ggdGhlIG1vbml0b3IgYmVsb25ncy5cbiAgICAgKlxuICAgICAqIFVzZWQgdG8gZ2VuZXJhdGUgdGhlIG1vbml0b3IgbmFtZSBhcyB3ZWxsIGEgYXBwbHkgdGhlIGBzZXJ2aWNlYCB0YWcuXG4gICAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogVG8gZXhwbGljaXRseSBkaXNhYmxlIG5vdGlmaWNhdGlvbnMgdXNlIHtAbGluayBOb05vdGlmaWNhdGlvbn0uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdFZhbHVlIHtAbGluayBEZWZhdWx0U2xhY2tOb3RpZmljYXRpb259XG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL21vbml0b3JzL25vdGlmeVxuICAgICAqL1xuXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbj86IElOb3RpZmljYXRpb247XG5cbiAgLyoqXG4gICAgICogVGhlIGFsZXJ0IHByaW9yaXR5IG9mIHRoZSBtb25pdG9yXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdFZhbHVlIHtAbGluayBEYXRhZG9nTW9uaXRvci5ERUZBVUxUX1BSSU9SSVRZfVxuICAgICAqL1xuXG4gIHJlYWRvbmx5IHByaW9yaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgICAqIEFSTiBvZiB0aGUgY2x1c3RlciB0aGF0IHNob3VsZCBiZSBtb25pdG9yZWQsIGNvbnN1bWluZyBvbmx5IEVDUyBldmVudHMgYmVsb25naW5nIHRvIHRoZSBjbHVzdGVyLlxuICAgICAqIElmIG5vIGNsdXN0ZXIgaXMgcHJvdmlkZWQsIHRoZSBtb25pdG9yIHdpbGwgY29uc3VtZSBFQ1MgZXZlbnRzIGZvciBhbGwgY2x1c3RlcnMgd2l0aGluIHRoZSBhY2NvdW50LlxuICAgICAqL1xuICByZWFkb25seSBjbHVzdGVyQXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqICMgV0FSTklORzogVGhpcyBjb25zdHJ1Y3QgaXMgc3RpbGwgaW4gdGhlIGJldGEgcGhhc2UuXG4gKlxuICogVGhlIGNvbnN0cnVjdCBjcmVhdGVzIG1vbml0b3JpbmcgZm9yIGRldGVjdGluZyBFQ1MgY29udGFpbmVycyB0aGF0IHdlcmUgc3RvcHBlZCBhYnJ1cHRseSBieSBBV1MgZm9yIHJlYXNvbnMgc3VjaCBhcyxcbiAqIG91dCBvZiBtZW1vcnksIG9yIGZhaWxlZCBoZWFsdGggY2hlY2tzLlxuICpcbiAqIFRoaXMgbW9uaXRvciBhZGRzIHRyYW5zcGFyZW5jeSB0byBzdWNoIGNhc2VzLCB3aGljaCBvdGhlcndpc2Ugd291bGQgaGFwcGVuIHdpdGhvdXQgYmVpbmcgbm90aWNlZCBhbmQgY291bGQgZXNjYWxhdGVcbiAqIHRvIGJpZ2dlciBpc3N1ZXMsIGxpa2UgYSBzZXJ2aWNlIHRoYXQgcmVxdWlyZXMgbW9yZSByZXNvdXJjZXMgdG8gcnVuIHByb3Blcmx5LlxuICpcbiAqIFRoZSBjb25zdHJ1Y3Qgd2lsbCBjb25zdW1lIHRoZSBFQ1MgZXZlbnRzIGFuZCBzZW5kIHRoZW0gdG8gYSBDbG91ZFdhdGNoIGxvZyBncm91cCwgd2hpY2ggYXJlIGZvcndhcmRlZCB0byBEYXRhZG9nLFxuICogYWxsb3dpbmcgYmV0dGVyIGFuYWx5c2VzIHNpbmNlIEFXUyBrZWVwcyB0aGUgc3RvcHBlZCB0YXNrIGRldGFpbHMgZm9yIG9ubHkgb25lIGhvdXIgYW5kIHdpbGwgYmUgdXNlZCB0byBjcmVhdGUgYVxuICogbW9uaXRvci5cbiAqXG4gKiBDb250cmlidXRpb25zIGFyZSBtb3JlIHRoYW4gd2VsY29tZSwgcGxlYXNlIGdldCBpbiB0b3VjaCB3aXRoIFRlYW0gT3V0Ym91bmQgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkuXG4gKlxuICogVGhpcyBjb25zdHJ1Y3Qgd2FzIGJhc2VkIG9uIGFuIEFXUyBibG9nIHBvc3QgYWJvdXQgRUNTIGFub21hbHkgZGV0ZWN0aW9uLCBzZWUgaGVyZTpcbiAqIHtAbGluayBodHRwczovL2F3cy5hbWF6b24uY29tL2Jsb2dzL2NvbnRhaW5lcnMvYW1hem9uLWVsYXN0aWMtY29udGFpbmVyLXNlcnZpY2UtYW5vbWFseS1kZXRlY3Rpb24tdXNpbmctYW1hem9uLWV2ZW50YnJpZGdlL30uXG4gKlxuICogTW9yZSBkZXRhaWxzIG9uIHRoZSBBV1MgRUNTIGV2ZW50cyBjYW4gYmUgZm91bmQgaGVyZTpcbiAqIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3NfY3dlX2V2ZW50cy5odG1sfS5cbiAqL1xuZXhwb3J0IGNsYXNzIEF3c0Vjc0FicnVwdGx5U3RvcHBlZE1vbml0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRWNzQWJydXB0bHlTdG9wcGVkTW9uaXRvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGVjc1N0YXRlQ2hhbmdlTG9nR3JvdXAgPSBuZXcgY2RrLmF3c19sb2dzLkxvZ0dyb3VwKHRoaXMsICdFY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwJyk7XG5cbiAgICBuZXcgY2RrLmF3c19sb2dzLkxvZ1JldGVudGlvbih0aGlzLCAnRWNzU3RhdGVDaGFuZ2VMb2dSZXRlbnRpb24nLCB7XG4gICAgICBsb2dHcm91cE5hbWU6IGVjc1N0YXRlQ2hhbmdlTG9nR3JvdXAubG9nR3JvdXBOYW1lLFxuICAgICAgcmV0ZW50aW9uOiAzLFxuICAgIH0pO1xuXG4gICAgLy8gUnVsZSB0byBjb3ZlciBhbGwgY2x1c3RlcnMgc3RhdHVzIGNoYW5nZXNcbiAgICBuZXcgY2RrLmF3c19ldmVudHMuUnVsZSh0aGlzLCAnRWNzU3RhdGVDaGFuZ2VSdWxlJywge1xuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIHNvdXJjZTogWydhd3MuZWNzJ10sXG4gICAgICAgIGRldGFpbFR5cGU6IFsnRUNTIFRhc2sgU3RhdGUgQ2hhbmdlJywgJ0VDUyBDb250YWluZXIgSW5zdGFuY2UgU3RhdGUgQ2hhbmdlJywgJ0VDUyBTZXJ2aWNlIEFjdGlvbiddLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBkZXNpcmVkU3RhdHVzOiBbJ1NUT1BQRUQnXSxcbiAgICAgICAgICBsYXN0U3RhdHVzOiBbJ1NUT1BQRUQnXSxcbiAgICAgICAgICAuLi4ocHJvcHMuY2x1c3RlckFybiAmJiB7IGNsdXN0ZXJBcm46IFtwcm9wcy5jbHVzdGVyQXJuXSB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0YXJnZXRzOiBbbmV3IGNkay5hd3NfZXZlbnRzX3RhcmdldHMuQ2xvdWRXYXRjaExvZ0dyb3VwKGVjc1N0YXRlQ2hhbmdlTG9nR3JvdXApXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZ0ZvcndhcmRlckxhbWJkYSA9IGNkay5hd3NfbGFtYmRhLkZ1bmN0aW9uLmZyb21GdW5jdGlvbkF0dHJpYnV0ZXMoXG4gICAgICB0aGlzLFxuICAgICAgJ0Vjc1N0YXRlQ2hhbmdlTG9nRm9yd2FyZGVyTGFtYmRhJyxcbiAgICAgIHtcbiAgICAgICAgZnVuY3Rpb25Bcm46IGNkay5Gbi5pbXBvcnRWYWx1ZSgnY3VzdG9tLXJlc291cmNlLWRhdGFkb2ctbG9nZm9yd2FyZGVyLWZ1bmN0aW9uLWFybicpLFxuICAgICAgICBzYW1lRW52aXJvbm1lbnQ6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBuZXcgY2RrLmF3c19sb2dzLlN1YnNjcmlwdGlvbkZpbHRlcih0aGlzLCAnRWNzU3RhdGVDaGFuZ2VMb2dGaWx0ZXInLCB7XG4gICAgICBkZXN0aW5hdGlvbjogbmV3IGNkay5hd3NfbG9nc19kZXN0aW5hdGlvbnMuTGFtYmRhRGVzdGluYXRpb24obG9nRm9yd2FyZGVyTGFtYmRhKSxcbiAgICAgIGZpbHRlclBhdHRlcm46IGNkay5hd3NfbG9ncy5GaWx0ZXJQYXR0ZXJuLmFueVRlcm0oXG4gICAgICAgICdDb250YWluZXIga2lsbGVkIGR1ZSB0bycsXG4gICAgICAgICdUYXNrIGZhaWxlZCBjb250YWluZXIgaGVhbHRoIGNoZWNrcycsXG4gICAgICApLFxuICAgICAgbG9nR3JvdXA6IGVjc1N0YXRlQ2hhbmdlTG9nR3JvdXAsXG4gICAgfSk7XG5cbiAgICAvLyBBZnRlciBiZWluZyBtaWdyYXRlZCB0byB0aGUgbmV3IHZlcnNpb24gaXQgY2FuIGJlIGFkZGVkIHRvIHRoZSBDTEFJRCBjb25zdHJ1Y3QgcmVwb3NpdG9yeVxuICAgIG5ldyBEYXRhZG9nTW9uaXRvcih0aGlzLCAnRWNzU3RhdGVDaGFuZ2VMb2dHcm91cE1vbml0b3InLCB7XG4gICAgICBuYW1lOiAnVW5leHBlY3RlZCBFQ1Mgc3RhdHVzIGNoYW5nZXMnLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgbW9uaXRvclR5cGU6IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuTE9HX0FMRVJULFxuICAgICAgcXVlcnk6IGBsb2dzKFwiYWNjb3VudF9pZDoke2Nkay5TdGFjay5vZih0aGlzKS5hY2NvdW50fSBAYXdzLmF3c2xvZ3MubG9nR3JvdXA6XFxcIiR7XG4gICAgICAgIGVjc1N0YXRlQ2hhbmdlTG9nR3JvdXAubG9nR3JvdXBOYW1lXG4gICAgICB9XFxcIlwiKS5pbmRleChcIipcIikucm9sbHVwKFwiY291bnRcIikubGFzdChcIjVtXCIpID49IDFgLFxuICAgICAgbWVzc2FnZTogJ3t7I2lzX2FsZXJ0fX1UaGVyZSBhcmUgdW5leHBlY3RlZCBFQ1Mgc3RhdHVzIGNoYW5nZXMgaW4gdGhlIGFjY291bnQgJyArXG4gICAgICAgICAgICAgICAgJ3t7bG9nLnRhZ3MuYWNjb3VudF9pZH19LCBtb3JlIGRldGFpbHMgaGVyZSB7e2xvZy5saW5rfX0ge3svaXNfYWxlcnR9fScsXG4gICAgICBwcmlvcml0eTogcHJvcHMucHJpb3JpdHkgPz8gRGF0YWRvZ01vbml0b3IuREVGQVVMVF9QUklPUklUWSxcbiAgICAgIG5vdGlmaWNhdGlvbjogcHJvcHMubm90aWZpY2F0aW9uLFxuICAgIH0pO1xuICB9XG59XG5cbiJdfQ==
@@ -195,9 +195,12 @@ export declare class PipelineStack extends Stack {
195
195
  private addMainPipeline;
196
196
  private addBranchPipeline;
197
197
  private addVulnerabilityPipeline;
198
+ private createStripAssetsStep;
198
199
  private createCapabilityMonitoringDeployStep;
200
+ private createSecretsDeployStep;
199
201
  private resolveDefaultBuildSpec;
200
202
  private grantPermissionsForKafkaIntegration;
201
203
  private loadBuildSpecFromFile;
202
204
  private renamePipelineToLowerCase;
205
+ private tagCodeBuildProject;
203
206
  }