@gradientedge/cdk-utils 9.5.0 → 9.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,4 +40,11 @@ export declare class CloudflareWorkerSite extends CommonCloudflareConstruct {
40
40
  protected resolveEnvironmentVariables(): void;
41
41
  protected createWorker(): void;
42
42
  protected createWorkerDomain(): void;
43
+ /**
44
+ * @summary Resolve secrets from AWS Secrets Manager
45
+ * @param secretName the secret name
46
+ * @param secretKey the secret key
47
+ * @returns the secret value
48
+ */
49
+ protected resolveSecretFromAWS(secretName: string, secretKey: string): any;
43
50
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CloudflareWorkerSite = void 0;
4
+ const data_aws_secretsmanager_secret_1 = require("@cdktf/provider-aws/lib/data-aws-secretsmanager-secret");
5
+ const data_aws_secretsmanager_secret_version_1 = require("@cdktf/provider-aws/lib/data-aws-secretsmanager-secret-version");
4
6
  const cdktf_1 = require("cdktf");
5
7
  const common_1 = require("../../common");
6
8
  /**
@@ -76,5 +78,23 @@ class CloudflareWorkerSite extends common_1.CommonCloudflareConstruct {
76
78
  service: this.siteWorkerScript.name,
77
79
  });
78
80
  }
81
+ /**
82
+ * @summary Resolve secrets from AWS Secrets Manager
83
+ * @param secretName the secret name
84
+ * @param secretKey the secret key
85
+ * @returns the secret value
86
+ */
87
+ resolveSecretFromAWS(secretName, secretKey) {
88
+ if (!this.awsProvider)
89
+ return;
90
+ const secret = new data_aws_secretsmanager_secret_1.DataAwsSecretsmanagerSecret(this, `${this.id}-${secretName}-${secretKey}`, { name: secretName });
91
+ const secretVersion = new data_aws_secretsmanager_secret_version_1.DataAwsSecretsmanagerSecretVersion(this, `${this.id}-${secretName}-${secretKey}-ver`, {
92
+ provider: this.awsProvider,
93
+ secretId: secret.id,
94
+ });
95
+ if (!secretVersion)
96
+ throw new Error(`Unable to resolve secret:${secretName}`);
97
+ return cdktf_1.Fn.lookup(cdktf_1.Fn.jsondecode(secretVersion.secretString), secretKey);
98
+ }
79
99
  }
80
100
  exports.CloudflareWorkerSite = CloudflareWorkerSite;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "9.5.0",
3
+ "version": "9.5.1",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -1,3 +1,5 @@
1
+ import { DataAwsSecretsmanagerSecret } from '@cdktf/provider-aws/lib/data-aws-secretsmanager-secret'
2
+ import { DataAwsSecretsmanagerSecretVersion } from '@cdktf/provider-aws/lib/data-aws-secretsmanager-secret-version'
1
3
  import { DataCloudflareZone } from '@cdktf/provider-cloudflare/lib/data-cloudflare-zone'
2
4
  import {
3
5
  WorkerScript,
@@ -91,4 +93,21 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
91
93
  service: this.siteWorkerScript.name,
92
94
  })
93
95
  }
96
+
97
+ /**
98
+ * @summary Resolve secrets from AWS Secrets Manager
99
+ * @param secretName the secret name
100
+ * @param secretKey the secret key
101
+ * @returns the secret value
102
+ */
103
+ protected resolveSecretFromAWS(secretName: string, secretKey: string) {
104
+ if (!this.awsProvider) return
105
+ const secret = new DataAwsSecretsmanagerSecret(this, `${this.id}-${secretName}-${secretKey}`, { name: secretName })
106
+ const secretVersion = new DataAwsSecretsmanagerSecretVersion(this, `${this.id}-${secretName}-${secretKey}-ver`, {
107
+ provider: this.awsProvider,
108
+ secretId: secret.id,
109
+ })
110
+ if (!secretVersion) throw new Error(`Unable to resolve secret:${secretName}`)
111
+ return Fn.lookup(Fn.jsondecode(secretVersion.secretString), secretKey)
112
+ }
94
113
  }