@gradientedge/cdk-utils 9.7.0 → 9.8.0

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.
@@ -38,7 +38,13 @@ export declare class CloudflareWorkerSite extends CommonCloudflareConstruct {
38
38
  * @summary Resolve the environment variables to use for the static site
39
39
  */
40
40
  protected resolveEnvironmentVariables(): void;
41
+ /**
42
+ * @summary Create the worker
43
+ */
41
44
  protected createWorker(): void;
45
+ /**
46
+ * @summary Create the worker domain
47
+ */
42
48
  protected createWorkerDomain(): void;
43
49
  /**
44
50
  * @summary Resolve secrets from AWS Secrets Manager
@@ -47,4 +53,12 @@ export declare class CloudflareWorkerSite extends CommonCloudflareConstruct {
47
53
  * @returns the secret value
48
54
  */
49
55
  protected resolveSecretFromAWS(secretName: string, secretKey: string): any;
56
+ /**
57
+ * @summary Create the rules
58
+ */
59
+ protected createRuleset(): void;
60
+ /**
61
+ * @summary Create zone settings override
62
+ */
63
+ protected createZoneSettingsOverride(): void;
50
64
  }
@@ -39,6 +39,8 @@ class CloudflareWorkerSite extends common_1.CommonCloudflareConstruct {
39
39
  this.resolveEnvironmentVariables();
40
40
  this.createWorker();
41
41
  this.createWorkerDomain();
42
+ this.createRuleset();
43
+ this.createZoneSettingsOverride();
42
44
  }
43
45
  /**
44
46
  * @summary Resolve the zone to use for the worker site
@@ -61,6 +63,9 @@ class CloudflareWorkerSite extends common_1.CommonCloudflareConstruct {
61
63
  secretTextBinding: this.workerSecretTextBindingEnvironmentVariables,
62
64
  };
63
65
  }
66
+ /**
67
+ * @summary Create the worker
68
+ */
64
69
  createWorker() {
65
70
  const workerContent = new cdktf_1.TerraformAsset(this, `${this.id}-worker-content`, {
66
71
  path: this.props.siteWorkerAsset,
@@ -71,6 +76,9 @@ class CloudflareWorkerSite extends common_1.CommonCloudflareConstruct {
71
76
  content: cdktf_1.Fn.file(workerContent.path),
72
77
  });
73
78
  }
79
+ /**
80
+ * @summary Create the worker domain
81
+ */
74
82
  createWorkerDomain() {
75
83
  this.workerManager.createWorkerDomain(`${this.id}-worker-domain`, this, {
76
84
  ...this.props.siteWorkerDomain,
@@ -96,5 +104,21 @@ class CloudflareWorkerSite extends common_1.CommonCloudflareConstruct {
96
104
  throw new Error(`Unable to resolve secret:${secretName}`);
97
105
  return cdktf_1.Fn.lookup(cdktf_1.Fn.jsondecode(secretVersion.secretString), secretKey);
98
106
  }
107
+ /**
108
+ * @summary Create the rules
109
+ */
110
+ createRuleset() {
111
+ if (!this.props.siteRuleSet)
112
+ return;
113
+ this.ruleSetManager.createRuleSet(`${this.id}-rule`, this, this.props.siteRuleSet);
114
+ }
115
+ /**
116
+ * @summary Create zone settings override
117
+ */
118
+ createZoneSettingsOverride() {
119
+ if (!this.props.siteZoneSettingsOverride)
120
+ return;
121
+ this.zoneManager.createZoneSettingsOverride(`${this.id}-zone-settings-override`, this, this.props.siteZoneSettingsOverride);
122
+ }
99
123
  }
100
124
  exports.CloudflareWorkerSite = CloudflareWorkerSite;
@@ -1,9 +1,11 @@
1
1
  import { CommonCloudflareStackProps } from '../../common';
2
- import { WorkerDomainProps, WorkerScriptProps, ZoneProps } from '../../services';
2
+ import { WorkerDomainProps, WorkerScriptProps, RulesetProps, ZoneProps, ZoneSettingsOverrideProps } from '../../services';
3
3
  export interface CloudflareWorkerSiteProps extends CommonCloudflareStackProps {
4
4
  siteSubDomain: string;
5
5
  siteZone: ZoneProps;
6
6
  siteWorkerScript: WorkerScriptProps;
7
7
  siteWorkerDomain: WorkerDomainProps;
8
8
  siteWorkerAsset: string;
9
+ siteRuleSet: RulesetProps;
10
+ siteZoneSettingsOverride: ZoneSettingsOverrideProps;
9
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "9.7.0",
3
+ "version": "9.8.0",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -50,6 +50,8 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
50
50
  this.resolveEnvironmentVariables()
51
51
  this.createWorker()
52
52
  this.createWorkerDomain()
53
+ this.createRuleset()
54
+ this.createZoneSettingsOverride()
53
55
  }
54
56
 
55
57
  /**
@@ -74,6 +76,9 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
74
76
  }
75
77
  }
76
78
 
79
+ /**
80
+ * @summary Create the worker
81
+ */
77
82
  protected createWorker() {
78
83
  const workerContent = new TerraformAsset(this, `${this.id}-worker-content`, {
79
84
  path: this.props.siteWorkerAsset,
@@ -86,6 +91,9 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
86
91
  })
87
92
  }
88
93
 
94
+ /**
95
+ * @summary Create the worker domain
96
+ */
89
97
  protected createWorkerDomain() {
90
98
  this.workerManager.createWorkerDomain(`${this.id}-worker-domain`, this, {
91
99
  ...this.props.siteWorkerDomain,
@@ -110,4 +118,24 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
110
118
  if (!secretVersion) throw new Error(`Unable to resolve secret:${secretName}`)
111
119
  return Fn.lookup(Fn.jsondecode(secretVersion.secretString), secretKey)
112
120
  }
121
+
122
+ /**
123
+ * @summary Create the rules
124
+ */
125
+ protected createRuleset() {
126
+ if (!this.props.siteRuleSet) return
127
+ this.ruleSetManager.createRuleSet(`${this.id}-rule`, this, this.props.siteRuleSet)
128
+ }
129
+
130
+ /**
131
+ * @summary Create zone settings override
132
+ */
133
+ protected createZoneSettingsOverride() {
134
+ if (!this.props.siteZoneSettingsOverride) return
135
+ this.zoneManager.createZoneSettingsOverride(
136
+ `${this.id}-zone-settings-override`,
137
+ this,
138
+ this.props.siteZoneSettingsOverride
139
+ )
140
+ }
113
141
  }
@@ -1,5 +1,11 @@
1
1
  import { CommonCloudflareStackProps } from '../../common'
2
- import { WorkerDomainProps, WorkerScriptProps, RecordProps, ZoneProps } from '../../services'
2
+ import {
3
+ WorkerDomainProps,
4
+ WorkerScriptProps,
5
+ RulesetProps,
6
+ ZoneProps,
7
+ ZoneSettingsOverrideProps,
8
+ } from '../../services'
3
9
 
4
10
  export interface CloudflareWorkerSiteProps extends CommonCloudflareStackProps {
5
11
  siteSubDomain: string
@@ -7,4 +13,6 @@ export interface CloudflareWorkerSiteProps extends CommonCloudflareStackProps {
7
13
  siteWorkerScript: WorkerScriptProps
8
14
  siteWorkerDomain: WorkerDomainProps
9
15
  siteWorkerAsset: string
16
+ siteRuleSet: RulesetProps
17
+ siteZoneSettingsOverride: ZoneSettingsOverrideProps
10
18
  }