@jjrawlins/cdk-deploy-pr-github-action 0.0.3 → 0.0.5
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 +43 -24
- package/API.md +16 -0
- package/cdkdeployprgithubaction/DeployStageOptions.go +6 -0
- package/cdkdeployprgithubaction/jsii/jsii.go +2 -2
- package/cdkdeployprgithubaction/version +1 -1
- package/lib/CdkDeployDispatchWorkflow.js +1 -1
- package/lib/CdkDeployPipeline.js +19 -4
- package/lib/types.d.ts +9 -0
- package/lib/types.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -3663,7 +3663,7 @@
|
|
|
3663
3663
|
"kind": "interface",
|
|
3664
3664
|
"locationInModule": {
|
|
3665
3665
|
"filename": "src/types.ts",
|
|
3666
|
-
"line":
|
|
3666
|
+
"line": 68
|
|
3667
3667
|
},
|
|
3668
3668
|
"name": "CdkDeployPipelineOptions",
|
|
3669
3669
|
"properties": [
|
|
@@ -3676,7 +3676,7 @@
|
|
|
3676
3676
|
"immutable": true,
|
|
3677
3677
|
"locationInModule": {
|
|
3678
3678
|
"filename": "src/types.ts",
|
|
3679
|
-
"line":
|
|
3679
|
+
"line": 76
|
|
3680
3680
|
},
|
|
3681
3681
|
"name": "iamRoleArn",
|
|
3682
3682
|
"type": {
|
|
@@ -3692,7 +3692,7 @@
|
|
|
3692
3692
|
"immutable": true,
|
|
3693
3693
|
"locationInModule": {
|
|
3694
3694
|
"filename": "src/types.ts",
|
|
3695
|
-
"line":
|
|
3695
|
+
"line": 70
|
|
3696
3696
|
},
|
|
3697
3697
|
"name": "pkgNamespace",
|
|
3698
3698
|
"type": {
|
|
@@ -3709,7 +3709,7 @@
|
|
|
3709
3709
|
"immutable": true,
|
|
3710
3710
|
"locationInModule": {
|
|
3711
3711
|
"filename": "src/types.ts",
|
|
3712
|
-
"line":
|
|
3712
|
+
"line": 73
|
|
3713
3713
|
},
|
|
3714
3714
|
"name": "stackPrefix",
|
|
3715
3715
|
"type": {
|
|
@@ -3725,7 +3725,7 @@
|
|
|
3725
3725
|
"immutable": true,
|
|
3726
3726
|
"locationInModule": {
|
|
3727
3727
|
"filename": "src/types.ts",
|
|
3728
|
-
"line":
|
|
3728
|
+
"line": 103
|
|
3729
3729
|
},
|
|
3730
3730
|
"name": "stages",
|
|
3731
3731
|
"type": {
|
|
@@ -3747,7 +3747,7 @@
|
|
|
3747
3747
|
"immutable": true,
|
|
3748
3748
|
"locationInModule": {
|
|
3749
3749
|
"filename": "src/types.ts",
|
|
3750
|
-
"line":
|
|
3750
|
+
"line": 121
|
|
3751
3751
|
},
|
|
3752
3752
|
"name": "branchName",
|
|
3753
3753
|
"optional": true,
|
|
@@ -3765,7 +3765,7 @@
|
|
|
3765
3765
|
"immutable": true,
|
|
3766
3766
|
"locationInModule": {
|
|
3767
3767
|
"filename": "src/types.ts",
|
|
3768
|
-
"line":
|
|
3768
|
+
"line": 94
|
|
3769
3769
|
},
|
|
3770
3770
|
"name": "cdkCommand",
|
|
3771
3771
|
"optional": true,
|
|
@@ -3783,7 +3783,7 @@
|
|
|
3783
3783
|
"immutable": true,
|
|
3784
3784
|
"locationInModule": {
|
|
3785
3785
|
"filename": "src/types.ts",
|
|
3786
|
-
"line":
|
|
3786
|
+
"line": 82
|
|
3787
3787
|
},
|
|
3788
3788
|
"name": "iamRoleRegion",
|
|
3789
3789
|
"optional": true,
|
|
@@ -3801,7 +3801,7 @@
|
|
|
3801
3801
|
"immutable": true,
|
|
3802
3802
|
"locationInModule": {
|
|
3803
3803
|
"filename": "src/types.ts",
|
|
3804
|
-
"line":
|
|
3804
|
+
"line": 100
|
|
3805
3805
|
},
|
|
3806
3806
|
"name": "installCommand",
|
|
3807
3807
|
"optional": true,
|
|
@@ -3819,7 +3819,7 @@
|
|
|
3819
3819
|
"immutable": true,
|
|
3820
3820
|
"locationInModule": {
|
|
3821
3821
|
"filename": "src/types.ts",
|
|
3822
|
-
"line":
|
|
3822
|
+
"line": 109
|
|
3823
3823
|
},
|
|
3824
3824
|
"name": "manualDeployment",
|
|
3825
3825
|
"optional": true,
|
|
@@ -3837,7 +3837,7 @@
|
|
|
3837
3837
|
"immutable": true,
|
|
3838
3838
|
"locationInModule": {
|
|
3839
3839
|
"filename": "src/types.ts",
|
|
3840
|
-
"line":
|
|
3840
|
+
"line": 88
|
|
3841
3841
|
},
|
|
3842
3842
|
"name": "nodeVersion",
|
|
3843
3843
|
"optional": true,
|
|
@@ -3855,7 +3855,7 @@
|
|
|
3855
3855
|
"immutable": true,
|
|
3856
3856
|
"locationInModule": {
|
|
3857
3857
|
"filename": "src/types.ts",
|
|
3858
|
-
"line":
|
|
3858
|
+
"line": 115
|
|
3859
3859
|
},
|
|
3860
3860
|
"name": "useGithubPackagesForAssembly",
|
|
3861
3861
|
"optional": true,
|
|
@@ -3878,7 +3878,7 @@
|
|
|
3878
3878
|
"kind": "interface",
|
|
3879
3879
|
"locationInModule": {
|
|
3880
3880
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3881
|
-
"line":
|
|
3881
|
+
"line": 333
|
|
3882
3882
|
},
|
|
3883
3883
|
"name": "DeployDispatchInternalOptions",
|
|
3884
3884
|
"properties": [
|
|
@@ -3890,7 +3890,7 @@
|
|
|
3890
3890
|
"immutable": true,
|
|
3891
3891
|
"locationInModule": {
|
|
3892
3892
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3893
|
-
"line":
|
|
3893
|
+
"line": 336
|
|
3894
3894
|
},
|
|
3895
3895
|
"name": "appName",
|
|
3896
3896
|
"type": {
|
|
@@ -3905,7 +3905,7 @@
|
|
|
3905
3905
|
"immutable": true,
|
|
3906
3906
|
"locationInModule": {
|
|
3907
3907
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3908
|
-
"line":
|
|
3908
|
+
"line": 341
|
|
3909
3909
|
},
|
|
3910
3910
|
"name": "cdkCommand",
|
|
3911
3911
|
"type": {
|
|
@@ -3920,7 +3920,7 @@
|
|
|
3920
3920
|
"immutable": true,
|
|
3921
3921
|
"locationInModule": {
|
|
3922
3922
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3923
|
-
"line":
|
|
3923
|
+
"line": 338
|
|
3924
3924
|
},
|
|
3925
3925
|
"name": "iamRoleArn",
|
|
3926
3926
|
"type": {
|
|
@@ -3935,7 +3935,7 @@
|
|
|
3935
3935
|
"immutable": true,
|
|
3936
3936
|
"locationInModule": {
|
|
3937
3937
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3938
|
-
"line":
|
|
3938
|
+
"line": 339
|
|
3939
3939
|
},
|
|
3940
3940
|
"name": "iamRoleRegion",
|
|
3941
3941
|
"type": {
|
|
@@ -3950,7 +3950,7 @@
|
|
|
3950
3950
|
"immutable": true,
|
|
3951
3951
|
"locationInModule": {
|
|
3952
3952
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3953
|
-
"line":
|
|
3953
|
+
"line": 342
|
|
3954
3954
|
},
|
|
3955
3955
|
"name": "installCommand",
|
|
3956
3956
|
"type": {
|
|
@@ -3965,7 +3965,7 @@
|
|
|
3965
3965
|
"immutable": true,
|
|
3966
3966
|
"locationInModule": {
|
|
3967
3967
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3968
|
-
"line":
|
|
3968
|
+
"line": 340
|
|
3969
3969
|
},
|
|
3970
3970
|
"name": "nodeVersion",
|
|
3971
3971
|
"type": {
|
|
@@ -3980,7 +3980,7 @@
|
|
|
3980
3980
|
"immutable": true,
|
|
3981
3981
|
"locationInModule": {
|
|
3982
3982
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3983
|
-
"line":
|
|
3983
|
+
"line": 335
|
|
3984
3984
|
},
|
|
3985
3985
|
"name": "pkgNamespace",
|
|
3986
3986
|
"type": {
|
|
@@ -3995,7 +3995,7 @@
|
|
|
3995
3995
|
"immutable": true,
|
|
3996
3996
|
"locationInModule": {
|
|
3997
3997
|
"filename": "src/CdkDeployPipeline.ts",
|
|
3998
|
-
"line":
|
|
3998
|
+
"line": 337
|
|
3999
3999
|
},
|
|
4000
4000
|
"name": "stackPrefix",
|
|
4001
4001
|
"type": {
|
|
@@ -4010,7 +4010,7 @@
|
|
|
4010
4010
|
"immutable": true,
|
|
4011
4011
|
"locationInModule": {
|
|
4012
4012
|
"filename": "src/CdkDeployPipeline.ts",
|
|
4013
|
-
"line":
|
|
4013
|
+
"line": 334
|
|
4014
4014
|
},
|
|
4015
4015
|
"name": "stages",
|
|
4016
4016
|
"type": {
|
|
@@ -4151,6 +4151,25 @@
|
|
|
4151
4151
|
"primitive": "string"
|
|
4152
4152
|
}
|
|
4153
4153
|
},
|
|
4154
|
+
{
|
|
4155
|
+
"abstract": true,
|
|
4156
|
+
"docs": {
|
|
4157
|
+
"default": "false",
|
|
4158
|
+
"remarks": "Auto-deploy stages cannot depend on manual-approval stages.",
|
|
4159
|
+
"stability": "stable",
|
|
4160
|
+
"summary": "When true, this stage is excluded from the automatic deploy.yml pipeline and can only be deployed via the deploy-dispatch.yml workflow."
|
|
4161
|
+
},
|
|
4162
|
+
"immutable": true,
|
|
4163
|
+
"locationInModule": {
|
|
4164
|
+
"filename": "src/types.ts",
|
|
4165
|
+
"line": 62
|
|
4166
|
+
},
|
|
4167
|
+
"name": "manualApproval",
|
|
4168
|
+
"optional": true,
|
|
4169
|
+
"type": {
|
|
4170
|
+
"primitive": "boolean"
|
|
4171
|
+
}
|
|
4172
|
+
},
|
|
4154
4173
|
{
|
|
4155
4174
|
"abstract": true,
|
|
4156
4175
|
"docs": {
|
|
@@ -4178,6 +4197,6 @@
|
|
|
4178
4197
|
"symbolId": "src/types:DeployStageOptions"
|
|
4179
4198
|
}
|
|
4180
4199
|
},
|
|
4181
|
-
"version": "0.0.
|
|
4182
|
-
"fingerprint": "
|
|
4200
|
+
"version": "0.0.5",
|
|
4201
|
+
"fingerprint": "h0IRP6IJsanwPaL5BWJnblVqdpBaNDzCRGE1J4t7JCM="
|
|
4183
4202
|
}
|
package/API.md
CHANGED
|
@@ -361,6 +361,7 @@ const deployStageOptions: DeployStageOptions = { ... }
|
|
|
361
361
|
| <code><a href="#@jjrawlins/cdk-deploy-pr-github-action.DeployStageOptions.property.environment">environment</a></code> | <code>string</code> | GitHub Environment name for protection rules, secrets scoping, and deployment approvals. |
|
|
362
362
|
| <code><a href="#@jjrawlins/cdk-deploy-pr-github-action.DeployStageOptions.property.iamRoleArn">iamRoleArn</a></code> | <code>string</code> | Override the default OIDC role ARN for this stage. |
|
|
363
363
|
| <code><a href="#@jjrawlins/cdk-deploy-pr-github-action.DeployStageOptions.property.iamRoleRegion">iamRoleRegion</a></code> | <code>string</code> | Override the default AWS region for OIDC credential assumption. |
|
|
364
|
+
| <code><a href="#@jjrawlins/cdk-deploy-pr-github-action.DeployStageOptions.property.manualApproval">manualApproval</a></code> | <code>boolean</code> | When true, this stage is excluded from the automatic deploy.yml pipeline and can only be deployed via the deploy-dispatch.yml workflow. |
|
|
364
365
|
| <code><a href="#@jjrawlins/cdk-deploy-pr-github-action.DeployStageOptions.property.stacks">stacks</a></code> | <code>string[]</code> | Specific CDK stack names to deploy in this stage. |
|
|
365
366
|
|
|
366
367
|
---
|
|
@@ -451,6 +452,21 @@ Override the default AWS region for OIDC credential assumption.
|
|
|
451
452
|
|
|
452
453
|
---
|
|
453
454
|
|
|
455
|
+
##### `manualApproval`<sup>Optional</sup> <a name="manualApproval" id="@jjrawlins/cdk-deploy-pr-github-action.DeployStageOptions.property.manualApproval"></a>
|
|
456
|
+
|
|
457
|
+
```typescript
|
|
458
|
+
public readonly manualApproval: boolean;
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
- *Type:* boolean
|
|
462
|
+
- *Default:* false
|
|
463
|
+
|
|
464
|
+
When true, this stage is excluded from the automatic deploy.yml pipeline and can only be deployed via the deploy-dispatch.yml workflow.
|
|
465
|
+
|
|
466
|
+
Auto-deploy stages cannot depend on manual-approval stages.
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
454
470
|
##### `stacks`<sup>Optional</sup> <a name="stacks" id="@jjrawlins/cdk-deploy-pr-github-action.DeployStageOptions.property.stacks"></a>
|
|
455
471
|
|
|
456
472
|
```typescript
|
|
@@ -29,6 +29,12 @@ type DeployStageOptions struct {
|
|
|
29
29
|
// Default: - uses the pipeline-level iamRoleRegion or the stage env.region
|
|
30
30
|
//
|
|
31
31
|
IamRoleRegion *string `field:"optional" json:"iamRoleRegion" yaml:"iamRoleRegion"`
|
|
32
|
+
// When true, this stage is excluded from the automatic deploy.yml pipeline and can only be deployed via the deploy-dispatch.yml workflow.
|
|
33
|
+
//
|
|
34
|
+
// Auto-deploy stages cannot depend on manual-approval stages.
|
|
35
|
+
// Default: false.
|
|
36
|
+
//
|
|
37
|
+
ManualApproval *bool `field:"optional" json:"manualApproval" yaml:"manualApproval"`
|
|
32
38
|
// Specific CDK stack names to deploy in this stage.
|
|
33
39
|
// Default: - ['{stackPrefix}-{stageName}'].
|
|
34
40
|
//
|
|
@@ -13,7 +13,7 @@ import (
|
|
|
13
13
|
constructs "github.com/aws/constructs-go/constructs/v10/jsii"
|
|
14
14
|
)
|
|
15
15
|
|
|
16
|
-
//go:embed jjrawlins-cdk-deploy-pr-github-action-0.0.
|
|
16
|
+
//go:embed jjrawlins-cdk-deploy-pr-github-action-0.0.4.tgz
|
|
17
17
|
var tarball []byte
|
|
18
18
|
|
|
19
19
|
// Initialize loads the necessary packages in the @jsii/kernel to support the enclosing module.
|
|
@@ -24,5 +24,5 @@ func Initialize() {
|
|
|
24
24
|
constructs.Initialize()
|
|
25
25
|
|
|
26
26
|
// Load this library into the kernel
|
|
27
|
-
_jsii_.Load("@jjrawlins/cdk-deploy-pr-github-action", "0.0.
|
|
27
|
+
_jsii_.Load("@jjrawlins/cdk-deploy-pr-github-action", "0.0.4", tarball)
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.4
|
|
@@ -113,5 +113,5 @@ class CdkDeployDispatchWorkflow {
|
|
|
113
113
|
}
|
|
114
114
|
exports.CdkDeployDispatchWorkflow = CdkDeployDispatchWorkflow;
|
|
115
115
|
_a = JSII_RTTI_SYMBOL_1;
|
|
116
|
-
CdkDeployDispatchWorkflow[_a] = { fqn: "@jjrawlins/cdk-deploy-pr-github-action.CdkDeployDispatchWorkflow", version: "0.0.
|
|
116
|
+
CdkDeployDispatchWorkflow[_a] = { fqn: "@jjrawlins/cdk-deploy-pr-github-action.CdkDeployDispatchWorkflow", version: "0.0.5" };
|
|
117
117
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRGVwbG95RGlzcGF0Y2hXb3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9DZGtEZXBsb3lEaXNwYXRjaFdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOENBQTJEO0FBQzNELHVFQUFrRTtBQUVsRSxtQ0FBc0M7QUFFdEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFFckM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLHlCQUF5QjtJQUNwQyxZQUFZLE9BQVksRUFBRSxPQUFzQztRQUM5RCxNQUFNLEVBQ0osTUFBTSxFQUNOLFlBQVksRUFDWixPQUFPLEVBQ1AsV0FBVyxFQUNYLFVBQVUsRUFDVixhQUFhLEVBQ2IsV0FBVyxFQUNYLFVBQVUsRUFDVixjQUFjLEdBQ2YsR0FBRyxPQUFPLENBQUM7UUFFWixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksZUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksdUJBQWMsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUU7WUFDekQsUUFBUSxFQUFFLHFCQUFxQjtTQUNoQyxDQUFDLENBQUM7UUFFSCx3Q0FBd0M7UUFDeEMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUNuQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMvQixDQUFDO1FBRUYsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNWLGdCQUFnQixFQUFFO2dCQUNoQixNQUFNLEVBQUU7b0JBQ04sV0FBVyxFQUFFO3dCQUNYLFdBQVcsRUFBRSxpQ0FBaUM7d0JBQzlDLFFBQVEsRUFBRSxJQUFJO3dCQUNkLElBQUksRUFBRSxRQUFR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RDt3QkFDRSxJQUFJLEVBQUUsVUFBVSxLQUFLLENBQUMsSUFBSSxFQUFFO3dCQUM1QixHQUFHLEVBQUUsYUFBYTtxQkFDbkI7aUJBQ0Y7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUVELFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7QUFoSEgsOERBaUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2l0SHViLCBHaXRodWJXb3JrZmxvdyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgRGVwbG95RGlzcGF0Y2hJbnRlcm5hbE9wdGlvbnMgfSBmcm9tICcuL0Nka0RlcGxveVBpcGVsaW5lJztcbmltcG9ydCB7IHRvS2ViYWJDYXNlIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IENIRUNLT1VUX1ZFUlNJT04gPSAndjUnO1xuY29uc3QgU0VUVVBfTk9ERV9WRVJTSU9OID0gJ3Y1JztcbmNvbnN0IEFXU19DUkVERU5USUFMU19WRVJTSU9OID0gJ3Y1JztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSB3b3JrZmxvd19kaXNwYXRjaCB3b3JrZmxvdyBmb3IgbWFudWFsIENESyBkZXBsb3ltZW50cyBhbmQgcm9sbGJhY2tzLlxuICpcbiAqIEFsbG93cyBkZXBsb3lpbmcgYW55IHByZXZpb3VzbHkgcHVibGlzaGVkIHZlcnNpb24gb2YgdGhlIGNsb3VkIGFzc2VtYmx5XG4gKiB0byBhbnkgY29uZmlndXJlZCBlbnZpcm9ubWVudC4gVGhpcyBlbmFibGVzOlxuICogLSBNYW51YWwgcHJvbW90aW9uIGJldHdlZW4gZW52aXJvbm1lbnRzXG4gKiAtIFJvbGxiYWNrIHRvIGFueSBwcmV2aW91cyB2ZXJzaW9uXG4gKiAtIEFkLWhvYyBkZXBsb3ltZW50cyBvdXRzaWRlIHRoZSBub3JtYWwgQ0kvQ0QgZmxvd1xuICovXG5leHBvcnQgY2xhc3MgQ2RrRGVwbG95RGlzcGF0Y2hXb3JrZmxvdyB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IGFueSwgb3B0aW9uczogRGVwbG95RGlzcGF0Y2hJbnRlcm5hbE9wdGlvbnMpIHtcbiAgICBjb25zdCB7XG4gICAgICBzdGFnZXMsXG4gICAgICBwa2dOYW1lc3BhY2UsXG4gICAgICBhcHBOYW1lLFxuICAgICAgc3RhY2tQcmVmaXgsXG4gICAgICBpYW1Sb2xlQXJuLFxuICAgICAgaWFtUm9sZVJlZ2lvbixcbiAgICAgIG5vZGVWZXJzaW9uLFxuICAgICAgY2RrQ29tbWFuZCxcbiAgICAgIGluc3RhbGxDb21tYW5kLFxuICAgIH0gPSBvcHRpb25zO1xuXG4gICAgY29uc3QgZ2ggPSBwcm9qZWN0LmdpdGh1YiA/PyBuZXcgR2l0SHViKHByb2plY3QpO1xuICAgIGNvbnN0IHdvcmtmbG93ID0gbmV3IEdpdGh1YldvcmtmbG93KGdoLCAnZGVwbG95LWRpc3BhdGNoJywge1xuICAgICAgZmlsZU5hbWU6ICdkZXBsb3ktZGlzcGF0Y2gueW1sJyxcbiAgICB9KTtcblxuICAgIC8vIEJ1aWxkIGVudmlyb25tZW50IGNob2ljZXMgZnJvbSBzdGFnZXNcbiAgICBjb25zdCBlbnZpcm9ubWVudENob2ljZXMgPSBzdGFnZXMubWFwKFxuICAgICAgKHMpID0+IHMuZW52aXJvbm1lbnQgPz8gcy5uYW1lLFxuICAgICk7XG5cbiAgICB3b3JrZmxvdy5vbih7XG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7XG4gICAgICAgIGlucHV0czoge1xuICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RhcmdldCBlbnZpcm9ubWVudCB0byBkZXBsb3kgdG8nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAnY2hvaWNlJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IGVudmlyb25tZW50Q2hvaWNlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHZlcnNpb246IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQXNzZW1ibHkgdmVyc2lvbiB0byBkZXBsb3kgKGUuZy4sIDEuMy40KScsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgam9iczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBzdGFnZXMpIHtcbiAgICAgIGNvbnN0IGpvYklkID0gYGRlcGxveS0ke3RvS2ViYWJDYXNlKHN0YWdlLm5hbWUpfWA7XG4gICAgICBjb25zdCBzdGFja3MgPSBzdGFnZS5zdGFja3MgPz8gW2Ake3N0YWNrUHJlZml4fS0ke3N0YWdlLm5hbWV9YF07XG4gICAgICBjb25zdCBnaXRodWJFbnYgPSBzdGFnZS5lbnZpcm9ubWVudCA/PyBzdGFnZS5uYW1lO1xuICAgICAgY29uc3Qgcm9sZUFybiA9IHN0YWdlLmlhbVJvbGVBcm4gPz8gaWFtUm9sZUFybjtcbiAgICAgIGNvbnN0IHJvbGVSZWdpb24gPVxuICAgICAgICBzdGFnZS5pYW1Sb2xlUmVnaW9uID8/IGlhbVJvbGVSZWdpb24gPz8gc3RhZ2UuZW52LnJlZ2lvbjtcblxuICAgICAgY29uc3QgZGVwbG95Q29tbWFuZCA9IHN0YWNrc1xuICAgICAgICAubWFwKChzKSA9PiBgJHtjZGtDb21tYW5kfSBkZXBsb3kgJHtzfSAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1hcHAgY2RrLm91dGApXG4gICAgICAgIC5qb2luKCcgJiYgJyk7XG5cbiAgICAgIGpvYnNbam9iSWRdID0ge1xuICAgICAgICBuYW1lOiBgRGVwbG95ICR7c3RhZ2UubmFtZX0gKG1hbnVhbClgLFxuICAgICAgICBpZjogYGdpdGh1Yi5ldmVudC5pbnB1dHMuZW52aXJvbm1lbnQgPT0gJyR7Z2l0aHViRW52fSdgLFxuICAgICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgICBlbnZpcm9ubWVudDogZ2l0aHViRW52LFxuICAgICAgICBjb25jdXJyZW5jeToge1xuICAgICAgICAgICdncm91cCc6IGBkZXBsb3ktJHt0b0tlYmFiQ2FzZShzdGFnZS5uYW1lKX1gLFxuICAgICAgICAgICdjYW5jZWwtaW4tcHJvZ3Jlc3MnOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIHBhY2thZ2VzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgfSxcbiAgICAgICAgZW52OiB7IENJOiAndHJ1ZScgfSxcbiAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgICAgdXNlczogYGFjdGlvbnMvY2hlY2tvdXRAJHtDSEVDS09VVF9WRVJTSU9OfWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnU2V0dXAgTm9kZS5qcycsXG4gICAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9zZXR1cC1ub2RlQCR7U0VUVVBfTk9ERV9WRVJTSU9OfWAsXG4gICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICdub2RlLXZlcnNpb24nOiBub2RlVmVyc2lvbixcbiAgICAgICAgICAgICAgJ3JlZ2lzdHJ5LXVybCc6ICdodHRwczovL25wbS5wa2cuZ2l0aHViLmNvbScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0luc3RhbGwgZGVwZW5kZW5jaWVzJyxcbiAgICAgICAgICAgIHJ1bjogaW5zdGFsbENvbW1hbmQsXG4gICAgICAgICAgICBlbnY6IHsgTk9ERV9BVVRIX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JywgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0Rvd25sb2FkIHZlcnNpb25lZCBhc3NlbWJseScsXG4gICAgICAgICAgICBydW46IGBucG0gcGFjayAke3BrZ05hbWVzcGFjZX0vJHthcHBOYW1lfUBcXCR7eyBnaXRodWIuZXZlbnQuaW5wdXRzLnZlcnNpb24gfX0gJiYgdGFyIC14emYgKi50Z3ogJiYgbXYgcGFja2FnZSBjZGsub3V0YCxcbiAgICAgICAgICAgIGVudjogeyBOT0RFX0FVVEhfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLCBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQVdTIENyZWRlbnRpYWxzJyxcbiAgICAgICAgICAgIHVzZXM6IGBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQCR7QVdTX0NSRURFTlRJQUxTX1ZFUlNJT059YCxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogcm9sZUFybixcbiAgICAgICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogJ0dpdEh1YkFjdGlvbicsXG4gICAgICAgICAgICAgICdhd3MtcmVnaW9uJzogcm9sZVJlZ2lvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBgRGVwbG95ICR7c3RhZ2UubmFtZX1gLFxuICAgICAgICAgICAgcnVuOiBkZXBsb3lDb21tYW5kLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHdvcmtmbG93LmFkZEpvYnMoam9icyk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/CdkDeployPipeline.js
CHANGED
|
@@ -42,6 +42,17 @@ class CdkDeployPipeline {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
// Validate that auto-deploy stages don't depend on manual-approval stages
|
|
46
|
+
for (const stage of stages) {
|
|
47
|
+
if (!stage.manualApproval && stage.dependsOn) {
|
|
48
|
+
for (const dep of stage.dependsOn) {
|
|
49
|
+
const depStage = stages.find((s) => s.name === dep);
|
|
50
|
+
if (depStage?.manualApproval) {
|
|
51
|
+
throw new Error(`Stage '${stage.name}' depends on '${dep}', which has manualApproval enabled. Auto-deploy stages cannot depend on manual-approval stages.`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
45
56
|
(0, utils_1.validateNoCycles)(stages);
|
|
46
57
|
if (useGithubPackagesForAssembly && !pkgNamespace) {
|
|
47
58
|
throw new Error('pkgNamespace is required when useGithubPackagesForAssembly is enabled');
|
|
@@ -149,8 +160,10 @@ class CdkDeployPipeline {
|
|
|
149
160
|
}, {
|
|
150
161
|
name: 'Create assembly package',
|
|
151
162
|
run: [
|
|
152
|
-
`
|
|
153
|
-
'
|
|
163
|
+
`PKG_NAME="${pkgNamespace}/${appName}"`,
|
|
164
|
+
'LATEST=$(npm view "$PKG_NAME" version --registry=https://npm.pkg.github.com 2>/dev/null || echo "0.0.0")',
|
|
165
|
+
`echo '${JSON.stringify({ name: `${pkgNamespace}/${appName}`, publishConfig: { registry: 'https://npm.pkg.github.com' } })}' | jq --arg v "$LATEST" '. + {version: $v}' > cdk.out/package.json`,
|
|
166
|
+
'cd cdk.out && npm version --no-git-tag-version patch',
|
|
154
167
|
].join('\n'),
|
|
155
168
|
env: { NODE_AUTH_TOKEN: '${{ secrets.GITHUB_TOKEN }}', GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' },
|
|
156
169
|
}, {
|
|
@@ -173,6 +186,8 @@ class CdkDeployPipeline {
|
|
|
173
186
|
};
|
|
174
187
|
// --- Per-Stage Deploy Jobs ---
|
|
175
188
|
for (const stage of stages) {
|
|
189
|
+
if (stage.manualApproval)
|
|
190
|
+
continue;
|
|
176
191
|
const jobId = `deploy-${(0, utils_1.toKebabCase)(stage.name)}`;
|
|
177
192
|
const stacks = stage.stacks ?? [`${stackPrefix}-${stage.name}`];
|
|
178
193
|
const githubEnv = stage.environment ?? stage.name;
|
|
@@ -270,5 +285,5 @@ class CdkDeployPipeline {
|
|
|
270
285
|
}
|
|
271
286
|
exports.CdkDeployPipeline = CdkDeployPipeline;
|
|
272
287
|
_a = JSII_RTTI_SYMBOL_1;
|
|
273
|
-
CdkDeployPipeline[_a] = { fqn: "@jjrawlins/cdk-deploy-pr-github-action.CdkDeployPipeline", version: "0.0.
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRGVwbG95UGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ2RrRGVwbG95UGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBMkQ7QUFDM0QsdUVBQWtFO0FBQ2xFLDJFQUF3RTtBQUV4RSxtQ0FBd0Q7QUFFeEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFDckMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFDckMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUM7QUFFdkM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxpQkFBaUI7SUFDNUIsWUFBWSxPQUFZLEVBQUUsT0FBaUM7UUFDekQsTUFBTSxFQUNKLFlBQVksRUFDWixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsR0FBRyxXQUFXLEVBQzNCLFdBQVcsR0FBRyxNQUFNLEVBQ3BCLFVBQVUsR0FBRyxTQUFTLEVBQ3RCLGNBQWMsR0FBRyw4Q0FBOEMsRUFDL0QsTUFBTSxFQUNOLGdCQUFnQixHQUFHLElBQUksRUFDdkIsNEJBQTRCLEdBQUcsSUFBSSxFQUNuQyxVQUFVLEdBQUcsTUFBTSxHQUNwQixHQUFHLE9BQU8sQ0FBQztRQUVaLGtCQUFrQjtRQUNsQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzNC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Q0UsSUFBSSxFQUFFLFVBQVUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDNUIsR0FBRyxFQUFFLGFBQWE7cUJBQ25CO2lCQUNGO2FBQ0YsQ0FBQztZQUVGLHFDQUFxQztZQUNyQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN0QyxXQUFXLEVBQUUsYUFBYSxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUN0QyxJQUFJLEVBQUUsTUFBTTtxQkFDVCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsVUFBVSxXQUFXLENBQUMsMkJBQTJCLENBQUM7cUJBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELCtCQUErQjtRQUMvQixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZCLDRCQUE0QjtRQUM1QixJQUFJLGdCQUFnQixJQUFJLDRCQUE0QixFQUFFLENBQUM7WUFDckQsSUFBSSxxREFBeUIsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JDLE1BQU07Z0JBQ04sWUFBWTtnQkFDWixPQUFPO2dCQUNQLFdBQVc7Z0JBQ1gsVUFBVTtnQkFDVixhQUFhO2dCQUNiLFdBQVc7Z0JBQ1gsVUFBVTtnQkFDVixjQUFjO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBN1JILDhDQThSQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdpdEh1YiwgR2l0aHViV29ya2Zsb3cgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IENka0RlcGxveURpc3BhdGNoV29ya2Zsb3cgfSBmcm9tICcuL0Nka0RlcGxveURpc3BhdGNoV29ya2Zsb3cnO1xuaW1wb3J0IHsgQ2RrRGVwbG95UGlwZWxpbmVPcHRpb25zLCBEZXBsb3lTdGFnZU9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHRvS2ViYWJDYXNlLCB2YWxpZGF0ZU5vQ3ljbGVzIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IENIRUNLT1VUX1ZFUlNJT04gPSAndjUnO1xuY29uc3QgU0VUVVBfTk9ERV9WRVJTSU9OID0gJ3Y1JztcbmNvbnN0IEFXU19DUkVERU5USUFMU19WRVJTSU9OID0gJ3Y1JztcbmNvbnN0IFVQTE9BRF9BUlRJRkFDVF9WRVJTSU9OID0gJ3Y0JztcbmNvbnN0IERPV05MT0FEX0FSVElGQUNUX1ZFUlNJT04gPSAndjUnO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3MgZm9yIENESyBkZXBsb3ltZW50cy5cbiAqXG4gKiBDcmVhdGVzIGEgYGRlcGxveS55bWxgIHdvcmtmbG93IHdpdGg6XG4gKiAtIFN5bnRoIGpvYiB0byBjb21waWxlIGFuZCBzeW50aGVzaXplIHRoZSBDREsgYXBwXG4gKiAtIEFzc2V0IHB1Ymxpc2ggam9iIHRvIHVwbG9hZCBMYW1iZGEvY29udGFpbmVyIGFzc2V0cyB0byBBV1NcbiAqIC0gUGVyLXN0YWdlIGRlcGxveSBqb2JzIHdpdGggR2l0SHViIEVudmlyb25tZW50cywgcGFyYWxsZWwgZXhlY3V0aW9uLCBhbmQgY29uY3VycmVuY3kgZ3JvdXBzXG4gKlxuICogT3B0aW9uYWxseSBjcmVhdGVzIGEgYGRlcGxveS1kaXNwYXRjaC55bWxgIHdvcmtmbG93IGZvciBtYW51YWwgZGVwbG95bWVudHMgYW5kIHJvbGxiYWNrcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RlcGxveVBpcGVsaW5lIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogYW55LCBvcHRpb25zOiBDZGtEZXBsb3lQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBjb25zdCB7XG4gICAgICBwa2dOYW1lc3BhY2UsXG4gICAgICBzdGFja1ByZWZpeCxcbiAgICAgIGlhbVJvbGVBcm4sXG4gICAgICBpYW1Sb2xlUmVnaW9uID0gJ3VzLWVhc3QtMScsXG4gICAgICBub2RlVmVyc2lvbiA9ICcyNC54JyxcbiAgICAgIGNka0NvbW1hbmQgPSAnbnB4IGNkaycsXG4gICAgICBpbnN0YWxsQ29tbWFuZCA9ICd5YXJuIGluc3RhbGwgLS1jaGVjay1maWxlcyAtLWZyb3plbi1sb2NrZmlsZScsXG4gICAgICBzdGFnZXMsXG4gICAgICBtYW51YWxEZXBsb3ltZW50ID0gdHJ1ZSxcbiAgICAgIHVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHkgPSB0cnVlLFxuICAgICAgYnJhbmNoTmFtZSA9ICdtYWluJyxcbiAgICB9ID0gb3B0aW9ucztcblxuICAgIC8vIFZhbGlkYXRlIGlucHV0c1xuICAgIGlmIChzdGFnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBkZXBsb3ltZW50IHN0YWdlIG11c3QgYmUgZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWdlTmFtZXMgPSBuZXcgU2V0KHN0YWdlcy5tYXAoKHMpID0+IHMubmFtZSkpO1xuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2Ygc3RhZ2VzKSB7XG4gICAgICBpZiAoc3RhZ2UuZGVwZW5kc09uKSB7XG4gICAgICAgIGZvciAoY29uc3QgZGVwIG9mIHN0YWdlLmRlcGVuZHNPbikge1xuICAgICAgICAgIGlmICghc3RhZ2VOYW1lcy5oYXMoZGVwKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgU3RhZ2UgJyR7c3RhZ2UubmFtZX0nIGRlcGVuZHMgb24gJyR7ZGVwfScsIHdoaWNoIGlzIG5vdCBhIGRlZmluZWQgc3RhZ2UuIEF2YWlsYWJsZTogJHtbLi4uc3RhZ2VOYW1lc10uam9pbignLCAnKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlcCA9PT0gc3RhZ2UubmFtZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGFnZSAnJHtzdGFnZS5uYW1lfScgY2Fubm90IGRlcGVuZCBvbiBpdHNlbGZgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdmFsaWRhdGVOb0N5Y2xlcyhzdGFnZXMpO1xuXG4gICAgaWYgKHVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHkgJiYgIXBrZ05hbWVzcGFjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAncGtnTmFtZXNwYWNlIGlzIHJlcXVpcmVkIHdoZW4gdXNlR2l0aHViUGFja2FnZXNGb3JBc3NlbWJseSBpcyBlbmFibGVkJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSBkZXBsb3kgd29ya2Zsb3dcbiAgICBjb25zdCBnaCA9IHByb2plY3QuZ2l0aHViID8/IG5ldyBHaXRIdWIocHJvamVjdCk7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSBuZXcgR2l0aHViV29ya2Zsb3coZ2gsICdkZXBsb3knLCB7XG4gICAgICBmaWxlTmFtZTogJ2RlcGxveS55bWwnLFxuICAgIH0pO1xuXG4gICAgd29ya2Zsb3cub24oe1xuICAgICAgcHVzaDogeyBicmFuY2hlczogW2JyYW5jaE5hbWVdIH0sXG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFwcE5hbWUgPSBwcm9qZWN0Lm5hbWUgPz8gc3RhY2tQcmVmaXgudG9Mb3dlckNhc2UoKTtcblxuICAgIC8vIEJ1aWxkIGpvYnMgb2JqZWN0XG4gICAgY29uc3Qgam9iczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gICAgLy8gLS0tIFN5bnRoIEpvYiAtLS1cbiAgICBqb2JzLnN5bnRoID0ge1xuICAgICAgbmFtZTogJ1N5bnRoZXNpemUgQ0RLIGFwcGxpY2F0aW9uJyxcbiAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICBwYWNrYWdlczogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSxcbiAgICAgIGVudjogeyBDSTogJ3RydWUnIH0sXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9jaGVja291dEAke0NIRUNLT1VUX1ZFUlNJT059YCxcbiAgICAgICAgICB3aXRoOiB7ICdmZXRjaC1kZXB0aCc6IDAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9zZXR1cC1ub2RlQCR7U0VUVVBfTk9ERV9WRVJTSU9OfWAsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgJ25vZGUtdmVyc2lvbic6IG5vZGVWZXJzaW9uLFxuICAgICAgICAgICAgJ3JlZ2lzdHJ5LXVybCc6ICdodHRwczovL25wbS5wa2cuZ2l0aHViLmNvbScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgICAgcnVuOiBpbnN0YWxsQ29tbWFuZCxcbiAgICAgICAgICBlbnY6IHsgTk9ERV9BVVRIX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JywgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1N5bnRoJyxcbiAgICAgICAgICBydW46IGAke2Nka0NvbW1hbmR9IHN5bnRoYCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdVcGxvYWQgY2xvdWQgYXNzZW1ibHknLFxuICAgICAgICAgIHVzZXM6IGBhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEAke1VQTE9BRF9BUlRJRkFDVF9WRVJTSU9OfWAsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JyxcbiAgICAgICAgICAgIHBhdGg6ICdjZGsub3V0LycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIC8vIC0tLSBQdWJsaXNoIEFzc2V0cyBKb2IgLS0tXG4gICAgY29uc3QgcHVibGlzaFN0ZXBzOiBhbnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgdXNlczogYGFjdGlvbnMvY2hlY2tvdXRAJHtDSEVDS09VVF9WRVJTSU9OfWAsXG4gICAgICAgIHdpdGg6IHsgJ2ZldGNoLWRlcHRoJzogMCB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICB1c2VzOiBgYWN0aW9ucy9zZXR1cC1ub2RlQCR7U0VUVVBfTk9ERV9WRVJTSU9OfWAsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogbm9kZVZlcnNpb24sXG4gICAgICAgICAgJ3JlZ2lzdHJ5LXVybCc6ICdodHRwczovL25wbS5wa2cuZ2l0aHViLmNvbScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICAgICBydW46IGluc3RhbGxDb21tYW5kLFxuICAgICAgICBlbnY6IHsgTk9ERV9BVVRIX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JywgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0Rvd25sb2FkIGNsb3VkIGFzc2VtYmx5JyxcbiAgICAgICAgdXNlczogYGFjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAJHtET1dOTE9BRF9BUlRJRkFDVF9WRVJTSU9OfWAsXG4gICAgICAgIHdpdGg6IHsgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JywgcGF0aDogJ2Nkay5vdXQvJyB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgIHVzZXM6IGBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQCR7QVdTX0NSRURFTlRJQUxTX1ZFUlNJT059YCxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IGlhbVJvbGVBcm4sXG4gICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogJ0dpdEh1YkFjdGlvbicsXG4gICAgICAgICAgJ2F3cy1yZWdpb24nOiBpYW1Sb2xlUmVnaW9uLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1B1Ymxpc2ggYXNzZXRzJyxcbiAgICAgICAgcnVuOiAnZm9yIG1hbmlmZXN0IGluICQoZmluZCBjZGsub3V0IC1uYW1lIFwiKi1hc3NldHMuanNvblwiKTsgZG8gbnB4IGNkay1hc3NldHMgcHVibGlzaCAtcCBcIiRtYW5pZmVzdFwiOyBkb25lJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGlmICh1c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5KSB7XG4gICAgICBwdWJsaXNoU3RlcHMucHVzaChcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdDb25maWd1cmUgZ2l0IGlkZW50aXR5JyxcbiAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICdnaXQgY29uZmlnIHVzZXIubmFtZSBcImdpdGh1Yi1hY3Rpb25zW2JvdF1cIicsXG4gICAgICAgICAgICAnZ2l0IGNvbmZpZyB1c2VyLmVtYWlsIFwiNDE4OTgyODIrZ2l0aHViLWFjdGlvbnNbYm90XUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb21cIicsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdDcmVhdGUgYXNzZW1ibHkgcGFja2FnZScsXG4gICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICBgZWNobyAnJHtKU09OLnN0cmluZ2lmeSh7IG5hbWU6IGAke3BrZ05hbWVzcGFjZX0vJHthcHBOYW1lfWAsIHZlcnNpb246ICcwLjAuMCcsIHB1Ymxpc2hDb25maWc6IHsgcmVnaXN0cnk6ICdodHRwczovL25wbS5wa2cuZ2l0aHViLmNvbScgfSB9KX0nID4gY2RrLm91dC9wYWNrYWdlLmpzb25gLFxuICAgICAgICAgICAgJ2NkIGNkay5vdXQgJiYgbnBtIHZlcnNpb24gLS1uby1naXQtdGFnLXZlcnNpb24gZnJvbS1naXQgfHwgbnBtIHZlcnNpb24gLS1uby1naXQtdGFnLXZlcnNpb24gcGF0Y2gnLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgZW52OiB7IE5PREVfQVVUSF9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScsIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdQdWJsaXNoIGFzc2VtYmx5IHRvIEdpdEh1YiBQYWNrYWdlcycsXG4gICAgICAgICAgcnVuOiAnY2QgY2RrLm91dCAmJiBucG0gcHVibGlzaCAtLXJlZ2lzdHJ5PWh0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tJyxcbiAgICAgICAgICBlbnY6IHsgTk9ERV9BVVRIX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JywgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyB9LFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBqb2JzWydwdWJsaXNoLWFzc2V0cyddID0ge1xuICAgICAgbmFtZTogJ1B1Ymxpc2ggYXNzZXRzIHRvIEFXUycsXG4gICAgICBuZWVkczogWydzeW50aCddLFxuICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICBwYWNrYWdlczogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgIH0sXG4gICAgICBlbnY6IHsgQ0k6ICd0cnVlJyB9LFxuICAgICAgc3RlcHM6IHB1Ymxpc2hTdGVwcyxcbiAgICB9O1xuXG4gICAgLy8gLS0tIFBlci1TdGFnZSBEZXBsb3kgSm9icyAtLS1cbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xuICAgICAgY29uc3Qgam9iSWQgPSBgZGVwbG95LSR7dG9LZWJhYkNhc2Uoc3RhZ2UubmFtZSl9YDtcbiAgICAgIGNvbnN0IHN0YWNrcyA9XG4gICAgICAgIHN0YWdlLnN0YWNrcyA/PyBbYCR7c3RhY2tQcmVmaXh9LSR7c3RhZ2UubmFtZX1gXTtcbiAgICAgIGNvbnN0IGdpdGh1YkVudiA9IHN0YWdlLmVudmlyb25tZW50ID8/IHN0YWdlLm5hbWU7XG4gICAgICBjb25zdCByb2xlQXJuID0gc3RhZ2UuaWFtUm9sZUFybiA/PyBpYW1Sb2xlQXJuO1xuICAgICAgY29uc3Qgcm9sZVJlZ2lvbiA9XG4gICAgICAgIHN0YWdlLmlhbVJvbGVSZWdpb24gPz8gaWFtUm9sZVJlZ2lvbiA/PyBzdGFnZS5lbnYucmVnaW9uO1xuXG4gICAgICAvLyBDb21wdXRlIG5lZWRzXG4gICAgICBsZXQgbmVlZHM6IHN0cmluZ1tdO1xuICAgICAgaWYgKHN0YWdlLmRlcGVuZHNPbiAmJiBzdGFnZS5kZXBlbmRzT24ubGVuZ3RoID4gMCkge1xuICAgICAgICBuZWVkcyA9IHN0YWdlLmRlcGVuZHNPbi5tYXAoXG4gICAgICAgICAgKGRlcCkgPT4gYGRlcGxveS0ke3RvS2ViYWJDYXNlKGRlcCl9YCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5lZWRzID0gWydwdWJsaXNoLWFzc2V0cyddO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZXBsb3lDb21tYW5kID0gc3RhY2tzXG4gICAgICAgIC5tYXAoKHMpID0+IGAke2Nka0NvbW1hbmR9IGRlcGxveSAke3N9IC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciAtLWFwcCBjZGsub3V0YClcbiAgICAgICAgLmpvaW4oJyAmJiAnKTtcblxuICAgICAgam9ic1tqb2JJZF0gPSB7XG4gICAgICAgIG5hbWU6IGBEZXBsb3kgJHtzdGFnZS5uYW1lfWAsXG4gICAgICAgIG5lZWRzOiBuZWVkcyxcbiAgICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGdpdGh1YkVudixcbiAgICAgICAgY29uY3VycmVuY3k6IHtcbiAgICAgICAgICAnZ3JvdXAnOiBgZGVwbG95LSR7dG9LZWJhYkNhc2Uoc3RhZ2UubmFtZSl9YCxcbiAgICAgICAgICAnY2FuY2VsLWluLXByb2dyZXNzJzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgICBwYWNrYWdlczogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIH0sXG4gICAgICAgIGVudjogeyBDSTogJ3RydWUnIH0sXG4gICAgICAgIHN0ZXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICAgIHVzZXM6IGBhY3Rpb25zL2NoZWNrb3V0QCR7Q0hFQ0tPVVRfVkVSU0lPTn1gLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgICAgdXNlczogYGFjdGlvbnMvc2V0dXAtbm9kZUAke1NFVFVQX05PREVfVkVSU0lPTn1gLFxuICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogbm9kZVZlcnNpb24sXG4gICAgICAgICAgICAgICdyZWdpc3RyeS11cmwnOiAnaHR0cHM6Ly9ucG0ucGtnLmdpdGh1Yi5jb20nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgICAgICBydW46IGluc3RhbGxDb21tYW5kLFxuICAgICAgICAgICAgZW52OiB7IE5PREVfQVVUSF9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScsIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdEb3dubG9hZCBjbG91ZCBhc3NlbWJseScsXG4gICAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEAke0RPV05MT0FEX0FSVElGQUNUX1ZFUlNJT059YCxcbiAgICAgICAgICAgIHdpdGg6IHsgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JywgcGF0aDogJ2Nkay5vdXQvJyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgICAgICB1c2VzOiBgYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0Ake0FXU19DUkVERU5USUFMU19WRVJTSU9OfWAsXG4gICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IHJvbGVBcm4sXG4gICAgICAgICAgICAgICdyb2xlLXNlc3Npb24tbmFtZSc6ICdHaXRIdWJBY3Rpb24nLFxuICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IHJvbGVSZWdpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYERlcGxveSAke3N0YWdlLm5hbWV9YCxcbiAgICAgICAgICAgIHJ1bjogZGVwbG95Q29tbWFuZCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcblxuICAgICAgLy8gQ3JlYXRlIHByb2plbiB0YXNrIGZvciBsb2NhbCB1c2FnZVxuICAgICAgcHJvamVjdC5hZGRUYXNrKGBkZXBsb3k6JHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBEZXBsb3kgdG8gJHtzdGFnZS5uYW1lfWAsXG4gICAgICAgIGV4ZWM6IHN0YWNrc1xuICAgICAgICAgIC5tYXAoKHMpID0+IGAke2Nka0NvbW1hbmR9IGRlcGxveSAke3N9IC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlcmApXG4gICAgICAgICAgLmpvaW4oJyAmJiAnKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCBhbGwgam9icyB0byB0aGUgd29ya2Zsb3dcbiAgICB3b3JrZmxvdy5hZGRKb2JzKGpvYnMpO1xuXG4gICAgLy8gLS0tIERpc3BhdGNoIFdvcmtmbG93IC0tLVxuICAgIGlmIChtYW51YWxEZXBsb3ltZW50ICYmIHVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHkpIHtcbiAgICAgIG5ldyBDZGtEZXBsb3lEaXNwYXRjaFdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgICAgc3RhZ2VzLFxuICAgICAgICBwa2dOYW1lc3BhY2UsXG4gICAgICAgIGFwcE5hbWUsXG4gICAgICAgIHN0YWNrUHJlZml4LFxuICAgICAgICBpYW1Sb2xlQXJuLFxuICAgICAgICBpYW1Sb2xlUmVnaW9uLFxuICAgICAgICBub2RlVmVyc2lvbixcbiAgICAgICAgY2RrQ29tbWFuZCxcbiAgICAgICAgaW5zdGFsbENvbW1hbmQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBoZWxwZXIgdG8gYnVpbGQgZGVwbG95IGRpc3BhdGNoIHdvcmtmbG93IG9wdGlvbnMgZnJvbSBwaXBlbGluZSBvcHRpb25zLlxuICogRXhwb3J0ZWQgZm9yIHVzZSBieSBDZGtEZXBsb3lEaXNwYXRjaFdvcmtmbG93LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveURpc3BhdGNoSW50ZXJuYWxPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3RhZ2VzOiBEZXBsb3lTdGFnZU9wdGlvbnNbXTtcbiAgcmVhZG9ubHkgcGtnTmFtZXNwYWNlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwcE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhY2tQcmVmaXg6IHN0cmluZztcbiAgcmVhZG9ubHkgaWFtUm9sZUFybjogc3RyaW5nO1xuICByZWFkb25seSBpYW1Sb2xlUmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5vZGVWZXJzaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNka0NvbW1hbmQ6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFsbENvbW1hbmQ6IHN0cmluZztcbn1cbiJdfQ==
|
|
288
|
+
CdkDeployPipeline[_a] = { fqn: "@jjrawlins/cdk-deploy-pr-github-action.CdkDeployPipeline", version: "0.0.5" };
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRGVwbG95UGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ2RrRGVwbG95UGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBMkQ7QUFDM0QsdUVBQWtFO0FBQ2xFLDJFQUF3RTtBQUV4RSxtQ0FBd0Q7QUFFeEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFDckMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFDckMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUM7QUFFdkM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxpQkFBaUI7SUFDNUIsWUFBWSxPQUFZLEVBQUUsT0FBaUM7UUFDekQsTUFBTSxFQUNKLFlBQVksRUFDWixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsR0FBRyxXQUFXLEVBQzNCLFdBQVcsR0FBRyxNQUFNLEVBQ3BCLFVBQVUsR0FBRyxTQUFTLEVBQ3RCLGNBQWMsR0FBRyw4Q0FBOEMsRUFDL0QsTUFBTSxFQUNOLGdCQUFnQixHQUFHLElBQUksRUFDdkIsNEJBQTRCLEdBQUcsSUFBSSxFQUNuQyxVQUFVLEdBQUcsTUFBTSxHQUNwQixHQUFHLE9BQU8sQ0FBQztRQUVaLGtCQUFrQjtRQUNsQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzNC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SUFBSSxnQkFBZ0IsSUFBSSw0QkFBNEIsRUFBRSxDQUFDO1lBQ3JELElBQUkscURBQXlCLENBQUMsT0FBTyxFQUFFO2dCQUNyQyxNQUFNO2dCQUNOLFlBQVk7Z0JBQ1osT0FBTztnQkFDUCxXQUFXO2dCQUNYLFVBQVU7Z0JBQ1YsYUFBYTtnQkFDYixXQUFXO2dCQUNYLFVBQVU7Z0JBQ1YsY0FBYzthQUNmLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQS9TSCw4Q0FnVEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHaXRIdWIsIEdpdGh1YldvcmtmbG93IH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBDZGtEZXBsb3lEaXNwYXRjaFdvcmtmbG93IH0gZnJvbSAnLi9DZGtEZXBsb3lEaXNwYXRjaFdvcmtmbG93JztcbmltcG9ydCB7IENka0RlcGxveVBpcGVsaW5lT3B0aW9ucywgRGVwbG95U3RhZ2VPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyB0b0tlYmFiQ2FzZSwgdmFsaWRhdGVOb0N5Y2xlcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBDSEVDS09VVF9WRVJTSU9OID0gJ3Y1JztcbmNvbnN0IFNFVFVQX05PREVfVkVSU0lPTiA9ICd2NSc7XG5jb25zdCBBV1NfQ1JFREVOVElBTFNfVkVSU0lPTiA9ICd2NSc7XG5jb25zdCBVUExPQURfQVJUSUZBQ1RfVkVSU0lPTiA9ICd2NCc7XG5jb25zdCBET1dOTE9BRF9BUlRJRkFDVF9WRVJTSU9OID0gJ3Y1JztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzIGZvciBDREsgZGVwbG95bWVudHMuXG4gKlxuICogQ3JlYXRlcyBhIGBkZXBsb3kueW1sYCB3b3JrZmxvdyB3aXRoOlxuICogLSBTeW50aCBqb2IgdG8gY29tcGlsZSBhbmQgc3ludGhlc2l6ZSB0aGUgQ0RLIGFwcFxuICogLSBBc3NldCBwdWJsaXNoIGpvYiB0byB1cGxvYWQgTGFtYmRhL2NvbnRhaW5lciBhc3NldHMgdG8gQVdTXG4gKiAtIFBlci1zdGFnZSBkZXBsb3kgam9icyB3aXRoIEdpdEh1YiBFbnZpcm9ubWVudHMsIHBhcmFsbGVsIGV4ZWN1dGlvbiwgYW5kIGNvbmN1cnJlbmN5IGdyb3Vwc1xuICpcbiAqIE9wdGlvbmFsbHkgY3JlYXRlcyBhIGBkZXBsb3ktZGlzcGF0Y2gueW1sYCB3b3JrZmxvdyBmb3IgbWFudWFsIGRlcGxveW1lbnRzIGFuZCByb2xsYmFja3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtEZXBsb3lQaXBlbGluZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IGFueSwgb3B0aW9uczogQ2RrRGVwbG95UGlwZWxpbmVPcHRpb25zKSB7XG4gICAgY29uc3Qge1xuICAgICAgcGtnTmFtZXNwYWNlLFxuICAgICAgc3RhY2tQcmVmaXgsXG4gICAgICBpYW1Sb2xlQXJuLFxuICAgICAgaWFtUm9sZVJlZ2lvbiA9ICd1cy1lYXN0LTEnLFxuICAgICAgbm9kZVZlcnNpb24gPSAnMjQueCcsXG4gICAgICBjZGtDb21tYW5kID0gJ25weCBjZGsnLFxuICAgICAgaW5zdGFsbENvbW1hbmQgPSAneWFybiBpbnN0YWxsIC0tY2hlY2stZmlsZXMgLS1mcm96ZW4tbG9ja2ZpbGUnLFxuICAgICAgc3RhZ2VzLFxuICAgICAgbWFudWFsRGVwbG95bWVudCA9IHRydWUsXG4gICAgICB1c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5ID0gdHJ1ZSxcbiAgICAgIGJyYW5jaE5hbWUgPSAnbWFpbicsXG4gICAgfSA9IG9wdGlvbnM7XG5cbiAgICAvLyBWYWxpZGF0ZSBpbnB1dHNcbiAgICBpZiAoc3RhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdCBsZWFzdCBvbmUgZGVwbG95bWVudCBzdGFnZSBtdXN0IGJlIGRlZmluZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFnZU5hbWVzID0gbmV3IFNldChzdGFnZXMubWFwKChzKSA9PiBzLm5hbWUpKTtcbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xuICAgICAgaWYgKHN0YWdlLmRlcGVuZHNPbikge1xuICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBzdGFnZS5kZXBlbmRzT24pIHtcbiAgICAgICAgICBpZiAoIXN0YWdlTmFtZXMuaGFzKGRlcCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYFN0YWdlICcke3N0YWdlLm5hbWV9JyBkZXBlbmRzIG9uICcke2RlcH0nLCB3aGljaCBpcyBub3QgYSBkZWZpbmVkIHN0YWdlLiBBdmFpbGFibGU6ICR7Wy4uLnN0YWdlTmFtZXNdLmpvaW4oJywgJyl9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZXAgPT09IHN0YWdlLm5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgU3RhZ2UgJyR7c3RhZ2UubmFtZX0nIGNhbm5vdCBkZXBlbmQgb24gaXRzZWxmYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGhhdCBhdXRvLWRlcGxveSBzdGFnZXMgZG9uJ3QgZGVwZW5kIG9uIG1hbnVhbC1hcHByb3ZhbCBzdGFnZXNcbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xuICAgICAgaWYgKCFzdGFnZS5tYW51YWxBcHByb3ZhbCAmJiBzdGFnZS5kZXBlbmRzT24pIHtcbiAgICAgICAgZm9yIChjb25zdCBkZXAgb2Ygc3RhZ2UuZGVwZW5kc09uKSB7XG4gICAgICAgICAgY29uc3QgZGVwU3RhZ2UgPSBzdGFnZXMuZmluZCgocykgPT4gcy5uYW1lID09PSBkZXApO1xuICAgICAgICAgIGlmIChkZXBTdGFnZT8ubWFudWFsQXBwcm92YWwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYFN0YWdlICcke3N0YWdlLm5hbWV9JyBkZXBlbmRzIG9uICcke2RlcH0nLCB3aGljaCBoYXMgbWFudWFsQXBwcm92YWwgZW5hYmxlZC4gQXV0by1kZXBsb3kgc3RhZ2VzIGNhbm5vdCBkZXBlbmQgb24gbWFudWFsLWFwcHJvdmFsIHN0YWdlcy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZGF0ZU5vQ3ljbGVzKHN0YWdlcyk7XG5cbiAgICBpZiAodXNlR2l0aHViUGFja2FnZXNGb3JBc3NlbWJseSAmJiAhcGtnTmFtZXNwYWNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdwa2dOYW1lc3BhY2UgaXMgcmVxdWlyZWQgd2hlbiB1c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5IGlzIGVuYWJsZWQnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdGhlIGRlcGxveSB3b3JrZmxvd1xuICAgIGNvbnN0IGdoID0gcHJvamVjdC5naXRodWIgPz8gbmV3IEdpdEh1Yihwcm9qZWN0KTtcbiAgICBjb25zdCB3b3JrZmxvdyA9IG5ldyBHaXRodWJXb3JrZmxvdyhnaCwgJ2RlcGxveScsIHtcbiAgICAgIGZpbGVOYW1lOiAnZGVwbG95LnltbCcsXG4gICAgfSk7XG5cbiAgICB3b3JrZmxvdy5vbih7XG4gICAgICBwdXNoOiB7IGJyYW5jaGVzOiBbYnJhbmNoTmFtZV0gfSxcbiAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXBwTmFtZSA9IHByb2plY3QubmFtZSA/PyBzdGFja1ByZWZpeC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgLy8gQnVpbGQgam9icyBvYmplY3RcbiAgICBjb25zdCBqb2JzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgICAvLyAtLS0gU3ludGggSm9iIC0tLVxuICAgIGpvYnMuc3ludGggPSB7XG4gICAgICBuYW1lOiAnU3ludGhlc2l6ZSBDREsgYXBwbGljYXRpb24nLFxuICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgIHBhY2thZ2VzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICB9LFxuICAgICAgZW52OiB7IENJOiAndHJ1ZScgfSxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgIHVzZXM6IGBhY3Rpb25zL2NoZWNrb3V0QCR7Q0hFQ0tPVVRfVkVSU0lPTn1gLFxuICAgICAgICAgIHdpdGg6IHsgJ2ZldGNoLWRlcHRoJzogMCB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgIHVzZXM6IGBhY3Rpb25zL3NldHVwLW5vZGVAJHtTRVRVUF9OT0RFX1ZFUlNJT059YCxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogbm9kZVZlcnNpb24sXG4gICAgICAgICAgICAncmVnaXN0cnktdXJsJzogJ2h0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0luc3RhbGwgZGVwZW5kZW5jaWVzJyxcbiAgICAgICAgICBydW46IGluc3RhbGxDb21tYW5kLFxuICAgICAgICAgIGVudjogeyBOT0RFX0FVVEhfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLCBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnU3ludGgnLFxuICAgICAgICAgIHJ1bjogYCR7Y2RrQ29tbWFuZH0gc3ludGhgLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1VwbG9hZCBjbG91ZCBhc3NlbWJseScsXG4gICAgICAgICAgdXNlczogYGFjdGlvbnMvdXBsb2FkLWFydGlmYWN0QCR7VVBMT0FEX0FSVElGQUNUX1ZFUlNJT059YCxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBuYW1lOiAnY2xvdWQtYXNzZW1ibHknLFxuICAgICAgICAgICAgcGF0aDogJ2Nkay5vdXQvJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgLy8gLS0tIFB1Ymxpc2ggQXNzZXRzIEpvYiAtLS1cbiAgICBjb25zdCBwdWJsaXNoU3RlcHM6IGFueVtdID0gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICB1c2VzOiBgYWN0aW9ucy9jaGVja291dEAke0NIRUNLT1VUX1ZFUlNJT059YCxcbiAgICAgICAgd2l0aDogeyAnZmV0Y2gtZGVwdGgnOiAwIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnU2V0dXAgTm9kZS5qcycsXG4gICAgICAgIHVzZXM6IGBhY3Rpb25zL3NldHVwLW5vZGVAJHtTRVRVUF9OT0RFX1ZFUlNJT059YCxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdub2RlLXZlcnNpb24nOiBub2RlVmVyc2lvbixcbiAgICAgICAgICAncmVnaXN0cnktdXJsJzogJ2h0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgIHJ1bjogaW5zdGFsbENvbW1hbmQsXG4gICAgICAgIGVudjogeyBOT0RFX0FVVEhfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLCBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRG93bmxvYWQgY2xvdWQgYXNzZW1ibHknLFxuICAgICAgICB1c2VzOiBgYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEAke0RPV05MT0FEX0FSVElGQUNUX1ZFUlNJT059YCxcbiAgICAgICAgd2l0aDogeyBuYW1lOiAnY2xvdWQtYXNzZW1ibHknLCBwYXRoOiAnY2RrLm91dC8nIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQVdTIENyZWRlbnRpYWxzJyxcbiAgICAgICAgdXNlczogYGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAJHtBV1NfQ1JFREVOVElBTFNfVkVSU0lPTn1gLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogaWFtUm9sZUFybixcbiAgICAgICAgICAncm9sZS1zZXNzaW9uLW5hbWUnOiAnR2l0SHViQWN0aW9uJyxcbiAgICAgICAgICAnYXdzLXJlZ2lvbic6IGlhbVJvbGVSZWdpb24sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnUHVibGlzaCBhc3NldHMnLFxuICAgICAgICBydW46ICdmb3IgbWFuaWZlc3QgaW4gJChmaW5kIGNkay5vdXQgLW5hbWUgXCIqLWFzc2V0cy5qc29uXCIpOyBkbyBucHggY2RrLWFzc2V0cyBwdWJsaXNoIC1wIFwiJG1hbmlmZXN0XCI7IGRvbmUnLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgaWYgKHVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHkpIHtcbiAgICAgIHB1Ymxpc2hTdGVwcy5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NvbmZpZ3VyZSBnaXQgaWRlbnRpdHknLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ2dpdCBjb25maWcgdXNlci5uYW1lIFwiZ2l0aHViLWFjdGlvbnNbYm90XVwiJyxcbiAgICAgICAgICAgICdnaXQgY29uZmlnIHVzZXIuZW1haWwgXCI0MTg5ODI4MitnaXRodWItYWN0aW9uc1tib3RdQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbVwiJyxcbiAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NyZWF0ZSBhc3NlbWJseSBwYWNrYWdlJyxcbiAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgIGBQS0dfTkFNRT1cIiR7cGtnTmFtZXNwYWNlfS8ke2FwcE5hbWV9XCJgLFxuICAgICAgICAgICAgJ0xBVEVTVD0kKG5wbSB2aWV3IFwiJFBLR19OQU1FXCIgdmVyc2lvbiAtLXJlZ2lzdHJ5PWh0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tIDI+L2Rldi9udWxsIHx8IGVjaG8gXCIwLjAuMFwiKScsXG4gICAgICAgICAgICBgZWNobyAnJHtKU09OLnN0cmluZ2lmeSh7IG5hbWU6IGAke3BrZ05hbWVzcGFjZX0vJHthcHBOYW1lfWAsIHB1Ymxpc2hDb25maWc6IHsgcmVnaXN0cnk6ICdodHRwczovL25wbS5wa2cuZ2l0aHViLmNvbScgfSB9KX0nIHwganEgLS1hcmcgdiBcIiRMQVRFU1RcIiAnLiArIHt2ZXJzaW9uOiAkdn0nID4gY2RrLm91dC9wYWNrYWdlLmpzb25gLFxuICAgICAgICAgICAgJ2NkIGNkay5vdXQgJiYgbnBtIHZlcnNpb24gLS1uby1naXQtdGFnLXZlcnNpb24gcGF0Y2gnLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgZW52OiB7IE5PREVfQVVUSF9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScsIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdQdWJsaXNoIGFzc2VtYmx5IHRvIEdpdEh1YiBQYWNrYWdlcycsXG4gICAgICAgICAgcnVuOiAnY2QgY2RrLm91dCAmJiBucG0gcHVibGlzaCAtLXJlZ2lzdHJ5PWh0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tJyxcbiAgICAgICAgICBlbnY6IHsgTk9ERV9BVVRIX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JywgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyB9LFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBqb2JzWydwdWJsaXNoLWFzc2V0cyddID0ge1xuICAgICAgbmFtZTogJ1B1Ymxpc2ggYXNzZXRzIHRvIEFXUycsXG4gICAgICBuZWVkczogWydzeW50aCddLFxuICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICBwYWNrYWdlczogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgIH0sXG4gICAgICBlbnY6IHsgQ0k6ICd0cnVlJyB9LFxuICAgICAgc3RlcHM6IHB1Ymxpc2hTdGVwcyxcbiAgICB9O1xuXG4gICAgLy8gLS0tIFBlci1TdGFnZSBEZXBsb3kgSm9icyAtLS1cbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xuICAgICAgaWYgKHN0YWdlLm1hbnVhbEFwcHJvdmFsKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IGpvYklkID0gYGRlcGxveS0ke3RvS2ViYWJDYXNlKHN0YWdlLm5hbWUpfWA7XG4gICAgICBjb25zdCBzdGFja3MgPVxuICAgICAgICBzdGFnZS5zdGFja3MgPz8gW2Ake3N0YWNrUHJlZml4fS0ke3N0YWdlLm5hbWV9YF07XG4gICAgICBjb25zdCBnaXRodWJFbnYgPSBzdGFnZS5lbnZpcm9ubWVudCA/PyBzdGFnZS5uYW1lO1xuICAgICAgY29uc3Qgcm9sZUFybiA9IHN0YWdlLmlhbVJvbGVBcm4gPz8gaWFtUm9sZUFybjtcbiAgICAgIGNvbnN0IHJvbGVSZWdpb24gPVxuICAgICAgICBzdGFnZS5pYW1Sb2xlUmVnaW9uID8/IGlhbVJvbGVSZWdpb24gPz8gc3RhZ2UuZW52LnJlZ2lvbjtcblxuICAgICAgLy8gQ29tcHV0ZSBuZWVkc1xuICAgICAgbGV0IG5lZWRzOiBzdHJpbmdbXTtcbiAgICAgIGlmIChzdGFnZS5kZXBlbmRzT24gJiYgc3RhZ2UuZGVwZW5kc09uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbmVlZHMgPSBzdGFnZS5kZXBlbmRzT24ubWFwKFxuICAgICAgICAgIChkZXApID0+IGBkZXBsb3ktJHt0b0tlYmFiQ2FzZShkZXApfWAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZWVkcyA9IFsncHVibGlzaC1hc3NldHMnXTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGVwbG95Q29tbWFuZCA9IHN0YWNrc1xuICAgICAgICAubWFwKChzKSA9PiBgJHtjZGtDb21tYW5kfSBkZXBsb3kgJHtzfSAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1hcHAgY2RrLm91dGApXG4gICAgICAgIC5qb2luKCcgJiYgJyk7XG5cbiAgICAgIGpvYnNbam9iSWRdID0ge1xuICAgICAgICBuYW1lOiBgRGVwbG95ICR7c3RhZ2UubmFtZX1gLFxuICAgICAgICBuZWVkczogbmVlZHMsXG4gICAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICAgIGVudmlyb25tZW50OiBnaXRodWJFbnYsXG4gICAgICAgIGNvbmN1cnJlbmN5OiB7XG4gICAgICAgICAgJ2dyb3VwJzogYGRlcGxveS0ke3RvS2ViYWJDYXNlKHN0YWdlLm5hbWUpfWAsXG4gICAgICAgICAgJ2NhbmNlbC1pbi1wcm9ncmVzcyc6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgcGFja2FnZXM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICB9LFxuICAgICAgICBlbnY6IHsgQ0k6ICd0cnVlJyB9LFxuICAgICAgICBzdGVwczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9jaGVja291dEAke0NIRUNLT1VUX1ZFUlNJT059YCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgICAgICAgIHVzZXM6IGBhY3Rpb25zL3NldHVwLW5vZGVAJHtTRVRVUF9OT0RFX1ZFUlNJT059YCxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgJ25vZGUtdmVyc2lvbic6IG5vZGVWZXJzaW9uLFxuICAgICAgICAgICAgICAncmVnaXN0cnktdXJsJzogJ2h0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICAgICAgICAgcnVuOiBpbnN0YWxsQ29tbWFuZCxcbiAgICAgICAgICAgIGVudjogeyBOT0RFX0FVVEhfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLCBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnRG93bmxvYWQgY2xvdWQgYXNzZW1ibHknLFxuICAgICAgICAgICAgdXNlczogYGFjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAJHtET1dOTE9BRF9BUlRJRkFDVF9WRVJTSU9OfWAsXG4gICAgICAgICAgICB3aXRoOiB7IG5hbWU6ICdjbG91ZC1hc3NlbWJseScsIHBhdGg6ICdjZGsub3V0LycgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdBV1MgQ3JlZGVudGlhbHMnLFxuICAgICAgICAgICAgdXNlczogYGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAJHtBV1NfQ1JFREVOVElBTFNfVkVSU0lPTn1gLFxuICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiByb2xlQXJuLFxuICAgICAgICAgICAgICAncm9sZS1zZXNzaW9uLW5hbWUnOiAnR2l0SHViQWN0aW9uJyxcbiAgICAgICAgICAgICAgJ2F3cy1yZWdpb24nOiByb2xlUmVnaW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBEZXBsb3kgJHtzdGFnZS5uYW1lfWAsXG4gICAgICAgICAgICBydW46IGRlcGxveUNvbW1hbmQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG5cbiAgICAgIC8vIENyZWF0ZSBwcm9qZW4gdGFzayBmb3IgbG9jYWwgdXNhZ2VcbiAgICAgIHByb2plY3QuYWRkVGFzayhgZGVwbG95OiR7c3RhZ2UubmFtZX1gLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgRGVwbG95IHRvICR7c3RhZ2UubmFtZX1gLFxuICAgICAgICBleGVjOiBzdGFja3NcbiAgICAgICAgICAubWFwKChzKSA9PiBgJHtjZGtDb21tYW5kfSBkZXBsb3kgJHtzfSAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXJgKVxuICAgICAgICAgIC5qb2luKCcgJiYgJyksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBZGQgYWxsIGpvYnMgdG8gdGhlIHdvcmtmbG93XG4gICAgd29ya2Zsb3cuYWRkSm9icyhqb2JzKTtcblxuICAgIC8vIC0tLSBEaXNwYXRjaCBXb3JrZmxvdyAtLS1cbiAgICBpZiAobWFudWFsRGVwbG95bWVudCAmJiB1c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5KSB7XG4gICAgICBuZXcgQ2RrRGVwbG95RGlzcGF0Y2hXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICAgIHN0YWdlcyxcbiAgICAgICAgcGtnTmFtZXNwYWNlLFxuICAgICAgICBhcHBOYW1lLFxuICAgICAgICBzdGFja1ByZWZpeCxcbiAgICAgICAgaWFtUm9sZUFybixcbiAgICAgICAgaWFtUm9sZVJlZ2lvbixcbiAgICAgICAgbm9kZVZlcnNpb24sXG4gICAgICAgIGNka0NvbW1hbmQsXG4gICAgICAgIGluc3RhbGxDb21tYW5kLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSW50ZXJuYWwgaGVscGVyIHRvIGJ1aWxkIGRlcGxveSBkaXNwYXRjaCB3b3JrZmxvdyBvcHRpb25zIGZyb20gcGlwZWxpbmUgb3B0aW9ucy5cbiAqIEV4cG9ydGVkIGZvciB1c2UgYnkgQ2RrRGVwbG95RGlzcGF0Y2hXb3JrZmxvdy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lEaXNwYXRjaEludGVybmFsT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHN0YWdlczogRGVwbG95U3RhZ2VPcHRpb25zW107XG4gIHJlYWRvbmx5IHBrZ05hbWVzcGFjZTogc3RyaW5nO1xuICByZWFkb25seSBhcHBOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrUHJlZml4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlhbVJvbGVBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgaWFtUm9sZVJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBub2RlVmVyc2lvbjogc3RyaW5nO1xuICByZWFkb25seSBjZGtDb21tYW5kOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluc3RhbGxDb21tYW5kOiBzdHJpbmc7XG59XG4iXX0=
|
package/lib/types.d.ts
CHANGED
|
@@ -43,6 +43,15 @@ export interface DeployStageOptions {
|
|
|
43
43
|
* @default - ['{stackPrefix}-{stageName}']
|
|
44
44
|
*/
|
|
45
45
|
readonly stacks?: string[];
|
|
46
|
+
/**
|
|
47
|
+
* When true, this stage is excluded from the automatic deploy.yml pipeline
|
|
48
|
+
* and can only be deployed via the deploy-dispatch.yml workflow.
|
|
49
|
+
*
|
|
50
|
+
* Auto-deploy stages cannot depend on manual-approval stages.
|
|
51
|
+
*
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
readonly manualApproval?: boolean;
|
|
46
55
|
}
|
|
47
56
|
/**
|
|
48
57
|
* Configuration for the CDK deploy pipeline.
|
package/lib/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQVdTIGVudmlyb25tZW50IHRhcmdldCBmb3IgYSBkZXBsb3ltZW50IHN0YWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Vudmlyb25tZW50IHtcbiAgLyoqIEFXUyBhY2NvdW50IElEICovXG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbiAgLyoqIEFXUyByZWdpb24gKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgZGVwbG95bWVudCBzdGFnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lTdGFnZU9wdGlvbnMge1xuICAvKiogU3RhZ2UgbmFtZSAodXNlZCBhcyBzdWZmaXggaW4gam9iIElEcyBhbmQgc3RhY2sgbmFtZXMsIGUuZy4sICdTYW5kYm94JywgJ1Byb2R1Y3Rpb24nKSAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEFXUyB0YXJnZXQgZW52aXJvbm1lbnQgKGFjY291bnQgKyByZWdpb24pICovXG4gIHJlYWRvbmx5IGVudjogQXdzRW52aXJvbm1lbnQ7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBFbnZpcm9ubWVudCBuYW1lIGZvciBwcm90ZWN0aW9uIHJ1bGVzLCBzZWNyZXRzIHNjb3BpbmcsIGFuZCBkZXBsb3ltZW50IGFwcHJvdmFscy5cbiAgICogQGRlZmF1bHQgLSB1c2VzIHRoZSBzdGFnZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgT0lEQyByb2xlIEFSTiBmb3IgdGhpcyBzdGFnZS5cbiAgICogVXNlZnVsIGZvciBjcm9zcy1hY2NvdW50IGRlcGxveW1lbnRzIHdoZXJlIGVhY2ggYWNjb3VudCBoYXMgaXRzIG93biByb2xlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWFtUm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgQVdTIHJlZ2lvbiBmb3IgT0lEQyBjcmVkZW50aWFsIGFzc3VtcHRpb24uXG4gICAqIEBkZWZhdWx0IC0gdXNlcyB0aGUgcGlwZWxpbmUtbGV2ZWwgaWFtUm9sZVJlZ2lvbiBvciB0aGUgc3RhZ2UgZW52LnJlZ2lvblxuICAgKi9cbiAgcmVhZG9ubHkgaWFtUm9sZVJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogU3RhZ2UgbmFtZXMgdGhhdCBtdXN0IGNvbXBsZXRlIHN1Y2Nlc3NmdWxseSBiZWZvcmUgdGhpcyBzdGFnZSBydW5zLlxuICAgKiBTdGFnZXMgd2l0aCBubyBkZXBlbmRzT24gcnVuIGluIHBhcmFsbGVsIGFmdGVyIHRoZSBwdWJsaXNoLWFzc2V0cyBqb2IuXG4gICAqXG4gICAqIEBleGFtcGxlIFsnU2FuZGJveCcsICdEZXYnXSAvLyB3YWl0cyBmb3IgYm90aCBiZWZvcmUgZGVwbG95aW5nXG4gICAqIEBkZWZhdWx0IC0gZGVwZW5kcyBvbmx5IG9uIHB1Ymxpc2gtYXNzZXRzIChydW5zIGFzIHNvb24gYXMgYXNzZXRzIGFyZSByZWFkeSlcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpYyBDREsgc3RhY2sgbmFtZXMgdG8gZGVwbG95IGluIHRoaXMgc3RhZ2UuXG4gICAqIEBkZWZhdWx0IC0gWyd7c3RhY2tQcmVmaXh9LXtzdGFnZU5hbWV9J11cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRydWUsIHRoaXMgc3RhZ2UgaXMgZXhjbHVkZWQgZnJvbSB0aGUgYXV0b21hdGljIGRlcGxveS55bWwgcGlwZWxpbmVcbiAgICogYW5kIGNhbiBvbmx5IGJlIGRlcGxveWVkIHZpYSB0aGUgZGVwbG95LWRpc3BhdGNoLnltbCB3b3JrZmxvdy5cbiAgICpcbiAgICogQXV0by1kZXBsb3kgc3RhZ2VzIGNhbm5vdCBkZXBlbmQgb24gbWFudWFsLWFwcHJvdmFsIHN0YWdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG1hbnVhbEFwcHJvdmFsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgQ0RLIGRlcGxveSBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtEZXBsb3lQaXBlbGluZU9wdGlvbnMge1xuICAvKiogbnBtIHNjb3BlIGZvciB2ZXJzaW9uZWQgY2xvdWQgYXNzZW1ibHkgcGFja2FnZXMgKGUuZy4sICdAZGVmaWFuY2UtZGlnaXRhbCcpICovXG4gIHJlYWRvbmx5IHBrZ05hbWVzcGFjZTogc3RyaW5nO1xuXG4gIC8qKiBTdGFjayBuYW1lIHByZWZpeC4gU3RhZ2UgbmFtZXMgYXJlIGFwcGVuZGVkIHdpdGggYSBkYXNoIChlLmcuLCAnTXlBcHAnIC0+ICdNeUFwcC1Qcm9kdWN0aW9uJykgKi9cbiAgcmVhZG9ubHkgc3RhY2tQcmVmaXg6IHN0cmluZztcblxuICAvKiogRGVmYXVsdCBPSURDIHJvbGUgQVJOIGZvciBBV1MgY3JlZGVudGlhbCBhc3N1bXB0aW9uICovXG4gIHJlYWRvbmx5IGlhbVJvbGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogRGVmYXVsdCBBV1MgcmVnaW9uIGZvciBPSURDIGNyZWRlbnRpYWwgYXNzdW1wdGlvbi5cbiAgICogQGRlZmF1bHQgJ3VzLWVhc3QtMSdcbiAgICovXG4gIHJlYWRvbmx5IGlhbVJvbGVSZWdpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5vZGUuanMgdmVyc2lvbiBmb3Igd29ya2Zsb3cgcnVubmVycy5cbiAgICogQGRlZmF1bHQgJzI0LngnXG4gICAqL1xuICByZWFkb25seSBub2RlVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RLIENMSSBjb21tYW5kIHByZWZpeC5cbiAgICogQGRlZmF1bHQgJ25weCBjZGsnXG4gICAqL1xuICByZWFkb25seSBjZGtDb21tYW5kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdlIGluc3RhbGwgY29tbWFuZC5cbiAgICogQGRlZmF1bHQgJ3lhcm4gaW5zdGFsbCAtLWNoZWNrLWZpbGVzIC0tZnJvemVuLWxvY2tmaWxlJ1xuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFsbENvbW1hbmQ/OiBzdHJpbmc7XG5cbiAgLyoqIERlcGxveW1lbnQgc3RhZ2VzIGluIGRlY2xhcmF0aW9uIG9yZGVyICovXG4gIHJlYWRvbmx5IHN0YWdlczogRGVwbG95U3RhZ2VPcHRpb25zW107XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgd29ya2Zsb3dfZGlzcGF0Y2ggd29ya2Zsb3cgZm9yIG1hbnVhbCBkZXBsb3ltZW50cyBhbmQgcm9sbGJhY2tzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBtYW51YWxEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVmVyc2lvbiBhbmQgcHVibGlzaCBjbG91ZCBhc3NlbWJseSB0byBHaXRIdWIgUGFja2FnZXMgZm9yIHJvbGxiYWNrIHN1cHBvcnQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdGhhdCB0cmlnZ2VycyBkZXBsb3ltZW50cyBvbiBwdXNoLlxuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaE5hbWU/OiBzdHJpbmc7XG59XG4iXX0=
|