@rio-cloud/cdk-v2-constructs 4.0.2 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -3068,7 +3068,7 @@
3068
3068
  "kind": "interface",
3069
3069
  "locationInModule": {
3070
3070
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3071
- "line": 97
3071
+ "line": 100
3072
3072
  },
3073
3073
  "name": "AppStackProps",
3074
3074
  "properties": [
@@ -3080,7 +3080,7 @@
3080
3080
  "immutable": true,
3081
3081
  "locationInModule": {
3082
3082
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3083
- "line": 98
3083
+ "line": 101
3084
3084
  },
3085
3085
  "name": "serviceName",
3086
3086
  "type": {
@@ -3095,7 +3095,7 @@
3095
3095
  "immutable": true,
3096
3096
  "locationInModule": {
3097
3097
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3098
- "line": 99
3098
+ "line": 102
3099
3099
  },
3100
3100
  "name": "version",
3101
3101
  "type": {
@@ -3436,7 +3436,7 @@
3436
3436
  "kind": "interface",
3437
3437
  "locationInModule": {
3438
3438
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3439
- "line": 138
3439
+ "line": 162
3440
3440
  },
3441
3441
  "name": "CodeBuildOptions",
3442
3442
  "properties": [
@@ -3448,7 +3448,7 @@
3448
3448
  "immutable": true,
3449
3449
  "locationInModule": {
3450
3450
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3451
- "line": 140
3451
+ "line": 164
3452
3452
  },
3453
3453
  "name": "buildEnvironment",
3454
3454
  "optional": true,
@@ -3464,7 +3464,7 @@
3464
3464
  "immutable": true,
3465
3465
  "locationInModule": {
3466
3466
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3467
- "line": 139
3467
+ "line": 163
3468
3468
  },
3469
3469
  "name": "partialBuildSpecPath",
3470
3470
  "optional": true,
@@ -4531,7 +4531,7 @@
4531
4531
  "@rio-cloud/cdk-v2-constructs.IAppStackFactory": {
4532
4532
  "assembly": "@rio-cloud/cdk-v2-constructs",
4533
4533
  "docs": {
4534
- "example": "// Use e.g. within ApplicationProps as JSONObject:\n{ create: (construct, props) => new Stack(construct, 'AppStack', props) }\n\n// or simply as class interface within your stack implementation:\nclass PipelineStage extends Stage implements IAppStackFactory {\n constructor(scope: Construct, id: string, props: StageProps) {\n super(scope, id, props);\n // your stage definitiom\n }\n\n create(scope: Construct, props: AppStackProps): void {\n // app stack initiation goes in here\n }\n}",
4534
+ "example": "// Use e.g. within ApplicationProps as JSONObject:\n{ create: (construct, props) => new Stack(construct, 'AppStack', props) }\n\n// or simply as class interface within your stack implementation:\nclass PipelineStage extends Stage implements IAppStackFactory {\n constructor(scope: Construct, id: string, props: StageProps) {\n super(scope, id, props);\n // your stage definition\n }\n\n create(scope: Construct, props: AppStackProps): void {\n // app stack initiation goes in here\n }\n}",
4535
4535
  "remarks": "Simply place the AppStack creation into the create-method:",
4536
4536
  "stability": "stable",
4537
4537
  "summary": "Provider interface to create the AppStack within the specific scope."
@@ -4540,7 +4540,7 @@
4540
4540
  "kind": "interface",
4541
4541
  "locationInModule": {
4542
4542
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
4543
- "line": 87
4543
+ "line": 90
4544
4544
  },
4545
4545
  "methods": [
4546
4546
  {
@@ -4551,7 +4551,7 @@
4551
4551
  },
4552
4552
  "locationInModule": {
4553
4553
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
4554
- "line": 94
4554
+ "line": 97
4555
4555
  },
4556
4556
  "name": "create",
4557
4557
  "parameters": [
@@ -5705,7 +5705,7 @@
5705
5705
  },
5706
5706
  "locationInModule": {
5707
5707
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5708
- "line": 153
5708
+ "line": 186
5709
5709
  },
5710
5710
  "parameters": [
5711
5711
  {
@@ -5731,7 +5731,7 @@
5731
5731
  "kind": "class",
5732
5732
  "locationInModule": {
5733
5733
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5734
- "line": 143
5734
+ "line": 167
5735
5735
  },
5736
5736
  "name": "PipelineStack",
5737
5737
  "symbolId": "src/contributions/team-transport-two/pipeline/pipeline-stack:PipelineStack"
@@ -5749,7 +5749,7 @@
5749
5749
  "kind": "interface",
5750
5750
  "locationInModule": {
5751
5751
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5752
- "line": 27
5752
+ "line": 30
5753
5753
  },
5754
5754
  "name": "PipelineStackProps",
5755
5755
  "properties": [
@@ -5763,7 +5763,7 @@
5763
5763
  "immutable": true,
5764
5764
  "locationInModule": {
5765
5765
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5766
- "line": 44
5766
+ "line": 47
5767
5767
  },
5768
5768
  "name": "appStackFactory",
5769
5769
  "type": {
@@ -5779,7 +5779,7 @@
5779
5779
  "immutable": true,
5780
5780
  "locationInModule": {
5781
5781
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5782
- "line": 49
5782
+ "line": 52
5783
5783
  },
5784
5784
  "name": "pipelineType",
5785
5785
  "type": {
@@ -5796,7 +5796,7 @@
5796
5796
  "immutable": true,
5797
5797
  "locationInModule": {
5798
5798
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5799
- "line": 37
5799
+ "line": 40
5800
5800
  },
5801
5801
  "name": "serviceName",
5802
5802
  "type": {
@@ -5812,7 +5812,7 @@
5812
5812
  "immutable": true,
5813
5813
  "locationInModule": {
5814
5814
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5815
- "line": 63
5815
+ "line": 66
5816
5816
  },
5817
5817
  "name": "codeBuildOptions",
5818
5818
  "optional": true,
@@ -5830,7 +5830,7 @@
5830
5830
  "immutable": true,
5831
5831
  "locationInModule": {
5832
5832
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5833
- "line": 58
5833
+ "line": 61
5834
5834
  },
5835
5835
  "name": "secretsDeployStepProps",
5836
5836
  "optional": true,
@@ -5853,7 +5853,7 @@
5853
5853
  "kind": "interface",
5854
5854
  "locationInModule": {
5855
5855
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5856
- "line": 108
5856
+ "line": 111
5857
5857
  },
5858
5858
  "name": "PipelineStackRioSecretsDeployStepProps",
5859
5859
  "properties": [
@@ -5865,7 +5865,7 @@
5865
5865
  "immutable": true,
5866
5866
  "locationInModule": {
5867
5867
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5868
- "line": 109
5868
+ "line": 112
5869
5869
  },
5870
5870
  "name": "secretsFilePath",
5871
5871
  "type": {
@@ -5884,7 +5884,7 @@
5884
5884
  "kind": "enum",
5885
5885
  "locationInModule": {
5886
5886
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5887
- "line": 112
5887
+ "line": 115
5888
5888
  },
5889
5889
  "members": [
5890
5890
  {
@@ -5897,9 +5897,19 @@
5897
5897
  },
5898
5898
  {
5899
5899
  "docs": {
5900
- "stability": "stable"
5900
+ "remarks": "Comes with a pre-defined buildspec.yaml for a gradle project. This buildspec.yaml is used for both the main and\nbranch pipeline and includes the following steps\n- build and test of the artifact via command \"./gradlew clean build\".\n<p> This gradle command must be provided by the gradle project.\n- license-check and upload of license-check-file via command \"./gradlew checkLicenses\".\n<p> This gradle command must be provided by the gradle project.\n- create a self-signed certificate to make TLS communication possible, e.g. with a loadbalancer.\n- request a certificate to authenticate against Kafka via mutual TLS\n- build the container image via command \"./gradlew jibBuildTar\".\n<p> This gradle command must be provided by the gradle project.",
5901
+ "stability": "stable",
5902
+ "summary": "Self-mutating codepipeline deploying the provided AppStack with additional steps needed to access Kafka."
5901
5903
  },
5902
5904
  "name": "STANDARD_GRADLE_KAFKA"
5905
+ },
5906
+ {
5907
+ "docs": {
5908
+ "remarks": "Comes with a pre-defined buildspec.yaml to synthesize the AppStack.\nNo branch or vulnerability pipeline is created.",
5909
+ "stability": "stable",
5910
+ "summary": "Self-mutating codepipeline deploying the provided AppStack."
5911
+ },
5912
+ "name": "STANDARD_INFRASTRUCTURE"
5903
5913
  }
5904
5914
  ],
5905
5915
  "name": "PipelineType",
@@ -6012,7 +6022,7 @@
6012
6022
  "assembly": "@rio-cloud/cdk-v2-constructs",
6013
6023
  "base": "constructs.Construct",
6014
6024
  "docs": {
6015
- "remarks": "Intended for delivery of html documents. It sets some defaults a recommended by AWS and provides basic security header.\nRequires installation of the custom-resource-certificate.",
6025
+ "remarks": "Intended for delivery of html documents. It sets some defaults a recommended by AWS and provides basic security header.",
6016
6026
  "stability": "stable",
6017
6027
  "summary": "A Construct which creates a default cloudfront distribution using a s3 bucket as origin."
6018
6028
  },
@@ -6023,7 +6033,7 @@
6023
6033
  },
6024
6034
  "locationInModule": {
6025
6035
  "filename": "src/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.ts",
6026
- "line": 72
6036
+ "line": 71
6027
6037
  },
6028
6038
  "parameters": [
6029
6039
  {
@@ -6049,7 +6059,7 @@
6049
6059
  "kind": "class",
6050
6060
  "locationInModule": {
6051
6061
  "filename": "src/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.ts",
6052
- "line": 71
6062
+ "line": 70
6053
6063
  },
6054
6064
  "name": "RioCloudfrontDistribution",
6055
6065
  "symbolId": "src/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution:RioCloudfrontDistribution"
@@ -8737,5 +8747,5 @@
8737
8747
  }
8738
8748
  },
8739
8749
  "version": "0.0.0",
8740
- "fingerprint": "noLhZAersyTHqf/eO+QZRM/ZMt13jhJlEIke1KgLws8="
8750
+ "fingerprint": "1TeBRfGgTsBbvoRqeOOg19wGnWzeVyM78j2YNFzRSbA="
8741
8751
  }
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [4.1.1](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.1.0&sourceBranch=refs%2Ftags%2Fv4.1.1) (2022-11-24)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **contributions:** pipeline-construct - Add missing kafka permission to gradle kafka branch build ([9dba7e2](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/9dba7e2815bbafde0a889958c7f78a871ae34f4a))
11
+
12
+ ## [4.1.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.0.1&sourceBranch=refs%2Ftags%2Fv4.1.0) (2022-11-23)
13
+
14
+
15
+ ### Features
16
+
17
+ * **contributions:** Remove dependency on custom-resource-certificate and use cdk tools instead ([5ac21a8](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/5ac21a8010f66be1ad992fc1f00115ca3e008c26))
18
+
5
19
  ### [4.0.2](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.0.1&sourceBranch=refs%2Ftags%2Fv4.0.2) (2022-11-09)
6
20
 
7
21
  ### [4.0.1](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.0.0&sourceBranch=refs%2Ftags%2Fv4.0.1) (2022-11-07)
@@ -30,7 +30,6 @@ export declare const createRioDefaultCSP: (additionalScriptSources?: string | un
30
30
  /**
31
31
  * A Construct which creates a default cloudfront distribution using a s3 bucket as origin.
32
32
  * Intended for delivery of html documents. It sets some defaults a recommended by AWS and provides basic security header.
33
- * Requires installation of the custom-resource-certificate.
34
33
  *
35
34
  */
36
35
  export declare class RioCloudfrontDistribution extends Construct {
@@ -37,7 +37,6 @@ exports.createRioDefaultCSP = (additionalScriptSources) => `
37
37
  /**
38
38
  * A Construct which creates a default cloudfront distribution using a s3 bucket as origin.
39
39
  * Intended for delivery of html documents. It sets some defaults a recommended by AWS and provides basic security header.
40
- * Requires installation of the custom-resource-certificate.
41
40
  *
42
41
  */
43
42
  class RioCloudfrontDistribution extends constructs_1.Construct {
@@ -49,15 +48,10 @@ class RioCloudfrontDistribution extends constructs_1.Construct {
49
48
  const domainName = props.subDomain === undefined ? hostedZone.zoneName : subDomain + '.' + hostedZone.zoneName;
50
49
  const defaultContentSecurityPolicy = exports.createRioDefaultCSP();
51
50
  const contentSecurityPolicy = (_d = props.contentSecurityPolicy) !== null && _d !== void 0 ? _d : defaultContentSecurityPolicy;
52
- // Certificate created via Custom Resource due to other region
53
- const certificate = new aws_cdk_lib_1.CustomResource(this, 'Certificate', {
54
- resourceType: 'Custom::Certificate',
55
- serviceToken: aws_cdk_lib_1.Fn.importValue('custom-resource-certificate-function-arn'),
56
- properties: {
57
- DomainName: domainName,
58
- HostedZoneId: hostedZone.hostedZoneId,
59
- Region: 'us-east-1',
60
- },
51
+ const certificate = new acm.DnsValidatedCertificate(this, 'CloudfrontDistributionCertificate', {
52
+ domainName: domainName,
53
+ hostedZone: hostedZone,
54
+ region: 'us-east-1',
61
55
  });
62
56
  const originAccessIdentity = new cloudfront.OriginAccessIdentity(this, 'OriginAccessIdentity', {
63
57
  comment: `AccessIdentity for ${domainName}`,
@@ -129,7 +123,7 @@ class RioCloudfrontDistribution extends constructs_1.Construct {
129
123
  },
130
124
  domainNames: [domainName],
131
125
  priceClass: cloudfront.PriceClass.PRICE_CLASS_100,
132
- certificate: acm.Certificate.fromCertificateArn(this, 'AcmCertificate', certificate.ref),
126
+ certificate: certificate,
133
127
  defaultRootObject: 'index.html',
134
128
  minimumProtocolVersion: cloudfront.SecurityPolicyProtocol.TLS_V1_2_2018,
135
129
  errorResponses: [
@@ -158,11 +152,11 @@ class RioCloudfrontDistribution extends constructs_1.Construct {
158
152
  product: rio_claidometer_1.ClaidometerProduct.CDK_CONTRIBUTION,
159
153
  packageName,
160
154
  feature,
161
- version: '0.0.1',
155
+ version: '0.0.2',
162
156
  });
163
157
  }
164
158
  }
165
159
  exports.RioCloudfrontDistribution = RioCloudfrontDistribution;
166
160
  _a = JSII_RTTI_SYMBOL_1;
167
161
  RioCloudfrontDistribution[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.RioCloudfrontDistribution", version: "0.0.0" };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQvcmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUEwRTtBQUMxRSwwREFBMEQ7QUFDMUQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUM5RCwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELDJEQUEyRDtBQUMzRCx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBQ3ZDLDhEQUEyRTtBQUMzRSxnRUFBMkQ7QUFpQzNELE1BQU0sdUJBQXVCLEdBQUcsOENBQThDLENBQUM7QUFDL0Usd0ZBQXdGO0FBQzNFLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFLENBQUM7cUJBQ3BELHVCQUF1QjtxQkFDdkIsdUJBQXVCO2tCQUMxQix1QkFBdUI7aUJBQ3hCLHVCQUF1Qjs7b0JBRXBCLHVCQUF1Qjs7VUFFakMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTttQkFDbkQsdUJBQXVCOztxQkFFckIsdUJBQXVCO3lCQUNuQix1QkFBdUI7MEJBQ3RCLHVCQUF1QjtRQUN6QztLQUNMLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO0tBQzFCLElBQUksRUFBRSxDQUFDO0FBRVY7Ozs7O0dBS0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLHNCQUFTO0lBQ3RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7O1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLFNBQUcsS0FBSyxDQUFDLFVBQVUsbUNBQUksaUNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENB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QVUsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhO1lBQ3ZFLGNBQWMsRUFBRTtnQkFDZDtvQkFDRSxVQUFVLEVBQUUsR0FBRztvQkFDZixrQkFBa0IsRUFBRSxHQUFHO29CQUN2QixnQkFBZ0IsRUFBRSxhQUFhO29CQUMvQixHQUFHLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUN6QjtnQkFDRDtvQkFDRSxVQUFVLEVBQUUsR0FBRztvQkFDZixrQkFBa0IsRUFBRSxHQUFHO29CQUN2QixnQkFBZ0IsRUFBRSxhQUFhO29CQUMvQixHQUFHLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUN6QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDdkMsVUFBVSxFQUFFLFNBQVM7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2xGLElBQUksRUFBRSxVQUFVO1lBQ2hCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuRSxJQUFJLDZCQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNuQyxPQUFPLEVBQUUsb0NBQWtCLENBQUMsZ0JBQWdCO1lBQzVDLFdBQVc7WUFDWCxPQUFPO1lBQ1AsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFuSUgsOERBb0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbiwgRm4sIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vLi4vLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uUHJvcHMge1xuICAvKipcbiAgICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBTMyBidWNrZXQgY29udGFpbmluZyB0aGUgZmlsZXMgdG8gc2VydmVcbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudEJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgc3ViZG9tYWluIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzZXJ2ZWQuIElmIG5vdCBnaXZlbiwgYW4gZW1wdHkgc3RyaW5nLCBpLmUuIG5vIHN1YkRvbWFpbiB3aWxsIGJlIHVzZWQuXG4gICAgICogSW5zdGVhZCwgdGhlIG5hbWUgb2YgdGhlIGhvc3RlZCB6b25lIHdpbGwgYmUgdXNlZCBkaXJlY3RseS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgc3ViRG9tYWluPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBob3N0ZWQgem9uZSBvZiB0aGUgZG9tYWluIHVuZGVyIHdoaWNoIHRoZSBjb250ZW50IHdpbGwgYmUgc2VydmVkLiBJZiBub3QgZ2l2ZW4sIHRoZSBkZWZhdWx0IGhvc3RlZCBab25lXG4gICAgICogcHJvdmlkZWQgYnkgUklPIHNldHVwIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZT86IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAgICogVGhlIGNvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRvIGJlIHNlbnQgYXMgYSBoZWFkZXIgd2hlbiBkZWxpdmVyaW5nIHRoZSBidWNrZXQgY29udGVudC5cbiAgICAgKiBJZiBub3Qgc2V0LCBhIHJpbyBEZWZhdWx0IHdpbGwgYmUgdXNlZC4gVGhlIGRlZmF1bHQgc2hvdWxkIGNvdmVyIGNvbm5lY3Rpb25zIHRvIHNwbGl0LmlvLCBzZW50cnkgYW5kIGRhdGFkb2csXG4gICAgICogYXMgd2VsbCBhcyBhIGhhc2ggdG8gc3VwcG9ydCBnb29nbGUgdGFnTWFuZ2VyLiBUaGUgbGF0dGVyIG1pZ2h0IG5lZWQgdG8gYmUgYWRhcHRlZCBpZiB5b3UgY2hhbmdlIHRoZSBtaW5pZmljYXRpb24gb2ZcbiAgICAgKiB0aGUgaW5kZXguaHRtbCwgaW4gd2hpY2ggY2FzZSB5b3UgY2FuIHByb3ZpZGUgeW91ciBjc3AgaGVyZS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBhbHdheXNBbGxvd2VkQ1NQU291cmNlcyA9IFwiJ3NlbGYnIGh0dHBzOi8vKi5yaW8uY2xvdWQgaHR0cHM6Ly9yaW8uY2xvdWRcIjtcbi8vIFRoZSBoYXNoIGluIHNjcmlwdCBzcmMgaXMgZm9yIHRoZSBnb29nbGUgdGFnTWFuYWdlciBzY3JpcHQgaW5jbHVkZWQgaW4gdGhlIGluZGV4Lmh0bWxcbmV4cG9ydCBjb25zdCBjcmVhdGVSaW9EZWZhdWx0Q1NQID0gKGFkZGl0aW9uYWxTY3JpcHRTb3VyY2VzPzogc3RyaW5nKSA9PiBgXG4gICAgICAgZGVmYXVsdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgY29ubmVjdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gaHR0cHM6Ly8qLnNlbnRyeS5pbyBodHRwczovL3Nkay5zcGxpdC5pbyBodHRwczovLyouZGF0YWRvZ2hxLmV1IGh0dHBzOi8vKi5icm93c2VyLWludGFrZS1kYXRhZG9naHEuZXU7XG4gICAgICAgZm9udC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gZGF0YTo7XG4gICAgICAgaW1nLXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSB3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20gZGF0YTo7XG4gICAgICAgb2JqZWN0LXNyYyAnbm9uZSc7XG4gICAgICAgc2NyaXB0LXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbVxuICAgICAgICAnc2hhMjU2LUhEV0FnZlRlTUFndVQ4d0Z3Nys5Mlk3aTRFby82UlVRUXVBM1RXOUp4YkE9J1xuICAgICAgICAke2FkZGl0aW9uYWxTY3JpcHRTb3VyY2VzID8gJyAnICsgYWRkaXRpb25hbFNjcmlwdFNvdXJjZXMgOiAnJ307XG4gICAgICAgc3R5bGUtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9ICd1bnNhZmUtaW5saW5lJztcbiAgICAgICBiYXNlLXVyaSAnc2VsZic7XG4gICAgICAgZm9ybS1hY3Rpb24gJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgZnJhbWUtYW5jZXN0b3JzICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9O1xuICAgICAgIGZyYW1lLXNyYyAnc2VsZicgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgYFxuICAucmVwbGFjZSgvW1xcclxcblxcc10rL2csICcgJylcbiAgLnRyaW0oKTtcblxuLyoqXG4gKiBBIENvbnN0cnVjdCB3aGljaCBjcmVhdGVzIGEgZGVmYXVsdCBjbG91ZGZyb250IGRpc3RyaWJ1dGlvbiB1c2luZyBhIHMzIGJ1Y2tldCBhcyBvcmlnaW4uXG4gKiBJbnRlbmRlZCBmb3IgZGVsaXZlcnkgb2YgaHRtbCBkb2N1bWVudHMuIEl0IHNldHMgc29tZSBkZWZhdWx0cyBhIHJlY29tbWVuZGVkIGJ5IEFXUyBhbmQgcHJvdmlkZXMgYmFzaWMgc2VjdXJpdHkgaGVhZGVyLlxuICogUmVxdWlyZXMgaW5zdGFsbGF0aW9uIG9mIHRoZSBjdXN0b20tcmVzb3VyY2UtY2VydGlmaWNhdGUuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgUmlvQ2xvdWRmcm9udERpc3RyaWJ1dGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IHByb3BzLmhvc3RlZFpvbmUgPz8gUmlvTGFuZGluZ1pvbmUuZ2V0RGVmYXVsdEhvc3RlZFpvbmUodGhpcyk7XG4gICAgY29uc3Qgc3ViRG9tYWluID0gcHJvcHMuc3ViRG9tYWluID8/ICcnO1xuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBwcm9wcy5zdWJEb21haW4gPT09IHVuZGVmaW5lZCA/IGhvc3RlZFpvbmUuem9uZU5hbWUgOiBzdWJEb21haW4gKyAnLicgKyBob3N0ZWRab25lLnpvbmVOYW1lO1xuXG4gICAgY29uc3QgZGVmYXVsdENvbnRlbnRTZWN1cml0eVBvbGljeSA9IGNyZWF0ZVJpb0RlZmF1bHRDU1AoKTtcbiAgICBjb25zdCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBwcm9wcy5jb250ZW50U2VjdXJpdHlQb2xpY3kgPz8gZGVmYXVsdENvbnRlbnRTZWN1cml0eVBvbGljeTtcblxuICAgIC8vIENlcnRpZmljYXRlIGNyZWF0ZWQgdmlhIEN1c3RvbSBSZXNvdXJjZSBkdWUgdG8gb3RoZXIgcmVnaW9uXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0NlcnRpZmljYXRlJywge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpDZXJ0aWZpY2F0ZScsXG4gICAgICBzZXJ2aWNlVG9rZW46IEZuLmltcG9ydFZhbHVlKCdjdXN0b20tcmVzb3VyY2UtY2VydGlmaWNhdGUtZnVuY3Rpb24tYXJuJyksXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIERvbWFpbk5hbWU6IGRvbWFpbk5hbWUsXG4gICAgICAgIEhvc3RlZFpvbmVJZDogaG9zdGVkWm9uZS5ob3N0ZWRab25lSWQsXG4gICAgICAgIFJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgb3JpZ2luQWNjZXNzSWRlbnRpdHkgPSBuZXcgY2xvdWRmcm9udC5PcmlnaW5BY2Nlc3NJZGVudGl0eSh0aGlzLCAnT3JpZ2luQWNjZXNzSWRlbnRpdHknLCB7XG4gICAgICBjb21tZW50OiBgQWNjZXNzSWRlbnRpdHkgZm9yICR7ZG9tYWluTmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnRnJvbnRFbmRCdWNrZXQnLCB7XG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5jb250ZW50QnVja2V0TmFtZSxcbiAgICAgIGVuY3J5cHRpb246IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIHZlcnNpb25lZDogdHJ1ZSxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnRXhwaXJlc09iamVjdHMnLFxuICAgICAgICAgIGV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoOTApLFxuICAgICAgICAgIG5vbmN1cnJlbnRWZXJzaW9uRXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cygzMCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZW5mb3JjZVNTTDogdHJ1ZSxcbiAgICAgIGNvcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFsbG93ZWRNZXRob2RzOiBbczMuSHR0cE1ldGhvZHMuR0VUXSxcbiAgICAgICAgICBhbGxvd2VkT3JpZ2luczogWycqJ10sXG4gICAgICAgICAgYWxsb3dlZEhlYWRlcnM6IFsnKiddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICBidWNrZXQuZ3JhbnRSZWFkKFxuICAgICAgbmV3IGlhbS5DYW5vbmljYWxVc2VyUHJpbmNpcGFsKG9yaWdpbkFjY2Vzc0lkZW50aXR5LmNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVMzQ2Fub25pY2FsVXNlcklkKSxcbiAgICAgICcqJyxcbiAgICApO1xuXG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzUG9saWN5ID0gbmV3IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5KHRoaXMsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCB7XG4gICAgICBjb21tZW50OiAnUG9saWN5IGZvciBDbG91ZEZyb250IHJlc3BvbnNlcycsXG4gICAgICBjb3JzQmVoYXZpb3I6IHtcbiAgICAgICAgYWNjZXNzQ29udHJvbEFsbG93Q3JlZGVudGlhbHM6IGZhbHNlLFxuICAgICAgICBhY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzOiBbJyonXSxcbiAgICAgICAgYWNjZXNzQ29udHJvbEFsbG93TWV0aG9kczogWydHRVQnXSxcbiAgICAgICAgYWNjZXNzQ29udHJvbEFsbG93T3JpZ2luczogW2hvc3RlZFpvbmUuem9uZU5hbWVdLFxuICAgICAgICBhY2Nlc3NDb250cm9sTWF4QWdlOiBEdXJhdGlvbi5zZWNvbmRzKDYwMCksXG4gICAgICAgIG9yaWdpbk92ZXJyaWRlOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yOiB7XG4gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeToge1xuICAgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeTogY29udGVudFNlY3VyaXR5UG9saWN5LFxuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZW50VHlwZU9wdGlvbnM6IHsgb3ZlcnJpZGU6IHRydWUgfSxcbiAgICAgICAgZnJhbWVPcHRpb25zOiB7IGZyYW1lT3B0aW9uOiBjbG91ZGZyb250LkhlYWRlcnNGcmFtZU9wdGlvbi5ERU5ZLCBvdmVycmlkZTogdHJ1ZSB9LFxuICAgICAgICByZWZlcnJlclBvbGljeToge1xuICAgICAgICAgIHJlZmVycmVyUG9saWN5OiBjbG91ZGZyb250LkhlYWRlcnNSZWZlcnJlclBvbGljeS5TVFJJQ1RfT1JJR0lOX1dIRU5fQ1JPU1NfT1JJR0lOLFxuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBzdHJpY3RUcmFuc3BvcnRTZWN1cml0eToge1xuICAgICAgICAgIGFjY2Vzc0NvbnRyb2xNYXhBZ2U6IER1cmF0aW9uLmRheXMoMzY1KSxcbiAgICAgICAgICBpbmNsdWRlU3ViZG9tYWluczogdHJ1ZSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgeHNzUHJvdGVjdGlvbjoge1xuICAgICAgICAgIHByb3RlY3Rpb246IHRydWUsXG4gICAgICAgICAgbW9kZUJsb2NrOiB0cnVlLFxuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRpc3RyaWJ1dGlvbiA9IG5ldyBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbih0aGlzLCAnRGlzdHJpYnV0aW9uJywge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICAgIG9yaWdpbjogbmV3IG9yaWdpbnMuUzNPcmlnaW4oYnVja2V0KSxcbiAgICAgICAgb3JpZ2luUmVxdWVzdFBvbGljeTogY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5LkNPUlNfUzNfT1JJR0lOLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogY2xvdWRmcm9udC5WaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgICAgY2FjaGVQb2xpY3k6IGNsb3VkZnJvbnQuQ2FjaGVQb2xpY3kuQ0FDSElOR19PUFRJTUlaRUQsXG4gICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeTogcmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBkb21haW5OYW1lczogW2RvbWFpbk5hbWVdLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGNlcnRpZmljYXRlOiBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKHRoaXMsICdBY21DZXJ0aWZpY2F0ZScsIGNlcnRpZmljYXRlLnJlZiksXG4gICAgICBkZWZhdWx0Um9vdE9iamVjdDogJ2luZGV4Lmh0bWwnLFxuICAgICAgbWluaW11bVByb3RvY29sVmVyc2lvbjogY2xvdWRmcm9udC5TZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMTgsXG4gICAgICBlcnJvclJlc3BvbnNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgaHR0cFN0YXR1czogNDA0LFxuICAgICAgICAgIHJlc3BvbnNlSHR0cFN0YXR1czogMjAwLFxuICAgICAgICAgIHJlc3BvbnNlUGFnZVBhdGg6ICcvaW5kZXguaHRtbCcsXG4gICAgICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaHR0cFN0YXR1czogNDAzLFxuICAgICAgICAgIHJlc3BvbnNlSHR0cFN0YXR1czogMjAwLFxuICAgICAgICAgIHJlc3BvbnNlUGFnZVBhdGg6ICcvaW5kZXguaHRtbCcsXG4gICAgICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIG5ldyByb3V0ZTUzLlJlY29yZFNldCh0aGlzLCAnUmVjb3JkU2V0Jywge1xuICAgICAgcmVjb3JkTmFtZTogc3ViRG9tYWluLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQ2xvdWRGcm9udFRhcmdldChkaXN0cmlidXRpb24pKSxcbiAgICAgIHpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICByZWNvcmRUeXBlOiByb3V0ZTUzLlJlY29yZFR5cGUuQSxcbiAgICB9KTtcblxuICAgIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgICBuZXcgQ2xhaWRvbWV0ZXIodGhpcywgJ0NsYWlkb21ldGVyJywge1xuICAgICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGZlYXR1cmUsXG4gICAgICB2ZXJzaW9uOiAnMC4wLjEnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQvcmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUFzRDtBQUN0RCwwREFBMEQ7QUFDMUQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUM5RCwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELDJEQUEyRDtBQUMzRCx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBQ3ZDLDhEQUEyRTtBQUMzRSxnRUFBMkQ7QUFpQzNELE1BQU0sdUJBQXVCLEdBQUcsOENBQThDLENBQUM7QUFDL0Usd0ZBQXdGO0FBQzNFLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFLENBQUM7cUJBQ3BELHVCQUF1QjtxQkFDdkIsdUJBQXVCO2tCQUMxQix1QkFBdUI7aUJBQ3hCLHVCQUF1Qjs7b0JBRXBCLHVCQUF1Qjs7VUFFakMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTttQkFDbkQsdUJBQXVCOztxQkFFckIsdUJBQXVCO3lCQUNuQix1QkFBdUI7MEJBQ3RCLHVCQUF1QjtRQUN6QztLQUNMLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO0tBQzFCLElBQUksRUFBRSxDQUFDO0FBRVY7Ozs7R0FJRztBQUNILE1BQWEseUJBQTBCLFNBQVEsc0JBQVM7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQzs7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFVBQVUsU0FBRyxLQUFLLENBQUMsVUFBVSxtQ0FBSSxpQ0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FB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O29CQUNFLFVBQVUsRUFBRSxHQUFHO29CQUNmLGtCQUFrQixFQUFFLEdBQUc7b0JBQ3ZCLGdCQUFnQixFQUFFLGFBQWE7b0JBQy9CLEdBQUcsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ3pCO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUN2QyxVQUFVLEVBQUUsU0FBUztZQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEYsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25FLElBQUksNkJBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ25DLE9BQU8sRUFBRSxvQ0FBa0IsQ0FBQyxnQkFBZ0I7WUFDNUMsV0FBVztZQUNYLE9BQU87WUFDUCxPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQTlISCw4REErSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24sIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vLi4vLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uUHJvcHMge1xuICAvKipcbiAgICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBTMyBidWNrZXQgY29udGFpbmluZyB0aGUgZmlsZXMgdG8gc2VydmVcbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudEJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgc3ViZG9tYWluIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzZXJ2ZWQuIElmIG5vdCBnaXZlbiwgYW4gZW1wdHkgc3RyaW5nLCBpLmUuIG5vIHN1YkRvbWFpbiB3aWxsIGJlIHVzZWQuXG4gICAgICogSW5zdGVhZCwgdGhlIG5hbWUgb2YgdGhlIGhvc3RlZCB6b25lIHdpbGwgYmUgdXNlZCBkaXJlY3RseS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgc3ViRG9tYWluPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBob3N0ZWQgem9uZSBvZiB0aGUgZG9tYWluIHVuZGVyIHdoaWNoIHRoZSBjb250ZW50IHdpbGwgYmUgc2VydmVkLiBJZiBub3QgZ2l2ZW4sIHRoZSBkZWZhdWx0IGhvc3RlZCBab25lXG4gICAgICogcHJvdmlkZWQgYnkgUklPIHNldHVwIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZT86IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAgICogVGhlIGNvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRvIGJlIHNlbnQgYXMgYSBoZWFkZXIgd2hlbiBkZWxpdmVyaW5nIHRoZSBidWNrZXQgY29udGVudC5cbiAgICAgKiBJZiBub3Qgc2V0LCBhIHJpbyBEZWZhdWx0IHdpbGwgYmUgdXNlZC4gVGhlIGRlZmF1bHQgc2hvdWxkIGNvdmVyIGNvbm5lY3Rpb25zIHRvIHNwbGl0LmlvLCBzZW50cnkgYW5kIGRhdGFkb2csXG4gICAgICogYXMgd2VsbCBhcyBhIGhhc2ggdG8gc3VwcG9ydCBnb29nbGUgdGFnTWFuZ2VyLiBUaGUgbGF0dGVyIG1pZ2h0IG5lZWQgdG8gYmUgYWRhcHRlZCBpZiB5b3UgY2hhbmdlIHRoZSBtaW5pZmljYXRpb24gb2ZcbiAgICAgKiB0aGUgaW5kZXguaHRtbCwgaW4gd2hpY2ggY2FzZSB5b3UgY2FuIHByb3ZpZGUgeW91ciBjc3AgaGVyZS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBhbHdheXNBbGxvd2VkQ1NQU291cmNlcyA9IFwiJ3NlbGYnIGh0dHBzOi8vKi5yaW8uY2xvdWQgaHR0cHM6Ly9yaW8uY2xvdWRcIjtcbi8vIFRoZSBoYXNoIGluIHNjcmlwdCBzcmMgaXMgZm9yIHRoZSBnb29nbGUgdGFnTWFuYWdlciBzY3JpcHQgaW5jbHVkZWQgaW4gdGhlIGluZGV4Lmh0bWxcbmV4cG9ydCBjb25zdCBjcmVhdGVSaW9EZWZhdWx0Q1NQID0gKGFkZGl0aW9uYWxTY3JpcHRTb3VyY2VzPzogc3RyaW5nKSA9PiBgXG4gICAgICAgZGVmYXVsdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgY29ubmVjdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gaHR0cHM6Ly8qLnNlbnRyeS5pbyBodHRwczovL3Nkay5zcGxpdC5pbyBodHRwczovLyouZGF0YWRvZ2hxLmV1IGh0dHBzOi8vKi5icm93c2VyLWludGFrZS1kYXRhZG9naHEuZXU7XG4gICAgICAgZm9udC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gZGF0YTo7XG4gICAgICAgaW1nLXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSB3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20gZGF0YTo7XG4gICAgICAgb2JqZWN0LXNyYyAnbm9uZSc7XG4gICAgICAgc2NyaXB0LXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbVxuICAgICAgICAnc2hhMjU2LUhEV0FnZlRlTUFndVQ4d0Z3Nys5Mlk3aTRFby82UlVRUXVBM1RXOUp4YkE9J1xuICAgICAgICAke2FkZGl0aW9uYWxTY3JpcHRTb3VyY2VzID8gJyAnICsgYWRkaXRpb25hbFNjcmlwdFNvdXJjZXMgOiAnJ307XG4gICAgICAgc3R5bGUtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9ICd1bnNhZmUtaW5saW5lJztcbiAgICAgICBiYXNlLXVyaSAnc2VsZic7XG4gICAgICAgZm9ybS1hY3Rpb24gJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgZnJhbWUtYW5jZXN0b3JzICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9O1xuICAgICAgIGZyYW1lLXNyYyAnc2VsZicgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgYFxuICAucmVwbGFjZSgvW1xcclxcblxcc10rL2csICcgJylcbiAgLnRyaW0oKTtcblxuLyoqXG4gKiBBIENvbnN0cnVjdCB3aGljaCBjcmVhdGVzIGEgZGVmYXVsdCBjbG91ZGZyb250IGRpc3RyaWJ1dGlvbiB1c2luZyBhIHMzIGJ1Y2tldCBhcyBvcmlnaW4uXG4gKiBJbnRlbmRlZCBmb3IgZGVsaXZlcnkgb2YgaHRtbCBkb2N1bWVudHMuIEl0IHNldHMgc29tZSBkZWZhdWx0cyBhIHJlY29tbWVuZGVkIGJ5IEFXUyBhbmQgcHJvdmlkZXMgYmFzaWMgc2VjdXJpdHkgaGVhZGVyLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb24gZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvQ2xvdWRmcm9udERpc3RyaWJ1dGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGhvc3RlZFpvbmUgPSBwcm9wcy5ob3N0ZWRab25lID8/IFJpb0xhbmRpbmdab25lLmdldERlZmF1bHRIb3N0ZWRab25lKHRoaXMpO1xuICAgIGNvbnN0IHN1YkRvbWFpbiA9IHByb3BzLnN1YkRvbWFpbiA/PyAnJztcbiAgICBjb25zdCBkb21haW5OYW1lID0gcHJvcHMuc3ViRG9tYWluID09PSB1bmRlZmluZWQgPyBob3N0ZWRab25lLnpvbmVOYW1lIDogc3ViRG9tYWluICsgJy4nICsgaG9zdGVkWm9uZS56b25lTmFtZTtcblxuICAgIGNvbnN0IGRlZmF1bHRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBjcmVhdGVSaW9EZWZhdWx0Q1NQKCk7XG4gICAgY29uc3QgY29udGVudFNlY3VyaXR5UG9saWN5ID0gcHJvcHMuY29udGVudFNlY3VyaXR5UG9saWN5ID8/IGRlZmF1bHRDb250ZW50U2VjdXJpdHlQb2xpY3k7XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBhY20uRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nsb3VkZnJvbnREaXN0cmlidXRpb25DZXJ0aWZpY2F0ZScsIHtcbiAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbk5hbWUsXG4gICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lLFxuICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IG9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkodGhpcywgJ09yaWdpbkFjY2Vzc0lkZW50aXR5Jywge1xuICAgICAgY29tbWVudDogYEFjY2Vzc0lkZW50aXR5IGZvciAke2RvbWFpbk5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ0Zyb250RW5kQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuY29udGVudEJ1Y2tldE5hbWUsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0V4cGlyZXNPYmplY3RzJyxcbiAgICAgICAgICBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDkwKSxcbiAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoMzApLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBjb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkTWV0aG9kczogW3MzLkh0dHBNZXRob2RzLkdFVF0sXG4gICAgICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgICAgICAgIGFsbG93ZWRIZWFkZXJzOiBbJyonXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYnVja2V0LmdyYW50UmVhZChcbiAgICAgIG5ldyBpYW0uQ2Fub25pY2FsVXNlclByaW5jaXBhbChvcmlnaW5BY2Nlc3NJZGVudGl0eS5jbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlTM0Nhbm9uaWNhbFVzZXJJZCksXG4gICAgICAnKicsXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9IG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCAnUmVzcG9uc2VIZWFkZXJzUG9saWN5Jywge1xuICAgICAgY29tbWVudDogJ1BvbGljeSBmb3IgQ2xvdWRGcm9udCByZXNwb25zZXMnLFxuICAgICAgY29yc0JlaGF2aW9yOiB7XG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd0NyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICAgICAgYWNjZXNzQ29udHJvbEFsbG93SGVhZGVyczogWycqJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd01ldGhvZHM6IFsnR0VUJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd09yaWdpbnM6IFtob3N0ZWRab25lLnpvbmVOYW1lXSxcbiAgICAgICAgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb24uc2Vjb25kcyg2MDApLFxuICAgICAgICBvcmlnaW5PdmVycmlkZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjoge1xuICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IGNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudFR5cGVPcHRpb25zOiB7IG92ZXJyaWRlOiB0cnVlIH0sXG4gICAgICAgIGZyYW1lT3B0aW9uczogeyBmcmFtZU9wdGlvbjogY2xvdWRmcm9udC5IZWFkZXJzRnJhbWVPcHRpb24uREVOWSwgb3ZlcnJpZGU6IHRydWUgfSxcbiAgICAgICAgcmVmZXJyZXJQb2xpY3k6IHtcbiAgICAgICAgICByZWZlcnJlclBvbGljeTogY2xvdWRmcm9udC5IZWFkZXJzUmVmZXJyZXJQb2xpY3kuU1RSSUNUX09SSUdJTl9XSEVOX0NST1NTX09SSUdJTixcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk6IHtcbiAgICAgICAgICBhY2Nlc3NDb250cm9sTWF4QWdlOiBEdXJhdGlvbi5kYXlzKDM2NSksXG4gICAgICAgICAgaW5jbHVkZVN1YmRvbWFpbnM6IHRydWUsXG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHhzc1Byb3RlY3Rpb246IHtcbiAgICAgICAgICBwcm90ZWN0aW9uOiB0cnVlLFxuICAgICAgICAgIG1vZGVCbG9jazogdHJ1ZSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBkaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24odGhpcywgJ0Rpc3RyaWJ1dGlvbicsIHtcbiAgICAgIGRlZmF1bHRCZWhhdmlvcjoge1xuICAgICAgICBvcmlnaW46IG5ldyBvcmlnaW5zLlMzT3JpZ2luKGJ1Y2tldCksXG4gICAgICAgIG9yaWdpblJlcXVlc3RQb2xpY3k6IGNsb3VkZnJvbnQuT3JpZ2luUmVxdWVzdFBvbGljeS5DT1JTX1MzX09SSUdJTixcbiAgICAgICAgdmlld2VyUHJvdG9jb2xQb2xpY3k6IGNsb3VkZnJvbnQuVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAgIGNhY2hlUG9saWN5OiBjbG91ZGZyb250LkNhY2hlUG9saWN5LkNBQ0hJTkdfT1BUSU1JWkVELFxuICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3k6IHJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbiAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICB9LFxuICAgICAgZG9tYWluTmFtZXM6IFtkb21haW5OYW1lXSxcbiAgICAgIHByaWNlQ2xhc3M6IGNsb3VkZnJvbnQuUHJpY2VDbGFzcy5QUklDRV9DTEFTU18xMDAsXG4gICAgICBjZXJ0aWZpY2F0ZTogY2VydGlmaWNhdGUsXG4gICAgICBkZWZhdWx0Um9vdE9iamVjdDogJ2luZGV4Lmh0bWwnLFxuICAgICAgbWluaW11bVByb3RvY29sVmVyc2lvbjogY2xvdWRmcm9udC5TZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMTgsXG4gICAgICBlcnJvclJlc3BvbnNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgaHR0cFN0YXR1czogNDA0LFxuICAgICAgICAgIHJlc3BvbnNlSHR0cFN0YXR1czogMjAwLFxuICAgICAgICAgIHJlc3BvbnNlUGFnZVBhdGg6ICcvaW5kZXguaHRtbCcsXG4gICAgICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaHR0cFN0YXR1czogNDAzLFxuICAgICAgICAgIHJlc3BvbnNlSHR0cFN0YXR1czogMjAwLFxuICAgICAgICAgIHJlc3BvbnNlUGFnZVBhdGg6ICcvaW5kZXguaHRtbCcsXG4gICAgICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIG5ldyByb3V0ZTUzLlJlY29yZFNldCh0aGlzLCAnUmVjb3JkU2V0Jywge1xuICAgICAgcmVjb3JkTmFtZTogc3ViRG9tYWluLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQ2xvdWRGcm9udFRhcmdldChkaXN0cmlidXRpb24pKSxcbiAgICAgIHpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICByZWNvcmRUeXBlOiByb3V0ZTUzLlJlY29yZFR5cGUuQSxcbiAgICB9KTtcblxuICAgIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgICBuZXcgQ2xhaWRvbWV0ZXIodGhpcywgJ0NsYWlkb21ldGVyJywge1xuICAgICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGZlYXR1cmUsXG4gICAgICB2ZXJzaW9uOiAnMC4wLjInLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import * as codebuild from 'aws-cdk-lib/aws-codebuild';
2
2
  import * as pipelines from 'aws-cdk-lib/pipelines';
3
3
  import { Construct } from 'constructs';
4
- export interface RioGradleCodeBuildProjectProps {
4
+ export interface RioCodeBuildProjectProps {
5
5
  input: pipelines.IFileSetProducer;
6
6
  cdkOutDirectory?: string;
7
7
  partialBuildSpec: codebuild.BuildSpec;
@@ -10,6 +10,6 @@ export interface RioGradleCodeBuildProjectProps {
10
10
  hostedZoneName: string;
11
11
  env?: Record<string, string>;
12
12
  }
13
- export declare class RioGradleCodeBuildProject extends pipelines.CodeBuildStep {
14
- constructor(scope: Construct, id: string, props: RioGradleCodeBuildProjectProps);
13
+ export declare class RioCodeBuildProject extends pipelines.CodeBuildStep {
14
+ constructor(scope: Construct, id: string, props: RioCodeBuildProjectProps);
15
15
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RioGradleCodeBuildProject = void 0;
3
+ exports.RioCodeBuildProject = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
5
  const codebuild = require("aws-cdk-lib/aws-codebuild");
6
6
  const pipelines = require("aws-cdk-lib/pipelines");
7
- class RioGradleCodeBuildProject extends pipelines.CodeBuildStep {
7
+ class RioCodeBuildProject extends pipelines.CodeBuildStep {
8
8
  constructor(scope, id, props) {
9
9
  var _a, _b, _c, _d, _e, _f;
10
10
  super(id, {
@@ -28,5 +28,5 @@ class RioGradleCodeBuildProject extends pipelines.CodeBuildStep {
28
28
  });
29
29
  }
30
30
  }
31
- exports.RioGradleCodeBuildProject = RioGradleCodeBuildProject;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZS9idWlsZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUNwQyx1REFBdUQ7QUFDdkQsbURBQW1EO0FBYW5ELE1BQWEseUJBQTBCLFNBQVEsU0FBUyxDQUFDLGFBQWE7SUFDcEUsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQzs7UUFDN0UsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUU7Z0JBQ2hCLFVBQVUsRUFBRSxPQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxnQkFBZ0IsMENBQUUsVUFBVSxLQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCO2dCQUM3RixXQUFXLEVBQUUsT0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVcsS0FBSSxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQ2hGLG9CQUFvQixFQUFFO29CQUNwQixjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUNsRCxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRTtvQkFDMUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUU7b0JBQzVDLFNBQUcsS0FBSyxDQUFDLGdCQUFnQiwwQ0FBRSxvQkFBb0I7aUJBQ2hEO2dCQUNELFVBQVUsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFVBQVU7Z0JBQy9DLFdBQVcsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVc7YUFDbEQ7WUFDRCxzQkFBc0IsUUFBRSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxJQUFJO1lBQ3JELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztTQUNmLENBQ0EsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZCRCw4REF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvZGVidWlsZCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmlvR3JhZGxlQ29kZUJ1aWxkUHJvamVjdFByb3BzIHtcbiAgaW5wdXQ6IHBpcGVsaW5lcy5JRmlsZVNldFByb2R1Y2VyO1xuICBjZGtPdXREaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIHBhcnRpYWxCdWlsZFNwZWM6IGNvZGVidWlsZC5CdWlsZFNwZWM7XG4gIGJ1aWxkRW52aXJvbm1lbnQ/OiBjb2RlYnVpbGQuQnVpbGRFbnZpcm9ubWVudDtcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgaG9zdGVkWm9uZU5hbWU6IHN0cmluZztcbiAgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGNsYXNzIFJpb0dyYWRsZUNvZGVCdWlsZFByb2plY3QgZXh0ZW5kcyBwaXBlbGluZXMuQ29kZUJ1aWxkU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9HcmFkbGVDb2RlQnVpbGRQcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihpZCwge1xuICAgICAgaW5wdXQ6IHByb3BzLmlucHV0LFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogcHJvcHMucGFydGlhbEJ1aWxkU3BlYyxcbiAgICAgIGNvbW1hbmRzOiBbXSxcbiAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgYnVpbGRJbWFnZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmJ1aWxkSW1hZ2UgfHwgY29kZWJ1aWxkLkxpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80LFxuICAgICAgICBjb21wdXRlVHlwZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNvbXB1dGVUeXBlIHx8IGNvZGVidWlsZC5Db21wdXRlVHlwZS5MQVJHRSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHtcbiAgICAgICAgICBBV1NfQUNDT1VOVF9JRDogeyB2YWx1ZTogU3RhY2sub2Yoc2NvcGUpLmFjY291bnQgfSxcbiAgICAgICAgICBTRVJWSUNFX05BTUU6IHsgdmFsdWU6IHByb3BzLnNlcnZpY2VOYW1lIH0sXG4gICAgICAgICAgSE9TVEVEX1pPTkU6IHsgdmFsdWU6IHByb3BzLmhvc3RlZFpvbmVOYW1lIH0sXG4gICAgICAgICAgLi4ucHJvcHMuYnVpbGRFbnZpcm9ubWVudD8uZW52aXJvbm1lbnRWYXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICAgIHByaXZpbGVnZWQ6IHByb3BzPy5idWlsZEVudmlyb25tZW50Py5wcml2aWxlZ2VkLFxuICAgICAgICBjZXJ0aWZpY2F0ZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNlcnRpZmljYXRlLFxuICAgICAgfSxcbiAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IHByb3BzLmNka091dERpcmVjdG9yeSA/PyAnLi8nLFxuICAgICAgZW52OiBwcm9wcy5lbnYsXG4gICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
31
+ exports.RioCodeBuildProject = RioCodeBuildProject;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZS9idWlsZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUNwQyx1REFBdUQ7QUFDdkQsbURBQW1EO0FBYW5ELE1BQWEsbUJBQW9CLFNBQVEsU0FBUyxDQUFDLGFBQWE7SUFDOUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjs7UUFDdkUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUU7Z0JBQ2hCLFVBQVUsRUFBRSxPQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxnQkFBZ0IsMENBQUUsVUFBVSxLQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCO2dCQUM3RixXQUFXLEVBQUUsT0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVcsS0FBSSxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQ2hGLG9CQUFvQixFQUFFO29CQUNwQixjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUNsRCxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRTtvQkFDMUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUU7b0JBQzVDLFNBQUcsS0FBSyxDQUFDLGdCQUFnQiwwQ0FBRSxvQkFBb0I7aUJBQ2hEO2dCQUNELFVBQVUsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFVBQVU7Z0JBQy9DLFdBQVcsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVc7YUFDbEQ7WUFDRCxzQkFBc0IsUUFBRSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxJQUFJO1lBQ3JELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztTQUNmLENBQ0EsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZCRCxrREF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvZGVidWlsZCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmlvQ29kZUJ1aWxkUHJvamVjdFByb3BzIHtcbiAgaW5wdXQ6IHBpcGVsaW5lcy5JRmlsZVNldFByb2R1Y2VyO1xuICBjZGtPdXREaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIHBhcnRpYWxCdWlsZFNwZWM6IGNvZGVidWlsZC5CdWlsZFNwZWM7XG4gIGJ1aWxkRW52aXJvbm1lbnQ/OiBjb2RlYnVpbGQuQnVpbGRFbnZpcm9ubWVudDtcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgaG9zdGVkWm9uZU5hbWU6IHN0cmluZztcbiAgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGNsYXNzIFJpb0NvZGVCdWlsZFByb2plY3QgZXh0ZW5kcyBwaXBlbGluZXMuQ29kZUJ1aWxkU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9Db2RlQnVpbGRQcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihpZCwge1xuICAgICAgaW5wdXQ6IHByb3BzLmlucHV0LFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogcHJvcHMucGFydGlhbEJ1aWxkU3BlYyxcbiAgICAgIGNvbW1hbmRzOiBbXSxcbiAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgYnVpbGRJbWFnZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmJ1aWxkSW1hZ2UgfHwgY29kZWJ1aWxkLkxpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80LFxuICAgICAgICBjb21wdXRlVHlwZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNvbXB1dGVUeXBlIHx8IGNvZGVidWlsZC5Db21wdXRlVHlwZS5MQVJHRSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHtcbiAgICAgICAgICBBV1NfQUNDT1VOVF9JRDogeyB2YWx1ZTogU3RhY2sub2Yoc2NvcGUpLmFjY291bnQgfSxcbiAgICAgICAgICBTRVJWSUNFX05BTUU6IHsgdmFsdWU6IHByb3BzLnNlcnZpY2VOYW1lIH0sXG4gICAgICAgICAgSE9TVEVEX1pPTkU6IHsgdmFsdWU6IHByb3BzLmhvc3RlZFpvbmVOYW1lIH0sXG4gICAgICAgICAgLi4ucHJvcHMuYnVpbGRFbnZpcm9ubWVudD8uZW52aXJvbm1lbnRWYXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICAgIHByaXZpbGVnZWQ6IHByb3BzPy5idWlsZEVudmlyb25tZW50Py5wcml2aWxlZ2VkLFxuICAgICAgICBjZXJ0aWZpY2F0ZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNlcnRpZmljYXRlLFxuICAgICAgfSxcbiAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IHByb3BzLmNka091dERpcmVjdG9yeSA/PyAnLi8nLFxuICAgICAgZW52OiBwcm9wcy5lbnYsXG4gICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -22,7 +22,7 @@ phases:
22
22
  - set -u; aws s3 cp licenses/licenses.txt s3://${LICENSE_BUCKET_NAME}/reports/${ACCOUNT_NAME}/${SERVICE_NAME}.txt
23
23
 
24
24
  # SELF CERT SIGNING
25
- - keytool -genkey -alias InternalServiceCertificate -keyalg RSA -keystore containerfiles/service-keystore.p12 -validity 3650 -storetype PKCS12 -dname "CN=internal.service.${SERVICE_NAME}.${HOSTED_ZONE_NAME}, OU=Logistics, O=Rio, L=Munich, ST=BY, C=DE" -keypass ${SERVICE_KEYSTORE_PASSWORD} -storepass ${SERVICE_KEYSTORE_PASSWORD}
25
+ - set -u; keytool -genkey -alias InternalServiceCertificate -keyalg RSA -keystore containerfiles/service-keystore.p12 -validity 3650 -storetype PKCS12 -dname "CN=internal.service.${SERVICE_NAME}.${HOSTED_ZONE}, OU=Logistics, O=Rio, L=Munich, ST=BY, C=DE" -keypass ${SERVICE_KEYSTORE_PASSWORD} -storepass ${SERVICE_KEYSTORE_PASSWORD}
26
26
 
27
27
  # DOCKER IMAGE BUILD
28
28
  - ./gradlew jibBuildTar --quiet
@@ -0,0 +1,14 @@
1
+ version: '0.2'
2
+ phases:
3
+ install:
4
+ runtime-versions:
5
+ nodejs: 16
6
+ build:
7
+ commands:
8
+ - cd infrastructure
9
+ - npm ci
10
+ - npm run cdk synth 1> /dev/null
11
+ - cd ..
12
+ cache:
13
+ paths:
14
+ - /root/.cache/**/*
@@ -23,12 +23,12 @@ phases:
23
23
  - set -u; aws s3 cp licenses/licenses.txt s3://${LICENSE_BUCKET_NAME}/reports/${ACCOUNT_NAME}/${SERVICE_NAME}.txt
24
24
 
25
25
  # SELF CERT SIGNING
26
- - keytool -genkey -alias InternalServiceCertificate -keyalg RSA -keystore containerfiles/service-keystore.p12 -validity 3650 -storetype PKCS12 -dname "CN=internal.service.${SERVICE_NAME}.${HOSTED_ZONE_NAME}, OU=Logistics, O=Rio, L=Munich, ST=BY, C=DE" -keypass ${SERVICE_KEYSTORE_PASSWORD} -storepass ${SERVICE_KEYSTORE_PASSWORD}
26
+ - set -u; keytool -genkey -alias InternalServiceCertificate -keyalg RSA -keystore containerfiles/service-keystore.p12 -validity 3650 -storetype PKCS12 -dname "CN=internal.service.${SERVICE_NAME}.${HOSTED_ZONE}, OU=Logistics, O=Rio, L=Munich, ST=BY, C=DE" -keypass ${SERVICE_KEYSTORE_PASSWORD} -storepass ${SERVICE_KEYSTORE_PASSWORD}
27
27
 
28
28
  # KAFKA CERT
29
- - aws s3 cp --quiet s3://${CREATE_AND_SIGN_CERTIFICATE_SCRIPT_S3_LOCATION} create-and-sign-certificate
29
+ - set -u; aws s3 cp --quiet s3://${CREATE_AND_SIGN_CERTIFICATE_SCRIPT_S3_LOCATION} create-and-sign-certificate
30
30
  - chmod +x create-and-sign-certificate
31
- - ./create-and-sign-certificate --keystore-password ${SERVICE_KEYSTORE_PASSWORD} --fqdn ${SERVICE_NAME}.${HOSTED_ZONE_NAME}
31
+ - set -u; ./create-and-sign-certificate --keystore-password ${SERVICE_KEYSTORE_PASSWORD} --fqdn ${SERVICE_NAME}.${HOSTED_ZONE}
32
32
  - cp /cert/certificate.p12 containerfiles/kafka-keystore.p12
33
33
 
34
34
  # DOCKER IMAGE BUILD
@@ -2,7 +2,7 @@ import { Stack, StackProps } from 'aws-cdk-lib';
2
2
  import { BuildEnvironment } from 'aws-cdk-lib/aws-codebuild';
3
3
  import { Construct } from 'constructs';
4
4
  /**
5
- * @struct
5
+ * @struct
6
6
  */
7
7
  export interface PipelineStackProps extends StackProps {
8
8
  /**
@@ -51,7 +51,7 @@ export interface PipelineStackProps extends StackProps {
51
51
  * class PipelineStage extends Stage implements IAppStackFactory {
52
52
  * constructor(scope: Construct, id: string, props: StageProps) {
53
53
  * super(scope, id, props);
54
- * // your stage definitiom
54
+ * // your stage definition
55
55
  * }
56
56
  *
57
57
  * create(scope: Construct, props: AppStackProps): void {
@@ -96,7 +96,28 @@ export declare enum PipelineType {
96
96
  * <p> This gradle command must be provided by the gradle project.
97
97
  */
98
98
  STANDARD_GRADLE = "STANDARD_GRADLE",
99
- STANDARD_GRADLE_KAFKA = "STANDARD_GRADLE_KAFKA"
99
+ /**
100
+ * Self-mutating codepipeline deploying the provided AppStack with additional steps needed to access Kafka.
101
+ *
102
+ * Comes with a pre-defined buildspec.yaml for a gradle project. This buildspec.yaml is used for both the main and
103
+ * branch pipeline and includes the following steps
104
+ * - build and test of the artifact via command "./gradlew clean build".
105
+ * <p> This gradle command must be provided by the gradle project.
106
+ * - license-check and upload of license-check-file via command "./gradlew checkLicenses".
107
+ * <p> This gradle command must be provided by the gradle project.
108
+ * - create a self-signed certificate to make TLS communication possible, e.g. with a loadbalancer.
109
+ * - request a certificate to authenticate against Kafka via mutual TLS
110
+ * - build the container image via command "./gradlew jibBuildTar".
111
+ * <p> This gradle command must be provided by the gradle project.
112
+ */
113
+ STANDARD_GRADLE_KAFKA = "STANDARD_GRADLE_KAFKA",
114
+ /**
115
+ * Self-mutating codepipeline deploying the provided AppStack.
116
+ *
117
+ * Comes with a pre-defined buildspec.yaml to synthesize the AppStack.
118
+ * No branch or vulnerability pipeline is created.
119
+ */
120
+ STANDARD_INFRASTRUCTURE = "STANDARD_INFRASTRUCTURE"
100
121
  }
101
122
  /**
102
123
  * @param partialBuildSpecPath Path to a custom build-spec file to use for the main and branch pipeline.
@@ -111,7 +132,19 @@ export interface CodeBuildOptions {
111
132
  }
112
133
  export declare class PipelineStack extends Stack {
113
134
  private static addLifecycleRuleArtifactBucket;
135
+ private readonly bucket;
136
+ private readonly hostedZone;
137
+ private readonly inputMasterTriggerFile;
138
+ private readonly inputBranchTriggerFile;
139
+ private readonly ossLicensesBucketParameter;
140
+ private readonly ossLicensesBucket;
141
+ private readonly serviceKeystorePassword;
142
+ private readonly accountNameParameter;
143
+ private readonly nistDataMirrorUrl;
114
144
  constructor(scope: Construct, id: string, props: PipelineStackProps);
145
+ private addMainPipeline;
146
+ private addBranchPipeline;
147
+ private addVulnerabilityPipeline;
115
148
  private resolveDefaultBuildSpec;
116
149
  private grantPermissionsForKafkaIntegration;
117
150
  private loadBuildSpecFromFile;