@rio-cloud/cdk-v2-constructs 9.0.0-alpha.4 → 9.0.0-alpha.7
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 +19 -19
- package/docs/AGENTS_DOCUMENTATION.md +213 -0
- package/lib/backup/backup-policy.d.ts +1 -1
- package/lib/backup/backup-policy.js +1 -1
- package/lib/certificate/cloud-front-certificate.d.ts +1 -1
- package/lib/certificate/cloud-front-certificate.js +4 -3
- package/lib/certificate/lambda/handler.cjs +21 -7
- package/lib/contributions/cop-frontend/cloudfront/contentSecurityPolicy.js +2 -2
- package/lib/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.d.ts +1 -1
- package/lib/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.js +3 -3
- package/lib/contributions/smart-route/gitlab-runner/autoscaling-runner.d.ts +4 -4
- package/lib/contributions/smart-route/gitlab-runner/autoscaling-runner.js +1 -1
- package/lib/contributions/smart-route/gitlab-runner/runner-roles.d.ts +1 -1
- package/lib/contributions/smart-route/gitlab-runner/runner-roles.js +1 -1
- package/lib/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring.js +2 -2
- package/lib/contributions/team-claid/aws-glue/view-table.d.ts +1 -1
- package/lib/contributions/team-claid/aws-glue/view-table.js +1 -1
- package/lib/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.d.ts +2 -2
- package/lib/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.js +2 -2
- package/lib/contributions/team-outbound-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.d.ts +1 -1
- package/lib/contributions/team-outbound-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.js +3 -3
- package/lib/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.d.ts +2 -2
- package/lib/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.js +1 -1
- package/lib/contributions/team-transport/datadog/datadog-dashboard-construct.d.ts +1 -1
- package/lib/contributions/team-transport/datadog/datadog-dashboard-construct.js +3 -3
- package/lib/contributions/team-transport/datadog/datadog-dashboard-downloader.d.ts +1 -1
- package/lib/contributions/team-transport/datadog/datadog-dashboard-downloader.js +2 -2
- package/lib/contributions/team-transport/datadog-synthetics/datadog-synthetics-test.js +4 -4
- package/lib/contributions/team-transport/pipeline/application-stage.d.ts +3 -3
- package/lib/contributions/team-transport/pipeline/application-stage.js +1 -1
- package/lib/contributions/team-transport/pipeline/build-project.d.ts +2 -2
- package/lib/contributions/team-transport/pipeline/build-project.js +1 -1
- package/lib/contributions/team-transport/pipeline/buildspecs.d.ts +1 -1
- package/lib/contributions/team-transport/pipeline/buildspecs.js +1 -1
- package/lib/contributions/team-transport/pipeline/datadog-monitors.d.ts +3 -3
- package/lib/contributions/team-transport/pipeline/datadog-monitors.js +1 -1
- package/lib/contributions/team-transport/pipeline/monitoring-deploy-step.d.ts +1 -1
- package/lib/contributions/team-transport/pipeline/monitoring-deploy-step.js +2 -5
- package/lib/contributions/team-transport/pipeline/pipeline-stack.d.ts +5 -5
- package/lib/contributions/team-transport/pipeline/pipeline-stack.js +3 -3
- package/lib/datadog/datadog-log-index-monitoring.d.ts +1 -1
- package/lib/datadog/datadog-log-index-monitoring.js +1 -1
- package/lib/datadog/datadog-monitor.d.ts +1 -1
- package/lib/datadog/datadog-monitor.js +1 -1
- package/lib/datadogv2/datadog-dashboard.js +2 -2
- package/lib/datadogv2/datadog-lambda-instrumentation.d.ts +2 -2
- package/lib/datadogv2/datadog-lambda-instrumentation.js +1 -1
- package/lib/datadogv2/datadog-log-index-monitoring.d.ts +1 -1
- package/lib/datadogv2/datadog-log-index-monitoring.js +1 -1
- package/lib/datadogv2/datadog-monitor.d.ts +1 -1
- package/lib/datadogv2/datadog-monitor.js +1 -1
- package/lib/datadogv2/datadog-notification.d.ts +1 -1
- package/lib/datadogv2/datadog-notification.js +1 -1
- package/lib/datadogv2/datadog-service-catalog-entry.js +2 -2
- package/lib/datadogv2/datadog-shared-secrets.js +2 -2
- package/lib/datadogv2/secret-locator-custom-resource/on-create.cjs +3 -1
- package/lib/datadogv2/service-catalog-custom-resource/on-create.cjs +3 -1
- package/lib/datadogv2/validate-lambda-environment.d.ts +1 -1
- package/lib/datadogv2/validate-lambda-environment.js +1 -1
- package/lib/ecr/docker-hub-pull-through-cache.d.ts +1 -1
- package/lib/ecr/docker-hub-pull-through-cache.js +1 -1
- package/lib/fargate/codedeploy-custom-resources/run-monitoring-test-suite-runner.cjs +1 -1
- package/lib/fargate/datadog.d.ts +3 -3
- package/lib/fargate/datadog.js +1 -1
- package/lib/fargate/rio-fargate-service-blue-green-alpha.d.ts +1 -1
- package/lib/fargate/rio-fargate-service-blue-green-alpha.js +5 -5
- package/lib/fargate/rio-fargate-service.d.ts +1 -1
- package/lib/fargate/rio-fargate-service.js +1 -1
- package/lib/fargate/spring.d.ts +1 -1
- package/lib/fargate/spring.js +1 -1
- package/lib/iam/sonatype-oss-index-credentials.d.ts +2 -2
- package/lib/iam/sonatype-oss-index-credentials.js +1 -1
- package/lib/kafka/kafka-topic.d.ts +1 -1
- package/lib/kafka/kafka-topic.js +1 -1
- package/lib/kafka/rio-kafka-event-source.d.ts +2 -2
- package/lib/kafka/rio-kafka-event-source.js +1 -1
- package/lib/pipeline/delivery-performance-monitoring-override.d.ts +2 -2
- package/lib/pipeline/delivery-performance-monitoring-override.js +1 -1
- package/lib/pipeline/rio-backup-secrets-restore-stage.d.ts +1 -1
- package/lib/pipeline/rio-backup-secrets-restore-stage.js +4 -4
- package/lib/pipeline/rio-bitbucket-source-action.d.ts +2 -2
- package/lib/pipeline/rio-bitbucket-source-action.js +1 -1
- package/lib/pipeline/rio-pipeline-type.d.ts +1 -1
- package/lib/pipeline/rio-pipeline-type.js +1 -1
- package/lib/rio-landing-zone.d.ts +1 -1
- package/lib/rio-landing-zone.js +1 -1
- package/lib/rio-load-balancer.d.ts +1 -1
- package/lib/rio-load-balancer.js +1 -1
- package/lib/sbom-catalog/catalog-project.d.ts +1 -1
- package/lib/sbom-catalog/catalog-project.js +12 -9
- package/lib/sbom-catalog/lambda/handler.cjs +2 -1
- package/lib/ses/helper.js +2 -2
- package/lib/ses/ses-observability.js +2 -2
- package/lib/test/normalized-test-template.d.ts +1 -1
- package/lib/test/normalized-test-template.js +1 -1
- package/lib/toggle.d.ts +1 -1
- package/lib/toggle.js +2 -3
- package/lib/watchful/alb.d.ts +1 -1
- package/lib/watchful/alb.js +1 -1
- package/lib/watchful/aspect.d.ts +3 -3
- package/lib/watchful/aspect.js +1 -1
- package/lib/watchful/cloudfront.d.ts +2 -2
- package/lib/watchful/cloudfront.js +1 -1
- package/lib/watchful/datadog-log-alarm.d.ts +1 -1
- package/lib/watchful/datadog-log-alarm.js +2 -2
- package/lib/watchful/datadog-metric-alarm.d.ts +1 -1
- package/lib/watchful/datadog-metric-alarm.js +1 -3
- package/lib/watchful/docdb.d.ts +2 -2
- package/lib/watchful/docdb.js +1 -1
- package/lib/watchful/dynamodb.d.ts +2 -2
- package/lib/watchful/dynamodb.js +1 -1
- package/lib/watchful/ecs.d.ts +2 -2
- package/lib/watchful/ecs.js +1 -1
- package/lib/watchful/lambda.d.ts +2 -2
- package/lib/watchful/lambda.js +1 -1
- package/lib/watchful/metric-alarm.d.ts +1 -1
- package/lib/watchful/metric-alarm.js +1 -1
- package/lib/watchful/rds.d.ts +2 -2
- package/lib/watchful/rds.js +1 -1
- package/lib/watchful/targetgroup.d.ts +1 -1
- package/lib/watchful/targetgroup.js +1 -1
- package/lib/watchful/watchful.d.ts +11 -11
- package/lib/watchful/watchful.js +1 -1
- package/lib/watchfulv2/datadog-log-alarm.d.ts +2 -2
- package/lib/watchfulv2/datadog-log-alarm.js +2 -2
- package/lib/watchfulv2/datadog-metric-alarm.d.ts +2 -2
- package/lib/watchfulv2/datadog-metric-alarm.js +1 -3
- package/lib/watchfulv2/watchful.d.ts +4 -4
- package/lib/watchfulv2/watchful.js +1 -1
- package/package.json +2 -2
- package/version.json +1 -1
package/.jsii
CHANGED
|
@@ -26011,7 +26011,7 @@
|
|
|
26011
26011
|
"kind": "interface",
|
|
26012
26012
|
"locationInModule": {
|
|
26013
26013
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26014
|
-
"line":
|
|
26014
|
+
"line": 16
|
|
26015
26015
|
},
|
|
26016
26016
|
"name": "LogErrorMonitorProps",
|
|
26017
26017
|
"namespace": "watchfulv2",
|
|
@@ -26027,7 +26027,7 @@
|
|
|
26027
26027
|
"immutable": true,
|
|
26028
26028
|
"locationInModule": {
|
|
26029
26029
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26030
|
-
"line":
|
|
26030
|
+
"line": 36
|
|
26031
26031
|
},
|
|
26032
26032
|
"name": "createCasesFromErrorLogMonitors",
|
|
26033
26033
|
"optional": true,
|
|
@@ -26046,7 +26046,7 @@
|
|
|
26046
26046
|
"immutable": true,
|
|
26047
26047
|
"locationInModule": {
|
|
26048
26048
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26049
|
-
"line":
|
|
26049
|
+
"line": 21
|
|
26050
26050
|
},
|
|
26051
26051
|
"name": "disableAutoClose",
|
|
26052
26052
|
"optional": true,
|
|
@@ -26064,7 +26064,7 @@
|
|
|
26064
26064
|
"immutable": true,
|
|
26065
26065
|
"locationInModule": {
|
|
26066
26066
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26067
|
-
"line":
|
|
26067
|
+
"line": 27
|
|
26068
26068
|
},
|
|
26069
26069
|
"name": "priority",
|
|
26070
26070
|
"optional": true,
|
|
@@ -26081,7 +26081,7 @@
|
|
|
26081
26081
|
"immutable": true,
|
|
26082
26082
|
"locationInModule": {
|
|
26083
26083
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26084
|
-
"line":
|
|
26084
|
+
"line": 41
|
|
26085
26085
|
},
|
|
26086
26086
|
"name": "renotifyInterval",
|
|
26087
26087
|
"optional": true,
|
|
@@ -26103,7 +26103,7 @@
|
|
|
26103
26103
|
"kind": "interface",
|
|
26104
26104
|
"locationInModule": {
|
|
26105
26105
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26106
|
-
"line":
|
|
26106
|
+
"line": 47
|
|
26107
26107
|
},
|
|
26108
26108
|
"name": "QueryErrorMonitorProps",
|
|
26109
26109
|
"namespace": "watchfulv2",
|
|
@@ -26118,7 +26118,7 @@
|
|
|
26118
26118
|
"immutable": true,
|
|
26119
26119
|
"locationInModule": {
|
|
26120
26120
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26121
|
-
"line":
|
|
26121
|
+
"line": 52
|
|
26122
26122
|
},
|
|
26123
26123
|
"name": "priority",
|
|
26124
26124
|
"optional": true,
|
|
@@ -26144,7 +26144,7 @@
|
|
|
26144
26144
|
},
|
|
26145
26145
|
"locationInModule": {
|
|
26146
26146
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26147
|
-
"line":
|
|
26147
|
+
"line": 112
|
|
26148
26148
|
},
|
|
26149
26149
|
"parameters": [
|
|
26150
26150
|
{
|
|
@@ -26171,7 +26171,7 @@
|
|
|
26171
26171
|
"kind": "class",
|
|
26172
26172
|
"locationInModule": {
|
|
26173
26173
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26174
|
-
"line":
|
|
26174
|
+
"line": 105
|
|
26175
26175
|
},
|
|
26176
26176
|
"methods": [
|
|
26177
26177
|
{
|
|
@@ -26181,7 +26181,7 @@
|
|
|
26181
26181
|
},
|
|
26182
26182
|
"locationInModule": {
|
|
26183
26183
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26184
|
-
"line":
|
|
26184
|
+
"line": 137
|
|
26185
26185
|
},
|
|
26186
26186
|
"name": "createAlarm",
|
|
26187
26187
|
"overrides": "@rio-cloud/cdk-v2-constructs.AbstractWatchful",
|
|
@@ -26222,7 +26222,7 @@
|
|
|
26222
26222
|
},
|
|
26223
26223
|
"locationInModule": {
|
|
26224
26224
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26225
|
-
"line":
|
|
26225
|
+
"line": 162
|
|
26226
26226
|
},
|
|
26227
26227
|
"name": "createLogAlarm",
|
|
26228
26228
|
"overrides": "@rio-cloud/cdk-v2-constructs.AbstractWatchful",
|
|
@@ -26263,7 +26263,7 @@
|
|
|
26263
26263
|
},
|
|
26264
26264
|
"locationInModule": {
|
|
26265
26265
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26266
|
-
"line":
|
|
26266
|
+
"line": 192
|
|
26267
26267
|
},
|
|
26268
26268
|
"name": "watchScope",
|
|
26269
26269
|
"parameters": [
|
|
@@ -26291,7 +26291,7 @@
|
|
|
26291
26291
|
"kind": "interface",
|
|
26292
26292
|
"locationInModule": {
|
|
26293
26293
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26294
|
-
"line":
|
|
26294
|
+
"line": 58
|
|
26295
26295
|
},
|
|
26296
26296
|
"name": "WatchfulProps",
|
|
26297
26297
|
"namespace": "watchfulv2",
|
|
@@ -26307,7 +26307,7 @@
|
|
|
26307
26307
|
"immutable": true,
|
|
26308
26308
|
"locationInModule": {
|
|
26309
26309
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26310
|
-
"line":
|
|
26310
|
+
"line": 79
|
|
26311
26311
|
},
|
|
26312
26312
|
"name": "createCasesFromErrorLogMonitors",
|
|
26313
26313
|
"optional": true,
|
|
@@ -26324,7 +26324,7 @@
|
|
|
26324
26324
|
"immutable": true,
|
|
26325
26325
|
"locationInModule": {
|
|
26326
26326
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26327
|
-
"line":
|
|
26327
|
+
"line": 84
|
|
26328
26328
|
},
|
|
26329
26329
|
"name": "logErrorMonitorConfig",
|
|
26330
26330
|
"optional": true,
|
|
@@ -26342,7 +26342,7 @@
|
|
|
26342
26342
|
"immutable": true,
|
|
26343
26343
|
"locationInModule": {
|
|
26344
26344
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26345
|
-
"line":
|
|
26345
|
+
"line": 71
|
|
26346
26346
|
},
|
|
26347
26347
|
"name": "notification",
|
|
26348
26348
|
"optional": true,
|
|
@@ -26360,7 +26360,7 @@
|
|
|
26360
26360
|
"immutable": true,
|
|
26361
26361
|
"locationInModule": {
|
|
26362
26362
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26363
|
-
"line":
|
|
26363
|
+
"line": 90
|
|
26364
26364
|
},
|
|
26365
26365
|
"name": "queryErrorMonitorConfig",
|
|
26366
26366
|
"optional": true,
|
|
@@ -26378,7 +26378,7 @@
|
|
|
26378
26378
|
"immutable": true,
|
|
26379
26379
|
"locationInModule": {
|
|
26380
26380
|
"filename": "src/watchfulv2/watchful.ts",
|
|
26381
|
-
"line":
|
|
26381
|
+
"line": 64
|
|
26382
26382
|
},
|
|
26383
26383
|
"name": "serviceName",
|
|
26384
26384
|
"optional": true,
|
|
@@ -26391,5 +26391,5 @@
|
|
|
26391
26391
|
}
|
|
26392
26392
|
},
|
|
26393
26393
|
"version": "0.0.0",
|
|
26394
|
-
"fingerprint": "
|
|
26394
|
+
"fingerprint": "AYkDPRqbh5GgyWZva6DirHBb6v4/dAjoo2IfXNLSsMc="
|
|
26395
26395
|
}
|
|
@@ -30,6 +30,219 @@ Prefer `import * as rio from '@rio-cloud/cdk-v2-constructs';` unless an exported
|
|
|
30
30
|
|
|
31
31
|
Read the relevant declaration comments and examples before writing or changing infrastructure code.
|
|
32
32
|
|
|
33
|
+
## Migration guidance for `9.0.0`
|
|
34
|
+
|
|
35
|
+
This section applies when upgrading a consuming project to `9.0.0` or
|
|
36
|
+
later. Confirm the installed package version and its `package.json` exports
|
|
37
|
+
before applying it. The guidance below is based on the implementation and
|
|
38
|
+
tests in this release; it intentionally does not prescribe replacements for
|
|
39
|
+
environment variables for which this wrapper exposes no one-to-one prop.
|
|
40
|
+
|
|
41
|
+
### Datadog Lambda instrumentation: Datadog v5 environment handling
|
|
42
|
+
|
|
43
|
+
`DatadogLambdaInstrumentation` now uses `datadog-cdk-constructs-v2` v5. Before
|
|
44
|
+
calling `addLambdaFunctions()`, the construct rejects a Lambda whose CDK
|
|
45
|
+
environment already contains any of these variables:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
DD_TRACE_ENABLED
|
|
49
|
+
DD_MERGE_XRAY_TRACES
|
|
50
|
+
DD_LOGS_INJECTION
|
|
51
|
+
DD_SERVERLESS_LOGS_ENABLED
|
|
52
|
+
DD_CAPTURE_LAMBDA_PAYLOAD
|
|
53
|
+
DD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING
|
|
54
|
+
DD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING
|
|
55
|
+
DD_LOG_LEVEL
|
|
56
|
+
DD_APPSEC_ENABLED
|
|
57
|
+
DD_SERVERLESS_APPSEC_ENABLED
|
|
58
|
+
AWS_LAMBDA_EXEC_WRAPPER
|
|
59
|
+
DD_TAGS
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Datadog v4 read existing values differently. With v5, values configured
|
|
63
|
+
before instrumentation can be overwritten, so remove these settings from the
|
|
64
|
+
Lambda constructor and from any `addEnvironment()` call made before
|
|
65
|
+
`addLambdaFunctions()`.
|
|
66
|
+
|
|
67
|
+
Use the instrumentation props for settings that have a corresponding public
|
|
68
|
+
prop. The direct mappings established by this package are:
|
|
69
|
+
|
|
70
|
+
| Lambda environment variable | `DatadogLambdaInstrumentation` prop |
|
|
71
|
+
| --- | --- |
|
|
72
|
+
| `DD_TRACE_ENABLED` | `enableDatadogTracing` |
|
|
73
|
+
| `DD_MERGE_XRAY_TRACES` | `enableMergeXrayTraces` |
|
|
74
|
+
| `DD_LOGS_INJECTION` | `injectLogContext` |
|
|
75
|
+
| `DD_SERVERLESS_LOGS_ENABLED` | `enableDatadogLogs` |
|
|
76
|
+
| `DD_CAPTURE_LAMBDA_PAYLOAD` | `captureLambdaPayload` |
|
|
77
|
+
| `DD_LOG_LEVEL` | `logLevel` |
|
|
78
|
+
| `DD_TAGS` | `tags` |
|
|
79
|
+
|
|
80
|
+
The wrapper also exposes `enableDatadogASM` and `datadogAppSecMode`, but the
|
|
81
|
+
repository does not document a mechanical mapping for every AppSec-related
|
|
82
|
+
environment variable. Do not invent one; inspect the installed declarations
|
|
83
|
+
and the Datadog v5 behavior for the desired AppSec configuration. The same
|
|
84
|
+
applies to the two cloud-payload-tagging variables and
|
|
85
|
+
`AWS_LAMBDA_EXEC_WRAPPER`, for which this wrapper has no same-named prop.
|
|
86
|
+
|
|
87
|
+
If a per-function override is intentional, apply it only after instrumentation:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
datadog.addLambdaFunctions([handler]);
|
|
91
|
+
handler.addEnvironment('DD_LOG_LEVEL', 'debug');
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
An override of `DD_TAGS` at that point replaces all tags generated by the
|
|
95
|
+
construct, including Git metadata added through `addGitCommitMetadata()`.
|
|
96
|
+
`addLambdaFunctions()` validates the complete batch before changing any of its
|
|
97
|
+
functions. The validation covers the underlying CDK `Function` environment,
|
|
98
|
+
including `SingletonFunction` and values added with `addEnvironment()`; it
|
|
99
|
+
does not inspect `CfnFunction` escape-hatch overrides.
|
|
100
|
+
|
|
101
|
+
Source-code integration is enabled by default and can change generated
|
|
102
|
+
`DD_TAGS`. For snapshot tests that must disable it, set this exact context key
|
|
103
|
+
on the test `App` to either boolean `false` or string `"false"`:
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
const app = new App({
|
|
107
|
+
context: {
|
|
108
|
+
'@rio-cloud/cdk-v2-constructs:enableSourceCodeIntegration': false,
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Do not substitute the unrelated `datadog-cdk-constructs-v2` context key. Layer
|
|
114
|
+
version props remain required; choose versions compatible with the installed
|
|
115
|
+
Datadog Lambda Node and extension layer releases rather than copying stale
|
|
116
|
+
values from tests.
|
|
117
|
+
|
|
118
|
+
### Pipeline license-checker prerequisite
|
|
119
|
+
|
|
120
|
+
Before upgrading a project that uses the Team Transport pipeline, add
|
|
121
|
+
`@rio-cloud/rio-license-checker` as a direct dev dependency and commit the
|
|
122
|
+
corresponding lockfile:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npm install --save-dev @rio-cloud/rio-license-checker
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
The generated buildspecs call `npx rio-license-checker` after `npm ci`; the
|
|
129
|
+
construct no longer supplies this package transitively. Add it to the package
|
|
130
|
+
whose `npm ci` precedes the call:
|
|
131
|
+
|
|
132
|
+
| Generated pipeline feature | Workspace in which the checker is invoked | Package that needs the dev dependency |
|
|
133
|
+
| --- | --- | --- |
|
|
134
|
+
| Infrastructure synth | `infrastructure/` | `infrastructure/package.json` |
|
|
135
|
+
| `gradleBuild` | repository root | root `package.json` |
|
|
136
|
+
| `npmBuild` | repository root | root `package.json` |
|
|
137
|
+
|
|
138
|
+
If a project enables more than one of these generated build paths, make the
|
|
139
|
+
checker available in each corresponding workspace. A custom main/branch or
|
|
140
|
+
vulnerability buildspec is loaded instead of the generated one, so inspect
|
|
141
|
+
that file separately for its own license-check command and install location.
|
|
142
|
+
The package's release notes link to the internal [RIO license-check
|
|
143
|
+
guidance](https://confluence.collaboration-man.com/spaces/RIOSHIPPER/pages/448924008/License+Checks).
|
|
144
|
+
|
|
145
|
+
### Contribution imports and package dependencies
|
|
146
|
+
|
|
147
|
+
Contribution constructs are no longer exported from the package root. Use the
|
|
148
|
+
owner-level subpaths that are present in the installed package's `exports` map:
|
|
149
|
+
|
|
150
|
+
| Owner | Public import path in `9.0.0` |
|
|
151
|
+
| --- | --- |
|
|
152
|
+
| Team Claid | `@rio-cloud/cdk-v2-constructs/contributions/team-claid` |
|
|
153
|
+
| Team Outbound Order Book | `@rio-cloud/cdk-v2-constructs/contributions/team-outbound-order-book` |
|
|
154
|
+
| Team Shipper Inbound Blue | `@rio-cloud/cdk-v2-constructs/contributions/team-shipper-inbound-blue` |
|
|
155
|
+
| Smart Route / GitLab Runner | `@rio-cloud/cdk-v2-constructs/contributions/smart-route` |
|
|
156
|
+
| Team Transport | `@rio-cloud/cdk-v2-constructs/contributions/team-transport` |
|
|
157
|
+
| CoP Frontend | `@rio-cloud/cdk-v2-constructs/contributions/cop-frontend` |
|
|
158
|
+
|
|
159
|
+
For example, change a root import while keeping the named imports:
|
|
160
|
+
|
|
161
|
+
```diff
|
|
162
|
+
-import { PipelineStack, PipelineType } from '@rio-cloud/cdk-v2-constructs';
|
|
163
|
+
+import { PipelineStack, PipelineType } from '@rio-cloud/cdk-v2-constructs/contributions/team-transport';
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Team Transport was renamed from `team-transport-two` to `team-transport`.
|
|
167
|
+
Import its pipeline, Datadog, and synthetics constructs from the single
|
|
168
|
+
owner-level path above. Do not infer additional public subpaths from the
|
|
169
|
+
source directory layout; the installed `package.json` `exports` map is the
|
|
170
|
+
authority.
|
|
171
|
+
|
|
172
|
+
GitLab Runner consumers must also install
|
|
173
|
+
`@pepperize/cdk-autoscaling-gitlab-runner` as a direct project dependency:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
npm install @pepperize/cdk-autoscaling-gitlab-runner
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
It is an optional peer dependency of this package, not a regular dependency
|
|
180
|
+
that a consuming project can obtain transitively. This additional dependency
|
|
181
|
+
is required only by projects importing the Smart Route GitLab Runner
|
|
182
|
+
constructs.
|
|
183
|
+
|
|
184
|
+
### TypeScript resolver required for contribution subpaths
|
|
185
|
+
|
|
186
|
+
The contribution imports depend on Node package export maps. A legacy
|
|
187
|
+
`moduleResolution: "node"` configuration does not resolve these imports
|
|
188
|
+
reliably. Use a resolver that honors `exports` and keep the `module` and
|
|
189
|
+
`moduleResolution` settings compatible. For example, a CommonJS-oriented
|
|
190
|
+
project can use:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"compilerOptions": {
|
|
195
|
+
"module": "Node16",
|
|
196
|
+
"moduleResolution": "node16"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
A bundler-managed project can instead use the corresponding `bundler`
|
|
202
|
+
resolution mode with its existing bundler-compatible module setting. Do not
|
|
203
|
+
change only `moduleResolution` in a configuration whose `module` setting is
|
|
204
|
+
incompatible; preserve the consuming project's module model and verify it with
|
|
205
|
+
the project's typecheck and synth commands.
|
|
206
|
+
|
|
207
|
+
### Team Transport CodeBuild runtime options
|
|
208
|
+
|
|
209
|
+
This is an alpha.4 pipeline feature rather than a breaking migration, but it
|
|
210
|
+
is relevant when updating pipeline code. Generated main, branch, and
|
|
211
|
+
vulnerability buildspecs continue to use Node.js 24 by default. To require an
|
|
212
|
+
exact toolchain, set `codeBuildOptions.nodejsVersion` and/or
|
|
213
|
+
`codeBuildOptions.npmVersion` to an exact `major.minor.patch` value. The
|
|
214
|
+
generated install phase checks the selected versions before installing project
|
|
215
|
+
dependencies; it does not install npm globally. These options affect only
|
|
216
|
+
generated buildspecs. A custom buildspec supplied through
|
|
217
|
+
`partialBuildSpecPath` or `vulnerabilityPartialBuildSpecPath` is responsible
|
|
218
|
+
for its own runtime and version checks.
|
|
219
|
+
|
|
220
|
+
### CloudFront certificates added in v9
|
|
221
|
+
|
|
222
|
+
`CloudFrontCertificate` is exported from the package root. It creates a
|
|
223
|
+
DNS-validated ACM certificate in `us-east-1` for a stack in any region and
|
|
224
|
+
requires a public Route 53 hosted zone in the same account:
|
|
225
|
+
|
|
226
|
+
```typescript
|
|
227
|
+
import { CloudFrontCertificate } from '@rio-cloud/cdk-v2-constructs';
|
|
228
|
+
import { Distribution } from 'aws-cdk-lib/aws-cloudfront';
|
|
229
|
+
|
|
230
|
+
const certificate = new CloudFrontCertificate(this, 'CloudFrontCertificate', {
|
|
231
|
+
domainName: 'www.example.com',
|
|
232
|
+
hostedZone,
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
new Distribution(this, 'Distribution', {
|
|
236
|
+
certificate: certificate.certificate,
|
|
237
|
+
// ...other required Distribution props
|
|
238
|
+
});
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Use `certificate` (`acm.ICertificate`) when another CDK construct accepts a
|
|
242
|
+
certificate. Use `certificateArn` only for integrations that require a string
|
|
243
|
+
ARN. Changing the domain or hosted zone replaces the certificate; validation
|
|
244
|
+
CNAME records are retained for renewal.
|
|
245
|
+
|
|
33
246
|
## Usage Guidance
|
|
34
247
|
|
|
35
248
|
### General
|
|
@@ -32,4 +32,4 @@ class BackupPolicy {
|
|
|
32
32
|
exports.BackupPolicy = BackupPolicy;
|
|
33
33
|
_a = JSII_RTTI_SYMBOL_1;
|
|
34
34
|
BackupPolicy[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.BackupPolicy", version: "0.0.0" };
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3VwLXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYWNrdXAvYmFja3VwLXBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFtQztBQUduQzs7R0FFRztBQUNILElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiwwQkFBVyxDQUFBO0lBQ1gsZ0NBQWlCLENBQUE7SUFDakIsNEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxXQUFXLDJCQUFYLFdBQVcsUUFJdEI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBa0IsRUFBRSxXQUF3QjtRQUN2RCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7QUFISCxvQ0FJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBUaGUgYWxsb3dlZCB2YWx1ZXMgZm9yIGJhY2t1cCBjcml0aWNhbGl0eSBsZXZlbHNcbiAqL1xuZXhwb3J0IGVudW0gQ3JpdGljYWxpdHkge1xuICBMT1cgPSAnbG93JyxcbiAgTUVESVVNID0gJ21lZGl1bScsXG4gIEhJR0ggPSAnaGlnaCcsXG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHRhZyBjb25zdHJ1Y3RzIHdpdGggY29ycmVjdCBiYWNrdXAgdmFsdWVzIHRvIGJlIHBpY2tlZFxuICogdXAgYnkgdGhlIHJpbyBsYW5kaW5nIHpvbmUgYmFja3VwIHNvbHV0aW9uLlxuICpcbiAqIEFwcGx5IHRoaXMgdG8gc3RhdGVmdWwgcmVzb3VyY2VzIHRoYXQgbXVzdCBiZSBkaXNjb3ZlcmVkIGJ5IHRoZSBSSU8gbGFuZGluZy16b25lIGJhY2t1cCBzb2x1dGlvbi5cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBgdHNcbiAqIEJhY2t1cFBvbGljeS5hcHBseSh0YWJsZSwgQ3JpdGljYWxpdHkuSElHSCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEJhY2t1cFBvbGljeSB7XG4gIHN0YXRpYyBhcHBseSh0YXJnZXQ6IElDb25zdHJ1Y3QsIGNyaXRpY2FsaXR5OiBDcml0aWNhbGl0eSkge1xuICAgIFRhZ3Mub2YodGFyZ2V0KS5hZGQoJ3Jpby1sei1iYWNrdXAtY3JpdGljYWxpdHktbGV2ZWwnLCBjcml0aWNhbGl0eSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as acm from 'aws-cdk-lib/aws-certificatemanager';
|
|
2
|
-
import * as route53 from 'aws-cdk-lib/aws-route53';
|
|
2
|
+
import type * as route53 from 'aws-cdk-lib/aws-route53';
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
4
|
/** Properties for a DNS-validated CloudFront certificate. */
|
|
5
5
|
export interface CloudFrontCertificateProps {
|
|
@@ -3,6 +3,7 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.CloudFrontCertificate = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const path = require("node:path");
|
|
6
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
8
|
const acm = require("aws-cdk-lib/aws-certificatemanager");
|
|
8
9
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
@@ -10,7 +11,6 @@ const lambda = require("aws-cdk-lib/aws-lambda");
|
|
|
10
11
|
const logs = require("aws-cdk-lib/aws-logs");
|
|
11
12
|
const custom_resources_1 = require("aws-cdk-lib/custom-resources");
|
|
12
13
|
const constructs_1 = require("constructs");
|
|
13
|
-
const path = require("path");
|
|
14
14
|
const constants_1 = require("../constants");
|
|
15
15
|
/**
|
|
16
16
|
* Creates an ACM certificate in us-east-1, regardless of the stack region.
|
|
@@ -57,8 +57,9 @@ CloudFrontCertificate[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.CloudFrontCerti
|
|
|
57
57
|
function certificateProvider(stack) {
|
|
58
58
|
const providerId = 'CloudFrontCertificateProvider';
|
|
59
59
|
const existing = stack.node.tryFindChild(providerId);
|
|
60
|
-
if (existing)
|
|
60
|
+
if (existing) {
|
|
61
61
|
return existing;
|
|
62
|
+
}
|
|
62
63
|
const logGroup = new logs.LogGroup(stack, 'CloudFrontCertificateHandlerLogs', {
|
|
63
64
|
retention: logs.RetentionDays.ONE_WEEK,
|
|
64
65
|
});
|
|
@@ -103,4 +104,4 @@ function certificateProvider(stack) {
|
|
|
103
104
|
totalTimeout: aws_cdk_lib_1.Duration.minutes(60),
|
|
104
105
|
});
|
|
105
106
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtY2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2VydGlmaWNhdGUvY2xvdWQtZnJvbnQtY2VydGlmaWNhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBOEQ7QUFDOUQsMERBQTBEO0FBQzFELDJDQUEyQztBQUMzQyxpREFBaUQ7QUFDakQsNkNBQTZDO0FBRTdDLG1FQUF3RDtBQUN4RCwyQ0FBdUM7QUFDdkMsNkJBQTZCO0FBQzdCLDRDQUFvRDtBQVVwRDs7Ozs7O0dBTUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLHNCQUFTO0lBT2xELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ25ELFFBQVEsQ0FBQyxpQkFBa0IsQ0FBQyxlQUFlLENBQ3pDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztZQUM3QyxTQUFTLEVBQUU7Z0JBQ1QsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUN2QixPQUFPLEVBQUUsU0FBUztvQkFDbEIsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFlBQVksRUFBRSxZQUFZO2lCQUMzQixDQUFDO2FBQ0g7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsMkJBQTJCLEVBQUU7b0JBQzNCLDZDQUE2QyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUN4RCx5Q0FBeUMsRUFBRSxDQUFD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QUNyQyxjQUFjLEVBQUUsT0FBTztRQUN2QixpQkFBaUIsRUFBRSxVQUFVO1FBQzdCLGFBQWEsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbkMsWUFBWSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztLQUNuQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UsIER1cmF0aW9uLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGFjbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgcm91dGU1MyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtcm91dGU1Myc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgREVGQVVMVF9OT0RFX1JVTlRJTUUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vKiogUHJvcGVydGllcyBmb3IgYSBETlMtdmFsaWRhdGVkIENsb3VkRnJvbnQgY2VydGlmaWNhdGUuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRDZXJ0aWZpY2F0ZVByb3BzIHtcbiAgLyoqIERvbWFpbiBuYW1lIHRvIGNlcnRpZnksIGluY2x1ZGluZyBhIHdpbGRjYXJkIGlmIHJlcXVpcmVkLiAqL1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG4gIC8qKiBQdWJsaWMgUm91dGUgNTMgaG9zdGVkIHpvbmUgaW4gdGhpcyBhY2NvdW50IGNvbnRhaW5pbmcgdGhlIGRvbWFpbi4gKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZTogcm91dGU1My5JSG9zdGVkWm9uZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIEFDTSBjZXJ0aWZpY2F0ZSBpbiB1cy1lYXN0LTEsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YWNrIHJlZ2lvbi5cbiAqIERlcGxveW1lbnQgd2FpdHMgZm9yIEROUyB2YWxpZGF0aW9uIGJlZm9yZSBleHBvc2luZyB0aGUgY2VydGlmaWNhdGUgQVJOLlxuICogQWxsIGluc3RhbmNlcyBpbiBhIHN0YWNrIHNoYXJlIHRoZSBwcm92aWRlciBhbmQgaXRzIHNpbmdsZXRvbiBMYW1iZGEgaGFuZGxlcnMuXG4gKiBEb21haW4gb3IgaG9zdGVkIHpvbmUgY2hhbmdlcyByZXBsYWNlIHRoZSBjZXJ0aWZpY2F0ZS4gVmFsaWRhdGlvbiBDTkFNRXMgYXJlXG4gKiByZXRhaW5lZCBvbiBkZWxldGlvbiBiZWNhdXNlIEFDTSBjYW4gc2hhcmUgdGhlbSB3aXRoIG90aGVyIGNlcnRpZmljYXRlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkRnJvbnRDZXJ0aWZpY2F0ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKiBBUk4gb2YgdGhlIGlzc3VlZCBjZXJ0aWZpY2F0ZSwgc3VpdGFibGUgZm9yIENlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNlcnRpZmljYXRlQXJuOiBzdHJpbmc7XG5cbiAgLyoqIENlcnRpZmljYXRlIHJlZmVyZW5jZSB0aGF0IGNhbiBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gQ0RLIGNvbnN0cnVjdHMuICovXG4gIHB1YmxpYyByZWFkb25seSBjZXJ0aWZpY2F0ZTogYWNtLklDZXJ0aWZpY2F0ZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2xvdWRGcm9udENlcnRpZmljYXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gY2VydGlmaWNhdGVQcm92aWRlcihTdGFjay5vZih0aGlzKSk7XG4gICAgY29uc3QgaG9zdGVkWm9uZUlkID0gcHJvcHMuaG9zdGVkWm9uZS5ob3N0ZWRab25lSWQ7XG4gICAgcHJvdmlkZXIuaXNDb21wbGV0ZUhhbmRsZXIhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0cyddLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAgICAgc2VydmljZTogJ3JvdXRlNTMnLFxuICAgICAgICAgICAgcmVnaW9uOiAnJyxcbiAgICAgICAgICAgIGFjY291bnQ6ICcnLFxuICAgICAgICAgICAgcmVzb3VyY2U6ICdob3N0ZWR6b25lJyxcbiAgICAgICAgICAgIHJlc291cmNlTmFtZTogaG9zdGVkWm9uZUlkLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgJ0ZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHMnOiB7XG4gICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNSZWNvcmRUeXBlcyc6IFsnQ05BTUUnXSxcbiAgICAgICAgICAgICdyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0c0FjdGlvbnMnOiBbJ1VQU0VSVCddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpDbG91ZEZyb250Q2VydGlmaWNhdGUnLFxuICAgICAgc2VydmljZVRva2VuOiBwcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7IERvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsIEhvc3RlZFpvbmVJZDogaG9zdGVkWm9uZUlkIH0sXG4gICAgfSk7XG4gICAgdGhpcy5jZXJ0aWZpY2F0ZUFybiA9IHJlc291cmNlLmdldEF0dFN0cmluZygnQ2VydGlmaWNhdGVBcm4nKTtcbiAgICB0aGlzLmNlcnRpZmljYXRlID0gYWNtLkNlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybih0aGlzLCAnQ2VydGlmaWNhdGUnLCB0aGlzLmNlcnRpZmljYXRlQXJuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjZXJ0aWZpY2F0ZVByb3ZpZGVyKHN0YWNrOiBTdGFjayk6IFByb3ZpZGVyIHtcbiAgY29uc3QgcHJvdmlkZXJJZCA9ICdDbG91ZEZyb250Q2VydGlmaWNhdGVQcm92aWRlcic7XG4gIGNvbnN0IGV4aXN0aW5nID0gc3RhY2subm9kZS50cnlGaW5kQ2hpbGQocHJvdmlkZXJJZCk7XG4gIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nIGFzIFByb3ZpZGVyO1xuXG4gIGNvbnN0IGxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAoc3RhY2ssICdDbG91ZEZyb250Q2VydGlmaWNhdGVIYW5kbGVyTG9ncycsIHtcbiAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgfSk7XG4gIGNvbnN0IGNvbW1vbiA9IHtcbiAgICBydW50aW1lOiBERUZBVUxUX05PREVfUlVOVElNRSxcbiAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnbGFtYmRhJyksIHsgZXhjbHVkZTogWycqLmpzJywgJyouZC50cyddIH0pLFxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgbG9nR3JvdXAsXG4gIH07XG4gIGNvbnN0IGNlcnRpZmljYXRlQXJucyA9IFtcbiAgICBzdGFjay5mb3JtYXRBcm4oeyBzZXJ2aWNlOiAnYWNtJywgcmVnaW9uOiAndXMtZWFzdC0xJywgcmVzb3VyY2U6ICdjZXJ0aWZpY2F0ZScsIHJlc291cmNlTmFtZTogJyonIH0pLFxuICBdO1xuICBjb25zdCBvbkV2ZW50ID0gbmV3IGxhbWJkYS5TaW5nbGV0b25GdW5jdGlvbihzdGFjaywgJ0Nsb3VkRnJvbnRDZXJ0aWZpY2F0ZU9uRXZlbnQnLCB7XG4gICAgLi4uY29tbW9uLFxuICAgIHV1aWQ6ICc0NzYyZDUwZS1lNDRlLTQ5OTUtOGM2Yy01MWZhNTllNjIzNzMnLFxuICAgIGxhbWJkYVB1cnBvc2U6ICdDbG91ZEZyb250Q2VydGlmaWNhdGVPbkV2ZW50JyxcbiAgICBoYW5kbGVyOiAnaGFuZGxlci5vbkV2ZW50JyxcbiAgICBpbml0aWFsUG9saWN5OiBbXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnYWNtOlJlcXVlc3RDZXJ0aWZpY2F0ZSddLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgfSksXG4gICAgXSxcbiAgfSk7XG4gIGNvbnN0IGlzQ29tcGxldGUgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHN0YWNrLCAnQ2xvdWRGcm9udENlcnRpZmljYXRlSXNDb21wbGV0ZScsIHtcbiAgICAuLi5jb21tb24sXG4gICAgdXVpZDogJzQ2NzNkOWRlLWQ5MWUtNDljNS04ZDlmLWM0N2Q5ZTE2ZDBlZScsXG4gICAgbGFtYmRhUHVycG9zZTogJ0Nsb3VkRnJvbnRDZXJ0aWZpY2F0ZUlzQ29tcGxldGUnLFxuICAgIGhhbmRsZXI6ICdoYW5kbGVyLmlzQ29tcGxldGUnLFxuICAgIGluaXRpYWxQb2xpY3k6IFtcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydhY206RGVzY3JpYmVDZXJ0aWZpY2F0ZScsICdhY206RGVsZXRlQ2VydGlmaWNhdGUnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBjZXJ0aWZpY2F0ZUFybnMsXG4gICAgICB9KSxcbiAgICBdLFxuICB9KTtcbiAgcmV0dXJuIG5ldyBQcm92aWRlcihzdGFjaywgcHJvdmlkZXJJZCwge1xuICAgIG9uRXZlbnRIYW5kbGVyOiBvbkV2ZW50LFxuICAgIGlzQ29tcGxldGVIYW5kbGVyOiBpc0NvbXBsZXRlLFxuICAgIHF1ZXJ5SW50ZXJ2YWw6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgIHRvdGFsVGltZW91dDogRHVyYXRpb24ubWludXRlcyg2MCksXG4gIH0pO1xufVxuIl19
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtY2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2VydGlmaWNhdGUvY2xvdWQtZnJvbnQtY2VydGlmaWNhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsNkNBQThEO0FBQzlELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDZDQUE2QztBQUU3QyxtRUFBd0Q7QUFDeEQsMkNBQXVDO0FBQ3ZDLDRDQUFvRDtBQVVwRDs7Ozs7O0dBTUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLHNCQUFTO0lBT2xELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ25ELFFBQVEsQ0FBQyxpQkFBa0IsQ0FBQyxlQUFlLENBQ3pDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztZQUM3QyxTQUFTLEVBQUU7Z0JBQ1QsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUN2QixPQUFPLEVBQUUsU0FBUztvQkFDbEIsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFlBQVksRUFBRSxZQUFZO2lCQUMzQixDQUFDO2FBQ0g7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsMkJBQTJCLEVBQUU7b0JBQzNCLDZDQUE2QyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUN4RCx5Q0FBeUMsRUFBRSxDQUFD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QUFLLEVBQUUsVUFBVSxFQUFFO1FBQ3JDLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLGlCQUFpQixFQUFFLFVBQVU7UUFDN0IsYUFBYSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxZQUFZLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0tBQ25DLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24sIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYWNtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgdHlwZSAqIGFzIHJvdXRlNTMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgREVGQVVMVF9OT0RFX1JVTlRJTUUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vKiogUHJvcGVydGllcyBmb3IgYSBETlMtdmFsaWRhdGVkIENsb3VkRnJvbnQgY2VydGlmaWNhdGUuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRDZXJ0aWZpY2F0ZVByb3BzIHtcbiAgLyoqIERvbWFpbiBuYW1lIHRvIGNlcnRpZnksIGluY2x1ZGluZyBhIHdpbGRjYXJkIGlmIHJlcXVpcmVkLiAqL1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG4gIC8qKiBQdWJsaWMgUm91dGUgNTMgaG9zdGVkIHpvbmUgaW4gdGhpcyBhY2NvdW50IGNvbnRhaW5pbmcgdGhlIGRvbWFpbi4gKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZTogcm91dGU1My5JSG9zdGVkWm9uZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIEFDTSBjZXJ0aWZpY2F0ZSBpbiB1cy1lYXN0LTEsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YWNrIHJlZ2lvbi5cbiAqIERlcGxveW1lbnQgd2FpdHMgZm9yIEROUyB2YWxpZGF0aW9uIGJlZm9yZSBleHBvc2luZyB0aGUgY2VydGlmaWNhdGUgQVJOLlxuICogQWxsIGluc3RhbmNlcyBpbiBhIHN0YWNrIHNoYXJlIHRoZSBwcm92aWRlciBhbmQgaXRzIHNpbmdsZXRvbiBMYW1iZGEgaGFuZGxlcnMuXG4gKiBEb21haW4gb3IgaG9zdGVkIHpvbmUgY2hhbmdlcyByZXBsYWNlIHRoZSBjZXJ0aWZpY2F0ZS4gVmFsaWRhdGlvbiBDTkFNRXMgYXJlXG4gKiByZXRhaW5lZCBvbiBkZWxldGlvbiBiZWNhdXNlIEFDTSBjYW4gc2hhcmUgdGhlbSB3aXRoIG90aGVyIGNlcnRpZmljYXRlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkRnJvbnRDZXJ0aWZpY2F0ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKiBBUk4gb2YgdGhlIGlzc3VlZCBjZXJ0aWZpY2F0ZSwgc3VpdGFibGUgZm9yIENlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNlcnRpZmljYXRlQXJuOiBzdHJpbmc7XG5cbiAgLyoqIENlcnRpZmljYXRlIHJlZmVyZW5jZSB0aGF0IGNhbiBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gQ0RLIGNvbnN0cnVjdHMuICovXG4gIHB1YmxpYyByZWFkb25seSBjZXJ0aWZpY2F0ZTogYWNtLklDZXJ0aWZpY2F0ZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2xvdWRGcm9udENlcnRpZmljYXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gY2VydGlmaWNhdGVQcm92aWRlcihTdGFjay5vZih0aGlzKSk7XG4gICAgY29uc3QgaG9zdGVkWm9uZUlkID0gcHJvcHMuaG9zdGVkWm9uZS5ob3N0ZWRab25lSWQ7XG4gICAgcHJvdmlkZXIuaXNDb21wbGV0ZUhhbmRsZXIhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0cyddLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAgICAgc2VydmljZTogJ3JvdXRlNTMnLFxuICAgICAgICAgICAgcmVnaW9uOiAnJyxcbiAgICAgICAgICAgIGFjY291bnQ6ICcnLFxuICAgICAgICAgICAgcmVzb3VyY2U6ICdob3N0ZWR6b25lJyxcbiAgICAgICAgICAgIHJlc291cmNlTmFtZTogaG9zdGVkWm9uZUlkLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgJ0ZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHMnOiB7XG4gICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNSZWNvcmRUeXBlcyc6IFsnQ05BTUUnXSxcbiAgICAgICAgICAgICdyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0c0FjdGlvbnMnOiBbJ1VQU0VSVCddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpDbG91ZEZyb250Q2VydGlmaWNhdGUnLFxuICAgICAgc2VydmljZVRva2VuOiBwcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7IERvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsIEhvc3RlZFpvbmVJZDogaG9zdGVkWm9uZUlkIH0sXG4gICAgfSk7XG4gICAgdGhpcy5jZXJ0aWZpY2F0ZUFybiA9IHJlc291cmNlLmdldEF0dFN0cmluZygnQ2VydGlmaWNhdGVBcm4nKTtcbiAgICB0aGlzLmNlcnRpZmljYXRlID0gYWNtLkNlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybih0aGlzLCAnQ2VydGlmaWNhdGUnLCB0aGlzLmNlcnRpZmljYXRlQXJuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjZXJ0aWZpY2F0ZVByb3ZpZGVyKHN0YWNrOiBTdGFjayk6IFByb3ZpZGVyIHtcbiAgY29uc3QgcHJvdmlkZXJJZCA9ICdDbG91ZEZyb250Q2VydGlmaWNhdGVQcm92aWRlcic7XG4gIGNvbnN0IGV4aXN0aW5nID0gc3RhY2subm9kZS50cnlGaW5kQ2hpbGQocHJvdmlkZXJJZCk7XG4gIGlmIChleGlzdGluZykge1xuICAgIHJldHVybiBleGlzdGluZyBhcyBQcm92aWRlcjtcbiAgfVxuXG4gIGNvbnN0IGxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAoc3RhY2ssICdDbG91ZEZyb250Q2VydGlmaWNhdGVIYW5kbGVyTG9ncycsIHtcbiAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgfSk7XG4gIGNvbnN0IGNvbW1vbiA9IHtcbiAgICBydW50aW1lOiBERUZBVUxUX05PREVfUlVOVElNRSxcbiAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnbGFtYmRhJyksIHsgZXhjbHVkZTogWycqLmpzJywgJyouZC50cyddIH0pLFxuICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgbG9nR3JvdXAsXG4gIH07XG4gIGNvbnN0IGNlcnRpZmljYXRlQXJucyA9IFtcbiAgICBzdGFjay5mb3JtYXRBcm4oeyBzZXJ2aWNlOiAnYWNtJywgcmVnaW9uOiAndXMtZWFzdC0xJywgcmVzb3VyY2U6ICdjZXJ0aWZpY2F0ZScsIHJlc291cmNlTmFtZTogJyonIH0pLFxuICBdO1xuICBjb25zdCBvbkV2ZW50ID0gbmV3IGxhbWJkYS5TaW5nbGV0b25GdW5jdGlvbihzdGFjaywgJ0Nsb3VkRnJvbnRDZXJ0aWZpY2F0ZU9uRXZlbnQnLCB7XG4gICAgLi4uY29tbW9uLFxuICAgIHV1aWQ6ICc0NzYyZDUwZS1lNDRlLTQ5OTUtOGM2Yy01MWZhNTllNjIzNzMnLFxuICAgIGxhbWJkYVB1cnBvc2U6ICdDbG91ZEZyb250Q2VydGlmaWNhdGVPbkV2ZW50JyxcbiAgICBoYW5kbGVyOiAnaGFuZGxlci5vbkV2ZW50JyxcbiAgICBpbml0aWFsUG9saWN5OiBbXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnYWNtOlJlcXVlc3RDZXJ0aWZpY2F0ZSddLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgfSksXG4gICAgXSxcbiAgfSk7XG4gIGNvbnN0IGlzQ29tcGxldGUgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHN0YWNrLCAnQ2xvdWRGcm9udENlcnRpZmljYXRlSXNDb21wbGV0ZScsIHtcbiAgICAuLi5jb21tb24sXG4gICAgdXVpZDogJzQ2NzNkOWRlLWQ5MWUtNDljNS04ZDlmLWM0N2Q5ZTE2ZDBlZScsXG4gICAgbGFtYmRhUHVycG9zZTogJ0Nsb3VkRnJvbnRDZXJ0aWZpY2F0ZUlzQ29tcGxldGUnLFxuICAgIGhhbmRsZXI6ICdoYW5kbGVyLmlzQ29tcGxldGUnLFxuICAgIGluaXRpYWxQb2xpY3k6IFtcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydhY206RGVzY3JpYmVDZXJ0aWZpY2F0ZScsICdhY206RGVsZXRlQ2VydGlmaWNhdGUnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBjZXJ0aWZpY2F0ZUFybnMsXG4gICAgICB9KSxcbiAgICBdLFxuICB9KTtcbiAgcmV0dXJuIG5ldyBQcm92aWRlcihzdGFjaywgcHJvdmlkZXJJZCwge1xuICAgIG9uRXZlbnRIYW5kbGVyOiBvbkV2ZW50LFxuICAgIGlzQ29tcGxldGVIYW5kbGVyOiBpc0NvbXBsZXRlLFxuICAgIHF1ZXJ5SW50ZXJ2YWw6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgIHRvdGFsVGltZW91dDogRHVyYXRpb24ubWludXRlcyg2MCksXG4gIH0pO1xufVxuIl19
|
|
@@ -35970,7 +35970,9 @@ async function requestCertificate(event) {
|
|
|
35970
35970
|
ValidationMethod: "DNS"
|
|
35971
35971
|
})
|
|
35972
35972
|
);
|
|
35973
|
-
if (!result.CertificateArn)
|
|
35973
|
+
if (!result.CertificateArn) {
|
|
35974
|
+
throw new Error("ACM did not return a certificate ARN");
|
|
35975
|
+
}
|
|
35974
35976
|
return certificateResponse(result.CertificateArn);
|
|
35975
35977
|
}
|
|
35976
35978
|
function onDelete(event) {
|
|
@@ -35980,18 +35982,26 @@ async function completeDeletion(event) {
|
|
|
35980
35982
|
const arn = event.PhysicalResourceId;
|
|
35981
35983
|
try {
|
|
35982
35984
|
const certificate = await describeCertificate(arn);
|
|
35983
|
-
if (certificate.InUseBy?.length)
|
|
35985
|
+
if (certificate.InUseBy?.length) {
|
|
35986
|
+
return { IsComplete: false };
|
|
35987
|
+
}
|
|
35984
35988
|
await acm.send(new import_client_acm.DeleteCertificateCommand({ CertificateArn: arn }));
|
|
35985
35989
|
} catch (error2) {
|
|
35986
|
-
if (error2 instanceof import_client_acm.ResourceInUseException)
|
|
35987
|
-
|
|
35990
|
+
if (error2 instanceof import_client_acm.ResourceInUseException) {
|
|
35991
|
+
return { IsComplete: false };
|
|
35992
|
+
}
|
|
35993
|
+
if (error2 instanceof import_client_acm.ResourceNotFoundException) {
|
|
35994
|
+
return { IsComplete: true };
|
|
35995
|
+
}
|
|
35988
35996
|
throw error2;
|
|
35989
35997
|
}
|
|
35990
35998
|
return { IsComplete: true };
|
|
35991
35999
|
}
|
|
35992
36000
|
async function describeCertificate(arn) {
|
|
35993
36001
|
const { Certificate } = await acm.send(new import_client_acm.DescribeCertificateCommand({ CertificateArn: arn }));
|
|
35994
|
-
if (!Certificate)
|
|
36002
|
+
if (!Certificate) {
|
|
36003
|
+
throw new Error("ACM did not return certificate details");
|
|
36004
|
+
}
|
|
35995
36005
|
return Certificate;
|
|
35996
36006
|
}
|
|
35997
36007
|
function certificateResponse(arn) {
|
|
@@ -36004,14 +36014,18 @@ var route53 = new import_client_route_53.Route53Client({});
|
|
|
36004
36014
|
async function completeValidation(event) {
|
|
36005
36015
|
const arn = event.PhysicalResourceId;
|
|
36006
36016
|
const certificate = await describeCertificate(arn);
|
|
36007
|
-
if (certificate.Status === "ISSUED")
|
|
36017
|
+
if (certificate.Status === "ISSUED") {
|
|
36018
|
+
return { IsComplete: true };
|
|
36019
|
+
}
|
|
36008
36020
|
if (certificate.Status !== "PENDING_VALIDATION") {
|
|
36009
36021
|
throw new Error(
|
|
36010
36022
|
`Certificate ${arn} has status ${certificate.Status}: ${certificate.FailureReason ?? "unknown reason"}`
|
|
36011
36023
|
);
|
|
36012
36024
|
}
|
|
36013
36025
|
const record = certificate.DomainValidationOptions?.[0]?.ResourceRecord;
|
|
36014
|
-
if (!record?.Name || !record.Value || record.Type !== "CNAME")
|
|
36026
|
+
if (!record?.Name || !record.Value || record.Type !== "CNAME") {
|
|
36027
|
+
return { IsComplete: false };
|
|
36028
|
+
}
|
|
36015
36029
|
await route53.send(
|
|
36016
36030
|
new import_client_route_53.ChangeResourceRecordSetsCommand({
|
|
36017
36031
|
HostedZoneId: event.ResourceProperties.HostedZoneId,
|
|
@@ -29,7 +29,7 @@ const createCspFromDirectiveObjects = (directiveObjects) => {
|
|
|
29
29
|
exports.createCspFromDirectiveObjects = createCspFromDirectiveObjects;
|
|
30
30
|
const camelToDash = (str) => {
|
|
31
31
|
if (str != str.toLowerCase()) {
|
|
32
|
-
str = str.replace(/[A-Z]/g, m =>
|
|
32
|
+
str = str.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
|
|
33
33
|
}
|
|
34
34
|
return str;
|
|
35
35
|
};
|
|
@@ -58,4 +58,4 @@ const ORDERED_DIRECTIVE_NAMES = [
|
|
|
58
58
|
'upgradeInsecureRequests',
|
|
59
59
|
'childSrc',
|
|
60
60
|
];
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudFNlY3VyaXR5UG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQvY29udGVudFNlY3VyaXR5UG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXlCTyxNQUFNLDZCQUE2QixHQUFHLENBQUMsZ0JBQWlDLEVBQVUsRUFBRTtJQUN6RixNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztJQUU5RCxLQUFLLE1BQU0sZUFBZSxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDL0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxhQUFhLEdBQUcsR0FBdUIsQ0FBQztZQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxZQUFZLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUNELEtBQUssTUFBTSxLQUFLLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBYSxFQUFFLENBQUM7Z0JBQy9ELFlBQVksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUU1QixLQUFLLE1BQU0sU0FBUyxJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDaEQsTUFBTSxNQUFNLEdBQTRCLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLG1CQUFXLEVBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNO1NBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNULE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO1NBQzFCLElBQUksRUFBRSxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBNUJXLFFBQUEsNkJBQTZCLGlDQTRCeEM7QUFFSyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQ3pDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQzdCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFMVyxRQUFBLFdBQVcsZUFLdEI7QUFJRixNQUFNLHVCQUF1QixHQUF1QjtJQUNsRCxZQUFZO0lBQ1osWUFBWTtJQUNaLFNBQVM7SUFDVCxRQUFRO0lBQ1IsYUFBYTtJQUNiLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxjQUFjO0lBQ2QsV0FBVztJQUNYLFNBQVM7SUFDVCxTQUFTO0lBQ1QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsVUFBVTtJQUNWLHlCQUF5QjtJQUN6QixVQUFVO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3NwRGlyZWN0aXZlcyB7XG4gIHJlYWRvbmx5IGRlZmF1bHRTcmM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgY29ubmVjdFNyYz86IHN0cmluZ1tdO1xuICByZWFkb25seSBmb250U3JjPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IGltZ1NyYz86IHN0cmluZ1tdO1xuICByZWFkb25seSBtYW5pZmVzdFNyYz86IHN0cmluZ1tdO1xuICByZWFkb25seSBtZWRpYVNyYz86IHN0cmluZ1tdO1xuICByZWFkb25seSBvYmplY3RTcmM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgc2NyaXB0U3JjPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHNjcmlwdFNyY0VsZW0/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgc2NyaXB0U3JjQXR0cj86IHN0cmluZ1tdO1xuICByZWFkb25seSBzdHlsZVNyYz86IHN0cmluZ1tdO1xuICByZWFkb25seSBzdHlsZVNyY0VsZW0/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgc3R5bGVTcmNBdHRyPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHdvcmtlclNyYz86IHN0cmluZ1tdO1xuICByZWFkb25seSBiYXNlVXJpPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHNhbmRib3g/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgZm9ybUFjdGlvbj86IHN0cmluZ1tdO1xuICByZWFkb25seSBmcmFtZUFuY2VzdG9ycz86IHN0cmluZ1tdO1xuICByZWFkb25seSBmcmFtZVNyYz86IHN0cmluZ1tdO1xuICByZWFkb25seSByZXBvcnRUbz86IHN0cmluZ1tdO1xuICByZWFkb25seSB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0cz86IHN0cmluZ1tdO1xuICByZWFkb25seSBjaGlsZFNyYz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ3NwRnJvbURpcmVjdGl2ZU9iamVjdHMgPSAoZGlyZWN0aXZlT2JqZWN0czogQ3NwRGlyZWN0aXZlc1tdKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZGlyZWN0aXZlTWFwID0gbmV3IE1hcDxDc3BEaXJlY3RpdmVOYW1lLCBTZXQ8c3RyaW5nPj4oKTtcblxuICBmb3IgKGNvbnN0IGRpcmVjdGl2ZU9iamVjdCBvZiBkaXJlY3RpdmVPYmplY3RzKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGlyZWN0aXZlT2JqZWN0KSkge1xuICAgICAgY29uc3QgZGlyZWN0aXZlTmFtZSA9IGtleSBhcyBDc3BEaXJlY3RpdmVOYW1lO1xuICAgICAgaWYgKCFkaXJlY3RpdmVNYXAuaGFzKGRpcmVjdGl2ZU5hbWUpKSB7XG4gICAgICAgIGRpcmVjdGl2ZU1hcC5zZXQoZGlyZWN0aXZlTmFtZSwgbmV3IFNldCgpKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZGlyZWN0aXZlT2JqZWN0W2RpcmVjdGl2ZU5hbWVdIGFzIHN0cmluZ1tdKSB7XG4gICAgICAgIGRpcmVjdGl2ZU1hcC5nZXQoZGlyZWN0aXZlTmFtZSkhLmFkZCh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgb3V0cHV0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgZGlyZWN0aXZlIG9mIE9SREVSRURfRElSRUNUSVZFX05BTUVTKSB7XG4gICAgY29uc3QgdmFsdWVzOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZCA9IGRpcmVjdGl2ZU1hcC5nZXQoZGlyZWN0aXZlKTtcbiAgICBpZiAodmFsdWVzKSB7XG4gICAgICBvdXRwdXQucHVzaChgJHtjYW1lbFRvRGFzaChkaXJlY3RpdmUpfSAke0FycmF5LmZyb20odmFsdWVzKS5qb2luKCcgJyl9O2ApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvdXRwdXRcbiAgICAuam9pbignICcpXG4gICAgLnJlcGxhY2UoL1tcXHJcXG5cXHNdKy9nLCAnICcpXG4gICAgLnRyaW0oKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjYW1lbFRvRGFzaCA9IChzdHI6IHN0cmluZykgPT4ge1xuICBpZiAoc3RyICE9IHN0ci50b0xvd2VyQ2FzZSgpKSB7XG4gICAgc3RyID0gc3RyLnJlcGxhY2UoL1tBLVpdL2csIG0gPT4gYC0ke20udG9Mb3dlckNhc2UoKX1gKTtcbiAgfVxuICByZXR1cm4gc3RyO1xufTtcblxudHlwZSBDc3BEaXJlY3RpdmVOYW1lID0ga2V5b2YgQ3NwRGlyZWN0aXZlcztcblxuY29uc3QgT1JERVJFRF9ESVJFQ1RJVkVfTkFNRVM6IENzcERpcmVjdGl2ZU5hbWVbXSA9IFtcbiAgJ2RlZmF1bHRTcmMnLFxuICAnY29ubmVjdFNyYycsXG4gICdmb250U3JjJyxcbiAgJ2ltZ1NyYycsXG4gICdtYW5pZmVzdFNyYycsXG4gICdtZWRpYVNyYycsXG4gICdvYmplY3RTcmMnLFxuICAnc2NyaXB0U3JjJyxcbiAgJ3NjcmlwdFNyY0VsZW0nLFxuICAnc2NyaXB0U3JjQXR0cicsXG4gICdzdHlsZVNyYycsXG4gICdzdHlsZVNyY0VsZW0nLFxuICAnc3R5bGVTcmNBdHRyJyxcbiAgJ3dvcmtlclNyYycsXG4gICdiYXNlVXJpJyxcbiAgJ3NhbmRib3gnLFxuICAnZm9ybUFjdGlvbicsXG4gICdmcmFtZUFuY2VzdG9ycycsXG4gICdmcmFtZVNyYycsXG4gICdyZXBvcnRUbycsXG4gICd1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0cycsXG4gICdjaGlsZFNyYycsXG5dO1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
|
|
2
2
|
import * as route53 from 'aws-cdk-lib/aws-route53';
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
|
-
import { CspDirectives } from './contentSecurityPolicy';
|
|
4
|
+
import { type CspDirectives } from './contentSecurityPolicy';
|
|
5
5
|
/** Properties for defining a RioCloudfrontDistribution. */
|
|
6
6
|
export interface RioCloudfrontDistributionProps {
|
|
7
7
|
/** The reference to the S3 bucket containing the files to serve. */
|