@rio-cloud/cdk-v2-constructs 6.12.1 → 6.12.3
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 +327 -16
- package/docs/API.md +242 -4
- package/docs/changelog.md +9 -0
- package/lib/datadogv2/datadog-lambda-instrumentation.js +3 -4
- package/lib/datadogv2/datadog-shared-secrets.d.ts +19 -2
- package/lib/datadogv2/datadog-shared-secrets.js +60 -1
- package/lib/datadogv2/secret-locator-custom-resource/on-create.cjs +117 -109
- package/lib/datadogv2/secret-locator-custom-resource/on-create.js +6 -2
- package/lib/fargate/codedeploy-custom-resources/create-deployment-is-complete.cjs +79 -75
- package/lib/fargate/codedeploy-custom-resources/create-deployment-on-create.cjs +79 -75
- package/lib/fargate/codedeploy-custom-resources/run-monitoring-test-suite-runner.cjs +309 -83
- package/node_modules/@aws-sdk/client-cloudformation/package.json +14 -14
- package/node_modules/@aws-sdk/client-codedeploy/package.json +14 -14
- package/node_modules/@aws-sdk/client-ecs/README.md +25 -1
- package/node_modules/@aws-sdk/client-ecs/dist-cjs/index.js +255 -11
- package/node_modules/@aws-sdk/client-ecs/dist-es/ECS.js +6 -0
- package/node_modules/@aws-sdk/client-ecs/dist-es/commands/DescribeServiceDeploymentsCommand.js +22 -0
- package/node_modules/@aws-sdk/client-ecs/dist-es/commands/DescribeServiceRevisionsCommand.js +22 -0
- package/node_modules/@aws-sdk/client-ecs/dist-es/commands/ListServiceDeploymentsCommand.js +22 -0
- package/node_modules/@aws-sdk/client-ecs/dist-es/commands/index.js +3 -0
- package/node_modules/@aws-sdk/client-ecs/dist-es/models/models_0.js +17 -24
- package/node_modules/@aws-sdk/client-ecs/dist-es/models/models_1.js +25 -1
- package/node_modules/@aws-sdk/client-ecs/dist-es/protocols/Aws_json1_1.js +178 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ECS.d.ts +21 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ECSClient.d.ts +5 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateCapacityProviderCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateClusterCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateServiceCommand.d.ts +6 -6
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateTaskSetCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteAccountSettingCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteCapacityProviderCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteClusterCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteServiceCommand.d.ts +3 -3
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteTaskDefinitionsCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteTaskSetCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeregisterContainerInstanceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeregisterTaskDefinitionCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeClustersCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeContainerInstancesCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServiceDeploymentsCommand.d.ts +177 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +243 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServicesCommand.d.ts +3 -3
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTaskDefinitionCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTaskSetsCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTasksCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DiscoverPollEndpointCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ExecuteCommandCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/GetTaskProtectionCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListAccountSettingsCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListClustersCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListContainerInstancesCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServiceDeploymentsCommand.d.ts +130 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServicesByNamespaceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServicesCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTagsForResourceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTaskDefinitionFamiliesCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTaskDefinitionsCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTasksCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAccountSettingCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAccountSettingDefaultCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutClusterCapacityProvidersCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RegisterContainerInstanceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RegisterTaskDefinitionCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RunTaskCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StartTaskCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StopTaskCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitAttachmentStateChangesCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitContainerStateChangeCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitTaskStateChangeCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/TagResourceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UntagResourceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateCapacityProviderCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateClusterCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateClusterSettingsCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateContainerAgentCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateContainerInstancesStateCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateServiceCommand.d.ts +6 -6
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateTaskProtectionCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateTaskSetCommand.d.ts +2 -3
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/index.d.ts +3 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/models/models_0.d.ts +3026 -2918
- package/node_modules/@aws-sdk/client-ecs/dist-types/models/models_1.d.ts +517 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/protocols/Aws_json1_1.d.ts +27 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/ECS.d.ts +51 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/ECSClient.d.ts +18 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/DescribeServiceDeploymentsCommand.d.ts +51 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/DescribeServiceRevisionsCommand.d.ts +51 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/ListServiceDeploymentsCommand.d.ts +51 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateClusterCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateClusterSettingsCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateContainerAgentCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateContainerInstancesStateCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateServiceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateServicePrimaryTaskSetCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateTaskProtectionCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/UpdateTaskSetCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/commands/index.d.ts +3 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/models/models_0.d.ts +126 -95
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/models/models_1.d.ts +119 -1
- package/node_modules/@aws-sdk/client-ecs/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +36 -0
- package/node_modules/@aws-sdk/client-ecs/package.json +14 -14
- package/node_modules/@aws-sdk/client-organizations/package.json +14 -14
- package/node_modules/@aws-sdk/client-secrets-manager/package.json +14 -14
- package/node_modules/@aws-sdk/client-ssm/package.json +14 -14
- package/node_modules/@aws-sdk/client-sso/package.json +11 -11
- package/node_modules/@aws-sdk/client-sso-oidc/package.json +13 -13
- package/node_modules/@aws-sdk/client-sts/package.json +15 -15
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +9 -5
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js +5 -3
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/emitWarningIfUnsupportedVersion.d.ts +3 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/emitWarningIfUnsupportedVersion.d.ts +3 -0
- package/node_modules/@aws-sdk/core/package.json +6 -4
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -4
- package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -4
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -10
- package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -10
- package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -4
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -6
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -5
- package/node_modules/@aws-sdk/middleware-host-header/package.json +6 -4
- package/node_modules/@aws-sdk/middleware-logger/package.json +6 -4
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +6 -4
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +9 -7
- package/node_modules/@aws-sdk/region-config-resolver/package.json +4 -3
- package/node_modules/@aws-sdk/token-providers/package.json +5 -4
- package/node_modules/@aws-sdk/types/package.json +1 -1
- package/node_modules/@aws-sdk/util-endpoints/package.json +6 -4
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +4 -3
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -4
- package/node_modules/@smithy/protocol-http/package.json +2 -2
- package/node_modules/@smithy/service-error-classification/package.json +2 -2
- package/node_modules/@smithy/signature-v4/package.json +4 -4
- package/node_modules/@smithy/types/dist-cjs/feature-ids.js +1 -0
- package/node_modules/@smithy/types/dist-es/feature-ids.js +1 -0
- package/node_modules/@smithy/types/dist-es/index.js +1 -0
- package/node_modules/@smithy/types/dist-types/feature-ids.d.ts +16 -0
- package/node_modules/@smithy/types/dist-types/index.d.ts +1 -0
- package/node_modules/@smithy/types/dist-types/middleware.d.ts +30 -6
- package/node_modules/@smithy/types/dist-types/ts3.4/feature-ids.d.ts +16 -0
- package/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +1 -0
- package/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +26 -2
- package/node_modules/@smithy/types/package.json +1 -1
- package/node_modules/@smithy/util-middleware/package.json +2 -2
- package/node_modules/@smithy/util-retry/package.json +3 -3
- package/package.json +13 -11
- package/version.json +1 -1
package/docs/API.md
CHANGED
|
@@ -1983,6 +1983,8 @@ Default priority of a monitor.
|
|
|
1983
1983
|
|
|
1984
1984
|
### DatadogSharedSecret <a name="DatadogSharedSecret" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret"></a>
|
|
1985
1985
|
|
|
1986
|
+
- *Implements:* aws-cdk-lib.aws_secretsmanager.ISecret
|
|
1987
|
+
|
|
1986
1988
|
A custom resource that resolves the secret ARN based on the organization ID.
|
|
1987
1989
|
|
|
1988
1990
|
#### Methods <a name="Methods" id="Methods"></a>
|
|
@@ -1990,6 +1992,14 @@ A custom resource that resolves the secret ARN based on the organization ID.
|
|
|
1990
1992
|
| **Name** | **Description** |
|
|
1991
1993
|
| --- | --- |
|
|
1992
1994
|
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
1995
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.addRotationSchedule">addRotationSchedule</a></code> | Adds a rotation schedule to the secret. |
|
|
1996
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.addToResourcePolicy">addToResourcePolicy</a></code> | Adds a statement to the IAM resource policy associated with this secret. |
|
|
1997
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
|
|
1998
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.attach">attach</a></code> | Attach a target to this secret. |
|
|
1999
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.denyAccountRootDelete">denyAccountRootDelete</a></code> | Denies the `DeleteSecret` action to all principals within the current account. |
|
|
2000
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.grantRead">grantRead</a></code> | Grants reading the secret value to some role. |
|
|
2001
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.grantWrite">grantWrite</a></code> | Grants writing and updating the secret value to some role. |
|
|
2002
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.secretValueFromJson">secretValueFromJson</a></code> | Interpret the secret as a JSON object and return a field's value from it as a `SecretValue`. |
|
|
1993
2003
|
|
|
1994
2004
|
---
|
|
1995
2005
|
|
|
@@ -2001,6 +2011,136 @@ public toString(): string
|
|
|
2001
2011
|
|
|
2002
2012
|
Returns a string representation of this construct.
|
|
2003
2013
|
|
|
2014
|
+
##### `addRotationSchedule` <a name="addRotationSchedule" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.addRotationSchedule"></a>
|
|
2015
|
+
|
|
2016
|
+
```typescript
|
|
2017
|
+
public addRotationSchedule(_id: string, _options: RotationScheduleOptions): RotationSchedule
|
|
2018
|
+
```
|
|
2019
|
+
|
|
2020
|
+
Adds a rotation schedule to the secret.
|
|
2021
|
+
|
|
2022
|
+
###### `_id`<sup>Required</sup> <a name="_id" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.addRotationSchedule.parameter._id"></a>
|
|
2023
|
+
|
|
2024
|
+
- *Type:* string
|
|
2025
|
+
|
|
2026
|
+
---
|
|
2027
|
+
|
|
2028
|
+
###### `_options`<sup>Required</sup> <a name="_options" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.addRotationSchedule.parameter._options"></a>
|
|
2029
|
+
|
|
2030
|
+
- *Type:* aws-cdk-lib.aws_secretsmanager.RotationScheduleOptions
|
|
2031
|
+
|
|
2032
|
+
---
|
|
2033
|
+
|
|
2034
|
+
##### `addToResourcePolicy` <a name="addToResourcePolicy" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.addToResourcePolicy"></a>
|
|
2035
|
+
|
|
2036
|
+
```typescript
|
|
2037
|
+
public addToResourcePolicy(_statement: PolicyStatement): AddToResourcePolicyResult
|
|
2038
|
+
```
|
|
2039
|
+
|
|
2040
|
+
Adds a statement to the IAM resource policy associated with this secret.
|
|
2041
|
+
|
|
2042
|
+
If this secret was created in this stack, a resource policy will be
|
|
2043
|
+
automatically created upon the first call to `addToResourcePolicy`. If
|
|
2044
|
+
the secret is imported, then this is a no-op.
|
|
2045
|
+
|
|
2046
|
+
###### `_statement`<sup>Required</sup> <a name="_statement" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.addToResourcePolicy.parameter._statement"></a>
|
|
2047
|
+
|
|
2048
|
+
- *Type:* aws-cdk-lib.aws_iam.PolicyStatement
|
|
2049
|
+
|
|
2050
|
+
---
|
|
2051
|
+
|
|
2052
|
+
##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.applyRemovalPolicy"></a>
|
|
2053
|
+
|
|
2054
|
+
```typescript
|
|
2055
|
+
public applyRemovalPolicy(_policy: RemovalPolicy): void
|
|
2056
|
+
```
|
|
2057
|
+
|
|
2058
|
+
Apply the given removal policy to this resource.
|
|
2059
|
+
|
|
2060
|
+
The Removal Policy controls what happens to this resource when it stops
|
|
2061
|
+
being managed by CloudFormation, either because you've removed it from the
|
|
2062
|
+
CDK application or because you've made a change that requires the resource
|
|
2063
|
+
to be replaced.
|
|
2064
|
+
|
|
2065
|
+
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
|
|
2066
|
+
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
|
|
2067
|
+
|
|
2068
|
+
###### `_policy`<sup>Required</sup> <a name="_policy" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.applyRemovalPolicy.parameter._policy"></a>
|
|
2069
|
+
|
|
2070
|
+
- *Type:* aws-cdk-lib.RemovalPolicy
|
|
2071
|
+
|
|
2072
|
+
---
|
|
2073
|
+
|
|
2074
|
+
##### `attach` <a name="attach" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.attach"></a>
|
|
2075
|
+
|
|
2076
|
+
```typescript
|
|
2077
|
+
public attach(_target: ISecretAttachmentTarget): ISecret
|
|
2078
|
+
```
|
|
2079
|
+
|
|
2080
|
+
Attach a target to this secret.
|
|
2081
|
+
|
|
2082
|
+
###### `_target`<sup>Required</sup> <a name="_target" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.attach.parameter._target"></a>
|
|
2083
|
+
|
|
2084
|
+
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecretAttachmentTarget
|
|
2085
|
+
|
|
2086
|
+
---
|
|
2087
|
+
|
|
2088
|
+
##### `denyAccountRootDelete` <a name="denyAccountRootDelete" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.denyAccountRootDelete"></a>
|
|
2089
|
+
|
|
2090
|
+
```typescript
|
|
2091
|
+
public denyAccountRootDelete(): void
|
|
2092
|
+
```
|
|
2093
|
+
|
|
2094
|
+
Denies the `DeleteSecret` action to all principals within the current account.
|
|
2095
|
+
|
|
2096
|
+
##### `grantRead` <a name="grantRead" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.grantRead"></a>
|
|
2097
|
+
|
|
2098
|
+
```typescript
|
|
2099
|
+
public grantRead(grantee: IGrantable, versionStages?: string[]): Grant
|
|
2100
|
+
```
|
|
2101
|
+
|
|
2102
|
+
Grants reading the secret value to some role.
|
|
2103
|
+
|
|
2104
|
+
###### `grantee`<sup>Required</sup> <a name="grantee" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.grantRead.parameter.grantee"></a>
|
|
2105
|
+
|
|
2106
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
2107
|
+
|
|
2108
|
+
---
|
|
2109
|
+
|
|
2110
|
+
###### `versionStages`<sup>Optional</sup> <a name="versionStages" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.grantRead.parameter.versionStages"></a>
|
|
2111
|
+
|
|
2112
|
+
- *Type:* string[]
|
|
2113
|
+
|
|
2114
|
+
---
|
|
2115
|
+
|
|
2116
|
+
##### `grantWrite` <a name="grantWrite" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.grantWrite"></a>
|
|
2117
|
+
|
|
2118
|
+
```typescript
|
|
2119
|
+
public grantWrite(_grantee: IGrantable): Grant
|
|
2120
|
+
```
|
|
2121
|
+
|
|
2122
|
+
Grants writing and updating the secret value to some role.
|
|
2123
|
+
|
|
2124
|
+
###### `_grantee`<sup>Required</sup> <a name="_grantee" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.grantWrite.parameter._grantee"></a>
|
|
2125
|
+
|
|
2126
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
2127
|
+
|
|
2128
|
+
---
|
|
2129
|
+
|
|
2130
|
+
##### `secretValueFromJson` <a name="secretValueFromJson" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.secretValueFromJson"></a>
|
|
2131
|
+
|
|
2132
|
+
```typescript
|
|
2133
|
+
public secretValueFromJson(key: string): SecretValue
|
|
2134
|
+
```
|
|
2135
|
+
|
|
2136
|
+
Interpret the secret as a JSON object and return a field's value from it as a `SecretValue`.
|
|
2137
|
+
|
|
2138
|
+
###### `key`<sup>Required</sup> <a name="key" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.secretValueFromJson.parameter.key"></a>
|
|
2139
|
+
|
|
2140
|
+
- *Type:* string
|
|
2141
|
+
|
|
2142
|
+
---
|
|
2143
|
+
|
|
2004
2144
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
2005
2145
|
|
|
2006
2146
|
| **Name** | **Description** |
|
|
@@ -2092,7 +2232,13 @@ This static function resolves to the json credentials secret that contains ['Api
|
|
|
2092
2232
|
| **Name** | **Type** | **Description** |
|
|
2093
2233
|
| --- | --- | --- |
|
|
2094
2234
|
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
2095
|
-
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.
|
|
2235
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
|
|
2236
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretArn">secretArn</a></code> | <code>string</code> | The ARN of the secret in AWS Secrets Manager. |
|
|
2237
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretName">secretName</a></code> | <code>string</code> | The name of the secret. |
|
|
2238
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretValue">secretValue</a></code> | <code>aws-cdk-lib.SecretValue</code> | Retrieve the value of the stored secret as a `SecretValue`. |
|
|
2239
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
|
|
2240
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.encryptionKey">encryptionKey</a></code> | <code>aws-cdk-lib.aws_kms.IKey</code> | The customer-managed encryption key that is used to encrypt this secret, if any. |
|
|
2241
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretFullArn">secretFullArn</a></code> | <code>string</code> | The full ARN of the secret in AWS Secrets Manager, which is the ARN including the Secrets Manager-supplied 6-character suffix. |
|
|
2096
2242
|
|
|
2097
2243
|
---
|
|
2098
2244
|
|
|
@@ -2108,13 +2254,105 @@ The tree node.
|
|
|
2108
2254
|
|
|
2109
2255
|
---
|
|
2110
2256
|
|
|
2111
|
-
##### `
|
|
2257
|
+
##### `env`<sup>Required</sup> <a name="env" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.env"></a>
|
|
2112
2258
|
|
|
2113
2259
|
```typescript
|
|
2114
|
-
public readonly
|
|
2260
|
+
public readonly env: ResourceEnvironment;
|
|
2115
2261
|
```
|
|
2116
2262
|
|
|
2117
|
-
- *Type:* aws-cdk-lib.
|
|
2263
|
+
- *Type:* aws-cdk-lib.ResourceEnvironment
|
|
2264
|
+
|
|
2265
|
+
The environment this resource belongs to.
|
|
2266
|
+
|
|
2267
|
+
For resources that are created and managed by the CDK
|
|
2268
|
+
(generally, those created by creating new class instances like Role, Bucket, etc.),
|
|
2269
|
+
this is always the same as the environment of the stack they belong to;
|
|
2270
|
+
however, for imported resources
|
|
2271
|
+
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
|
|
2272
|
+
that might be different than the stack they were imported into.
|
|
2273
|
+
|
|
2274
|
+
---
|
|
2275
|
+
|
|
2276
|
+
##### `secretArn`<sup>Required</sup> <a name="secretArn" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretArn"></a>
|
|
2277
|
+
|
|
2278
|
+
```typescript
|
|
2279
|
+
public readonly secretArn: string;
|
|
2280
|
+
```
|
|
2281
|
+
|
|
2282
|
+
- *Type:* string
|
|
2283
|
+
|
|
2284
|
+
The ARN of the secret in AWS Secrets Manager.
|
|
2285
|
+
|
|
2286
|
+
Will return the full ARN if available, otherwise a partial arn.
|
|
2287
|
+
For secrets imported by the deprecated `fromSecretName`, it will return the `secretName`.
|
|
2288
|
+
|
|
2289
|
+
---
|
|
2290
|
+
|
|
2291
|
+
##### `secretName`<sup>Required</sup> <a name="secretName" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretName"></a>
|
|
2292
|
+
|
|
2293
|
+
```typescript
|
|
2294
|
+
public readonly secretName: string;
|
|
2295
|
+
```
|
|
2296
|
+
|
|
2297
|
+
- *Type:* string
|
|
2298
|
+
|
|
2299
|
+
The name of the secret.
|
|
2300
|
+
|
|
2301
|
+
For "owned" secrets, this will be the full resource name (secret name + suffix), unless the
|
|
2302
|
+
'@aws-cdk/aws-secretsmanager:parseOwnedSecretName' feature flag is set.
|
|
2303
|
+
|
|
2304
|
+
---
|
|
2305
|
+
|
|
2306
|
+
##### `secretValue`<sup>Required</sup> <a name="secretValue" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretValue"></a>
|
|
2307
|
+
|
|
2308
|
+
```typescript
|
|
2309
|
+
public readonly secretValue: SecretValue;
|
|
2310
|
+
```
|
|
2311
|
+
|
|
2312
|
+
- *Type:* aws-cdk-lib.SecretValue
|
|
2313
|
+
|
|
2314
|
+
Retrieve the value of the stored secret as a `SecretValue`.
|
|
2315
|
+
|
|
2316
|
+
---
|
|
2317
|
+
|
|
2318
|
+
##### `stack`<sup>Required</sup> <a name="stack" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.stack"></a>
|
|
2319
|
+
|
|
2320
|
+
```typescript
|
|
2321
|
+
public readonly stack: Stack;
|
|
2322
|
+
```
|
|
2323
|
+
|
|
2324
|
+
- *Type:* aws-cdk-lib.Stack
|
|
2325
|
+
|
|
2326
|
+
The stack in which this resource is defined.
|
|
2327
|
+
|
|
2328
|
+
---
|
|
2329
|
+
|
|
2330
|
+
##### `encryptionKey`<sup>Optional</sup> <a name="encryptionKey" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.encryptionKey"></a>
|
|
2331
|
+
|
|
2332
|
+
```typescript
|
|
2333
|
+
public readonly encryptionKey: IKey;
|
|
2334
|
+
```
|
|
2335
|
+
|
|
2336
|
+
- *Type:* aws-cdk-lib.aws_kms.IKey
|
|
2337
|
+
|
|
2338
|
+
The customer-managed encryption key that is used to encrypt this secret, if any.
|
|
2339
|
+
|
|
2340
|
+
When not specified, the default
|
|
2341
|
+
KMS key for the account and region is being used.
|
|
2342
|
+
|
|
2343
|
+
---
|
|
2344
|
+
|
|
2345
|
+
##### `secretFullArn`<sup>Optional</sup> <a name="secretFullArn" id="@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret.property.secretFullArn"></a>
|
|
2346
|
+
|
|
2347
|
+
```typescript
|
|
2348
|
+
public readonly secretFullArn: string;
|
|
2349
|
+
```
|
|
2350
|
+
|
|
2351
|
+
- *Type:* string
|
|
2352
|
+
|
|
2353
|
+
The full ARN of the secret in AWS Secrets Manager, which is the ARN including the Secrets Manager-supplied 6-character suffix.
|
|
2354
|
+
|
|
2355
|
+
This is equal to `secretArn` in most cases, but is undefined when a full ARN is not available (e.g., secrets imported by name).
|
|
2118
2356
|
|
|
2119
2357
|
---
|
|
2120
2358
|
|
package/docs/changelog.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
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.12.3](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.12.2&sourceBranch=refs%2Ftags%2Fv6.12.3) (2024-11-05)
|
|
6
|
+
|
|
7
|
+
## [6.12.2](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.12.1&sourceBranch=refs%2Ftags%2Fv6.12.2) (2024-11-04)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* dependencies updated by renovate ([533396a](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/533396aa1fcc89f0a46099f90c20b2957b266ee4))
|
|
13
|
+
|
|
5
14
|
## [6.12.1](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.12.0&sourceBranch=refs%2Ftags%2Fv6.12.1) (2024-10-29)
|
|
6
15
|
|
|
7
16
|
## [6.12.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.12.0-beta.0&sourceBranch=refs%2Ftags%2Fv6.12.0) (2024-10-22)
|
|
@@ -25,10 +25,9 @@ const datadog_shared_secrets_1 = require("./datadog-shared-secrets");
|
|
|
25
25
|
class DatadogLambdaInstrumentation extends constructs_1.Construct {
|
|
26
26
|
constructor(scope, id, props) {
|
|
27
27
|
super(scope, id);
|
|
28
|
-
|
|
29
|
-
this.datadogSecret = resolvedDatadogApiKey.secret;
|
|
28
|
+
this.datadogSecret = datadog_shared_secrets_1.DatadogSharedSecret.apiKeySecret(this, 'DatadogApiKeySecret');
|
|
30
29
|
const resolvedDatadogSecret = datadog_shared_secrets_1.DatadogSharedSecret.credentialsSecret(this, 'DatadogCredentialsSecret');
|
|
31
|
-
this.site = resolvedDatadogSecret.
|
|
30
|
+
this.site = resolvedDatadogSecret.secretValueFromJson('Site').unsafeUnwrap();
|
|
32
31
|
const finalProps = {
|
|
33
32
|
env: 'prod',
|
|
34
33
|
apiKeySecretArn: this.datadogSecret.secretArn,
|
|
@@ -74,4 +73,4 @@ const getSourceCodeIntegrationDefault = (node) => {
|
|
|
74
73
|
const isDisabled = value === 'false' || value === false;
|
|
75
74
|
return !isDisabled;
|
|
76
75
|
};
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1sYW1iZGEtaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFkb2d2Mi9kYXRhZG9nLWxhbWJkYS1pbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSwyQ0FBNkM7QUFDN0MsNkRBQTZEO0FBQzdELGdEQUFnRDtBQUNoRCxxRUFBK0Q7QUFvRC9EOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBYSw0QkFBNkIsU0FBUSxzQkFBUztJQUt6RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdDO1FBQ2hGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsR0FBRyw0Q0FBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFFbkYsTUFBTSxxQkFBcUIsR0FBRyw0Q0FBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdFLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUztZQUM3QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsb0JBQW9CLEVBQUUsS0FBSztZQUMzQixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIscUJBQXFCLEVBQUUsS0FBSztZQUM1QixlQUFlLEVBQUUsS0FBSztZQUN0QixxQkFBcUIsRUFBRSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2pFLEdBQUcsS0FBSztTQUNULENBQUM7UUFFRixFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUMscUJBQXFCLElBQUksS0FBSyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxlQUFvQyxFQUFFLFNBQXFCO1FBQzVFLEtBQUssTUFBTSxjQUFjLElBQUksZUFBZSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDN0MsY0FBYyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFDekYsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxlQUFvQyxFQUFFLFlBQXFCLEVBQUUsVUFBbUI7UUFDbkcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFDRCxnQ0FBZ0MsQ0FBQyxTQUEyQjtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7O0FBL0NILG9FQWdEQzs7O0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLElBQVUsRUFBVyxFQUFFO0lBQzlELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsMERBQTBELENBQUMsQ0FBQztJQUU3RixNQUFNLFVBQVUsR0FBRyxLQUFLLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUM7SUFFeEQsT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNlY3JldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyJztcbmltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgZGQgZnJvbSAnZGF0YWRvZy1jZGstY29uc3RydWN0cy12Mic7XG5pbXBvcnQgeyBEYXRhZG9nU2hhcmVkU2VjcmV0IH0gZnJvbSAnLi9kYXRhZG9nLXNoYXJlZC1zZWNyZXRzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIERhdGFkb2dMYW1iZGFJbnN0cnVtZW50YXRpb24gY29uc3RydWN0LlxuICogQ29waWVkIG92ZXIgZnJvbSBvcmlnaW5hbCBEYXRhZG9nIGNvbnN0cnVjdC5cbiAqIFRoaXMgaW50ZXJmYWNlIGlzIGludGVudGlvbmFsbHkgbm90IGV4dGVuZGluZyB0aGUgb3JpZ2luYWwgRGF0YWRvZ1Byb3BzLCBzbyB0aGF0IHRoZSBkZXBlbmRlbmN5IG5lZWRzIHRvIGJlIGJ1bmRsZWQgYXMgd2VsbC5cbiAqXG4gKiBAc2VlIGRkLkRhdGFkb2dQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMYW1iZGFJbnN0cnVtZW50YXRpb25Qcm9wcyB7XG4gIHJlYWRvbmx5IHNlcnZpY2U6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgZW5oYW5jZWQgbWV0cmljcyBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRW5oYW5jZWRNZXRyaWNzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbm9kZUxheWVyVmVyc2lvbj86IG51bWJlcjtcbiAgcmVhZG9ubHkgZXh0ZW5zaW9uTGF5ZXJWZXJzaW9uPzogbnVtYmVyO1xuICByZWFkb25seSBhZGRMYXllcnM/OiBib29sZWFuO1xuICByZWFkb25seSBmb3J3YXJkZXJBcm4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZsdXNoTWV0cmljc1RvTG9ncz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNpdGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwaUtleT86IHN0cmluZztcbiAgcmVhZG9ubHkgYXBpS2V5U2VjcmV0QXJuPzogc3RyaW5nO1xuICByZWFkb25seSBhcGlLZXlTZWNyZXQ/OiBzZWNyZXRzLklTZWNyZXQ7XG4gIHJlYWRvbmx5IGFwaUttc0tleT86IHN0cmluZztcbiAgcmVhZG9ubHkgZW5hYmxlRGF0YWRvZ1RyYWNpbmc/OiBib29sZWFuO1xuICByZWFkb25seSBlbmFibGVEYXRhZG9nQVNNPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZW5hYmxlTWVyZ2VYcmF5VHJhY2VzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaW5qZWN0TG9nQ29udGV4dD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogc3RyaW5nO1xuICByZWFkb25seSBlbmFibGVEYXRhZG9nTG9ncz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNhcHR1cmVMYW1iZGFQYXlsb2FkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZW52Pzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuICByZWFkb25seSB0YWdzPzogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGVGb3J3YXJkZXJQZXJtaXNzaW9ucz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNvdXJjZUNvZGVJbnRlZ3JhdGlvbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGVuYWJsZUNvbGRTdGFydFRyYWNpbmc/OiBib29sZWFuO1xuICByZWFkb25seSBtaW5Db2xkU3RhcnRUcmFjZUR1cmF0aW9uPzogbnVtYmVyO1xuICByZWFkb25seSBjb2xkU3RhcnRUcmFjZVNraXBMaWJzPzogc3RyaW5nO1xuICByZWFkb25seSBlbmFibGVQcm9maWxpbmc/OiBib29sZWFuO1xuICByZWFkb25seSBlbmNvZGVBdXRob3JpemVyQ29udGV4dD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRlY29kZUF1dGhvcml6ZXJDb250ZXh0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYXBtRmx1c2hEZWFkbGluZT86IHN0cmluZyB8IG51bWJlcjtcbiAgcmVhZG9ubHkgcmVkaXJlY3RIYW5kbGVyPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZ3JhbnRTZWNyZXRSZWFkQWNjZXNzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdXNlTGF5ZXJzRnJvbUFjY291bnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogV3JhcHBlciBjb25zdHJ1Y3QgZm9yIERhdGFkb2cncyBMYW1iZGEgaW5zdHJ1bWVudGF0aW9uLlxuICogVGhpcyBjb25zdHJ1Y3Qgd2lsbCBjcmVhdGUgYSBEYXRhZG9nIGNvbnN0cnVjdCB3aXRoIHRoZSBwcm92aWRlZCBwcm9wcyBhbmQgYWRkIHRoZSBMYW1iZGEgZnVuY3Rpb25zIHRvIGl0LlxuICogUGVyIGRlZmF1bHQsIGl0IHdpbGwgZGlzYWJsZSBhbGwgYWRkaXRpb25hbCBmZWF0dXJlcywgdGhhdCBjYXVzZSBEYXRhZG9nIGNoYXJnaW5nIGZvciBTZXJ2ZXJsZXNzIEZ1bmN0aW9ucyBmZWF0dXJlcy5cbiAqIFNvIGp1c3QgY2hhbmdlIGl0LCBpZiB5b3UgbmVlZCB0aGUgYWR2YW5jZWQgZmVhdHVyZXMuXG4gKlxuICogQWRkaXRpb25hbGx5LCBzb21lIGRlZmF1bHRzIGZyb20gdGhlIGRhdGFkb2ctaW50ZWdyYXRpb24gYWNjb3VudCBtb2R1bGUgYXJlIGFwcGxpZWQ6XG4gKiAtIHRoZSBzZWNyZXQgZm9yIHRoZSBBUEkga2V5IGlzIHJlYWQgZnJvbSB0aGUgc2VjcmV0IG1hbmFnZXIgYC9yaW8vY29uZmlnL2RhdGFkb2ctaW50ZWdyYXRpb24vYXBpLWtleWBcbiAqIC0gdGhlIHNpdGUgaXMgcmVhZCBmcm9tIHRoZSBwYXJhbWV0ZXIgc3RvcmUgYC9yaW8vY29uZmlnL2RhdGFkb2ctaW50ZWdyYXRpb24vc2l0ZWBcbiAqXG4gKiBUbyB1c2UgaXQsIGluc3RhbGwgRGF0YWRvZyBDREsgQ29uc3RydWN0cyBwYWNrYWdlOlxuICogYGBgYmFzaFxuICogbnBtIGkgLUQgZGF0YWRvZy1jZGstY29uc3RydWN0cy12MlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nTGFtYmRhSW5zdHJ1bWVudGF0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSBkZWxlZ2F0ZTogZGQuRGF0YWRvZztcbiAgcHJpdmF0ZSBkYXRhZG9nU2VjcmV0OiBEYXRhZG9nU2hhcmVkU2VjcmV0O1xuICBwcml2YXRlIHNpdGU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBlbmhhbmNlZE1ldHJpY3NFbmFibGVkOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ0xhbWJkYUluc3RydW1lbnRhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuZGF0YWRvZ1NlY3JldCA9IERhdGFkb2dTaGFyZWRTZWNyZXQuYXBpS2V5U2VjcmV0KHRoaXMsICdEYXRhZG9nQXBpS2V5U2VjcmV0Jyk7XG5cbiAgICBjb25zdCByZXNvbHZlZERhdGFkb2dTZWNyZXQgPSBEYXRhZG9nU2hhcmVkU2VjcmV0LmNyZWRlbnRpYWxzU2VjcmV0KHRoaXMsICdEYXRhZG9nQ3JlZGVudGlhbHNTZWNyZXQnKTtcbiAgICB0aGlzLnNpdGUgPSByZXNvbHZlZERhdGFkb2dTZWNyZXQuc2VjcmV0VmFsdWVGcm9tSnNvbignU2l0ZScpLnVuc2FmZVVud3JhcCgpO1xuXG4gICAgY29uc3QgZmluYWxQcm9wcyA9IHtcbiAgICAgIGVudjogJ3Byb2QnLFxuICAgICAgYXBpS2V5U2VjcmV0QXJuOiB0aGlzLmRhdGFkb2dTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgc2l0ZTogdGhpcy5zaXRlLFxuICAgICAgZW5hYmxlRGF0YWRvZ0xvZ3M6IHRydWUsXG4gICAgICBpbmplY3RMb2dDb250ZXh0OiB0cnVlLFxuICAgICAgZW5hYmxlRGF0YWRvZ1RyYWNpbmc6IGZhbHNlLFxuICAgICAgZW5hYmxlQ29sZFN0YXJ0VHJhY2luZzogZmFsc2UsXG4gICAgICBlbmFibGVEYXRhZG9nQVNNOiBmYWxzZSxcbiAgICAgIGVuYWJsZU1lcmdlWHJheVRyYWNlczogZmFsc2UsXG4gICAgICBlbmFibGVQcm9maWxpbmc6IGZhbHNlLFxuICAgICAgc291cmNlQ29kZUludGVncmF0aW9uOiBnZXRTb3VyY2VDb2RlSW50ZWdyYXRpb25EZWZhdWx0KHRoaXMubm9kZSksXG4gICAgICAuLi5wcm9wcyxcbiAgICB9O1xuXG4gICAgZGQudmFsaWRhdGVQcm9wcyhmaW5hbFByb3BzKTtcbiAgICBkZC5jaGVja0Zvck11bHRpcGxlQXBpS2V5cyhmaW5hbFByb3BzKTtcblxuICAgIHRoaXMuZGVsZWdhdGUgPSBuZXcgZGQuRGF0YWRvZyh0aGlzLCAnRGF0YWRvZycsIGZpbmFsUHJvcHMpO1xuICAgIHRoaXMuZW5oYW5jZWRNZXRyaWNzRW5hYmxlZCA9IHByb3BzLmVuYWJsZUVuaGFuY2VkTWV0cmljcyA/PyBmYWxzZTtcbiAgfVxuXG4gIGFkZExhbWJkYUZ1bmN0aW9ucyhsYW1iZGFGdW5jdGlvbnM6IGRkLkxhbWJkYUZ1bmN0aW9uW10sIGNvbnN0cnVjdD86IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbGFtYmRhRnVuY3Rpb24gb2YgbGFtYmRhRnVuY3Rpb25zKSB7XG4gICAgICB0aGlzLmRhdGFkb2dTZWNyZXQuZ3JhbnRSZWFkKGxhbWJkYUZ1bmN0aW9uKTtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uLmFkZEVudmlyb25tZW50KCdERF9FTkhBTkNFRF9NRVRSSUNTJywgYCR7dGhpcy5lbmhhbmNlZE1ldHJpY3NFbmFibGVkfWApO1xuICAgIH1cbiAgICB0aGlzLmRlbGVnYXRlLmFkZExhbWJkYUZ1bmN0aW9ucyhsYW1iZGFGdW5jdGlvbnMsIGNvbnN0cnVjdCk7XG4gIH1cbiAgYWRkR2l0Q29tbWl0TWV0YWRhdGEobGFtYmRhRnVuY3Rpb25zOiBkZC5MYW1iZGFGdW5jdGlvbltdLCBnaXRDb21taXRTaGE/OiBzdHJpbmcsIGdpdFJlcG9Vcmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGVnYXRlLmFkZEdpdENvbW1pdE1ldGFkYXRhKGxhbWJkYUZ1bmN0aW9ucywgZ2l0Q29tbWl0U2hhLCBnaXRSZXBvVXJsKTtcbiAgfVxuICBhZGRGb3J3YXJkZXJUb05vbkxhbWJkYUxvZ0dyb3Vwcyhsb2dHcm91cHM6IGxvZ3MuSUxvZ0dyb3VwW10pOiB2b2lkIHtcbiAgICB0aGlzLmRlbGVnYXRlLmFkZEZvcndhcmRlclRvTm9uTGFtYmRhTG9nR3JvdXBzKGxvZ0dyb3Vwcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSBub2RlIHRvIGNoZWNrIGZvciB0aGUgY29udGV4dCB2YWx1ZVxuICogQHJldHVybnMgdHJ1ZSBhcyBhIGRlZmF1bHQgaWYgbm90IGRpc2FibGVkIHZpYSBjb250ZXh0XG4gKi9cbmNvbnN0IGdldFNvdXJjZUNvZGVJbnRlZ3JhdGlvbkRlZmF1bHQgPSAobm9kZTogTm9kZSk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCB2YWx1ZSA9IG5vZGUudHJ5R2V0Q29udGV4dCgnQHJpby1jbG91ZC9jZGstdjItY29uc3RydWN0czplbmFibGVTb3VyY2VDb2RlSW50ZWdyYXRpb24nKTtcblxuICBjb25zdCBpc0Rpc2FibGVkID0gdmFsdWUgPT09ICdmYWxzZScgfHwgdmFsdWUgPT09IGZhbHNlO1xuXG4gIHJldHVybiAhaXNEaXNhYmxlZDtcbn07XG4iXX0=
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
1
3
|
import * as sec from 'aws-cdk-lib/aws-secretsmanager';
|
|
2
4
|
import * as constructs from 'constructs';
|
|
3
5
|
/**
|
|
4
6
|
* A custom resource that resolves the secret ARN based on the organization ID.
|
|
5
7
|
*/
|
|
6
|
-
export declare class DatadogSharedSecret extends constructs.Construct {
|
|
8
|
+
export declare class DatadogSharedSecret extends constructs.Construct implements sec.ISecret {
|
|
7
9
|
/**
|
|
8
10
|
* This static function resolves to the plain api-key secret, that can be used for the log forwarder or the Lambda instrumentation.
|
|
9
11
|
*/
|
|
@@ -13,7 +15,22 @@ export declare class DatadogSharedSecret extends constructs.Construct {
|
|
|
13
15
|
*/
|
|
14
16
|
static credentialsSecret(scope: constructs.Construct, id: string): DatadogSharedSecret;
|
|
15
17
|
private static setupCustomResource;
|
|
16
|
-
|
|
18
|
+
private secret;
|
|
17
19
|
private customResource;
|
|
18
20
|
private constructor();
|
|
21
|
+
get stack(): cdk.Stack;
|
|
22
|
+
get env(): cdk.ResourceEnvironment;
|
|
23
|
+
get encryptionKey(): cdk.aws_kms.IKey | undefined;
|
|
24
|
+
get secretArn(): string;
|
|
25
|
+
get secretFullArn(): string | undefined;
|
|
26
|
+
get secretName(): string;
|
|
27
|
+
get secretValue(): cdk.SecretValue;
|
|
28
|
+
secretValueFromJson(key: string): cdk.SecretValue;
|
|
29
|
+
grantRead(grantee: iam.IGrantable, versionStages?: string[]): iam.Grant;
|
|
30
|
+
grantWrite(_grantee: iam.IGrantable): iam.Grant;
|
|
31
|
+
addRotationSchedule(_id: string, _options: sec.RotationScheduleOptions): sec.RotationSchedule;
|
|
32
|
+
addToResourcePolicy(_statement: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
|
33
|
+
denyAccountRootDelete(): void;
|
|
34
|
+
attach(_target: sec.ISecretAttachmentTarget): sec.ISecret;
|
|
35
|
+
applyRemovalPolicy(_policy: cdk.RemovalPolicy): void;
|
|
19
36
|
}
|
|
@@ -45,6 +45,7 @@ class DatadogSharedSecret extends constructs.Construct {
|
|
|
45
45
|
logGroup: new logs.LogGroup(stack, 'DatadogSharedSecretHandlerLogGroup', {
|
|
46
46
|
retention: logs.RetentionDays.ONE_WEEK,
|
|
47
47
|
}),
|
|
48
|
+
timeout: cdk.Duration.minutes(6),
|
|
48
49
|
environment: {
|
|
49
50
|
SHARED_LATAM_SECRET_ARN_PREFIX: SHARED_LATAM_SECRET_ARN_PREFIX,
|
|
50
51
|
SHARED_EU_SECRET_ARN_PREFIX: SHARED_EU_SECRET_ARN_PREFIX,
|
|
@@ -79,8 +80,66 @@ class DatadogSharedSecret extends constructs.Construct {
|
|
|
79
80
|
});
|
|
80
81
|
this.secret = sec.Secret.fromSecretCompleteArn(this, 'Resource', secretLocator.getAtt('SecretArn').toString());
|
|
81
82
|
}
|
|
83
|
+
get stack() {
|
|
84
|
+
return this.secret.stack;
|
|
85
|
+
}
|
|
86
|
+
get env() {
|
|
87
|
+
return this.secret.env;
|
|
88
|
+
}
|
|
89
|
+
get encryptionKey() {
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
get secretArn() {
|
|
93
|
+
return this.secret.secretArn;
|
|
94
|
+
}
|
|
95
|
+
;
|
|
96
|
+
get secretFullArn() {
|
|
97
|
+
return this.secret.secretFullArn;
|
|
98
|
+
}
|
|
99
|
+
get secretName() {
|
|
100
|
+
return this.secret.secretName;
|
|
101
|
+
}
|
|
102
|
+
get secretValue() {
|
|
103
|
+
return this.secret.secretValue;
|
|
104
|
+
}
|
|
105
|
+
secretValueFromJson(key) {
|
|
106
|
+
return this.secret.secretValueFromJson(key);
|
|
107
|
+
}
|
|
108
|
+
grantRead(grantee, versionStages) {
|
|
109
|
+
const result = grantee.grantPrincipal.addToPrincipalPolicy(new iam.PolicyStatement({
|
|
110
|
+
actions: ['kms:Decrypt'],
|
|
111
|
+
resources: [`arn:aws:kms:eu-west-1:${DEVELOPER_TOOLS_ACCOUNT_ID}:key/*`],
|
|
112
|
+
conditions: {
|
|
113
|
+
'ForAnyValue:StringLike': {
|
|
114
|
+
'kms:ResourceAliases': 'alias/datadog-integration-shared-credentials-key',
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
}));
|
|
118
|
+
if (!result.statementAdded) {
|
|
119
|
+
cdk.Annotations.of(this).addWarning('Could not add statement to the principal policy.');
|
|
120
|
+
}
|
|
121
|
+
return this.secret.grantRead(grantee, versionStages);
|
|
122
|
+
}
|
|
123
|
+
grantWrite(_grantee) {
|
|
124
|
+
throw new Error('Method not allowed.');
|
|
125
|
+
}
|
|
126
|
+
addRotationSchedule(_id, _options) {
|
|
127
|
+
throw new Error('Method not allowed.');
|
|
128
|
+
}
|
|
129
|
+
addToResourcePolicy(_statement) {
|
|
130
|
+
throw new Error('Method not allowed.');
|
|
131
|
+
}
|
|
132
|
+
denyAccountRootDelete() {
|
|
133
|
+
throw new Error('Method not allowed.');
|
|
134
|
+
}
|
|
135
|
+
attach(_target) {
|
|
136
|
+
throw new Error('Method not allowed.');
|
|
137
|
+
}
|
|
138
|
+
applyRemovalPolicy(_policy) {
|
|
139
|
+
throw new Error('Method not allowed.');
|
|
140
|
+
}
|
|
82
141
|
}
|
|
83
142
|
exports.DatadogSharedSecret = DatadogSharedSecret;
|
|
84
143
|
_a = JSII_RTTI_SYMBOL_1;
|
|
85
144
|
DatadogSharedSecret[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.datadogv2.DatadogSharedSecret", version: "0.0.0" };
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9ndjIvZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFFbkMsc0RBQXNEO0FBQ3RELDJDQUEyQztBQUMzQyxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHNEQUFzRDtBQUN0RCxtREFBbUQ7QUFDbkQseUNBQXlDO0FBR3pDLE1BQU0sc0JBQXNCLEdBQVcsY0FBYyxDQUFDO0FBQ3RELE1BQU0seUJBQXlCLEdBQVcsY0FBYyxDQUFDO0FBRXpELE1BQU0sMEJBQTBCLEdBQVcsY0FBYyxDQUFDO0FBRTFELE1BQU0sOEJBQThCLEdBQUcsb0NBQW9DLDBCQUEwQixvQ0FBb0MsQ0FBQztBQUMxSSxNQUFNLDJCQUEyQixHQUFHLG9DQUFvQywwQkFBMEIsaUNBQWlDLENBQUM7QUFFcEksTUFBTSxXQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBRTNEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUEyQixFQUFFLEVBQVU7UUFDekQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUEyQixFQUFFLEVBQVU7UUFDOUQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBZ0I7UUFDakQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLHlCQUF5QixFQUFFO1lBQ2hGLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsQ0FBQyxFQUFFO2dCQUNsRixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQzVCLENBQUM7WUFDRixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxvQ0FBb0MsRUFBRTtnQkFDdkUsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUTthQUN2QyxDQUFDO1lBQ0YsV0FBVyxFQUFFO2dCQUNYLDhCQUE4QixFQUFFLDhCQUE4QjtnQkFDOUQsMkJBQTJCLEVBQUUsMkJBQTJCO2dCQUN4RCx5QkFBeUIsRUFBRSx5QkFBeUI7Z0JBQ3BELHNCQUFzQixFQUFFLHNCQUFzQjthQUMvQztTQUNGLENBQUMsQ0FBQztRQUVILG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BJLG1CQUFtQixDQUFDLGVBQWUsQ0FDakMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO1lBQzFDLFNBQVMsRUFBRSxDQUFDLG9DQUFvQywwQkFBMEIsV0FBVyxDQUFDO1NBQ3ZGLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtZQUN6QyxjQUFjLEVBQUUsbUJBQW1CO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFNRCxZQUFvQixLQUE0QixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUN2RixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBZ0IsQ0FBQztRQUN6RSxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUN4RSxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZO1lBQzlDLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTthQUM3QjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDOztBQXZFSCxrREF5RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcblxuLy8gaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNlYyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbmNvbnN0IEVVX0xBTkRJTkdfWk9ORV9PUkdfSUQ6IHN0cmluZyA9ICdvLXI1amZsN21icjknO1xuY29uc3QgTEFUQU1fTEFORElOR19aT05FX09SR19JRDogc3RyaW5nID0gJ28tNWoxMnV0NTI0dyc7XG5cbmNvbnN0IERFVkVMT1BFUl9UT09MU19BQ0NPVU5UX0lEOiBzdHJpbmcgPSAnNTc3MTQ2ODk3Nzg1JztcblxuY29uc3QgU0hBUkVEX0xBVEFNX1NFQ1JFVF9BUk5fUFJFRklYID0gYGFybjphd3M6c2VjcmV0c21hbmFnZXI6ZXUtd2VzdC0xOiR7REVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUR9OnNlY3JldDovZGF0YWRvZy1pbnRlZ3JhdGlvbi9sYXRhbWA7XG5jb25zdCBTSEFSRURfRVVfU0VDUkVUX0FSTl9QUkVGSVggPSBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjpldS13ZXN0LTE6JHtERVZFTE9QRVJfVE9PTFNfQUNDT1VOVF9JRH06c2VjcmV0Oi9kYXRhZG9nLWludGVncmF0aW9uL2V1YDtcblxuY29uc3QgUkVTT1VSQ0VfSUQgPSAnX19PcmdDcmVkZW50aWFsc1NlY3JldF9fJztcblxuLyoqXG4gKiBBIGN1c3RvbSByZXNvdXJjZSB0aGF0IHJlc29sdmVzIHRoZSBzZWNyZXQgQVJOIGJhc2VkIG9uIHRoZSBvcmdhbml6YXRpb24gSUQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nU2hhcmVkU2VjcmV0IGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBUaGlzIHN0YXRpYyBmdW5jdGlvbiByZXNvbHZlcyB0byB0aGUgcGxhaW4gYXBpLWtleSBzZWNyZXQsIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRoZSBsb2cgZm9yd2FyZGVyIG9yIHRoZSBMYW1iZGEgaW5zdHJ1bWVudGF0aW9uLlxuICAgKi9cbiAgc3RhdGljIGFwaUtleVNlY3JldChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IERhdGFkb2dTaGFyZWRTZWNyZXQoc2NvcGUsIGlkLCB7IHNlY3JldE5hbWU6ICdzaGFyZWQtYXBpLWtleScgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBzdGF0aWMgZnVuY3Rpb24gcmVzb2x2ZXMgdG8gdGhlIGpzb24gY3JlZGVudGlhbHMgc2VjcmV0IHRoYXQgY29udGFpbnMgWydBcGlLZXknLCAnQXBwbGljYXRpb25LZXknLCAnU2l0ZSddLlxuICAgKi9cbiAgc3RhdGljIGNyZWRlbnRpYWxzU2VjcmV0KHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgRGF0YWRvZ1NoYXJlZFNlY3JldChzY29wZSwgaWQsIHsgc2VjcmV0TmFtZTogJ3NoYXJlZC1jcmVkZW50aWFscycgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzZXR1cEN1c3RvbVJlc291cmNlKHN0YWNrOiBjZGsuU3RhY2spOiBjci5Qcm92aWRlciB7XG4gICAgY29uc3Qgc2VjcmV0TG9jYXRvckxhbWJkYSA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc3RhY2ssICdSZXNvbHZlU2VjcmV0QXJuSGFuZGxlcicsIHtcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VjcmV0LWxvY2F0b3ItY3VzdG9tLXJlc291cmNlJyksIHtcbiAgICAgICAgZXhjbHVkZTogWycqLmpzJywgJyouZC50cyddLFxuICAgICAgfSksXG4gICAgICBoYW5kbGVyOiAnb24tY3JlYXRlLmhhbmRsZXInLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIwX1gsXG4gICAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHN0YWNrLCAnRGF0YWRvZ1NoYXJlZFNlY3JldEhhbmRsZXJMb2dHcm91cCcsIHtcbiAgICAgICAgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICB9KSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFNIQVJFRF9MQVRBTV9TRUNSRVRfQVJOX1BSRUZJWDogU0hBUkVEX0xBVEFNX1NFQ1JFVF9BUk5fUFJFRklYLFxuICAgICAgICBTSEFSRURfRVVfU0VDUkVUX0FSTl9QUkVGSVg6IFNIQVJFRF9FVV9TRUNSRVRfQVJOX1BSRUZJWCxcbiAgICAgICAgTEFUQU1fTEFORElOR19aT05FX09SR19JRDogTEFUQU1fTEFORElOR19aT05FX09SR19JRCxcbiAgICAgICAgRVVfTEFORElOR19aT05FX09SR19JRDogRVVfTEFORElOR19aT05FX09SR19JRCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBzZWNyZXRMb2NhdG9yTGFtYmRhLmFkZFRvUm9sZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7IGFjdGlvbnM6IFsnb3JnYW5pemF0aW9uczpEZXNjcmliZU9yZ2FuaXphdGlvbiddLCByZXNvdXJjZXM6IFsnKiddIH0pKTtcbiAgICBzZWNyZXRMb2NhdG9yTGFtYmRhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydzZWNyZXRzbWFuYWdlcjpEZXNjcmliZVNlY3JldCddLFxuICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjpldS13ZXN0LTE6JHtERVZFTE9QRVJfVE9PTFNfQUNDT1VOVF9JRH06c2VjcmV0OipgXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IGNyLlByb3ZpZGVyKHN0YWNrLCBSRVNPVVJDRV9JRCwge1xuICAgICAgb25FdmVudEhhbmRsZXI6IHNlY3JldExvY2F0b3JMYW1iZGEsXG4gICAgfSk7XG4gIH1cblxuICByZWFkb25seSBzZWNyZXQ6IHNlYy5JU2VjcmV0O1xuXG4gIHByaXZhdGUgY3VzdG9tUmVzb3VyY2U6IGNyLlByb3ZpZGVyO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuSUNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IHtzZWNyZXROYW1lOiBzdHJpbmd9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHN0YWNrID0gY2RrLlN0YWNrLm9mKHRoaXMpO1xuICAgIGlmICghc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoUkVTT1VSQ0VfSUQpKSB7XG4gICAgICB0aGlzLmN1c3RvbVJlc291cmNlID0gRGF0YWRvZ1NoYXJlZFNlY3JldC5zZXR1cEN1c3RvbVJlc291cmNlKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jdXN0b21SZXNvdXJjZSA9IHN0YWNrLm5vZGUuZmluZENoaWxkKFJFU09VUkNFX0lEKSBhcyBjci5Qcm92aWRlcjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWNyZXRMb2NhdG9yID0gbmV3IGNkay5DdXN0b21SZXNvdXJjZSh0aGlzLCAnRGF0YWRvZ1NoYXJlZFNlY3JldCcsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogdGhpcy5jdXN0b21SZXNvdXJjZS5zZXJ2aWNlVG9rZW4sXG4gICAgICBwYXNjYWxDYXNlUHJvcGVydGllczogdHJ1ZSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgc2VjcmV0TmFtZTogcHJvcHMuc2VjcmV0TmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlY3JldCA9IHNlYy5TZWNyZXQuZnJvbVNlY3JldENvbXBsZXRlQXJuKHRoaXMsICdSZXNvdXJjZScsIHNlY3JldExvY2F0b3IuZ2V0QXR0KCdTZWNyZXRBcm4nKS50b1N0cmluZygpKTtcbiAgfVxuXG59XG4iXX0=
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9ndjIvZGF0YWRvZy1zaGFyZWQtc2VjcmV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFFbkMsc0RBQXNEO0FBQ3RELDJDQUEyQztBQUMzQyxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHNEQUFzRDtBQUN0RCxtREFBbUQ7QUFDbkQseUNBQXlDO0FBR3pDLE1BQU0sc0JBQXNCLEdBQVcsY0FBYyxDQUFDO0FBQ3RELE1BQU0seUJBQXlCLEdBQVcsY0FBYyxDQUFDO0FBRXpELE1BQU0sMEJBQTBCLEdBQVcsY0FBYyxDQUFDO0FBRTFELE1BQU0sOEJBQThCLEdBQUcsb0NBQW9DLDBCQUEwQixvQ0FBb0MsQ0FBQztBQUMxSSxNQUFNLDJCQUEyQixHQUFHLG9DQUFvQywwQkFBMEIsaUNBQWlDLENBQUM7QUFFcEksTUFBTSxXQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBRTNEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUEyQixFQUFFLEVBQVU7UUFDekQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUEyQixFQUFFLEVBQVU7UUFDOUQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBZ0I7UUFDakQsTUFBTSxtQkFBbUIsR0FB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QyxTQUFTLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxVQUFVLENBQUMsUUFBd0I7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFXLEVBQUUsUUFBcUM7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxVQUErQjtRQUNqRCxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFvQztRQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQTBCO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6QyxDQUFDOztBQS9JSCxrREFpSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcblxuLy8gaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNlYyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbmNvbnN0IEVVX0xBTkRJTkdfWk9ORV9PUkdfSUQ6IHN0cmluZyA9ICdvLXI1amZsN21icjknO1xuY29uc3QgTEFUQU1fTEFORElOR19aT05FX09SR19JRDogc3RyaW5nID0gJ28tNWoxMnV0NTI0dyc7XG5cbmNvbnN0IERFVkVMT1BFUl9UT09MU19BQ0NPVU5UX0lEOiBzdHJpbmcgPSAnNTc3MTQ2ODk3Nzg1JztcblxuY29uc3QgU0hBUkVEX0xBVEFNX1NFQ1JFVF9BUk5fUFJFRklYID0gYGFybjphd3M6c2VjcmV0c21hbmFnZXI6ZXUtd2VzdC0xOiR7REVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUR9OnNlY3JldDovZGF0YWRvZy1pbnRlZ3JhdGlvbi9sYXRhbWA7XG5jb25zdCBTSEFSRURfRVVfU0VDUkVUX0FSTl9QUkVGSVggPSBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjpldS13ZXN0LTE6JHtERVZFTE9QRVJfVE9PTFNfQUNDT1VOVF9JRH06c2VjcmV0Oi9kYXRhZG9nLWludGVncmF0aW9uL2V1YDtcblxuY29uc3QgUkVTT1VSQ0VfSUQgPSAnX19PcmdDcmVkZW50aWFsc1NlY3JldF9fJztcblxuLyoqXG4gKiBBIGN1c3RvbSByZXNvdXJjZSB0aGF0IHJlc29sdmVzIHRoZSBzZWNyZXQgQVJOIGJhc2VkIG9uIHRoZSBvcmdhbml6YXRpb24gSUQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nU2hhcmVkU2VjcmV0IGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3QgaW1wbGVtZW50cyBzZWMuSVNlY3JldCB7XG5cbiAgLyoqXG4gICAqIFRoaXMgc3RhdGljIGZ1bmN0aW9uIHJlc29sdmVzIHRvIHRoZSBwbGFpbiBhcGkta2V5IHNlY3JldCwgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdGhlIGxvZyBmb3J3YXJkZXIgb3IgdGhlIExhbWJkYSBpbnN0cnVtZW50YXRpb24uXG4gICAqL1xuICBzdGF0aWMgYXBpS2V5U2VjcmV0KHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgRGF0YWRvZ1NoYXJlZFNlY3JldChzY29wZSwgaWQsIHsgc2VjcmV0TmFtZTogJ3NoYXJlZC1hcGkta2V5JyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHN0YXRpYyBmdW5jdGlvbiByZXNvbHZlcyB0byB0aGUganNvbiBjcmVkZW50aWFscyBzZWNyZXQgdGhhdCBjb250YWlucyBbJ0FwaUtleScsICdBcHBsaWNhdGlvbktleScsICdTaXRlJ10uXG4gICAqL1xuICBzdGF0aWMgY3JlZGVudGlhbHNTZWNyZXQoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhZG9nU2hhcmVkU2VjcmV0KHNjb3BlLCBpZCwgeyBzZWNyZXROYW1lOiAnc2hhcmVkLWNyZWRlbnRpYWxzJyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNldHVwQ3VzdG9tUmVzb3VyY2Uoc3RhY2s6IGNkay5TdGFjayk6IGNyLlByb3ZpZGVyIHtcbiAgICBjb25zdCBzZWNyZXRMb2NhdG9yTGFtYmRhID0gbmV3IGxhbWJkYS5GdW5jdGlvbihzdGFjaywgJ1Jlc29sdmVTZWNyZXRBcm5IYW5kbGVyJywge1xuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICdzZWNyZXQtbG9jYXRvci1jdXN0b20tcmVzb3VyY2UnKSwge1xuICAgICAgICBleGNsdWRlOiBbJyouanMnLCAnKi5kLnRzJ10sXG4gICAgICB9KSxcbiAgICAgIGhhbmRsZXI6ICdvbi1jcmVhdGUuaGFuZGxlcicsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMjBfWCxcbiAgICAgIGFyY2hpdGVjdHVyZTogbGFtYmRhLkFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICBsb2dHcm91cDogbmV3IGxvZ3MuTG9nR3JvdXAoc3RhY2ssICdEYXRhZG9nU2hhcmVkU2VjcmV0SGFuZGxlckxvZ0dyb3VwJywge1xuICAgICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIH0pLFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoNiksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBTSEFSRURfTEFUQU1fU0VDUkVUX0FSTl9QUkVGSVg6IFNIQVJFRF9MQVRBTV9TRUNSRVRfQVJOX1BSRUZJWCxcbiAgICAgICAgU0hBUkVEX0VVX1NFQ1JFVF9BUk5fUFJFRklYOiBTSEFSRURfRVVfU0VDUkVUX0FSTl9QUkVGSVgsXG4gICAgICAgIExBVEFNX0xBTkRJTkdfWk9ORV9PUkdfSUQ6IExBVEFNX0xBTkRJTkdfWk9ORV9PUkdfSUQsXG4gICAgICAgIEVVX0xBTkRJTkdfWk9ORV9PUkdfSUQ6IEVVX0xBTkRJTkdfWk9ORV9PUkdfSUQsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgc2VjcmV0TG9jYXRvckxhbWJkYS5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoeyBhY3Rpb25zOiBbJ29yZ2FuaXphdGlvbnM6RGVzY3JpYmVPcmdhbml6YXRpb24nXSwgcmVzb3VyY2VzOiBbJyonXSB9KSk7XG4gICAgc2VjcmV0TG9jYXRvckxhbWJkYS5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6c2VjcmV0c21hbmFnZXI6ZXUtd2VzdC0xOiR7REVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUR9OnNlY3JldDoqYF0sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBjci5Qcm92aWRlcihzdGFjaywgUkVTT1VSQ0VfSUQsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBzZWNyZXRMb2NhdG9yTGFtYmRhLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWNyZXQ6IHNlYy5JU2VjcmV0O1xuICBwcml2YXRlIGN1c3RvbVJlc291cmNlOiBjci5Qcm92aWRlcjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLklDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiB7c2VjcmV0TmFtZTogc3RyaW5nfSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBzdGFjayA9IGNkay5TdGFjay5vZih0aGlzKTtcbiAgICBpZiAoIXN0YWNrLm5vZGUudHJ5RmluZENoaWxkKFJFU09VUkNFX0lEKSkge1xuICAgICAgdGhpcy5jdXN0b21SZXNvdXJjZSA9IERhdGFkb2dTaGFyZWRTZWNyZXQuc2V0dXBDdXN0b21SZXNvdXJjZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VzdG9tUmVzb3VyY2UgPSBzdGFjay5ub2RlLmZpbmRDaGlsZChSRVNPVVJDRV9JRCkgYXMgY3IuUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VjcmV0TG9jYXRvciA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0RhdGFkb2dTaGFyZWRTZWNyZXQnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuY3VzdG9tUmVzb3VyY2Uuc2VydmljZVRva2VuLFxuICAgICAgcGFzY2FsQ2FzZVByb3BlcnRpZXM6IHRydWUsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHNlY3JldE5hbWU6IHByb3BzLnNlY3JldE5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWNyZXQgPSBzZWMuU2VjcmV0LmZyb21TZWNyZXRDb21wbGV0ZUFybih0aGlzLCAnUmVzb3VyY2UnLCBzZWNyZXRMb2NhdG9yLmdldEF0dCgnU2VjcmV0QXJuJykudG9TdHJpbmcoKSk7XG4gIH1cblxuICBnZXQgc3RhY2soKTogY2RrLlN0YWNrIHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuc3RhY2s7XG4gIH1cblxuICBnZXQgZW52KCk6IGNkay5SZXNvdXJjZUVudmlyb25tZW50IHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuZW52O1xuICB9XG5cbiAgZ2V0IGVuY3J5cHRpb25LZXkoKSA6IGNkay5hd3Nfa21zLklLZXkgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc2VjcmV0QXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0LnNlY3JldEFybjtcbiAgfTtcblxuICBnZXQgc2VjcmV0RnVsbEFybigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5zZWNyZXRGdWxsQXJuO1xuICB9XG5cbiAgZ2V0IHNlY3JldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuc2VjcmV0TmFtZTtcbiAgfVxuXG4gIGdldCBzZWNyZXRWYWx1ZSgpOiBjZGsuU2VjcmV0VmFsdWUge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5zZWNyZXRWYWx1ZTtcbiAgfVxuXG4gIHNlY3JldFZhbHVlRnJvbUpzb24oa2V5OiBzdHJpbmcpOiBjZGsuU2VjcmV0VmFsdWUge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5zZWNyZXRWYWx1ZUZyb21Kc29uKGtleSk7XG4gIH1cblxuICBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIHZlcnNpb25TdGFnZXM/OiBzdHJpbmdbXSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmVzdWx0ID0gZ3JhbnRlZS5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0J10sXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czprbXM6ZXUtd2VzdC0xOiR7REVWRUxPUEVSX1RPT0xTX0FDQ09VTlRfSUR9OmtleS8qYF0sXG4gICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICdGb3JBbnlWYWx1ZTpTdHJpbmdMaWtlJzoge1xuICAgICAgICAgICdrbXM6UmVzb3VyY2VBbGlhc2VzJzogJ2FsaWFzL2RhdGFkb2ctaW50ZWdyYXRpb24tc2hhcmVkLWNyZWRlbnRpYWxzLWtleScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pKTtcbiAgICBpZiAoIXJlc3VsdC5zdGF0ZW1lbnRBZGRlZCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ0NvdWxkIG5vdCBhZGQgc3RhdGVtZW50IHRvIHRoZSBwcmluY2lwYWwgcG9saWN5LicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZWNyZXQuZ3JhbnRSZWFkKGdyYW50ZWUsIHZlcnNpb25TdGFnZXMpO1xuICB9XG5cbiAgZ3JhbnRXcml0ZShfZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbiAgYWRkUm90YXRpb25TY2hlZHVsZShfaWQ6IHN0cmluZywgX29wdGlvbnM6IHNlYy5Sb3RhdGlvblNjaGVkdWxlT3B0aW9ucyk6IHNlYy5Sb3RhdGlvblNjaGVkdWxlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgYWxsb3dlZC4nKTtcbiAgfVxuXG4gIGFkZFRvUmVzb3VyY2VQb2xpY3koX3N0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgYWxsb3dlZC4nKTtcbiAgfVxuXG4gIGRlbnlBY2NvdW50Um9vdERlbGV0ZSgpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgYWxsb3dlZC4nKTtcbiAgfVxuXG4gIGF0dGFjaChfdGFyZ2V0OiBzZWMuSVNlY3JldEF0dGFjaG1lbnRUYXJnZXQpOiBzZWMuSVNlY3JldCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGFsbG93ZWQuJyk7XG4gIH1cblxuICBhcHBseVJlbW92YWxQb2xpY3koX3BvbGljeTogY2RrLlJlbW92YWxQb2xpY3kpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgYWxsb3dlZC4nKTtcbiAgfVxuXG59XG4iXX0=
|