@gradientedge/cdk-utils 8.141.0 → 8.142.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.
@@ -1,6 +1,6 @@
1
1
  import { TerraformStack } from 'cdktf';
2
2
  import { Construct } from 'constructs';
3
- import { CloudflareAccessManager, CloudflareApiShieldManager, CloudflareFilterManager, CloudflareFirewallManager, CloudflareWorkerManager, CloudflareZoneManager } from '../services';
3
+ import { CloudflareAccessManager, CloudflareApiShieldManager, CloudflareArgoManager, CloudflareFilterManager, CloudflareFirewallManager, CloudflareWorkerManager, CloudflareZoneManager } from '../services';
4
4
  import { CommonCloudflareStackProps } from './types';
5
5
  export declare class CommonCloudflareConstruct extends TerraformStack {
6
6
  props: CommonCloudflareStackProps;
@@ -8,6 +8,7 @@ export declare class CommonCloudflareConstruct extends TerraformStack {
8
8
  fullyQualifiedDomainName: string;
9
9
  accessManager: CloudflareAccessManager;
10
10
  apiShieldManager: CloudflareApiShieldManager;
11
+ argoManager: CloudflareArgoManager;
11
12
  filterManager: CloudflareFilterManager;
12
13
  firewallManager: CloudflareFirewallManager;
13
14
  workerManager: CloudflareWorkerManager;
@@ -10,6 +10,7 @@ class CommonCloudflareConstruct extends cdktf_1.TerraformStack {
10
10
  fullyQualifiedDomainName;
11
11
  accessManager;
12
12
  apiShieldManager;
13
+ argoManager;
13
14
  filterManager;
14
15
  firewallManager;
15
16
  workerManager;
@@ -20,6 +21,7 @@ class CommonCloudflareConstruct extends cdktf_1.TerraformStack {
20
21
  this.id = id;
21
22
  this.accessManager = new services_1.CloudflareAccessManager();
22
23
  this.apiShieldManager = new services_1.CloudflareApiShieldManager();
24
+ this.argoManager = new services_1.CloudflareArgoManager();
23
25
  this.filterManager = new services_1.CloudflareFilterManager();
24
26
  this.firewallManager = new services_1.CloudflareFirewallManager();
25
27
  this.zoneManager = new services_1.CloudflareZoneManager();
@@ -0,0 +1,2 @@
1
+ export * from './main';
2
+ export * from './types';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./main"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,30 @@
1
+ import { Argo } from '@cdktf/provider-cloudflare/lib/argo';
2
+ import { CommonCloudflareConstruct } from '../../common';
3
+ import { ArgoProps } from './types';
4
+ /**
5
+ * @classdesc Provides operations on Cloudflare Argo
6
+ * - A new instance of this class is injected into {@link CommonCloudflareConstruct} constructor.
7
+ * - If a custom construct extends {@link CommonCloudflareConstruct}, an instance is available within the context.
8
+ * @example
9
+ * ```
10
+ * import { CommonCloudflareConstruct, CommonCloudflareConstruct } from '@gradientedge/cdk-utils'
11
+ *
12
+ * class CustomConstruct extends CommonCloudflareConstruct {
13
+ * constructor(parent: Construct, id: string, props: CommonCloudflareStackProps) {
14
+ * super(parent, id, props)
15
+ * this.props = props
16
+ * this.argoManager.createArgo('MyArgo', this, props)
17
+ * }
18
+ * }
19
+ * ```
20
+ */
21
+ export declare class CloudflareArgoManager {
22
+ /**
23
+ * @summary Method to create a new Cloudflare Argo
24
+ * @param id scoped id of the resource
25
+ * @param scope scope in which this resource is defined
26
+ * @param props argo properties
27
+ * @see [CDKTF Argo Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/argo.typescript.md}
28
+ */
29
+ createArgo(id: string, scope: CommonCloudflareConstruct, props: ArgoProps): Argo;
30
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloudflareArgoManager = void 0;
4
+ const argo_1 = require("@cdktf/provider-cloudflare/lib/argo");
5
+ const utils_1 = require("../../utils");
6
+ /**
7
+ * @classdesc Provides operations on Cloudflare Argo
8
+ * - A new instance of this class is injected into {@link CommonCloudflareConstruct} constructor.
9
+ * - If a custom construct extends {@link CommonCloudflareConstruct}, an instance is available within the context.
10
+ * @example
11
+ * ```
12
+ * import { CommonCloudflareConstruct, CommonCloudflareConstruct } from '@gradientedge/cdk-utils'
13
+ *
14
+ * class CustomConstruct extends CommonCloudflareConstruct {
15
+ * constructor(parent: Construct, id: string, props: CommonCloudflareStackProps) {
16
+ * super(parent, id, props)
17
+ * this.props = props
18
+ * this.argoManager.createArgo('MyArgo', this, props)
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ class CloudflareArgoManager {
24
+ /**
25
+ * @summary Method to create a new Cloudflare Argo
26
+ * @param id scoped id of the resource
27
+ * @param scope scope in which this resource is defined
28
+ * @param props argo properties
29
+ * @see [CDKTF Argo Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/argo.typescript.md}
30
+ */
31
+ createArgo(id, scope, props) {
32
+ if (!props)
33
+ throw `Props undefined for ${id}`;
34
+ const zoneId = props.zoneId
35
+ ? props.zoneId
36
+ : scope.zoneManager.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
37
+ const argo = new argo_1.Argo(scope, `${id}`, {
38
+ ...props,
39
+ zoneId,
40
+ });
41
+ (0, utils_1.createCloudflareTfOutput)(`${id}-argoFriendlyUniqueId`, scope, argo.friendlyUniqueId);
42
+ (0, utils_1.createCloudflareTfOutput)(`${id}-argoId`, scope, argo.id);
43
+ return argo;
44
+ }
45
+ }
46
+ exports.CloudflareArgoManager = CloudflareArgoManager;
@@ -0,0 +1,3 @@
1
+ import { ArgoConfig } from '@cdktf/provider-cloudflare/lib/argo';
2
+ export interface ArgoProps extends ArgoConfig {
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
1
  export * from './access';
2
2
  export * from './api-shield';
3
+ export * from './argo';
3
4
  export * from './filter';
4
5
  export * from './firewall';
5
6
  export * from './worker';
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./access"), exports);
18
18
  __exportStar(require("./api-shield"), exports);
19
+ __exportStar(require("./argo"), exports);
19
20
  __exportStar(require("./filter"), exports);
20
21
  __exportStar(require("./firewall"), exports);
21
22
  __exportStar(require("./worker"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "8.141.0",
3
+ "version": "8.142.0",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -5,6 +5,7 @@ import { isDevStage, isPrdStage, isTestStage, isUatStage } from '../../common'
5
5
  import {
6
6
  CloudflareAccessManager,
7
7
  CloudflareApiShieldManager,
8
+ CloudflareArgoManager,
8
9
  CloudflareFilterManager,
9
10
  CloudflareFirewallManager,
10
11
  CloudflareWorkerManager,
@@ -18,6 +19,7 @@ export class CommonCloudflareConstruct extends TerraformStack {
18
19
  fullyQualifiedDomainName: string
19
20
  accessManager: CloudflareAccessManager
20
21
  apiShieldManager: CloudflareApiShieldManager
22
+ argoManager: CloudflareArgoManager
21
23
  filterManager: CloudflareFilterManager
22
24
  firewallManager: CloudflareFirewallManager
23
25
  workerManager: CloudflareWorkerManager
@@ -30,6 +32,7 @@ export class CommonCloudflareConstruct extends TerraformStack {
30
32
 
31
33
  this.accessManager = new CloudflareAccessManager()
32
34
  this.apiShieldManager = new CloudflareApiShieldManager()
35
+ this.argoManager = new CloudflareArgoManager()
33
36
  this.filterManager = new CloudflareFilterManager()
34
37
  this.firewallManager = new CloudflareFirewallManager()
35
38
  this.zoneManager = new CloudflareZoneManager()
@@ -0,0 +1,2 @@
1
+ export * from './main'
2
+ export * from './types'
@@ -0,0 +1,48 @@
1
+ import { Argo } from '@cdktf/provider-cloudflare/lib/argo'
2
+ import { CommonCloudflareConstruct } from '../../common'
3
+ import { createCloudflareTfOutput } from '../../utils'
4
+ import { ArgoProps } from './types'
5
+
6
+ /**
7
+ * @classdesc Provides operations on Cloudflare Argo
8
+ * - A new instance of this class is injected into {@link CommonCloudflareConstruct} constructor.
9
+ * - If a custom construct extends {@link CommonCloudflareConstruct}, an instance is available within the context.
10
+ * @example
11
+ * ```
12
+ * import { CommonCloudflareConstruct, CommonCloudflareConstruct } from '@gradientedge/cdk-utils'
13
+ *
14
+ * class CustomConstruct extends CommonCloudflareConstruct {
15
+ * constructor(parent: Construct, id: string, props: CommonCloudflareStackProps) {
16
+ * super(parent, id, props)
17
+ * this.props = props
18
+ * this.argoManager.createArgo('MyArgo', this, props)
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ export class CloudflareArgoManager {
24
+ /**
25
+ * @summary Method to create a new Cloudflare Argo
26
+ * @param id scoped id of the resource
27
+ * @param scope scope in which this resource is defined
28
+ * @param props argo properties
29
+ * @see [CDKTF Argo Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/argo.typescript.md}
30
+ */
31
+ public createArgo(id: string, scope: CommonCloudflareConstruct, props: ArgoProps) {
32
+ if (!props) throw `Props undefined for ${id}`
33
+
34
+ const zoneId = props.zoneId
35
+ ? props.zoneId
36
+ : scope.zoneManager.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id
37
+
38
+ const argo = new Argo(scope, `${id}`, {
39
+ ...props,
40
+ zoneId,
41
+ })
42
+
43
+ createCloudflareTfOutput(`${id}-argoFriendlyUniqueId`, scope, argo.friendlyUniqueId)
44
+ createCloudflareTfOutput(`${id}-argoId`, scope, argo.id)
45
+
46
+ return argo
47
+ }
48
+ }
@@ -0,0 +1,3 @@
1
+ import { ArgoConfig } from '@cdktf/provider-cloudflare/lib/argo'
2
+
3
+ export interface ArgoProps extends ArgoConfig {}
@@ -1,5 +1,6 @@
1
1
  export * from './access'
2
2
  export * from './api-shield'
3
+ export * from './argo'
3
4
  export * from './filter'
4
5
  export * from './firewall'
5
6
  export * from './worker'