@gradientedge/cdk-utils 9.88.0 → 10.0.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.
Files changed (87) hide show
  1. package/dist/src/lib/azure/services/api-management/main.d.ts +2 -2
  2. package/dist/src/lib/azure/services/api-management/main.js +1 -1
  3. package/dist/src/lib/azure/services/redis/main.d.ts +5 -5
  4. package/dist/src/lib/azure/services/redis/main.js +10 -10
  5. package/dist/src/lib/azure/services/redis/types.d.ts +2 -2
  6. package/dist/src/lib/cloudflare/common/construct.d.ts +7 -19
  7. package/dist/src/lib/cloudflare/common/construct.js +12 -66
  8. package/dist/src/lib/cloudflare/common/index.d.ts +0 -1
  9. package/dist/src/lib/cloudflare/common/index.js +0 -1
  10. package/dist/src/lib/cloudflare/common/stack.d.ts +11 -21
  11. package/dist/src/lib/cloudflare/common/stack.js +55 -62
  12. package/dist/src/lib/cloudflare/common/types.d.ts +2 -14
  13. package/dist/src/lib/cloudflare/construct/pages-static-site/main.d.ts +8 -10
  14. package/dist/src/lib/cloudflare/construct/pages-static-site/main.js +18 -25
  15. package/dist/src/lib/cloudflare/construct/worker-site/main.d.ts +13 -10
  16. package/dist/src/lib/cloudflare/construct/worker-site/main.js +29 -41
  17. package/dist/src/lib/cloudflare/index.d.ts +0 -1
  18. package/dist/src/lib/cloudflare/index.js +0 -1
  19. package/dist/src/lib/cloudflare/services/access/main.d.ts +31 -43
  20. package/dist/src/lib/cloudflare/services/access/main.js +56 -83
  21. package/dist/src/lib/cloudflare/services/access/types.d.ts +12 -22
  22. package/dist/src/lib/cloudflare/services/api-shield/main.d.ts +10 -15
  23. package/dist/src/lib/cloudflare/services/api-shield/main.js +16 -36
  24. package/dist/src/lib/cloudflare/services/api-shield/types.d.ts +6 -10
  25. package/dist/src/lib/cloudflare/services/argo/main.d.ts +6 -8
  26. package/dist/src/lib/cloudflare/services/argo/main.js +9 -17
  27. package/dist/src/lib/cloudflare/services/argo/types.d.ts +3 -4
  28. package/dist/src/lib/cloudflare/services/filter/main.d.ts +3 -4
  29. package/dist/src/lib/cloudflare/services/filter/main.js +6 -10
  30. package/dist/src/lib/cloudflare/services/filter/types.d.ts +2 -2
  31. package/dist/src/lib/cloudflare/services/firewall/main.d.ts +2 -3
  32. package/dist/src/lib/cloudflare/services/firewall/main.js +4 -8
  33. package/dist/src/lib/cloudflare/services/firewall/types.d.ts +2 -2
  34. package/dist/src/lib/cloudflare/services/page/main.d.ts +7 -11
  35. package/dist/src/lib/cloudflare/services/page/main.js +13 -26
  36. package/dist/src/lib/cloudflare/services/page/types.d.ts +4 -6
  37. package/dist/src/lib/cloudflare/services/record/main.d.ts +2 -3
  38. package/dist/src/lib/cloudflare/services/record/main.js +4 -8
  39. package/dist/src/lib/cloudflare/services/record/types.d.ts +2 -2
  40. package/dist/src/lib/cloudflare/services/rule-set/main.d.ts +5 -6
  41. package/dist/src/lib/cloudflare/services/rule-set/main.js +7 -10
  42. package/dist/src/lib/cloudflare/services/rule-set/types.d.ts +2 -2
  43. package/dist/src/lib/cloudflare/services/worker/main.d.ts +12 -18
  44. package/dist/src/lib/cloudflare/services/worker/main.js +15 -39
  45. package/dist/src/lib/cloudflare/services/worker/types.d.ts +7 -12
  46. package/dist/src/lib/cloudflare/services/zone/main.d.ts +13 -30
  47. package/dist/src/lib/cloudflare/services/zone/main.js +31 -84
  48. package/dist/src/lib/cloudflare/services/zone/types.d.ts +10 -20
  49. package/dist/src/lib/common/types.d.ts +4 -0
  50. package/package.json +7 -1
  51. package/src/lib/azure/services/api-management/main.ts +3 -3
  52. package/src/lib/azure/services/redis/main.ts +11 -11
  53. package/src/lib/azure/services/redis/types.ts +2 -2
  54. package/src/lib/cloudflare/common/construct.ts +13 -70
  55. package/src/lib/cloudflare/common/index.ts +0 -1
  56. package/src/lib/cloudflare/common/stack.ts +58 -69
  57. package/src/lib/cloudflare/common/types.ts +2 -15
  58. package/src/lib/cloudflare/construct/pages-static-site/main.ts +22 -42
  59. package/src/lib/cloudflare/construct/worker-site/main.ts +38 -62
  60. package/src/lib/cloudflare/index.ts +0 -1
  61. package/src/lib/cloudflare/services/access/main.ts +57 -118
  62. package/src/lib/cloudflare/services/access/types.ts +24 -22
  63. package/src/lib/cloudflare/services/api-shield/main.ts +16 -63
  64. package/src/lib/cloudflare/services/api-shield/types.ts +12 -10
  65. package/src/lib/cloudflare/services/argo/main.ts +9 -23
  66. package/src/lib/cloudflare/services/argo/types.ts +3 -4
  67. package/src/lib/cloudflare/services/filter/main.ts +6 -13
  68. package/src/lib/cloudflare/services/filter/types.ts +2 -2
  69. package/src/lib/cloudflare/services/firewall/main.ts +4 -11
  70. package/src/lib/cloudflare/services/firewall/types.ts +2 -2
  71. package/src/lib/cloudflare/services/page/main.ts +19 -36
  72. package/src/lib/cloudflare/services/page/types.ts +4 -6
  73. package/src/lib/cloudflare/services/record/main.ts +4 -11
  74. package/src/lib/cloudflare/services/record/types.ts +2 -2
  75. package/src/lib/cloudflare/services/rule-set/main.ts +7 -12
  76. package/src/lib/cloudflare/services/rule-set/types.ts +2 -2
  77. package/src/lib/cloudflare/services/worker/main.ts +15 -52
  78. package/src/lib/cloudflare/services/worker/types.ts +14 -12
  79. package/src/lib/cloudflare/services/zone/main.ts +40 -103
  80. package/src/lib/cloudflare/services/zone/types.ts +20 -21
  81. package/src/lib/common/types.ts +5 -0
  82. package/dist/src/lib/cloudflare/common/constants.d.ts +0 -5
  83. package/dist/src/lib/cloudflare/common/constants.js +0 -6
  84. package/dist/src/lib/cloudflare/utils/index.d.ts +0 -3
  85. package/dist/src/lib/cloudflare/utils/index.js +0 -13
  86. package/src/lib/cloudflare/common/constants.ts +0 -5
  87. package/src/lib/cloudflare/utils/index.ts +0 -23
@@ -1,10 +1,4 @@
1
- import { WorkersCronTrigger } from '@cdktf/provider-cloudflare/lib/workers-cron-trigger/index.js';
2
- import { WorkersCustomDomain } from '@cdktf/provider-cloudflare/lib/workers-custom-domain/index.js';
3
- import { WorkersKvNamespace } from '@cdktf/provider-cloudflare/lib/workers-kv-namespace/index.js';
4
- import { WorkersKv } from '@cdktf/provider-cloudflare/lib/workers-kv/index.js';
5
- import { WorkersRoute } from '@cdktf/provider-cloudflare/lib/workers-route/index.js';
6
- import { WorkersScript } from '@cdktf/provider-cloudflare/lib/workers-script/index.js';
7
- import { createCloudflareTfOutput } from '../../utils/index.js';
1
+ import * as cloudflare from '@pulumi/cloudflare';
8
2
  /**
9
3
  * @classdesc Provides operations on Cloudflare Worker
10
4
  * - A new instance of this class is injected into {@link CommonCloudflareConstruct} constructor.
@@ -28,117 +22,99 @@ export class CloudflareWorkerManager {
28
22
  * @param id scoped id of the resource
29
23
  * @param scope scope in which this resource is defined
30
24
  * @param props worker domain properties
31
- * @see [CDKTF Worker Domain Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/workersCustomDomain.typescript.md}
25
+ * @see [Pulumi Worker Domain]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/workercustomdomain/}
32
26
  */
33
27
  createWorkerDomain(id, scope, props) {
34
28
  if (!props)
35
29
  throw `Props undefined for ${id}`;
36
30
  const zoneId = props.zoneId
37
31
  ? props.zoneId
38
- : scope.zoneManager.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.zoneId;
39
- const workerDomain = new WorkersCustomDomain(scope, `${id}`, {
32
+ : scope.zoneManager.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })?.id;
33
+ return new cloudflare.WorkersCustomDomain(id, {
40
34
  ...props,
41
35
  accountId: props.accountId ?? scope.props.accountId,
42
36
  zoneId,
43
37
  });
44
- createCloudflareTfOutput(`${id}-workerDomainFriendlyUniqueId`, scope, workerDomain.friendlyUniqueId);
45
- createCloudflareTfOutput(`${id}-workerDomainId`, scope, workerDomain.id);
46
- return workerDomain;
47
38
  }
48
39
  /**
49
40
  * @summary Method to create a new Cloudflare Worker Route
50
41
  * @param id scoped id of the resource
51
42
  * @param scope scope in which this resource is defined
52
43
  * @param props worker route properties
53
- * @see [CDKTF Worker Route Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/workersRoute.typescript.md}
44
+ * @see [Pulumi Worker Route]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/workerroute/}
54
45
  */
55
46
  createWorkerRoute(id, scope, props) {
56
47
  if (!props)
57
48
  throw `Props undefined for ${id}`;
58
49
  const zoneId = props.zoneId
59
50
  ? props.zoneId
60
- : scope.zoneManager.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.zoneId;
61
- const workerRoute = new WorkersRoute(scope, `${id}`, {
51
+ : scope.zoneManager.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })?.id;
52
+ return new cloudflare.WorkersRoute(id, {
62
53
  ...props,
63
54
  script: `${props.script}-${scope.props.stage}`,
64
55
  zoneId,
65
56
  });
66
- createCloudflareTfOutput(`${id}-workerRouteFriendlyUniqueId`, scope, workerRoute.friendlyUniqueId);
67
- createCloudflareTfOutput(`${id}-workerRouteId`, scope, workerRoute.id);
68
- return workerRoute;
69
57
  }
70
58
  /**
71
59
  * @summary Method to create a new Cloudflare Worker Script
72
60
  * @param id scoped id of the resource
73
61
  * @param scope scope in which this resource is defined
74
62
  * @param props worker script properties
75
- * @see [CDKTF Worker Script Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/workersScript.typescript.md}
63
+ * @see [Pulumi Worker Script]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/workerscript/}
76
64
  */
77
65
  createWorkerScript(id, scope, props) {
78
66
  if (!props)
79
67
  throw `Props undefined for ${id}`;
80
- const workerScript = new WorkersScript(scope, `${id}`, {
68
+ return new cloudflare.WorkersScript(id, {
81
69
  ...props,
82
70
  accountId: props.accountId ?? scope.props.accountId,
83
71
  scriptName: `${props.scriptName}-${scope.props.stage}`,
84
72
  });
85
- createCloudflareTfOutput(`${id}-workerScriptFriendlyUniqueId`, scope, workerScript.friendlyUniqueId);
86
- createCloudflareTfOutput(`${id}-workerScriptId`, scope, workerScript.id);
87
- return workerScript;
88
73
  }
89
74
  /**
90
75
  * @summary Method to create a new Cloudflare Workers KV Namespace
91
76
  * @param id scoped id of the resource
92
77
  * @param scope scope in which this resource is defined
93
78
  * @param props workers kv namespace properties
94
- * @see [CDKTF Workers KV Namespace Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/workersKvNamespace.typescript.md}
79
+ * @see [Pulumi Workers KV Namespace]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/workerskvnamespace/}
95
80
  */
96
81
  createWorkersKvNamespace(id, scope, props) {
97
82
  if (!props)
98
83
  throw `Props undefined for ${id}`;
99
- const workersKvNamespace = new WorkersKvNamespace(scope, `${id}`, {
84
+ return new cloudflare.WorkersKvNamespace(id, {
100
85
  ...props,
101
86
  accountId: props.accountId ?? scope.props.accountId,
102
87
  title: scope.isProductionStage() ? props.title : `${props.title}-${scope.props.stage}`,
103
88
  });
104
- createCloudflareTfOutput(`${id}-workersKvNamespaceFriendlyUniqueId`, scope, workersKvNamespace.friendlyUniqueId);
105
- createCloudflareTfOutput(`${id}-workersKvNamespaceId`, scope, workersKvNamespace.id);
106
- return workersKvNamespace;
107
89
  }
108
90
  /**
109
91
  * @summary Method to create a new Cloudflare Workers KV
110
92
  * @param id scoped id of the resource
111
93
  * @param scope scope in which this resource is defined
112
94
  * @param props workers kv properties
113
- * @see [CDKTF Workers KV Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/workersKv.typescript.md}
95
+ * @see [Pulumi Workers KV]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/workerskv/}
114
96
  */
115
97
  createWorkersKv(id, scope, props) {
116
98
  if (!props)
117
99
  throw `Props undefined for ${id}`;
118
- const workersKv = new WorkersKv(scope, `${id}`, {
100
+ return new cloudflare.WorkersKv(id, {
119
101
  ...props,
120
102
  accountId: props.accountId ?? scope.props.accountId,
121
103
  });
122
- createCloudflareTfOutput(`${id}-workersKvFriendlyUniqueId`, scope, workersKv.friendlyUniqueId);
123
- createCloudflareTfOutput(`${id}-workersKvId`, scope, workersKv.id);
124
- return workersKv;
125
104
  }
126
105
  /**
127
106
  * @summary Method to create a new Cloudflare Worker Cron Trigger
128
107
  * @param id scoped id of the resource
129
108
  * @param scope scope in which this resource is defined
130
109
  * @param props workers cron trigger properties
131
- * @see [CDKTF Workers Cron Trigger Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/workersCronTrigger.typescript.md}
110
+ * @see [Pulumi Workers Cron Trigger]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/workercrontrigger/}
132
111
  */
133
112
  createWorkerCronTrigger(id, scope, props) {
134
113
  if (!props)
135
114
  throw `Props undefined for ${id}`;
136
- const workerCronTrigger = new WorkersCronTrigger(scope, `${id}`, {
115
+ return new cloudflare.WorkersCronTrigger(id, {
137
116
  ...props,
138
117
  accountId: props.accountId ?? scope.props.accountId,
139
118
  });
140
- createCloudflareTfOutput(`${id}-workerCronTriggerFriendlyUniqueId`, scope, workerCronTrigger.friendlyUniqueId);
141
- createCloudflareTfOutput(`${id}-workerCronTriggerId`, scope, workerCronTrigger.id);
142
- return workerCronTrigger;
143
119
  }
144
120
  }
@@ -1,18 +1,13 @@
1
- import { WorkersCronTriggerConfig } from '@cdktf/provider-cloudflare/lib/workers-cron-trigger/index.js';
2
- import { WorkersCustomDomainConfig } from '@cdktf/provider-cloudflare/lib/workers-custom-domain/index.js';
3
- import { WorkersRouteConfig } from '@cdktf/provider-cloudflare/lib/workers-route/index.js';
4
- import { WorkersScriptConfig } from '@cdktf/provider-cloudflare/lib/workers-script/index.js';
5
- import { WorkersKvConfig } from '@cdktf/provider-cloudflare/lib/workers-kv/index.js';
6
- import { WorkersKvNamespaceConfig } from '@cdktf/provider-cloudflare/lib/workers-kv-namespace/index.js';
7
- export interface WorkerDomainProps extends WorkersCustomDomainConfig {
1
+ import { WorkersCronTriggerArgs, WorkersCustomDomainArgs, WorkersKvArgs, WorkersKvNamespaceArgs, WorkersRouteArgs, WorkersScriptArgs } from '@pulumi/cloudflare';
2
+ export interface WorkerDomainProps extends WorkersCustomDomainArgs {
8
3
  }
9
- export interface WorkerRouteProps extends WorkersRouteConfig {
4
+ export interface WorkerRouteProps extends WorkersRouteArgs {
10
5
  }
11
- export interface WorkerScriptProps extends WorkersScriptConfig {
6
+ export interface WorkerScriptProps extends WorkersScriptArgs {
12
7
  }
13
- export interface WorkersKvNamespaceProps extends WorkersKvNamespaceConfig {
8
+ export interface WorkersKvNamespaceProps extends WorkersKvNamespaceArgs {
14
9
  }
15
- export interface WorkersKvProps extends WorkersKvConfig {
10
+ export interface WorkersKvProps extends WorkersKvArgs {
16
11
  }
17
- export interface WorkerCronTriggerProps extends WorkersCronTriggerConfig {
12
+ export interface WorkerCronTriggerProps extends WorkersCronTriggerArgs {
18
13
  }
@@ -1,24 +1,15 @@
1
- import { DataCloudflareZone } from '@cdktf/provider-cloudflare/lib/data-cloudflare-zone/index.js';
2
- import { ZoneCacheReserve } from '@cdktf/provider-cloudflare/lib/zone-cache-reserve/index.js';
3
- import { ZoneCacheVariants } from '@cdktf/provider-cloudflare/lib/zone-cache-variants/index.js';
4
- import { ZoneDnsSettings } from '@cdktf/provider-cloudflare/lib/zone-dns-settings/index.js';
5
- import { ZoneDnssec } from '@cdktf/provider-cloudflare/lib/zone-dnssec/index.js';
6
- import { ZoneHold } from '@cdktf/provider-cloudflare/lib/zone-hold/index.js';
7
- import { ZoneLockdown } from '@cdktf/provider-cloudflare/lib/zone-lockdown/index.js';
8
- import { ZoneSetting } from '@cdktf/provider-cloudflare/lib/zone-setting/index.js';
9
- import { Zone } from '@cdktf/provider-cloudflare/lib/zone/index.js';
10
1
  import { CommonCloudflareConstruct } from '../../common/index.js';
11
- import { ZoneCacheReserveProps, ZoneCacheVariantsProps, ZoneDnssecProps, ZoneHoldProps, ZoneLockdownProps, ZoneOptions, ZoneProps, ZoneSettingProps } from './types.js';
2
+ import { GetZoneProps, ZoneCacheReserveProps, ZoneCacheVariantsProps, ZoneDnssecProps, ZoneHoldProps, ZoneLockdownProps, ZoneProps, ZoneSettingProps } from './types.js';
12
3
  /**
13
- * @classdesc Provides operations on Cloudflare Zone
4
+ * @classdesc Provides operations on Cloudflare Zone using Pulumi
14
5
  * - A new instance of this class is injected into {@link CommonCloudflareConstruct} constructor.
15
6
  * - If a custom construct extends {@link CommonCloudflareConstruct}, an instance is available within the context.
16
7
  * @example
17
8
  * ```
18
- * import { CommonCloudflareConstruct, CommonCloudflareConstruct } from '@gradientedge/cdk-utils'
9
+ * import { CommonCloudflareConstruct } from '@gradientedge/cdk-utils'
19
10
  *
20
11
  * class CustomConstruct extends CommonCloudflareConstruct {
21
- * constructor(parent: Construct, id: string, props: CommonCloudflareStackProps) {
12
+ * constructor(parent: pulumi.ComponentResource, id: string, props: CommonCloudflareStackProps) {
22
13
  * super(parent, id, props)
23
14
  * this.props = props
24
15
  * this.zoneManager.createZone('MyZone', this, props)
@@ -32,64 +23,56 @@ export declare class CloudflareZoneManager {
32
23
  * @param id scoped id of the resource
33
24
  * @param scope scope in which this resource is defined
34
25
  * @param props zone properties
35
- * @see [CDKTF Zone Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zone.typescript.md}
36
26
  */
37
- createZone(id: string, scope: CommonCloudflareConstruct, props: ZoneProps): Zone;
38
- resolveZone(id: string, scope: CommonCloudflareConstruct, options?: ZoneOptions): DataCloudflareZone;
27
+ createZone(id: string, scope: CommonCloudflareConstruct, props: ZoneProps): import("@pulumi/cloudflare/zone.js").Zone;
28
+ resolveZone(id: string, scope: CommonCloudflareConstruct, options?: GetZoneProps): import("@pulumi/cloudflare/zone.js").Zone;
39
29
  /**
40
30
  * @summary Method to create a new zone cache reserve
41
31
  * @param id scoped id of the resource
42
32
  * @param scope scope in which this resource is defined
43
33
  * @param props zone cache reserve properties
44
- * @see [CDKTF Zone Cache Reserve Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneCacheReserve.typescript.md}
45
34
  */
46
- createZoneCacheReserve(id: string, scope: CommonCloudflareConstruct, props: ZoneCacheReserveProps): ZoneCacheReserve;
35
+ createZoneCacheReserve(id: string, scope: CommonCloudflareConstruct, props: ZoneCacheReserveProps): import("@pulumi/cloudflare/zoneCacheReserve.js").ZoneCacheReserve;
47
36
  /**
48
37
  * @summary Method to create a new zone cache variants
49
38
  * @param id scoped id of the resource
50
39
  * @param scope scope in which this resource is defined
51
40
  * @param props zone cache variants properties
52
- * @see [CDKTF Zone Cache Variants Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneCacheVariants.typescript.md}
53
41
  */
54
- createZoneCacheVariants(id: string, scope: CommonCloudflareConstruct, props: ZoneCacheVariantsProps): ZoneCacheVariants;
42
+ createZoneCacheVariants(id: string, scope: CommonCloudflareConstruct, props: ZoneCacheVariantsProps): import("@pulumi/cloudflare/zoneCacheVariants.js").ZoneCacheVariants;
55
43
  /**
56
44
  * @summary Method to create a new zone dnssec
57
45
  * @param id scoped id of the resource
58
46
  * @param scope scope in which this resource is defined
59
47
  * @param props zone dnssec properties
60
- * @see [CDKTF Zone DNS Security Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneDnssec.typescript.md}
61
48
  */
62
- createZoneDnssec(id: string, scope: CommonCloudflareConstruct, props: ZoneDnssecProps): ZoneDnssec;
49
+ createZoneDnssec(id: string, scope: CommonCloudflareConstruct, props: ZoneDnssecProps): import("@pulumi/cloudflare/zoneDnssec.js").ZoneDnssec;
63
50
  /**
64
51
  * @summary Method to create a new zone hold
65
52
  * @param id scoped id of the resource
66
53
  * @param scope scope in which this resource is defined
67
54
  * @param props zone hold properties
68
- * @see [CDKTF Zone Hold Security Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneHold.typescript.md}
69
55
  */
70
- createZoneHold(id: string, scope: CommonCloudflareConstruct, props: ZoneHoldProps): ZoneHold;
56
+ createZoneHold(id: string, scope: CommonCloudflareConstruct, props: ZoneHoldProps): import("@pulumi/cloudflare/zoneHold.js").ZoneHold;
71
57
  /**
72
58
  * @summary Method to create a new zone lockdown
73
59
  * @param id scoped id of the resource
74
60
  * @param scope scope in which this resource is defined
75
61
  * @param props zone lockdown properties
76
- * @see [CDKTF Zone Lockdown Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneLockdown.typescript.md}
77
62
  */
78
- createZoneLockdown(id: string, scope: CommonCloudflareConstruct, props: ZoneLockdownProps): ZoneLockdown;
63
+ createZoneLockdown(id: string, scope: CommonCloudflareConstruct, props: ZoneLockdownProps): import("@pulumi/cloudflare/zoneLockdown.js").ZoneLockdown;
79
64
  /**
80
65
  * @summary Method to create new zone dns settings
81
66
  * @param id scoped id of the resource
82
67
  * @param scope scope in which this resource is defined
83
68
  * @param props zone dns settings properties
84
- * @see [CDKTF Zone Dns Settings Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/dnsZoneSettings.typescript.md}
85
69
  */
86
- createZoneDnsSettings(id: string, scope: CommonCloudflareConstruct, props: ZoneSettingProps): ZoneDnsSettings;
70
+ createZoneDnsSettings(id: string, scope: CommonCloudflareConstruct, props: ZoneSettingProps): import("@pulumi/cloudflare/zoneSetting.js").ZoneSetting;
87
71
  /**
88
72
  * @summary Method to create a new zone setting
89
73
  * @param id scoped id of the resource
90
74
  * @param scope scope in which this resource is defined
91
75
  * @param props zone setting properties
92
- * @see [CDKTF Zone Setting Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneSetting.typescript.md}
93
76
  */
94
- createZoneSetting(id: string, scope: CommonCloudflareConstruct, props: ZoneSettingProps): ZoneSetting;
77
+ createZoneSetting(id: string, scope: CommonCloudflareConstruct, props: ZoneSettingProps): import("@pulumi/cloudflare/zoneSetting.js").ZoneSetting;
95
78
  }
@@ -1,23 +1,15 @@
1
- import { DataCloudflareZone } from '@cdktf/provider-cloudflare/lib/data-cloudflare-zone/index.js';
2
- import { ZoneCacheReserve } from '@cdktf/provider-cloudflare/lib/zone-cache-reserve/index.js';
3
- import { ZoneCacheVariants } from '@cdktf/provider-cloudflare/lib/zone-cache-variants/index.js';
4
- import { ZoneDnsSettings } from '@cdktf/provider-cloudflare/lib/zone-dns-settings/index.js';
5
- import { ZoneDnssec } from '@cdktf/provider-cloudflare/lib/zone-dnssec/index.js';
6
- import { ZoneHold } from '@cdktf/provider-cloudflare/lib/zone-hold/index.js';
7
- import { ZoneLockdown } from '@cdktf/provider-cloudflare/lib/zone-lockdown/index.js';
8
- import { ZoneSetting } from '@cdktf/provider-cloudflare/lib/zone-setting/index.js';
9
- import { Zone } from '@cdktf/provider-cloudflare/lib/zone/index.js';
10
- import { createCloudflareTfOutput } from '../../utils/index.js';
1
+ import * as cloudflare from '@pulumi/cloudflare';
2
+ import * as pulumi from '@pulumi/pulumi';
11
3
  /**
12
- * @classdesc Provides operations on Cloudflare Zone
4
+ * @classdesc Provides operations on Cloudflare Zone using Pulumi
13
5
  * - A new instance of this class is injected into {@link CommonCloudflareConstruct} constructor.
14
6
  * - If a custom construct extends {@link CommonCloudflareConstruct}, an instance is available within the context.
15
7
  * @example
16
8
  * ```
17
- * import { CommonCloudflareConstruct, CommonCloudflareConstruct } from '@gradientedge/cdk-utils'
9
+ * import { CommonCloudflareConstruct } from '@gradientedge/cdk-utils'
18
10
  *
19
11
  * class CustomConstruct extends CommonCloudflareConstruct {
20
- * constructor(parent: Construct, id: string, props: CommonCloudflareStackProps) {
12
+ * constructor(parent: pulumi.ComponentResource, id: string, props: CommonCloudflareStackProps) {
21
13
  * super(parent, id, props)
22
14
  * this.props = props
23
15
  * this.zoneManager.createZone('MyZone', this, props)
@@ -31,155 +23,115 @@ export class CloudflareZoneManager {
31
23
  * @param id scoped id of the resource
32
24
  * @param scope scope in which this resource is defined
33
25
  * @param props zone properties
34
- * @see [CDKTF Zone Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zone.typescript.md}
35
26
  */
36
27
  createZone(id, scope, props) {
37
28
  if (!props)
38
29
  throw `Props undefined for ${id}`;
39
- const zone = new Zone(scope, `${id}`, {
30
+ return new cloudflare.Zone(id, {
40
31
  ...props,
41
- account: {
42
- id: props.account.id ?? scope.props.accountId,
43
- },
44
- name: props.name ?? scope.props.domainName,
32
+ account: props.account ?? scope.props.accountId,
33
+ name: scope.props.domainName,
45
34
  });
46
- createCloudflareTfOutput(`${id}-zoneName`, scope, zone.name);
47
- createCloudflareTfOutput(`${id}-zoneFriendlyUniqueId`, scope, zone.friendlyUniqueId);
48
- createCloudflareTfOutput(`${id}-zoneId`, scope, zone.id);
49
- return zone;
50
35
  }
51
36
  resolveZone(id, scope, options) {
52
- const zone = new DataCloudflareZone(scope, `${id}-data-zone`, {
53
- filter: {
54
- name: options?.name ?? scope.props.domainName,
55
- },
56
- zoneId: options?.zoneId,
57
- });
58
- return zone;
37
+ const name = options?.filter?.name ?? scope.props.domainName;
38
+ return cloudflare.Zone.get(name, id);
59
39
  }
60
40
  /**
61
41
  * @summary Method to create a new zone cache reserve
62
42
  * @param id scoped id of the resource
63
43
  * @param scope scope in which this resource is defined
64
44
  * @param props zone cache reserve properties
65
- * @see [CDKTF Zone Cache Reserve Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneCacheReserve.typescript.md}
66
45
  */
67
46
  createZoneCacheReserve(id, scope, props) {
68
47
  if (!props)
69
48
  throw `Props undefined for ${id}`;
70
- const zoneId = props.zoneId
71
- ? props.zoneId
72
- : this.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
73
- const zoneCacheReserve = new ZoneCacheReserve(scope, `${id}`, {
49
+ const zoneId = props.zoneId ??
50
+ pulumi.output(this.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })).id;
51
+ return new cloudflare.ZoneCacheReserve(id, {
74
52
  ...props,
75
53
  zoneId,
76
54
  });
77
- createCloudflareTfOutput(`${id}-zoneCacheReserveFriendlyUniqueId`, scope, zoneCacheReserve.friendlyUniqueId);
78
- createCloudflareTfOutput(`${id}-zoneCacheReserveId`, scope, zoneCacheReserve.id);
79
- return zoneCacheReserve;
80
55
  }
81
56
  /**
82
57
  * @summary Method to create a new zone cache variants
83
58
  * @param id scoped id of the resource
84
59
  * @param scope scope in which this resource is defined
85
60
  * @param props zone cache variants properties
86
- * @see [CDKTF Zone Cache Variants Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneCacheVariants.typescript.md}
87
61
  */
88
62
  createZoneCacheVariants(id, scope, props) {
89
63
  if (!props)
90
64
  throw `Props undefined for ${id}`;
91
- const zoneId = props.zoneId
92
- ? props.zoneId
93
- : this.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
94
- const zoneCacheVariants = new ZoneCacheVariants(scope, `${id}`, {
65
+ const zoneId = props.zoneId ??
66
+ pulumi.output(this.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })).id;
67
+ return new cloudflare.ZoneCacheVariants(id, {
95
68
  ...props,
96
69
  zoneId,
97
70
  });
98
- createCloudflareTfOutput(`${id}-zoneCacheVariantsFriendlyUniqueId`, scope, zoneCacheVariants.friendlyUniqueId);
99
- createCloudflareTfOutput(`${id}-zoneCacheVariantsId`, scope, zoneCacheVariants.id);
100
- return zoneCacheVariants;
101
71
  }
102
72
  /**
103
73
  * @summary Method to create a new zone dnssec
104
74
  * @param id scoped id of the resource
105
75
  * @param scope scope in which this resource is defined
106
76
  * @param props zone dnssec properties
107
- * @see [CDKTF Zone DNS Security Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneDnssec.typescript.md}
108
77
  */
109
78
  createZoneDnssec(id, scope, props) {
110
79
  if (!props)
111
80
  throw `Props undefined for ${id}`;
112
- const zoneId = props.zoneId
113
- ? props.zoneId
114
- : this.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
115
- const zoneDnssec = new ZoneDnssec(scope, `${id}`, {
81
+ const zoneId = props.zoneId ??
82
+ pulumi.output(this.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })).id;
83
+ return new cloudflare.ZoneDnssec(id, {
116
84
  ...props,
117
85
  zoneId,
118
86
  });
119
- createCloudflareTfOutput(`${id}-zoneDnssecFriendlyUniqueId`, scope, zoneDnssec.friendlyUniqueId);
120
- createCloudflareTfOutput(`${id}-zoneDnssecId`, scope, zoneDnssec.id);
121
- return zoneDnssec;
122
87
  }
123
88
  /**
124
89
  * @summary Method to create a new zone hold
125
90
  * @param id scoped id of the resource
126
91
  * @param scope scope in which this resource is defined
127
92
  * @param props zone hold properties
128
- * @see [CDKTF Zone Hold Security Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneHold.typescript.md}
129
93
  */
130
94
  createZoneHold(id, scope, props) {
131
95
  if (!props)
132
96
  throw `Props undefined for ${id}`;
133
- const zoneId = props.zoneId
134
- ? props.zoneId
135
- : this.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
136
- const zoneHold = new ZoneHold(scope, `${id}`, {
97
+ const zoneId = props.zoneId ??
98
+ pulumi.output(this.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })).id;
99
+ return new cloudflare.ZoneHold(id, {
137
100
  ...props,
138
101
  zoneId,
139
102
  });
140
- createCloudflareTfOutput(`${id}-zoneHoldFriendlyUniqueId`, scope, zoneHold.friendlyUniqueId);
141
- createCloudflareTfOutput(`${id}-zoneHoldId`, scope, zoneHold.id);
142
- return zoneHold;
143
103
  }
144
104
  /**
145
105
  * @summary Method to create a new zone lockdown
146
106
  * @param id scoped id of the resource
147
107
  * @param scope scope in which this resource is defined
148
108
  * @param props zone lockdown properties
149
- * @see [CDKTF Zone Lockdown Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneLockdown.typescript.md}
150
109
  */
151
110
  createZoneLockdown(id, scope, props) {
152
111
  if (!props)
153
112
  throw `Props undefined for ${id}`;
154
- const zoneId = props.zoneId
155
- ? props.zoneId
156
- : this.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
157
- const zoneLockdown = new ZoneLockdown(scope, `${id}`, {
113
+ const zoneId = props.zoneId ??
114
+ pulumi.output(this.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })).id;
115
+ return new cloudflare.ZoneLockdown(id, {
158
116
  ...props,
159
117
  zoneId,
160
118
  });
161
- createCloudflareTfOutput(`${id}-zoneLockdownFriendlyUniqueId`, scope, zoneLockdown.friendlyUniqueId);
162
- createCloudflareTfOutput(`${id}-zoneLockdownId`, scope, zoneLockdown.id);
163
- return zoneLockdown;
164
119
  }
165
120
  /**
166
121
  * @summary Method to create new zone dns settings
167
122
  * @param id scoped id of the resource
168
123
  * @param scope scope in which this resource is defined
169
124
  * @param props zone dns settings properties
170
- * @see [CDKTF Zone Dns Settings Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/dnsZoneSettings.typescript.md}
171
125
  */
172
126
  createZoneDnsSettings(id, scope, props) {
173
127
  if (!props)
174
128
  throw `Props undefined for ${id}`;
175
- const zoneId = props.zoneId
176
- ? props.zoneId
177
- : this.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
178
- const zoneDnsSettings = new ZoneDnsSettings(scope, `${id}`, {
129
+ const zoneId = props.zoneId ??
130
+ pulumi.output(this.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })).id;
131
+ const zoneDnsSettings = new cloudflare.ZoneSetting(id, {
179
132
  ...props,
180
133
  zoneId,
181
134
  });
182
- createCloudflareTfOutput(`${id}-zoneDnsSettingsFriendlyUniqueId`, scope, zoneDnsSettings.friendlyUniqueId);
183
135
  return zoneDnsSettings;
184
136
  }
185
137
  /**
@@ -187,20 +139,15 @@ export class CloudflareZoneManager {
187
139
  * @param id scoped id of the resource
188
140
  * @param scope scope in which this resource is defined
189
141
  * @param props zone setting properties
190
- * @see [CDKTF Zone Setting Module]{@link https://github.com/cdktf/cdktf-provider-cloudflare/blob/main/docs/zoneSetting.typescript.md}
191
142
  */
192
143
  createZoneSetting(id, scope, props) {
193
144
  if (!props)
194
145
  throw `Props undefined for ${id}`;
195
- const zoneId = props.zoneId
196
- ? props.zoneId
197
- : this.resolveZone(`${id}-data-zone`, scope, { name: scope.props.domainName })?.id;
198
- const zoneSetting = new ZoneSetting(scope, `${id}`, {
146
+ const zoneId = props.zoneId ??
147
+ pulumi.output(this.resolveZone(`${id}-data-zone`, scope, { filter: { name: scope.props.domainName } })).id;
148
+ return new cloudflare.ZoneSetting(id, {
199
149
  ...props,
200
150
  zoneId,
201
151
  });
202
- createCloudflareTfOutput(`${id}-zoneSettingFriendlyUniqueId`, scope, zoneSetting.friendlyUniqueId);
203
- createCloudflareTfOutput(`${id}-zoneSettingId`, scope, zoneSetting.id);
204
- return zoneSetting;
205
152
  }
206
153
  }
@@ -1,29 +1,19 @@
1
- import { ZoneConfig } from '@cdktf/provider-cloudflare/lib/zone/index.js';
2
- import { ZoneCacheReserveConfig } from '@cdktf/provider-cloudflare/lib/zone-cache-reserve/index.js';
3
- import { ZoneCacheVariantsConfig } from '@cdktf/provider-cloudflare/lib/zone-cache-variants/index.js';
4
- import { ZoneDnssecConfig } from '@cdktf/provider-cloudflare/lib/zone-dnssec/index.js';
5
- import { ZoneHoldConfig } from '@cdktf/provider-cloudflare/lib/zone-hold/index.js';
6
- import { ZoneLockdownConfig } from '@cdktf/provider-cloudflare/lib/zone-lockdown/index.js';
7
- import { ZoneSettingConfig } from '@cdktf/provider-cloudflare/lib/zone-setting/index.js';
8
- import { ZoneDnsSettingsConfig } from '@cdktf/provider-cloudflare/lib/zone-dns-settings/index.js';
9
- import { DataCloudflareZoneConfig } from '@cdktf/provider-cloudflare/lib/data-cloudflare-zone/index.js';
10
- export interface ZoneProps extends ZoneConfig {
1
+ import { GetZoneArgs, ZoneArgs, ZoneCacheReserveArgs, ZoneCacheVariantsArgs, ZoneDnssecArgs, ZoneDnsSettingsArgs, ZoneHoldArgs, ZoneLockdownArgs, ZoneSettingArgs } from '@pulumi/cloudflare';
2
+ export interface ZoneProps extends ZoneArgs {
11
3
  }
12
- export interface ZoneOptions extends DataCloudflareZoneConfig {
13
- id?: string;
14
- name?: string;
4
+ export interface GetZoneProps extends GetZoneArgs {
15
5
  }
16
- export interface ZoneCacheReserveProps extends ZoneCacheReserveConfig {
6
+ export interface ZoneCacheReserveProps extends ZoneCacheReserveArgs {
17
7
  }
18
- export interface ZoneCacheVariantsProps extends ZoneCacheVariantsConfig {
8
+ export interface ZoneCacheVariantsProps extends ZoneCacheVariantsArgs {
19
9
  }
20
- export interface ZoneDnssecProps extends ZoneDnssecConfig {
10
+ export interface ZoneDnssecProps extends ZoneDnssecArgs {
21
11
  }
22
- export interface ZoneHoldProps extends ZoneHoldConfig {
12
+ export interface ZoneHoldProps extends ZoneHoldArgs {
23
13
  }
24
- export interface ZoneLockdownProps extends ZoneLockdownConfig {
14
+ export interface ZoneLockdownProps extends ZoneLockdownArgs {
25
15
  }
26
- export interface ZoneSettingProps extends ZoneSettingConfig {
16
+ export interface ZoneSettingProps extends ZoneSettingArgs {
27
17
  }
28
- export interface ZoneDnsSettingsProps extends ZoneDnsSettingsConfig {
18
+ export interface ZoneDnsSettingsProps extends ZoneDnsSettingsArgs {
29
19
  }
@@ -1,4 +1,6 @@
1
+ import { ComponentResourceOptions } from '@pulumi/pulumi';
1
2
  export interface BaseProps {
3
+ debug?: boolean;
2
4
  domainName: string;
3
5
  extraContexts?: string[];
4
6
  name: string;
@@ -7,3 +9,5 @@ export interface BaseProps {
7
9
  stageContextPath?: string;
8
10
  subDomain?: string;
9
11
  }
12
+ export interface BaseOptions extends ComponentResourceOptions {
13
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "9.88.0",
3
+ "version": "10.0.0",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -61,6 +61,12 @@
61
61
  "@cdktf/provider-aws": "^21.22.1",
62
62
  "@cdktf/provider-azurerm": "^14.23.1",
63
63
  "@cdktf/provider-cloudflare": "^13.9.1",
64
+ "@pulumi/aws": "^7.14.0",
65
+ "@pulumi/azure-native": "^3.11.0",
66
+ "@pulumi/cloudflare": "^6.11.0",
67
+ "@pulumi/command": "^1.1.3",
68
+ "@pulumi/pulumi": "^3.213.0",
69
+ "@pulumi/std": "^2.2.0",
64
70
  "@types/lodash": "^4.17.21",
65
71
  "@types/node": "^25.0.3",
66
72
  "@types/uuid": "^11.0.0",
@@ -14,7 +14,7 @@ import {
14
14
  DataAzurermApiManagementConfig,
15
15
  } from '@cdktf/provider-azurerm/lib/data-azurerm-api-management/index.js'
16
16
  import { DataAzurermResourceGroup } from '@cdktf/provider-azurerm/lib/data-azurerm-resource-group/index.js'
17
- import { RedisCache } from '@cdktf/provider-azurerm/lib/redis-cache/index.js'
17
+ import { ManagedRedis } from '@cdktf/provider-azurerm/lib/managed-redis/index.js'
18
18
  import _ from 'lodash'
19
19
  import { CommonAzureConstruct } from '../../common/index.js'
20
20
  import { createAzureTfOutput } from '../../utils/index.js'
@@ -55,7 +55,7 @@ export class AzureApiManagementManager {
55
55
  scope: CommonAzureConstruct,
56
56
  props: ApiManagementProps,
57
57
  applicationInsightsKey?: ApiManagementLoggerApplicationInsights['instrumentationKey'],
58
- externalRedisCache?: RedisCache
58
+ externalRedisCache?: ManagedRedis
59
59
  ) {
60
60
  if (!props) throw `Props undefined for ${id}`
61
61
 
@@ -91,7 +91,7 @@ export class AzureApiManagementManager {
91
91
  new ApiManagementRedisCache(scope, `${id}-am-redis-cache`, {
92
92
  name: scope.resourceNameFormatter.format(props.name, scope.props.resourceNameOptions?.apiManagementRedisCache),
93
93
  apiManagementId: apiManagement.id,
94
- connectionString: externalRedisCache.primaryConnectionString,
94
+ connectionString: `${externalRedisCache.name}:10000,password=${externalRedisCache.defaultDatabase.primaryAccessKey},ssl=True,abortConnect=False`,
95
95
  cacheLocation: externalRedisCache.location,
96
96
  redisCacheId: externalRedisCache.id,
97
97
  })