@rio-cloud/cdk-v2-constructs 6.13.0 → 6.13.2
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 +35 -18
- package/docs/API.md +7 -0
- package/docs/changelog.md +14 -0
- package/lib/datadogv2/datadog-service-catalog-entry.d.ts +2 -0
- package/lib/datadogv2/datadog-service-catalog-entry.js +31 -19
- package/lib/datadogv2/datadog-shared-secrets.js +7 -2
- package/lib/datadogv2/service-catalog-custom-resource/on-create.cjs +18 -11
- package/lib/datadogv2/service-catalog-custom-resource/on-create.d.ts +5 -5
- package/lib/datadogv2/service-catalog-custom-resource/on-create.js +19 -12
- package/lib/watchful/aspect.js +2 -2
- package/package.json +1 -1
- package/version.json +1 -1
package/.jsii
CHANGED
|
@@ -15924,7 +15924,7 @@
|
|
|
15924
15924
|
},
|
|
15925
15925
|
"locationInModule": {
|
|
15926
15926
|
"filename": "src/datadogv2/datadog-service-catalog-entry.ts",
|
|
15927
|
-
"line":
|
|
15927
|
+
"line": 49
|
|
15928
15928
|
},
|
|
15929
15929
|
"parameters": [
|
|
15930
15930
|
{
|
|
@@ -15950,8 +15950,25 @@
|
|
|
15950
15950
|
"kind": "class",
|
|
15951
15951
|
"locationInModule": {
|
|
15952
15952
|
"filename": "src/datadogv2/datadog-service-catalog-entry.ts",
|
|
15953
|
-
"line":
|
|
15953
|
+
"line": 47
|
|
15954
15954
|
},
|
|
15955
|
+
"methods": [
|
|
15956
|
+
{
|
|
15957
|
+
"docs": {
|
|
15958
|
+
"stability": "stable"
|
|
15959
|
+
},
|
|
15960
|
+
"locationInModule": {
|
|
15961
|
+
"filename": "src/datadogv2/datadog-service-catalog-entry.ts",
|
|
15962
|
+
"line": 77
|
|
15963
|
+
},
|
|
15964
|
+
"name": "resourceHandler",
|
|
15965
|
+
"returns": {
|
|
15966
|
+
"type": {
|
|
15967
|
+
"fqn": "aws-cdk-lib.aws_lambda.Function"
|
|
15968
|
+
}
|
|
15969
|
+
}
|
|
15970
|
+
}
|
|
15971
|
+
],
|
|
15955
15972
|
"name": "DatadogServiceCatalogEntry",
|
|
15956
15973
|
"namespace": "datadogv2",
|
|
15957
15974
|
"symbolId": "src/datadogv2/datadog-service-catalog-entry:DatadogServiceCatalogEntry"
|
|
@@ -16141,7 +16158,7 @@
|
|
|
16141
16158
|
},
|
|
16142
16159
|
"locationInModule": {
|
|
16143
16160
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16144
|
-
"line":
|
|
16161
|
+
"line": 156
|
|
16145
16162
|
},
|
|
16146
16163
|
"name": "addRotationSchedule",
|
|
16147
16164
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16173,7 +16190,7 @@
|
|
|
16173
16190
|
},
|
|
16174
16191
|
"locationInModule": {
|
|
16175
16192
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16176
|
-
"line":
|
|
16193
|
+
"line": 160
|
|
16177
16194
|
},
|
|
16178
16195
|
"name": "addToResourcePolicy",
|
|
16179
16196
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16199,7 +16216,7 @@
|
|
|
16199
16216
|
},
|
|
16200
16217
|
"locationInModule": {
|
|
16201
16218
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16202
|
-
"line":
|
|
16219
|
+
"line": 172
|
|
16203
16220
|
},
|
|
16204
16221
|
"name": "applyRemovalPolicy",
|
|
16205
16222
|
"overrides": "aws-cdk-lib.IResource",
|
|
@@ -16219,7 +16236,7 @@
|
|
|
16219
16236
|
},
|
|
16220
16237
|
"locationInModule": {
|
|
16221
16238
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16222
|
-
"line":
|
|
16239
|
+
"line": 168
|
|
16223
16240
|
},
|
|
16224
16241
|
"name": "attach",
|
|
16225
16242
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16244,7 +16261,7 @@
|
|
|
16244
16261
|
},
|
|
16245
16262
|
"locationInModule": {
|
|
16246
16263
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16247
|
-
"line":
|
|
16264
|
+
"line": 164
|
|
16248
16265
|
},
|
|
16249
16266
|
"name": "denyAccountRootDelete",
|
|
16250
16267
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret"
|
|
@@ -16256,7 +16273,7 @@
|
|
|
16256
16273
|
},
|
|
16257
16274
|
"locationInModule": {
|
|
16258
16275
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16259
|
-
"line":
|
|
16276
|
+
"line": 136
|
|
16260
16277
|
},
|
|
16261
16278
|
"name": "grantRead",
|
|
16262
16279
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16293,7 +16310,7 @@
|
|
|
16293
16310
|
},
|
|
16294
16311
|
"locationInModule": {
|
|
16295
16312
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16296
|
-
"line":
|
|
16313
|
+
"line": 152
|
|
16297
16314
|
},
|
|
16298
16315
|
"name": "grantWrite",
|
|
16299
16316
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16318,7 +16335,7 @@
|
|
|
16318
16335
|
},
|
|
16319
16336
|
"locationInModule": {
|
|
16320
16337
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16321
|
-
"line":
|
|
16338
|
+
"line": 132
|
|
16322
16339
|
},
|
|
16323
16340
|
"name": "secretValueFromJson",
|
|
16324
16341
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16349,7 +16366,7 @@
|
|
|
16349
16366
|
"immutable": true,
|
|
16350
16367
|
"locationInModule": {
|
|
16351
16368
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16352
|
-
"line":
|
|
16369
|
+
"line": 108
|
|
16353
16370
|
},
|
|
16354
16371
|
"name": "env",
|
|
16355
16372
|
"overrides": "aws-cdk-lib.IResource",
|
|
@@ -16366,7 +16383,7 @@
|
|
|
16366
16383
|
"immutable": true,
|
|
16367
16384
|
"locationInModule": {
|
|
16368
16385
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16369
|
-
"line":
|
|
16386
|
+
"line": 116
|
|
16370
16387
|
},
|
|
16371
16388
|
"name": "secretArn",
|
|
16372
16389
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16383,7 +16400,7 @@
|
|
|
16383
16400
|
"immutable": true,
|
|
16384
16401
|
"locationInModule": {
|
|
16385
16402
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16386
|
-
"line":
|
|
16403
|
+
"line": 124
|
|
16387
16404
|
},
|
|
16388
16405
|
"name": "secretName",
|
|
16389
16406
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16399,7 +16416,7 @@
|
|
|
16399
16416
|
"immutable": true,
|
|
16400
16417
|
"locationInModule": {
|
|
16401
16418
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16402
|
-
"line":
|
|
16419
|
+
"line": 128
|
|
16403
16420
|
},
|
|
16404
16421
|
"name": "secretValue",
|
|
16405
16422
|
"overrides": "aws-cdk-lib.aws_secretsmanager.ISecret",
|
|
@@ -16415,7 +16432,7 @@
|
|
|
16415
16432
|
"immutable": true,
|
|
16416
16433
|
"locationInModule": {
|
|
16417
16434
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16418
|
-
"line":
|
|
16435
|
+
"line": 104
|
|
16419
16436
|
},
|
|
16420
16437
|
"name": "stack",
|
|
16421
16438
|
"overrides": "aws-cdk-lib.IResource",
|
|
@@ -16432,7 +16449,7 @@
|
|
|
16432
16449
|
"immutable": true,
|
|
16433
16450
|
"locationInModule": {
|
|
16434
16451
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16435
|
-
"line":
|
|
16452
|
+
"line": 112
|
|
16436
16453
|
},
|
|
16437
16454
|
"name": "encryptionKey",
|
|
16438
16455
|
"optional": true,
|
|
@@ -16450,7 +16467,7 @@
|
|
|
16450
16467
|
"immutable": true,
|
|
16451
16468
|
"locationInModule": {
|
|
16452
16469
|
"filename": "src/datadogv2/datadog-shared-secrets.ts",
|
|
16453
|
-
"line":
|
|
16470
|
+
"line": 120
|
|
16454
16471
|
},
|
|
16455
16472
|
"name": "secretFullArn",
|
|
16456
16473
|
"optional": true,
|
|
@@ -20003,5 +20020,5 @@
|
|
|
20003
20020
|
}
|
|
20004
20021
|
},
|
|
20005
20022
|
"version": "0.0.0",
|
|
20006
|
-
"fingerprint": "
|
|
20023
|
+
"fingerprint": "+De+ZilARNfOMZbxl6xLqCa8KlvpWFoUqKOSG0fwcTM="
|
|
20007
20024
|
}
|
package/docs/API.md
CHANGED
|
@@ -2024,6 +2024,7 @@ new datadogv2.DatadogServiceCatalogEntry(scope: IConstruct, id: string, props: D
|
|
|
2024
2024
|
| **Name** | **Description** |
|
|
2025
2025
|
| --- | --- |
|
|
2026
2026
|
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogServiceCatalogEntry.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
2027
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogServiceCatalogEntry.resourceHandler">resourceHandler</a></code> | *No description.* |
|
|
2027
2028
|
|
|
2028
2029
|
---
|
|
2029
2030
|
|
|
@@ -2035,6 +2036,12 @@ public toString(): string
|
|
|
2035
2036
|
|
|
2036
2037
|
Returns a string representation of this construct.
|
|
2037
2038
|
|
|
2039
|
+
##### `resourceHandler` <a name="resourceHandler" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogServiceCatalogEntry.resourceHandler"></a>
|
|
2040
|
+
|
|
2041
|
+
```typescript
|
|
2042
|
+
public resourceHandler(): Function
|
|
2043
|
+
```
|
|
2044
|
+
|
|
2038
2045
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
2039
2046
|
|
|
2040
2047
|
| **Name** | **Description** |
|
package/docs/changelog.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [6.13.2](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.13.1&sourceBranch=refs%2Ftags%2Fv6.13.2) (2024-11-12)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* resource handler implementation ([4eab5c8](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/4eab5c8e1d3ff879b1b4ee9cf3320b00e8c718e6))
|
|
11
|
+
|
|
12
|
+
## [6.13.1](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.13.0&sourceBranch=refs%2Ftags%2Fv6.13.1) (2024-11-12)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **Datadog:** exclude custom resource lambdas from watchful ([790b23d](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/790b23d340a3c939ab9777cc6ead934cdd2863a5))
|
|
18
|
+
|
|
5
19
|
## [6.13.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.12.6&sourceBranch=refs%2Ftags%2Fv6.13.0) (2024-11-12)
|
|
6
20
|
|
|
7
21
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
1
2
|
import * as constructs from 'constructs';
|
|
2
3
|
type ServiceLanguage = 'dotnet' | 'go' | 'java' | 'js' | 'php' | 'python' | 'ruby' | 'c++';
|
|
3
4
|
type ServiceType = 'web' | 'db' | 'cache' | 'function' | 'browser' | 'mobile' | 'custom';
|
|
@@ -33,5 +34,6 @@ export interface DatadogServiceCatalogEntryProperties {
|
|
|
33
34
|
*/
|
|
34
35
|
export declare class DatadogServiceCatalogEntry extends constructs.Construct {
|
|
35
36
|
constructor(scope: constructs.IConstruct, id: string, props: DatadogServiceCatalogEntryProperties);
|
|
37
|
+
resourceHandler(): cdk.aws_lambda.Function;
|
|
36
38
|
}
|
|
37
39
|
export {};
|
|
@@ -11,33 +11,18 @@ const cr = require("aws-cdk-lib/custom-resources");
|
|
|
11
11
|
const constructs = require("constructs");
|
|
12
12
|
const datadog_shared_secrets_1 = require("./datadog-shared-secrets");
|
|
13
13
|
const rio_landing_zone_1 = require("../rio-landing-zone");
|
|
14
|
+
const FUNCTION_ID = 'DatadogServiceCatalogEntryResourceHandler';
|
|
14
15
|
/**
|
|
15
16
|
* Custom Resource to setup service in Datadog's ServiceCatalog.
|
|
16
17
|
*/
|
|
17
18
|
class DatadogServiceCatalogEntry extends constructs.Construct {
|
|
18
19
|
constructor(scope, id, props) {
|
|
19
20
|
super(scope, id);
|
|
20
|
-
const
|
|
21
|
-
const resourceHandlerLambda = new lambda.SingletonFunction(this, 'DatadogServiceCatalogEntryResourceHandler', {
|
|
22
|
-
uuid: '13a03f8b-36fa-4c43-8fef-88c55db6bf11',
|
|
23
|
-
code: lambda.Code.fromAsset(path.join(__dirname, 'service-catalog-custom-resource'), {
|
|
24
|
-
exclude: ['*.js', '*.d.ts'],
|
|
25
|
-
}),
|
|
26
|
-
handler: 'on-create.handler',
|
|
27
|
-
runtime: lambda.Runtime.NODEJS_20_X,
|
|
28
|
-
architecture: lambda.Architecture.ARM_64,
|
|
29
|
-
logGroup: new logs.LogGroup(this, 'DatadogServiceCatalogEntryResourceHandlerLogGroup', {
|
|
30
|
-
retention: logs.RetentionDays.ONE_WEEK,
|
|
31
|
-
}),
|
|
32
|
-
timeout: cdk.Duration.minutes(6),
|
|
33
|
-
environment: {
|
|
34
|
-
DATADOG_SECRET_ARN: datadogSecret.secretArn,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
datadogSecret.grantRead(resourceHandlerLambda);
|
|
21
|
+
const resourceHandlerLambda = this.resourceHandler();
|
|
38
22
|
const provider = new cr.Provider(this, 'ResourceProvider', {
|
|
39
23
|
onEventHandler: resourceHandlerLambda,
|
|
40
24
|
});
|
|
25
|
+
new cdk.Tag('Watchful', 'false').visit(provider.node.findChild('framework-onEvent').node.defaultChild);
|
|
41
26
|
const teamIdentifier = rio_landing_zone_1.RioLandingZone.getTeamIdentifierParameter(this);
|
|
42
27
|
new cdk.CustomResource(this, 'Resource', {
|
|
43
28
|
serviceToken: provider.serviceToken,
|
|
@@ -54,8 +39,35 @@ class DatadogServiceCatalogEntry extends constructs.Construct {
|
|
|
54
39
|
},
|
|
55
40
|
});
|
|
56
41
|
}
|
|
42
|
+
resourceHandler() {
|
|
43
|
+
const stack = cdk.Stack.of(this);
|
|
44
|
+
if (stack.node.tryFindChild(FUNCTION_ID)) {
|
|
45
|
+
return stack.node.findChild(FUNCTION_ID);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const datadogSecret = datadog_shared_secrets_1.DatadogSharedSecret.credentialsSecret(this, 'DatadogSecret');
|
|
49
|
+
const handler = new lambda.Function(this, FUNCTION_ID, {
|
|
50
|
+
code: lambda.Code.fromAsset(path.join(__dirname, 'service-catalog-custom-resource'), {
|
|
51
|
+
exclude: ['*.js', '*.d.ts'],
|
|
52
|
+
}),
|
|
53
|
+
handler: 'on-create.handler',
|
|
54
|
+
runtime: lambda.Runtime.NODEJS_20_X,
|
|
55
|
+
architecture: lambda.Architecture.ARM_64,
|
|
56
|
+
logGroup: new logs.LogGroup(this, 'DatadogServiceCatalogEntryResourceHandlerLogGroup', {
|
|
57
|
+
retention: logs.RetentionDays.ONE_WEEK,
|
|
58
|
+
}),
|
|
59
|
+
timeout: cdk.Duration.minutes(6),
|
|
60
|
+
environment: {
|
|
61
|
+
DATADOG_SECRET_ARN: datadogSecret.secretArn,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
new cdk.Tag('Watchful', 'false').visit(handler.node.defaultChild);
|
|
65
|
+
datadogSecret.grantRead(handler);
|
|
66
|
+
return handler;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
57
69
|
}
|
|
58
70
|
exports.DatadogServiceCatalogEntry = DatadogServiceCatalogEntry;
|
|
59
71
|
_a = JSII_RTTI_SYMBOL_1;
|
|
60
72
|
DatadogServiceCatalogEntry[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.datadogv2.DatadogServiceCatalogEntry", version: "0.0.0" };
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1zZXJ2aWNlLWNhdGFsb2ctZW50cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWRvZ3YyL2RhdGFkb2ctc2VydmljZS1jYXRhbG9nLWVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUVuQyxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLG1EQUFtRDtBQUNuRCx5Q0FBeUM7QUFDekMscUVBQStEO0FBQy9ELDBEQUFxRDtBQWlDckQsTUFBTSxXQUFXLEdBQUcsMkNBQTJDLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBRWxFLFlBQVksS0FBNEIsRUFBRSxFQUFVLEVBQUUsS0FBMkM7UUFDL0YsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3pELGNBQWMsRUFBRSxxQkFBcUI7U0FDdEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLENBQUM7UUFFeEcsTUFBTSxjQUFjLEdBQUcsaUNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN2QyxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDbkMsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLGNBQWMsQ0FBQyxXQUFXO2dCQUNoQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzFCLElBQUksRUFBRTtvQkFDSixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7b0JBQzFCLFdBQVcsS0FBSyxDQUFDLFdBQVcsRUFBRTtpQkFDL0I7Z0JBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7YUFDM0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBb0IsQ0FBQztRQUM5RCxDQUFDO2FBQU0sQ0FBQztZQUVOLE1BQU0sYUFBYSxHQUFHLDRDQUFtQixDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUVuRixNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDckQsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGlDQUFpQyxDQUFDLEVBQUU7b0JBQ25GLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7aUJBQzVCLENBQUM7Z0JBQ0YsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbkMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtnQkFDeEMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbURBQW1ELEVBQUU7b0JBQ3JGLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVE7aUJBQ3ZDLENBQUM7Z0JBQ0YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsV0FBVyxFQUFFO29CQUNYLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxTQUFTO2lCQUM1QzthQUNGLENBQUMsQ0FBQztZQUNILElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLENBQUM7WUFFbkUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO0lBRUgsQ0FBQzs7QUEzREgsZ0VBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5cbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YWRvZ1NoYXJlZFNlY3JldCB9IGZyb20gJy4vZGF0YWRvZy1zaGFyZWQtc2VjcmV0cyc7XG5pbXBvcnQgeyBSaW9MYW5kaW5nWm9uZSB9IGZyb20gJy4uL3Jpby1sYW5kaW5nLXpvbmUnO1xuXG50eXBlIFNlcnZpY2VMYW5ndWFnZSA9ICdkb3RuZXQnIHwgJ2dvJyB8ICdqYXZhJyB8ICdqcycgfCAncGhwJyB8ICdweXRob24nIHwgJ3J1YnknIHwgJ2MrKyc7XG50eXBlIFNlcnZpY2VUeXBlID0gJ3dlYicgfCAnZGInIHwgJ2NhY2hlJyB8ICdmdW5jdGlvbicgfCAnYnJvd3NlcicgfCAnbW9iaWxlJyB8ICdjdXN0b20nO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBEYXRhZG9nU2VydmljZUNhdGFsb2dFbnRyeSBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWRvZ1NlcnZpY2VDYXRhbG9nRW50cnlQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgbmFtZSBvZiB0aGUgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFeHRyYSB0YWdzIHRoYXQgYXJlIHVzZWQgdG8gaWRlbnRpZnkgbG9ncywgbWV0cmljcyBhbmQgb3RoZXIgcmVzb3VyY2VzIG9mIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlICdzZXJ2aWNlOiRzZXJ2aWNlTmFtZSdcbiAgICovXG4gIHJlYWRvbmx5IGV4dHJhVGFncz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlVHlwZT86IFNlcnZpY2VUeXBlO1xuICAvKipcbiAgICogVGhlIHByb2dyYW1taW5nIGxhbmd1YWdlcyB1c2VkIGluIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbGFuZ3VhZ2VzPzogU2VydmljZUxhbmd1YWdlW107XG59XG5cbmNvbnN0IEZVTkNUSU9OX0lEID0gJ0RhdGFkb2dTZXJ2aWNlQ2F0YWxvZ0VudHJ5UmVzb3VyY2VIYW5kbGVyJztcblxuLyoqXG4gKiBDdXN0b20gUmVzb3VyY2UgdG8gc2V0dXAgc2VydmljZSBpbiBEYXRhZG9nJ3MgU2VydmljZUNhdGFsb2cuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nU2VydmljZUNhdGFsb2dFbnRyeSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5JQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ1NlcnZpY2VDYXRhbG9nRW50cnlQcm9wZXJ0aWVzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHJlc291cmNlSGFuZGxlckxhbWJkYSA9IHRoaXMucmVzb3VyY2VIYW5kbGVyKCk7XG5cbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCAnUmVzb3VyY2VQcm92aWRlcicsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiByZXNvdXJjZUhhbmRsZXJMYW1iZGEsXG4gICAgfSk7XG4gICAgbmV3IGNkay5UYWcoJ1dhdGNoZnVsJywgJ2ZhbHNlJykudmlzaXQocHJvdmlkZXIubm9kZS5maW5kQ2hpbGQoJ2ZyYW1ld29yay1vbkV2ZW50Jykubm9kZS5kZWZhdWx0Q2hpbGQhKTtcblxuICAgIGNvbnN0IHRlYW1JZGVudGlmaWVyID0gUmlvTGFuZGluZ1pvbmUuZ2V0VGVhbUlkZW50aWZpZXJQYXJhbWV0ZXIodGhpcyk7XG5cbiAgICBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcGFzY2FsQ2FzZVByb3BlcnRpZXM6IHRydWUsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHRlYW06IHRlYW1JZGVudGlmaWVyLnN0cmluZ1ZhbHVlLFxuICAgICAgICBzZXJ2aWNlOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgdGFnczogW1xuICAgICAgICAgIC4uLihwcm9wcy5leHRyYVRhZ3MgPz8gW10pLFxuICAgICAgICAgIGBzZXJ2aWNlOiR7cHJvcHMuc2VydmljZU5hbWV9YCxcbiAgICAgICAgXSxcbiAgICAgICAgdHlwZTogcHJvcHMuc2VydmljZVR5cGUsXG4gICAgICAgIGxhbmd1YWdlczogcHJvcHMubGFuZ3VhZ2VzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlc291cmNlSGFuZGxlcigpIHtcbiAgICBjb25zdCBzdGFjayA9IGNkay5TdGFjay5vZih0aGlzKTtcbiAgICBpZiAoc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoRlVOQ1RJT05fSUQpKSB7XG4gICAgICByZXR1cm4gc3RhY2subm9kZS5maW5kQ2hpbGQoRlVOQ1RJT05fSUQpIGFzIGxhbWJkYS5GdW5jdGlvbjtcbiAgICB9IGVsc2Uge1xuXG4gICAgICBjb25zdCBkYXRhZG9nU2VjcmV0ID0gRGF0YWRvZ1NoYXJlZFNlY3JldC5jcmVkZW50aWFsc1NlY3JldCh0aGlzLCAnRGF0YWRvZ1NlY3JldCcpO1xuXG4gICAgICBjb25zdCBoYW5kbGVyID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBGVU5DVElPTl9JRCwge1xuICAgICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ3NlcnZpY2UtY2F0YWxvZy1jdXN0b20tcmVzb3VyY2UnKSwge1xuICAgICAgICAgIGV4Y2x1ZGU6IFsnKi5qcycsICcqLmQudHMnXSxcbiAgICAgICAgfSksXG4gICAgICAgIGhhbmRsZXI6ICdvbi1jcmVhdGUuaGFuZGxlcicsXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yMF9YLFxuICAgICAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgICBsb2dHcm91cDogbmV3IGxvZ3MuTG9nR3JvdXAodGhpcywgJ0RhdGFkb2dTZXJ2aWNlQ2F0YWxvZ0VudHJ5UmVzb3VyY2VIYW5kbGVyTG9nR3JvdXAnLCB7XG4gICAgICAgICAgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICAgIH0pLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcyg2KSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBEQVRBRE9HX1NFQ1JFVF9BUk46IGRhdGFkb2dTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBuZXcgY2RrLlRhZygnV2F0Y2hmdWwnLCAnZmFsc2UnKS52aXNpdChoYW5kbGVyLm5vZGUuZGVmYXVsdENoaWxkISk7XG5cbiAgICAgIGRhdGFkb2dTZWNyZXQuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuICAgICAgcmV0dXJuIGhhbmRsZXI7XG4gICAgfVxuXG4gIH1cbn1cbiJdfQ==
|
|
@@ -53,14 +53,19 @@ class DatadogSharedSecret extends constructs.Construct {
|
|
|
53
53
|
EU_LANDING_ZONE_ORG_ID: EU_LANDING_ZONE_ORG_ID,
|
|
54
54
|
},
|
|
55
55
|
});
|
|
56
|
+
// to prevent issues with order of aspects in CDK, we need to add the tag directly.
|
|
57
|
+
new cdk.Tag('Watchful', 'false').visit(secretLocatorLambda.node.defaultChild);
|
|
56
58
|
secretLocatorLambda.addToRolePolicy(new iam.PolicyStatement({ actions: ['organizations:DescribeOrganization'], resources: ['*'] }));
|
|
57
59
|
secretLocatorLambda.addToRolePolicy(new iam.PolicyStatement({
|
|
58
60
|
actions: ['secretsmanager:DescribeSecret'],
|
|
59
61
|
resources: [`arn:aws:secretsmanager:${stack.region}:${DEVELOPER_TOOLS_ACCOUNT_ID}:secret:*`],
|
|
60
62
|
}));
|
|
61
|
-
|
|
63
|
+
const provider = new cr.Provider(stack, RESOURCE_ID, {
|
|
62
64
|
onEventHandler: secretLocatorLambda,
|
|
63
65
|
});
|
|
66
|
+
// to prevent issues with order of aspects in CDK, we need to add the tag directly.
|
|
67
|
+
new cdk.Tag('Watchful', 'false').visit(provider.node.findChild('framework-onEvent').node.defaultChild);
|
|
68
|
+
return provider;
|
|
64
69
|
}
|
|
65
70
|
constructor(scope, id, props) {
|
|
66
71
|
super(scope, id);
|
|
@@ -142,4 +147,4 @@ class DatadogSharedSecret extends constructs.Construct {
|
|
|
142
147
|
exports.DatadogSharedSecret = DatadogSharedSecret;
|
|
143
148
|
_a = JSII_RTTI_SYMBOL_1;
|
|
144
149
|
DatadogSharedSecret[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret", version: "0.0.0" };
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9ndjIvZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFFbkMsc0RBQXNEO0FBQ3RELDJDQUEyQztBQUMzQyxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHNEQUFzRDtBQUN0RCxtREFBbUQ7QUFDbkQseUNBQXlDO0FBR3pDLE1BQU0sc0JBQXNCLEdBQVcsY0FBYyxDQUFDO0FBQ3RELE1BQU0seUJBQXlCLEdBQVcsY0FBYyxDQUFDO0FBRXpELE1BQU0sMEJBQTBCLEdBQVcsY0FBYyxDQUFDO0FBRTFELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLDBCQUEwQixNQUFNLElBQUksMEJBQTBCLG9DQUFvQyxDQUFDO0FBQzFKLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLDBCQUEwQixNQUFNLElBQUksMEJBQTBCLGlDQUFpQyxDQUFDO0FBRXBKLE1BQU0sV0FBVyxHQUFHLDBCQUEwQixDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQUUzRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBMkIsRUFBRSxFQUFVO1FBQ3pELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBMkIsRUFBRSxFQUFVO1FBQzlELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLENBQUMs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QU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQixHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUMxRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUF3QjtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVcsRUFBRSxRQUFxQztRQUNwRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQStCO1FBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQW9DO1FBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBMEI7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O0FBL0lILGtEQWlKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuXG4vLyBpbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgc2VjIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5cblxuY29uc3QgRVVfTEFORElOR19aT05FX09SR19JRDogc3RyaW5nID0gJ28tcjVqZmw3bWJyOSc7XG5jb25zdCBMQVRBTV9MQU5ESU5HX1pPTkVfT1JHX0lEOiBzdHJpbmcgPSAnby01ajEydXQ1MjR3JztcblxuY29uc3QgREVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUQ6IHN0cmluZyA9ICc1NzcxNDY4OTc3ODUnO1xuXG5jb25zdCBzaGFyZWRMYXRhbVNlY3JldEFyblByZWZpeCA9IChyZWdpb246IHN0cmluZykgPT4gYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtyZWdpb259OiR7REVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUR9OnNlY3JldDovZGF0YWRvZy1pbnRlZ3JhdGlvbi9sYXRhbWA7XG5jb25zdCBzaGFyZWRFdVNlY3JldEFyblByZWZpeCA9IChyZWdpb246IHN0cmluZykgPT4gYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtyZWdpb259OiR7REVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUR9OnNlY3JldDovZGF0YWRvZy1pbnRlZ3JhdGlvbi9ldWA7XG5cbmNvbnN0IFJFU09VUkNFX0lEID0gJ19fT3JnQ3JlZGVudGlhbHNTZWNyZXRfXyc7XG5cbi8qKlxuICogQSBjdXN0b20gcmVzb3VyY2UgdGhhdCByZXNvbHZlcyB0aGUgc2VjcmV0IEFSTiBiYXNlZCBvbiB0aGUgb3JnYW5pemF0aW9uIElELlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ1NoYXJlZFNlY3JldCBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IGltcGxlbWVudHMgc2VjLklTZWNyZXQge1xuXG4gIC8qKlxuICAgKiBUaGlzIHN0YXRpYyBmdW5jdGlvbiByZXNvbHZlcyB0byB0aGUgcGxhaW4gYXBpLWtleSBzZWNyZXQsIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRoZSBsb2cgZm9yd2FyZGVyIG9yIHRoZSBMYW1iZGEgaW5zdHJ1bWVudGF0aW9uLlxuICAgKi9cbiAgc3RhdGljIGFwaUtleVNlY3JldChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IERhdGFkb2dTaGFyZWRTZWNyZXQoc2NvcGUsIGlkLCB7IHNlY3JldE5hbWU6ICdzaGFyZWQtYXBpLWtleScgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBzdGF0aWMgZnVuY3Rpb24gcmVzb2x2ZXMgdG8gdGhlIGpzb24gY3JlZGVudGlhbHMgc2VjcmV0IHRoYXQgY29udGFpbnMgWydBcGlLZXknLCAnQXBwbGljYXRpb25LZXknLCAnU2l0ZSddLlxuICAgKi9cbiAgc3RhdGljIGNyZWRlbnRpYWxzU2VjcmV0KHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgRGF0YWRvZ1NoYXJlZFNlY3JldChzY29wZSwgaWQsIHsgc2VjcmV0TmFtZTogJ3NoYXJlZC1jcmVkZW50aWFscycgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzZXR1cEN1c3RvbVJlc291cmNlKHN0YWNrOiBjZGsuU3RhY2spOiBjci5Qcm92aWRlciB7XG4gICAgY29uc3Qgc2VjcmV0TG9jYXRvckxhbWJkYSA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc3RhY2ssICdSZXNvbHZlU2VjcmV0QXJuSGFuZGxlcicsIHtcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VjcmV0LWxvY2F0b3ItY3VzdG9tLXJlc291cmNlJyksIHtcbiAgICAgICAgZXhjbHVkZTogWycqLmpzJywgJyouZC50cyddLFxuICAgICAgfSksXG4gICAgICBoYW5kbGVyOiAnb24tY3JlYXRlLmhhbmRsZXInLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIwX1gsXG4gICAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHN0YWNrLCAnRGF0YWRvZ1NoYXJlZFNlY3JldEhhbmRsZXJMb2dHcm91cCcsIHtcbiAgICAgICAgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICB9KSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDYpLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgU0hBUkVEX0xBVEFNX1NFQ1JFVF9BUk5fUFJFRklYOiBzaGFyZWRMYXRhbVNlY3JldEFyblByZWZpeChzdGFjay5yZWdpb24pLFxuICAgICAgICBTSEFSRURfRVVfU0VDUkVUX0FSTl9QUkVGSVg6IHNoYXJlZEV1U2VjcmV0QXJuUHJlZml4KHN0YWNrLnJlZ2lvbiksXG4gICAgICAgIExBVEFNX0xBTkRJTkdfWk9ORV9PUkdfSUQ6IExBVEFNX0xBTkRJTkdfWk9ORV9PUkdfSUQsXG4gICAgICAgIEVVX0xBTkRJTkdfWk9ORV9PUkdfSUQ6IEVVX0xBTkRJTkdfWk9ORV9PUkdfSUQsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgc2VjcmV0TG9jYXRvckxhbWJkYS5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoeyBhY3Rpb25zOiBbJ29yZ2FuaXphdGlvbnM6RGVzY3JpYmVPcmdhbml6YXRpb24nXSwgcmVzb3VyY2VzOiBbJyonXSB9KSk7XG4gICAgc2VjcmV0TG9jYXRvckxhbWJkYS5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtzdGFjay5yZWdpb259OiR7REVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUR9OnNlY3JldDoqYF0sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBjci5Qcm92aWRlcihzdGFjaywgUkVTT1VSQ0VfSUQsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBzZWNyZXRMb2NhdG9yTGFtYmRhLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWNyZXQ6IHNlYy5JU2VjcmV0O1xuICBwcml2YXRlIGN1c3RvbVJlc291cmNlOiBjci5Qcm92aWRlcjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLklDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiB7c2VjcmV0TmFtZTogc3RyaW5nfSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBzdGFjayA9IGNkay5TdGFjay5vZih0aGlzKTtcbiAgICBpZiAoIXN0YWNrLm5vZGUudHJ5RmluZENoaWxkKFJFU09VUkNFX0lEKSkge1xuICAgICAgdGhpcy5jdXN0b21SZXNvdXJjZSA9IERhdGFkb2dTaGFyZWRTZWNyZXQuc2V0dXBDdXN0b21SZXNvdXJjZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VzdG9tUmVzb3VyY2UgPSBzdGFjay5ub2RlLmZpbmRDaGlsZChSRVNPVVJDRV9JRCkgYXMgY3IuUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VjcmV0TG9jYXRvciA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0RhdGFkb2dTaGFyZWRTZWNyZXQnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuY3VzdG9tUmVzb3VyY2Uuc2VydmljZVRva2VuLFxuICAgICAgcGFzY2FsQ2FzZVByb3BlcnRpZXM6IHRydWUsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHNlY3JldE5hbWU6IHByb3BzLnNlY3JldE5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWNyZXQgPSBzZWMuU2VjcmV0LmZyb21TZWNyZXRDb21wbGV0ZUFybih0aGlzLCAnUmVzb3VyY2UnLCBzZWNyZXRMb2NhdG9yLmdldEF0dCgnU2VjcmV0QXJuJykudG9TdHJpbmcoKSk7XG4gIH1cblxuICBnZXQgc3RhY2soKTogY2RrLlN0YWNrIHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuc3RhY2s7XG4gIH1cblxuICBnZXQgZW52KCk6IGNkay5SZXNvdXJjZUVudmlyb25tZW50IHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuZW52O1xuICB9XG5cbiAgZ2V0IGVuY3J5cHRpb25LZXkoKSA6IGNkay5hd3Nfa21zLklLZXkgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc2VjcmV0QXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0LnNlY3JldEFybjtcbiAgfTtcblxuICBnZXQgc2VjcmV0RnVsbEFybigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5zZWNyZXRGdWxsQXJuO1xuICB9XG5cbiAgZ2V0IHNlY3JldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuc2VjcmV0TmFtZTtcbiAgfVxuXG4gIGdldCBzZWNyZXRWYWx1ZSgpOiBjZGsuU2VjcmV0VmFsdWUge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5zZWNyZXRWYWx1ZTtcbiAgfVxuXG4gIHNlY3JldFZhbHVlRnJvbUpzb24oa2V5OiBzdHJpbmcpOiBjZGsuU2VjcmV0VmFsdWUge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5zZWNyZXRWYWx1ZUZyb21Kc29uKGtleSk7XG4gIH1cblxuICBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIHZlcnNpb25TdGFnZXM/OiBzdHJpbmdbXSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmVzdWx0ID0gZ3JhbnRlZS5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0J10sXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czprbXM6Kjoke0RFVkVMT1BFUl9UT09MU19BQ0NPVU5UX0lEfTprZXkvKmBdLFxuICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAnRm9yQW55VmFsdWU6U3RyaW5nTGlrZSc6IHtcbiAgICAgICAgICAna21zOlJlc291cmNlQWxpYXNlcyc6ICdhbGlhcy9kYXRhZG9nLWludGVncmF0aW9uLXNoYXJlZC1jcmVkZW50aWFscy1rZXknLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KSk7XG4gICAgaWYgKCFyZXN1bHQuc3RhdGVtZW50QWRkZWQpIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdDb3VsZCBub3QgYWRkIHN0YXRlbWVudCB0byB0aGUgcHJpbmNpcGFsIHBvbGljeS4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0LmdyYW50UmVhZChncmFudGVlLCB2ZXJzaW9uU3RhZ2VzKTtcbiAgfVxuXG4gIGdyYW50V3JpdGUoX2dyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgYWxsb3dlZC4nKTtcbiAgfVxuXG4gIGFkZFJvdGF0aW9uU2NoZWR1bGUoX2lkOiBzdHJpbmcsIF9vcHRpb25zOiBzZWMuUm90YXRpb25TY2hlZHVsZU9wdGlvbnMpOiBzZWMuUm90YXRpb25TY2hlZHVsZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGFsbG93ZWQuJyk7XG4gIH1cblxuICBhZGRUb1Jlc291cmNlUG9saWN5KF9zdGF0ZW1lbnQ6IGlhbS5Qb2xpY3lTdGF0ZW1lbnQpOiBpYW0uQWRkVG9SZXNvdXJjZVBvbGljeVJlc3VsdCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGFsbG93ZWQuJyk7XG4gIH1cblxuICBkZW55QWNjb3VudFJvb3REZWxldGUoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGFsbG93ZWQuJyk7XG4gIH1cblxuICBhdHRhY2goX3RhcmdldDogc2VjLklTZWNyZXRBdHRhY2htZW50VGFyZ2V0KTogc2VjLklTZWNyZXQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbiAgYXBwbHlSZW1vdmFsUG9saWN5KF9wb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5KTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGFsbG93ZWQuJyk7XG4gIH1cblxufVxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9ndjIvZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFFbkMsc0RBQXNEO0FBQ3RELDJDQUEyQztBQUMzQyxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHNEQUFzRDtBQUN0RCxtREFBbUQ7QUFDbkQseUNBQXlDO0FBR3pDLE1BQU0sc0JBQXNCLEdBQVcsY0FBYyxDQUFDO0FBQ3RELE1BQU0seUJBQXlCLEdBQVcsY0FBYyxDQUFDO0FBRXpELE1BQU0sMEJBQTBCLEdBQVcsY0FBYyxDQUFDO0FBRTFELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLDBCQUEwQixNQUFNLElBQUksMEJBQTBCLG9DQUFvQyxDQUFDO0FBQzFKLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLDBCQUEwQixNQUFNLElBQUksMEJBQTBCLGlDQUFpQyxDQUFDO0FBRXBKLE1BQU0sV0FBVyxHQUFHLDBCQUEwQixDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQUUzRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBMkIsRUFBRSxFQUFVO1FBQ3pELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBMkIsRUFBRSxFQUFVO1FBQzlELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLENBQUMs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SUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6QyxDQUFDOztBQXBKSCxrREFzSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcblxuLy8gaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNlYyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbmNvbnN0IEVVX0xBTkRJTkdfWk9ORV9PUkdfSUQ6IHN0cmluZyA9ICdvLXI1amZsN21icjknO1xuY29uc3QgTEFUQU1fTEFORElOR19aT05FX09SR19JRDogc3RyaW5nID0gJ28tNWoxMnV0NTI0dyc7XG5cbmNvbnN0IERFVkVMT1BFUl9UT09MU19BQ0NPVU5UX0lEOiBzdHJpbmcgPSAnNTc3MTQ2ODk3Nzg1JztcblxuY29uc3Qgc2hhcmVkTGF0YW1TZWNyZXRBcm5QcmVmaXggPSAocmVnaW9uOiBzdHJpbmcpID0+IGBhcm46YXdzOnNlY3JldHNtYW5hZ2VyOiR7cmVnaW9ufToke0RFVkVMT1BFUl9UT09MU19BQ0NPVU5UX0lEfTpzZWNyZXQ6L2RhdGFkb2ctaW50ZWdyYXRpb24vbGF0YW1gO1xuY29uc3Qgc2hhcmVkRXVTZWNyZXRBcm5QcmVmaXggPSAocmVnaW9uOiBzdHJpbmcpID0+IGBhcm46YXdzOnNlY3JldHNtYW5hZ2VyOiR7cmVnaW9ufToke0RFVkVMT1BFUl9UT09MU19BQ0NPVU5UX0lEfTpzZWNyZXQ6L2RhdGFkb2ctaW50ZWdyYXRpb24vZXVgO1xuXG5jb25zdCBSRVNPVVJDRV9JRCA9ICdfX09yZ0NyZWRlbnRpYWxzU2VjcmV0X18nO1xuXG4vKipcbiAqIEEgY3VzdG9tIHJlc291cmNlIHRoYXQgcmVzb2x2ZXMgdGhlIHNlY3JldCBBUk4gYmFzZWQgb24gdGhlIG9yZ2FuaXphdGlvbiBJRC5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFkb2dTaGFyZWRTZWNyZXQgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCBpbXBsZW1lbnRzIHNlYy5JU2VjcmV0IHtcblxuICAvKipcbiAgICogVGhpcyBzdGF0aWMgZnVuY3Rpb24gcmVzb2x2ZXMgdG8gdGhlIHBsYWluIGFwaS1rZXkgc2VjcmV0LCB0aGF0IGNhbiBiZSB1c2VkIGZvciB0aGUgbG9nIGZvcndhcmRlciBvciB0aGUgTGFtYmRhIGluc3RydW1lbnRhdGlvbi5cbiAgICovXG4gIHN0YXRpYyBhcGlLZXlTZWNyZXQoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhZG9nU2hhcmVkU2VjcmV0KHNjb3BlLCBpZCwgeyBzZWNyZXROYW1lOiAnc2hhcmVkLWFwaS1rZXknIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgc3RhdGljIGZ1bmN0aW9uIHJlc29sdmVzIHRvIHRoZSBqc29uIGNyZWRlbnRpYWxzIHNlY3JldCB0aGF0IGNvbnRhaW5zIFsnQXBpS2V5JywgJ0FwcGxpY2F0aW9uS2V5JywgJ1NpdGUnXS5cbiAgICovXG4gIHN0YXRpYyBjcmVkZW50aWFsc1NlY3JldChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IERhdGFkb2dTaGFyZWRTZWNyZXQoc2NvcGUsIGlkLCB7IHNlY3JldE5hbWU6ICdzaGFyZWQtY3JlZGVudGlhbHMnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc2V0dXBDdXN0b21SZXNvdXJjZShzdGFjazogY2RrLlN0YWNrKTogY3IuUHJvdmlkZXIge1xuICAgIGNvbnN0IHNlY3JldExvY2F0b3JMYW1iZGEgPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHN0YWNrLCAnUmVzb2x2ZVNlY3JldEFybkhhbmRsZXInLCB7XG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ3NlY3JldC1sb2NhdG9yLWN1c3RvbS1yZXNvdXJjZScpLCB7XG4gICAgICAgIGV4Y2x1ZGU6IFsnKi5qcycsICcqLmQudHMnXSxcbiAgICAgIH0pLFxuICAgICAgaGFuZGxlcjogJ29uLWNyZWF0ZS5oYW5kbGVyJyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yMF9YLFxuICAgICAgYXJjaGl0ZWN0dXJlOiBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgIGxvZ0dyb3VwOiBuZXcgbG9ncy5Mb2dHcm91cChzdGFjaywgJ0RhdGFkb2dTaGFyZWRTZWNyZXRIYW5kbGVyTG9nR3JvdXAnLCB7XG4gICAgICAgIHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgfSksXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcyg2KSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFNIQVJFRF9MQVRBTV9TRUNSRVRfQVJOX1BSRUZJWDogc2hhcmVkTGF0YW1TZWNyZXRBcm5QcmVmaXgoc3RhY2sucmVnaW9uKSxcbiAgICAgICAgU0hBUkVEX0VVX1NFQ1JFVF9BUk5fUFJFRklYOiBzaGFyZWRFdVNlY3JldEFyblByZWZpeChzdGFjay5yZWdpb24pLFxuICAgICAgICBMQVRBTV9MQU5ESU5HX1pPTkVfT1JHX0lEOiBMQVRBTV9MQU5ESU5HX1pPTkVfT1JHX0lELFxuICAgICAgICBFVV9MQU5ESU5HX1pPTkVfT1JHX0lEOiBFVV9MQU5ESU5HX1pPTkVfT1JHX0lELFxuICAgICAgfSxcbiAgICB9KTtcbiAgICAvLyB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIG9yZGVyIG9mIGFzcGVjdHMgaW4gQ0RLLCB3ZSBuZWVkIHRvIGFkZCB0aGUgdGFnIGRpcmVjdGx5LlxuICAgIG5ldyBjZGsuVGFnKCdXYXRjaGZ1bCcsICdmYWxzZScpLnZpc2l0KHNlY3JldExvY2F0b3JMYW1iZGEubm9kZS5kZWZhdWx0Q2hpbGQhKTtcblxuICAgIHNlY3JldExvY2F0b3JMYW1iZGEuYWRkVG9Sb2xlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHsgYWN0aW9uczogWydvcmdhbml6YXRpb25zOkRlc2NyaWJlT3JnYW5pemF0aW9uJ10sIHJlc291cmNlczogWycqJ10gfSkpO1xuICAgIHNlY3JldExvY2F0b3JMYW1iZGEuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ3NlY3JldHNtYW5hZ2VyOkRlc2NyaWJlU2VjcmV0J10sXG4gICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnNlY3JldHNtYW5hZ2VyOiR7c3RhY2sucmVnaW9ufToke0RFVkVMT1BFUl9UT09MU19BQ0NPVU5UX0lEfTpzZWNyZXQ6KmBdLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHN0YWNrLCBSRVNPVVJDRV9JRCwge1xuICAgICAgb25FdmVudEhhbmRsZXI6IHNlY3JldExvY2F0b3JMYW1iZGEsXG4gICAgfSk7XG4gICAgLy8gdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBvcmRlciBvZiBhc3BlY3RzIGluIENESywgd2UgbmVlZCB0byBhZGQgdGhlIHRhZyBkaXJlY3RseS5cbiAgICBuZXcgY2RrLlRhZygnV2F0Y2hmdWwnLCAnZmFsc2UnKS52aXNpdChwcm92aWRlci5ub2RlLmZpbmRDaGlsZCgnZnJhbWV3b3JrLW9uRXZlbnQnKS5ub2RlLmRlZmF1bHRDaGlsZCEpO1xuICAgIHJldHVybiBwcm92aWRlcjtcbiAgfVxuXG4gIHByaXZhdGUgc2VjcmV0OiBzZWMuSVNlY3JldDtcbiAgcHJpdmF0ZSBjdXN0b21SZXNvdXJjZTogY3IuUHJvdmlkZXI7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5JQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczoge3NlY3JldE5hbWU6IHN0cmluZ30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qgc3RhY2sgPSBjZGsuU3RhY2sub2YodGhpcyk7XG4gICAgaWYgKCFzdGFjay5ub2RlLnRyeUZpbmRDaGlsZChSRVNPVVJDRV9JRCkpIHtcbiAgICAgIHRoaXMuY3VzdG9tUmVzb3VyY2UgPSBEYXRhZG9nU2hhcmVkU2VjcmV0LnNldHVwQ3VzdG9tUmVzb3VyY2Uoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1c3RvbVJlc291cmNlID0gc3RhY2subm9kZS5maW5kQ2hpbGQoUkVTT1VSQ0VfSUQpIGFzIGNyLlByb3ZpZGVyO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY3JldExvY2F0b3IgPSBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdEYXRhZG9nU2hhcmVkU2VjcmV0Jywge1xuICAgICAgc2VydmljZVRva2VuOiB0aGlzLmN1c3RvbVJlc291cmNlLnNlcnZpY2VUb2tlbixcbiAgICAgIHBhc2NhbENhc2VQcm9wZXJ0aWVzOiB0cnVlLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBzZWNyZXROYW1lOiBwcm9wcy5zZWNyZXROYW1lLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2VjcmV0ID0gc2VjLlNlY3JldC5mcm9tU2VjcmV0Q29tcGxldGVBcm4odGhpcywgJ1Jlc291cmNlJywgc2VjcmV0TG9jYXRvci5nZXRBdHQoJ1NlY3JldEFybicpLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgZ2V0IHN0YWNrKCk6IGNkay5TdGFjayB7XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0LnN0YWNrO1xuICB9XG5cbiAgZ2V0IGVudigpOiBjZGsuUmVzb3VyY2VFbnZpcm9ubWVudCB7XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0LmVudjtcbiAgfVxuXG4gIGdldCBlbmNyeXB0aW9uS2V5KCkgOiBjZGsuYXdzX2ttcy5JS2V5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHNlY3JldEFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5zZWNyZXRBcm47XG4gIH07XG5cbiAgZ2V0IHNlY3JldEZ1bGxBcm4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuc2VjcmV0RnVsbEFybjtcbiAgfVxuXG4gIGdldCBzZWNyZXROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0LnNlY3JldE5hbWU7XG4gIH1cblxuICBnZXQgc2VjcmV0VmFsdWUoKTogY2RrLlNlY3JldFZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuc2VjcmV0VmFsdWU7XG4gIH1cblxuICBzZWNyZXRWYWx1ZUZyb21Kc29uKGtleTogc3RyaW5nKTogY2RrLlNlY3JldFZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuc2VjcmV0VmFsdWVGcm9tSnNvbihrZXkpO1xuICB9XG5cbiAgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCB2ZXJzaW9uU3RhZ2VzPzogc3RyaW5nW10pOiBpYW0uR3JhbnQge1xuICAgIGNvbnN0IHJlc3VsdCA9IGdyYW50ZWUuZ3JhbnRQcmluY2lwYWwuYWRkVG9QcmluY2lwYWxQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCddLFxuICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6a21zOio6JHtERVZFTE9QRVJfVE9PTFNfQUNDT1VOVF9JRH06a2V5LypgXSxcbiAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgJ0ZvckFueVZhbHVlOlN0cmluZ0xpa2UnOiB7XG4gICAgICAgICAgJ2ttczpSZXNvdXJjZUFsaWFzZXMnOiAnYWxpYXMvZGF0YWRvZy1pbnRlZ3JhdGlvbi1zaGFyZWQtY3JlZGVudGlhbHMta2V5JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSkpO1xuICAgIGlmICghcmVzdWx0LnN0YXRlbWVudEFkZGVkKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnQ291bGQgbm90IGFkZCBzdGF0ZW1lbnQgdG8gdGhlIHByaW5jaXBhbCBwb2xpY3kuJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlY3JldC5ncmFudFJlYWQoZ3JhbnRlZSwgdmVyc2lvblN0YWdlcyk7XG4gIH1cblxuICBncmFudFdyaXRlKF9ncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGFsbG93ZWQuJyk7XG4gIH1cblxuICBhZGRSb3RhdGlvblNjaGVkdWxlKF9pZDogc3RyaW5nLCBfb3B0aW9uczogc2VjLlJvdGF0aW9uU2NoZWR1bGVPcHRpb25zKTogc2VjLlJvdGF0aW9uU2NoZWR1bGUge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbiAgYWRkVG9SZXNvdXJjZVBvbGljeShfc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbiAgZGVueUFjY291bnRSb290RGVsZXRlKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbiAgYXR0YWNoKF90YXJnZXQ6IHNlYy5JU2VjcmV0QXR0YWNobWVudFRhcmdldCk6IHNlYy5JU2VjcmV0IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgYWxsb3dlZC4nKTtcbiAgfVxuXG4gIGFwcGx5UmVtb3ZhbFBvbGljeShfcG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -20328,7 +20328,7 @@ var handler = async (event) => {
|
|
|
20328
20328
|
await onDelete(props);
|
|
20329
20329
|
break;
|
|
20330
20330
|
}
|
|
20331
|
-
return { PhysicalResourceId: props.
|
|
20331
|
+
return { PhysicalResourceId: props.Service };
|
|
20332
20332
|
} catch (error) {
|
|
20333
20333
|
console.error(error);
|
|
20334
20334
|
throw error;
|
|
@@ -20350,24 +20350,31 @@ var getHeaders = async () => {
|
|
|
20350
20350
|
};
|
|
20351
20351
|
};
|
|
20352
20352
|
var onCreate = async (event) => {
|
|
20353
|
-
|
|
20353
|
+
const payload = {
|
|
20354
|
+
"schema-version": "v2.2",
|
|
20355
|
+
"dd-service": event.Service,
|
|
20356
|
+
"team": event.Team,
|
|
20357
|
+
"tags": event.Tags,
|
|
20358
|
+
"type": event.Type,
|
|
20359
|
+
"languages": event.Languages
|
|
20360
|
+
};
|
|
20361
|
+
const response = await fetch("https://api.datadoghq.eu/api/v2/services/definitions", {
|
|
20354
20362
|
method: "POST",
|
|
20355
20363
|
headers: await getHeaders(),
|
|
20356
|
-
body: JSON.stringify(
|
|
20357
|
-
"schema-version": "v2.2",
|
|
20358
|
-
"dd-service": event.service,
|
|
20359
|
-
"team": event.team,
|
|
20360
|
-
"tags": event.tags,
|
|
20361
|
-
"type": event.type,
|
|
20362
|
-
"languages": event.languages
|
|
20363
|
-
})
|
|
20364
|
+
body: JSON.stringify(payload)
|
|
20364
20365
|
});
|
|
20366
|
+
if (response.status >= 300) {
|
|
20367
|
+
throw new Error(`Failed to create service: ${response.status} - ${response.statusText}`);
|
|
20368
|
+
}
|
|
20365
20369
|
};
|
|
20366
20370
|
var onDelete = async (event) => {
|
|
20367
|
-
await fetch(`https://api.datadoghq.eu/api/v2/services/definitions/${event.
|
|
20371
|
+
const response = await fetch(`https://api.datadoghq.eu/api/v2/services/definitions/${event.Service}`, {
|
|
20368
20372
|
method: "DELETE",
|
|
20369
20373
|
headers: await getHeaders()
|
|
20370
20374
|
});
|
|
20375
|
+
if (response.status >= 300) {
|
|
20376
|
+
throw new Error(`Failed to create service: ${response.status} - ${response.statusText}`);
|
|
20377
|
+
}
|
|
20371
20378
|
};
|
|
20372
20379
|
// Annotate the CommonJS export names for ESM import in node:
|
|
20373
20380
|
0 && (module.exports = {
|
|
@@ -2,11 +2,11 @@ import { CdkCustomResourceResponse, CdkCustomResourceEvent } from 'aws-lambda';
|
|
|
2
2
|
type ServiceLanguage = 'dotnet' | 'go' | 'java' | 'js' | 'php' | 'python' | 'ruby' | 'c++';
|
|
3
3
|
type ServiceType = 'web' | 'db' | 'cache' | 'function' | 'browser' | 'mobile' | 'custom';
|
|
4
4
|
export interface ServiceCatalogEntryProperties {
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
5
|
+
readonly Team: string;
|
|
6
|
+
readonly Service: string;
|
|
7
|
+
readonly Tags?: string[];
|
|
8
|
+
readonly Type?: ServiceType;
|
|
9
|
+
readonly Languages?: ServiceLanguage[];
|
|
10
10
|
}
|
|
11
11
|
export declare const handler: (event: CdkCustomResourceEvent<ServiceCatalogEntryProperties>) => Promise<CdkCustomResourceResponse>;
|
|
12
12
|
export {};
|
|
@@ -15,7 +15,7 @@ const handler = async (event) => {
|
|
|
15
15
|
await onDelete(props);
|
|
16
16
|
break;
|
|
17
17
|
}
|
|
18
|
-
return { PhysicalResourceId: props.
|
|
18
|
+
return { PhysicalResourceId: props.Service };
|
|
19
19
|
}
|
|
20
20
|
catch (error) {
|
|
21
21
|
console.error(error);
|
|
@@ -40,23 +40,30 @@ const getHeaders = async () => {
|
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
42
|
const onCreate = async (event) => {
|
|
43
|
-
|
|
43
|
+
const payload = {
|
|
44
|
+
'schema-version': 'v2.2',
|
|
45
|
+
'dd-service': event.Service,
|
|
46
|
+
'team': event.Team,
|
|
47
|
+
'tags': event.Tags,
|
|
48
|
+
'type': event.Type,
|
|
49
|
+
'languages': event.Languages,
|
|
50
|
+
};
|
|
51
|
+
const response = await fetch('https://api.datadoghq.eu/api/v2/services/definitions', {
|
|
44
52
|
method: 'POST',
|
|
45
53
|
headers: await getHeaders(),
|
|
46
|
-
body: JSON.stringify(
|
|
47
|
-
'schema-version': 'v2.2',
|
|
48
|
-
'dd-service': event.service,
|
|
49
|
-
'team': event.team,
|
|
50
|
-
'tags': event.tags,
|
|
51
|
-
'type': event.type,
|
|
52
|
-
'languages': event.languages,
|
|
53
|
-
}),
|
|
54
|
+
body: JSON.stringify(payload),
|
|
54
55
|
});
|
|
56
|
+
if (response.status >= 300) {
|
|
57
|
+
throw new Error(`Failed to create service: ${response.status} - ${response.statusText}`);
|
|
58
|
+
}
|
|
55
59
|
};
|
|
56
60
|
const onDelete = async (event) => {
|
|
57
|
-
await fetch(`https://api.datadoghq.eu/api/v2/services/definitions/${event.
|
|
61
|
+
const response = await fetch(`https://api.datadoghq.eu/api/v2/services/definitions/${event.Service}`, {
|
|
58
62
|
method: 'DELETE',
|
|
59
63
|
headers: await getHeaders(),
|
|
60
64
|
});
|
|
65
|
+
if (response.status >= 300) {
|
|
66
|
+
throw new Error(`Failed to create service: ${response.status} - ${response.statusText}`);
|
|
67
|
+
}
|
|
61
68
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGFkb2d2Mi9zZXJ2aWNlLWNhdGFsb2ctY3VzdG9tLXJlc291cmNlL29uLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBc0U7QUFjL0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFHLEtBQTRELEVBQXVDLEVBQUU7SUFDbEksT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFMUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDO0lBRXZDLElBQUksQ0FBQztRQUNILFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFCLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxRQUFRO2dCQUNYLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1FBQ1YsQ0FBQztRQUVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQXJCVyxRQUFBLE9BQU8sV0FxQmxCO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxrQkFBdUMsRUFBRSxZQUFvQixFQUFVLEVBQUU7SUFDaEcsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsSUFBSSxLQUFLLEtBQUssU0FBUztRQUFFLE1BQU0saUNBQWlDLFlBQVksRUFBRSxDQUFDO0lBQy9FLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxtQkFBUyxFQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUF1QixDQUFDLENBQUM7SUFFbkQsT0FBTztRQUNMLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQzNCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxjQUFjO0tBQzVDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsS0FBb0MsRUFBRSxFQUFFO0lBQzlELE1BQU0sT0FBTyxHQUFHO1FBQ2QsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDM0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUk7UUFDbEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxTQUFTO0tBQzdCLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxzREFBc0QsRUFBRTtRQUNuRixNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRSxNQUFNLFVBQVUsRUFBRTtRQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7S0FDOUIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFFBQVEsQ0FBQyxNQUFNLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxLQUFvQyxFQUFFLEVBQUU7SUFDOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsd0RBQXdELEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNwRyxNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsTUFBTSxVQUFVLEVBQUU7S0FDNUIsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFFBQVEsQ0FBQyxNQUFNLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNlY3JldCB9IGZyb20gJ0Bhd3MtbGFtYmRhLXBvd2VydG9vbHMvcGFyYW1ldGVycy9zZWNyZXRzJztcbmltcG9ydCB7IENka0N1c3RvbVJlc291cmNlUmVzcG9uc2UsIENka0N1c3RvbVJlc291cmNlRXZlbnQgfSBmcm9tICdhd3MtbGFtYmRhJztcblxudHlwZSBTZXJ2aWNlTGFuZ3VhZ2UgPSAnZG90bmV0JyB8ICdnbycgfCAnamF2YScgfCAnanMnIHwgJ3BocCcgfCAncHl0aG9uJyB8ICdydWJ5JyB8ICdjKysnO1xudHlwZSBTZXJ2aWNlVHlwZSA9ICd3ZWInIHwgJ2RiJyB8ICdjYWNoZScgfCAnZnVuY3Rpb24nIHwgJ2Jyb3dzZXInIHwgJ21vYmlsZScgfCAnY3VzdG9tJztcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlQ2F0YWxvZ0VudHJ5UHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IFRlYW06IHN0cmluZztcbiAgcmVhZG9ubHkgU2VydmljZTogc3RyaW5nO1xuICByZWFkb25seSBUYWdzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IFR5cGU/OiBTZXJ2aWNlVHlwZTtcbiAgcmVhZG9ubHkgTGFuZ3VhZ2VzPzogU2VydmljZUxhbmd1YWdlW107XG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKCBldmVudDogQ2RrQ3VzdG9tUmVzb3VyY2VFdmVudDxTZXJ2aWNlQ2F0YWxvZ0VudHJ5UHJvcGVydGllcz4gKTogUHJvbWlzZTxDZGtDdXN0b21SZXNvdXJjZVJlc3BvbnNlPiA9PiB7XG4gIGNvbnNvbGUubG9nKCdSZXF1ZXN0IHJlY2VpdmVkOlxcbicsIEpTT04uc3RyaW5naWZ5KGV2ZW50KSk7XG5cbiAgY29uc3QgcHJvcHMgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXM7XG5cbiAgdHJ5IHtcbiAgICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgICAgYXdhaXQgb25DcmVhdGUocHJvcHMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGF3YWl0IG9uRGVsZXRlKHByb3BzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgUGh5c2ljYWxSZXNvdXJjZUlkOiBwcm9wcy5TZXJ2aWNlIH07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmNvbnN0IHJlcXVpcmVQcm9wZXJ0eSA9IChyZXNvdXJjZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIHByb3BlcnR5TmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgdmFsdWUgPSByZXNvdXJjZVByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHRocm93IGBNaXNzaW5nIHRoZSByZXF1aXJlZCBwcm9wZXJ0eSAke3Byb3BlcnR5TmFtZX1gO1xuICByZXR1cm4gdmFsdWU7XG59O1xuXG5jb25zdCBnZXRIZWFkZXJzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBkYXRhZG9nU2VjcmV0QXJuID0gcmVxdWlyZVByb3BlcnR5KHByb2Nlc3MuZW52LCAnREFUQURPR19TRUNSRVRfQVJOJyk7XG4gIGNvbnN0IHNlY3JldFN0cmluZyA9IGF3YWl0IGdldFNlY3JldChkYXRhZG9nU2VjcmV0QXJuKTtcbiAgY29uc3Qgc2VjcmV0ID0gSlNPTi5wYXJzZShzZWNyZXRTdHJpbmchIGFzIHN0cmluZyk7XG5cbiAgcmV0dXJuIHtcbiAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICdERC1BUEktS0VZJzogc2VjcmV0LkFwaUtleSxcbiAgICAnREQtQVBQTElDQVRJT04tS0VZJzogc2VjcmV0LkFwcGxpY2F0aW9uS2V5LFxuICB9O1xufTtcblxuY29uc3Qgb25DcmVhdGUgPSBhc3luYyAoZXZlbnQ6IFNlcnZpY2VDYXRhbG9nRW50cnlQcm9wZXJ0aWVzKSA9PiB7XG4gIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgJ3NjaGVtYS12ZXJzaW9uJzogJ3YyLjInLFxuICAgICdkZC1zZXJ2aWNlJzogZXZlbnQuU2VydmljZSxcbiAgICAndGVhbSc6IGV2ZW50LlRlYW0sXG4gICAgJ3RhZ3MnOiBldmVudC5UYWdzLFxuICAgICd0eXBlJzogZXZlbnQuVHlwZSxcbiAgICAnbGFuZ3VhZ2VzJzogZXZlbnQuTGFuZ3VhZ2VzLFxuICB9O1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCdodHRwczovL2FwaS5kYXRhZG9naHEuZXUvYXBpL3YyL3NlcnZpY2VzL2RlZmluaXRpb25zJywge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IGF3YWl0IGdldEhlYWRlcnMoKSxcbiAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSxcbiAgfSk7XG5cbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBjcmVhdGUgc2VydmljZTogJHtyZXNwb25zZS5zdGF0dXN9IC0gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICB9XG59O1xuXG5jb25zdCBvbkRlbGV0ZSA9IGFzeW5jIChldmVudDogU2VydmljZUNhdGFsb2dFbnRyeVByb3BlcnRpZXMpID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9hcGkuZGF0YWRvZ2hxLmV1L2FwaS92Mi9zZXJ2aWNlcy9kZWZpbml0aW9ucy8ke2V2ZW50LlNlcnZpY2V9YCwge1xuICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgaGVhZGVyczogYXdhaXQgZ2V0SGVhZGVycygpLFxuICB9KTtcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBjcmVhdGUgc2VydmljZTogJHtyZXNwb25zZS5zdGF0dXN9IC0gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICB9XG59O1xuIl19
|
package/lib/watchful/aspect.js
CHANGED
|
@@ -26,7 +26,7 @@ class WatchfulAspect {
|
|
|
26
26
|
visit(node) {
|
|
27
27
|
if (node instanceof lambda.Function) {
|
|
28
28
|
const watchfulTag = node.node.defaultChild.tags.tagValues().Watchful;
|
|
29
|
-
if (watchfulTag
|
|
29
|
+
if (watchfulTag?.toLowerCase() === 'false') {
|
|
30
30
|
aws_cdk_lib_1.Annotations.of(node).addInfo(`Watchful will ignore the lambda ${node.node.id}`);
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
@@ -59,4 +59,4 @@ class WatchfulAspect {
|
|
|
59
59
|
exports.WatchfulAspect = WatchfulAspect;
|
|
60
60
|
_a = JSII_RTTI_SYMBOL_1;
|
|
61
61
|
WatchfulAspect[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.WatchfulAspect", version: "0.0.0" };
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhdGNoZnVsL2FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFtRDtBQUNuRCx5REFBeUQ7QUFDekQsK0NBQStDO0FBQy9DLHFEQUFxRDtBQUNyRCwyQ0FBMkM7QUFDM0MsZ0VBQWdFO0FBQ2hFLGlEQUFpRDtBQUNqRCwyQ0FBMkM7QUFJM0M7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFDekI7Ozs7T0FJRztJQUNILFlBQTZCLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQUcsQ0FBQztJQUVwRCxLQUFLLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxJQUFJLFlBQVksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUF3QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQW1DLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNqSCxJQUFJLFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDM0MseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksWUFBWSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksSUFBSSxZQUFZLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxJQUFJLElBQUksWUFBWSxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxJQUFJLElBQUksWUFBWSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksSUFBSSxZQUFZLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxJQUFJLElBQUksWUFBWSxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLFlBQVksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7O0FBdENILHdDQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFubm90YXRpb25zLCBJQXNwZWN0IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgKiBhcyBkb2NkYiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZG9jZGInO1xuaW1wb3J0ICogYXMgZHluYW1vZGIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGVsYnYyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIHJkcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtcmRzJztcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFic3RyYWN0V2F0Y2hmdWwgfSBmcm9tICcuL3dhdGNoZnVsJztcblxuLyoqXG4gKiBBIENESyBhc3BlY3QgdGhhdCBjYW4gYXV0b21hdGljYWxseSB3YXRjaCBhbGwgcmVzb3VyY2VzIHdpdGhpbiBhIHNjb3BlLlxuICovXG5leHBvcnQgY2xhc3MgV2F0Y2hmdWxBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgLyoqXG4gICAqIERlZmluZXMgYSB3YXRjaGZ1bCBhc3BlY3RcbiAgICpcbiAgICogQHBhcmFtIHdhdGNoZnVsIC0gVGhlIHdhdGNoZnVsIHRvIGFkZCB0aG9zZSByZXNvdXJjZXMgdG9cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd2F0Y2hmdWw6IEFic3RyYWN0V2F0Y2hmdWwpIHt9XG5cbiAgcHVibGljIHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIGxhbWJkYS5GdW5jdGlvbikge1xuICAgICAgY29uc3Qgd2F0Y2hmdWxUYWc6IHN0cmluZyB8IHVuZGVmaW5lZCA9IChub2RlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGxhbWJkYS5DZm5GdW5jdGlvbikudGFncy50YWdWYWx1ZXMoKS5XYXRjaGZ1bDtcbiAgICAgIGlmICh3YXRjaGZ1bFRhZz8udG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJykge1xuICAgICAgICBBbm5vdGF0aW9ucy5vZihub2RlKS5hZGRJbmZvKGBXYXRjaGZ1bCB3aWxsIGlnbm9yZSB0aGUgbGFtYmRhICR7bm9kZS5ub2RlLmlkfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy53YXRjaGZ1bC53YXRjaExhbWJkYUZ1bmN0aW9uKG5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIGVjcy5CYXNlU2VydmljZSkge1xuICAgICAgdGhpcy53YXRjaGZ1bC53YXRjaEVjc1NlcnZpY2Uobm9kZSk7XG4gICAgfVxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgZWxidjIuQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIpIHtcbiAgICAgIHRoaXMud2F0Y2hmdWwud2F0Y2hBbGIobm9kZSk7XG4gICAgfVxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cCkge1xuICAgICAgdGhpcy53YXRjaGZ1bC53YXRjaEFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAobm9kZSk7XG4gICAgfVxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgZG9jZGIuRGF0YWJhc2VDbHVzdGVyKSB7XG4gICAgICB0aGlzLndhdGNoZnVsLndhdGNoRG9jRGIobm9kZSk7XG4gICAgfVxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgcmRzLkRhdGFiYXNlQ2x1c3Rlcikge1xuICAgICAgdGhpcy53YXRjaGZ1bC53YXRjaERhdGFiYXNlQ2x1c3Rlcihub2RlKTtcbiAgICB9XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbikge1xuICAgICAgdGhpcy53YXRjaGZ1bC53YXRjaENsb3VkZnJvbnREaXN0cmlidXRpb24obm9kZSk7XG4gICAgfVxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgZHluYW1vZGIuVGFibGUpIHtcbiAgICAgIHRoaXMud2F0Y2hmdWwud2F0Y2hEeW5hbW9EYlRhYmxlKG5vZGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/package.json
CHANGED
package/version.json
CHANGED