@gradientedge/cdk-utils 9.89.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.
- package/dist/src/lib/cloudflare/common/construct.d.ts +7 -19
- package/dist/src/lib/cloudflare/common/construct.js +12 -66
- package/dist/src/lib/cloudflare/common/index.d.ts +0 -1
- package/dist/src/lib/cloudflare/common/index.js +0 -1
- package/dist/src/lib/cloudflare/common/stack.d.ts +11 -21
- package/dist/src/lib/cloudflare/common/stack.js +55 -62
- package/dist/src/lib/cloudflare/common/types.d.ts +2 -14
- package/dist/src/lib/cloudflare/construct/pages-static-site/main.d.ts +8 -10
- package/dist/src/lib/cloudflare/construct/pages-static-site/main.js +18 -25
- package/dist/src/lib/cloudflare/construct/worker-site/main.d.ts +13 -10
- package/dist/src/lib/cloudflare/construct/worker-site/main.js +29 -41
- package/dist/src/lib/cloudflare/index.d.ts +0 -1
- package/dist/src/lib/cloudflare/index.js +0 -1
- package/dist/src/lib/cloudflare/services/access/main.d.ts +31 -43
- package/dist/src/lib/cloudflare/services/access/main.js +56 -83
- package/dist/src/lib/cloudflare/services/access/types.d.ts +12 -22
- package/dist/src/lib/cloudflare/services/api-shield/main.d.ts +10 -15
- package/dist/src/lib/cloudflare/services/api-shield/main.js +16 -36
- package/dist/src/lib/cloudflare/services/api-shield/types.d.ts +6 -10
- package/dist/src/lib/cloudflare/services/argo/main.d.ts +6 -8
- package/dist/src/lib/cloudflare/services/argo/main.js +9 -17
- package/dist/src/lib/cloudflare/services/argo/types.d.ts +3 -4
- package/dist/src/lib/cloudflare/services/filter/main.d.ts +3 -4
- package/dist/src/lib/cloudflare/services/filter/main.js +6 -10
- package/dist/src/lib/cloudflare/services/filter/types.d.ts +2 -2
- package/dist/src/lib/cloudflare/services/firewall/main.d.ts +2 -3
- package/dist/src/lib/cloudflare/services/firewall/main.js +4 -8
- package/dist/src/lib/cloudflare/services/firewall/types.d.ts +2 -2
- package/dist/src/lib/cloudflare/services/page/main.d.ts +7 -11
- package/dist/src/lib/cloudflare/services/page/main.js +13 -26
- package/dist/src/lib/cloudflare/services/page/types.d.ts +4 -6
- package/dist/src/lib/cloudflare/services/record/main.d.ts +2 -3
- package/dist/src/lib/cloudflare/services/record/main.js +4 -8
- package/dist/src/lib/cloudflare/services/record/types.d.ts +2 -2
- package/dist/src/lib/cloudflare/services/rule-set/main.d.ts +5 -6
- package/dist/src/lib/cloudflare/services/rule-set/main.js +7 -10
- package/dist/src/lib/cloudflare/services/rule-set/types.d.ts +2 -2
- package/dist/src/lib/cloudflare/services/worker/main.d.ts +12 -18
- package/dist/src/lib/cloudflare/services/worker/main.js +15 -39
- package/dist/src/lib/cloudflare/services/worker/types.d.ts +7 -12
- package/dist/src/lib/cloudflare/services/zone/main.d.ts +13 -30
- package/dist/src/lib/cloudflare/services/zone/main.js +31 -84
- package/dist/src/lib/cloudflare/services/zone/types.d.ts +10 -20
- package/dist/src/lib/common/types.d.ts +4 -0
- package/package.json +7 -1
- package/src/lib/cloudflare/common/construct.ts +13 -70
- package/src/lib/cloudflare/common/index.ts +0 -1
- package/src/lib/cloudflare/common/stack.ts +58 -69
- package/src/lib/cloudflare/common/types.ts +2 -15
- package/src/lib/cloudflare/construct/pages-static-site/main.ts +22 -42
- package/src/lib/cloudflare/construct/worker-site/main.ts +38 -62
- package/src/lib/cloudflare/index.ts +0 -1
- package/src/lib/cloudflare/services/access/main.ts +57 -118
- package/src/lib/cloudflare/services/access/types.ts +24 -22
- package/src/lib/cloudflare/services/api-shield/main.ts +16 -63
- package/src/lib/cloudflare/services/api-shield/types.ts +12 -10
- package/src/lib/cloudflare/services/argo/main.ts +9 -23
- package/src/lib/cloudflare/services/argo/types.ts +3 -4
- package/src/lib/cloudflare/services/filter/main.ts +6 -13
- package/src/lib/cloudflare/services/filter/types.ts +2 -2
- package/src/lib/cloudflare/services/firewall/main.ts +4 -11
- package/src/lib/cloudflare/services/firewall/types.ts +2 -2
- package/src/lib/cloudflare/services/page/main.ts +19 -36
- package/src/lib/cloudflare/services/page/types.ts +4 -6
- package/src/lib/cloudflare/services/record/main.ts +4 -11
- package/src/lib/cloudflare/services/record/types.ts +2 -2
- package/src/lib/cloudflare/services/rule-set/main.ts +7 -12
- package/src/lib/cloudflare/services/rule-set/types.ts +2 -2
- package/src/lib/cloudflare/services/worker/main.ts +15 -52
- package/src/lib/cloudflare/services/worker/types.ts +14 -12
- package/src/lib/cloudflare/services/zone/main.ts +40 -103
- package/src/lib/cloudflare/services/zone/types.ts +20 -21
- package/src/lib/common/types.ts +5 -0
- package/dist/src/lib/cloudflare/common/constants.d.ts +0 -5
- package/dist/src/lib/cloudflare/common/constants.js +0 -6
- package/dist/src/lib/cloudflare/utils/index.d.ts +0 -3
- package/dist/src/lib/cloudflare/utils/index.js +0 -13
- package/src/lib/cloudflare/common/constants.ts +0 -5
- package/src/lib/cloudflare/utils/index.ts +0 -23
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { AssetType, Fn, TerraformAsset } from 'cdktf';
|
|
1
|
+
import * as aws from '@pulumi/aws';
|
|
2
|
+
import * as azure from '@pulumi/azure-native';
|
|
3
|
+
import * as std from '@pulumi/std';
|
|
4
|
+
import fs from 'fs';
|
|
6
5
|
import { CommonCloudflareConstruct } from '../../common/index.js';
|
|
7
6
|
/**
|
|
8
7
|
* @classdesc Provides a construct to create and deploy a cloudflare worker site
|
|
@@ -23,11 +22,15 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
|
|
|
23
22
|
/* worker site resources */
|
|
24
23
|
siteZone;
|
|
25
24
|
siteWorkerScript;
|
|
25
|
+
siteWorkerDomain;
|
|
26
|
+
siteRuleSet;
|
|
27
|
+
siteZoneSetting;
|
|
26
28
|
workerPlainTextBindingEnvironmentVariables = [];
|
|
27
29
|
workerSecretTextBindingEnvironmentVariables = [];
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
30
|
+
constructor(id, props, options) {
|
|
31
|
+
super(id, props);
|
|
30
32
|
this.props = props;
|
|
33
|
+
this.options = options;
|
|
31
34
|
this.id = id;
|
|
32
35
|
}
|
|
33
36
|
/**
|
|
@@ -65,20 +68,17 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
|
|
|
65
68
|
* @summary Create the worker
|
|
66
69
|
*/
|
|
67
70
|
createWorker() {
|
|
68
|
-
const workerContent =
|
|
69
|
-
path: this.props.siteWorkerAsset,
|
|
70
|
-
type: AssetType.FILE,
|
|
71
|
-
});
|
|
71
|
+
const workerContent = fs.readFileSync(this.props.siteWorkerAsset, 'utf-8');
|
|
72
72
|
this.siteWorkerScript = this.workerManager.createWorkerScript(`${this.id}-worker-script`, this, {
|
|
73
73
|
...this.props.siteWorkerScript,
|
|
74
|
-
content:
|
|
74
|
+
content: workerContent,
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
78
78
|
* @summary Create the worker domain
|
|
79
79
|
*/
|
|
80
80
|
createWorkerDomain() {
|
|
81
|
-
this.workerManager.createWorkerDomain(`${this.id}-worker-domain`, this, {
|
|
81
|
+
this.siteWorkerDomain = this.workerManager.createWorkerDomain(`${this.id}-worker-domain`, this, {
|
|
82
82
|
...this.props.siteWorkerDomain,
|
|
83
83
|
environment: this.props.siteWorkerDomain.environment ?? 'production',
|
|
84
84
|
hostname: `${this.props.siteSubDomain}.${this.props.domainName}`,
|
|
@@ -91,20 +91,14 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
|
|
|
91
91
|
* @param secretKey the secret key
|
|
92
92
|
* @returns the secret value
|
|
93
93
|
*/
|
|
94
|
-
resolveSecretFromAWS(secretName, secretKey
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
const
|
|
99
|
-
name: secretName,
|
|
100
|
-
});
|
|
101
|
-
const secretVersion = new DataAwsSecretsmanagerSecretVersion(this, id ? `${id}-ver` : `${this.id}-${secretName}-${secretKey}-ver`, {
|
|
102
|
-
provider: this.awsProvider,
|
|
103
|
-
secretId: secret.id,
|
|
104
|
-
});
|
|
94
|
+
resolveSecretFromAWS(secretName, secretKey) {
|
|
95
|
+
if (this.config.require('secretsProvider') !== 'aws')
|
|
96
|
+
return;
|
|
97
|
+
const secret = aws.secretsmanager.getSecretOutput({ name: secretName });
|
|
98
|
+
const secretVersion = aws.secretsmanager.getSecretVersionOutput({ secretId: secret.id });
|
|
105
99
|
if (!secretVersion)
|
|
106
100
|
throw new Error(`Unable to resolve secret:${secretName}`);
|
|
107
|
-
return
|
|
101
|
+
return std.jsondecodeOutput({ input: secretVersion.secretString });
|
|
108
102
|
}
|
|
109
103
|
/**
|
|
110
104
|
* @summary Resolve secrets from Azure Key Vault
|
|
@@ -114,23 +108,17 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
|
|
|
114
108
|
* @param secretKey the secret key
|
|
115
109
|
* @returns the secret value
|
|
116
110
|
*/
|
|
117
|
-
resolveSecretFromAzure(resourceGroupName, keyVaultName, secretKey
|
|
118
|
-
if (
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
provider: this.azurermProvider,
|
|
125
|
-
});
|
|
126
|
-
const secretValueData = new DataAzurermKeyVaultSecret(this, id ? `${id}-secret` : `${this.id}-${resourceGroupName}-${keyVaultName}-${secretKey}-secret`, {
|
|
127
|
-
name: secretKey,
|
|
128
|
-
keyVaultId: keyVaultData.id,
|
|
129
|
-
provider: this.azurermProvider,
|
|
111
|
+
resolveSecretFromAzure(resourceGroupName, keyVaultName, secretKey) {
|
|
112
|
+
if (this.config.require('secretsProvider') !== 'azure')
|
|
113
|
+
return;
|
|
114
|
+
const secretValueData = azure.keyvault.getSecretOutput({
|
|
115
|
+
resourceGroupName,
|
|
116
|
+
secretName: secretKey,
|
|
117
|
+
vaultName: keyVaultName,
|
|
130
118
|
});
|
|
131
119
|
if (!secretValueData)
|
|
132
120
|
throw new Error(`Unable to resolve secret:${secretKey}`);
|
|
133
|
-
return secretValueData.value;
|
|
121
|
+
return secretValueData.properties?.value;
|
|
134
122
|
}
|
|
135
123
|
/**
|
|
136
124
|
* @summary Create the rules
|
|
@@ -138,7 +126,7 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
|
|
|
138
126
|
createRuleset() {
|
|
139
127
|
if (!this.props.siteRuleSet)
|
|
140
128
|
return;
|
|
141
|
-
this.ruleSetManager.createRuleSet(`${this.id}-rule`, this, this.props.siteRuleSet);
|
|
129
|
+
this.siteRuleSet = this.ruleSetManager.createRuleSet(`${this.id}-rule`, this, this.props.siteRuleSet);
|
|
142
130
|
}
|
|
143
131
|
/**
|
|
144
132
|
* @summary Create zone settings override
|
|
@@ -146,6 +134,6 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
|
|
|
146
134
|
createZoneSetting() {
|
|
147
135
|
if (!this.props.siteZoneSetting)
|
|
148
136
|
return;
|
|
149
|
-
this.zoneManager.createZoneSetting(`${this.id}-zone-setting`, this, this.props.siteZoneSetting);
|
|
137
|
+
this.siteZoneSetting = this.zoneManager.createZoneSetting(`${this.id}-zone-setting`, this, this.props.siteZoneSetting);
|
|
150
138
|
}
|
|
151
139
|
}
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ZeroTrustAccessApplication } from '@cdktf/provider-cloudflare/lib/zero-trust-access-application/index.js';
|
|
3
|
-
import { ZeroTrustAccessCustomPage } from '@cdktf/provider-cloudflare/lib/zero-trust-access-custom-page/index.js';
|
|
4
|
-
import { ZeroTrustAccessGroup } from '@cdktf/provider-cloudflare/lib/zero-trust-access-group/index.js';
|
|
5
|
-
import { ZeroTrustAccessIdentityProvider } from '@cdktf/provider-cloudflare/lib/zero-trust-access-identity-provider/index.js';
|
|
6
|
-
import { ZeroTrustAccessMtlsCertificate } from '@cdktf/provider-cloudflare/lib/zero-trust-access-mtls-certificate/index.js';
|
|
7
|
-
import { ZeroTrustAccessPolicy } from '@cdktf/provider-cloudflare/lib/zero-trust-access-policy/index.js';
|
|
8
|
-
import { ZeroTrustAccessServiceToken } from '@cdktf/provider-cloudflare/lib/zero-trust-access-service-token/index.js';
|
|
9
|
-
import { ZeroTrustAccessShortLivedCertificate } from '@cdktf/provider-cloudflare/lib/zero-trust-access-short-lived-certificate/index.js';
|
|
10
|
-
import { ZeroTrustAccessTag } from '@cdktf/provider-cloudflare/lib/zero-trust-access-tag/index.js';
|
|
11
|
-
import { ZeroTrustOrganization } from '@cdktf/provider-cloudflare/lib/zero-trust-organization/index.js';
|
|
12
|
-
import { CommonCloudflareConstruct } from '../../common/index.js';
|
|
1
|
+
import { CommonCloudflareConstruct } from '../../common/construct.js';
|
|
13
2
|
import { AccessRuleProps, ZeroTrustAccessApplicationProps, ZeroTrustAccessCustomPageProps, ZeroTrustAccessGroupProps, ZeroTrustAccessIdentityProviderProps, ZeroTrustAccessMtlsCertificateProps, ZeroTrustAccessPolicyProps, ZeroTrustAccessServiceTokenProps, ZeroTrustAccessShortLivedCertificateProps, ZeroTrustAccessTagProps, ZeroTrustOrganizationProps } from './types.js';
|
|
14
3
|
/**
|
|
15
4
|
* @classdesc Provides operations on Cloudflare Access
|
|
16
|
-
* - A new instance of this class is injected into {@link
|
|
17
|
-
* - If a custom
|
|
5
|
+
* - A new instance of this class is injected into {@link CommonCloudflareComponent} constructor.
|
|
6
|
+
* - If a custom component extends {@link CommonCloudflareComponent}, an instance is available within the context.
|
|
18
7
|
* @example
|
|
19
8
|
* ```
|
|
20
|
-
* import {
|
|
9
|
+
* import { CommonCloudflareComponent, CloudflareAccessManager } from '@gradientedge/cdk-utils'
|
|
21
10
|
*
|
|
22
|
-
* class
|
|
23
|
-
* constructor(
|
|
24
|
-
* super(
|
|
25
|
-
* this.
|
|
26
|
-
* this.accessManager.createApiShield('MyAppAccess', this, props)
|
|
11
|
+
* class CustomComponent extends CommonCloudflareComponent {
|
|
12
|
+
* constructor(name: string, args: any, opts?: pulumi.ComponentResourceOptions) {
|
|
13
|
+
* super(name, args, opts)
|
|
14
|
+
* this.accessManager.createAccessApplication('MyAppAccess', this, props)
|
|
27
15
|
* }
|
|
28
16
|
* }
|
|
29
17
|
* ```
|
|
@@ -34,87 +22,87 @@ export declare class CloudflareAccessManager {
|
|
|
34
22
|
* @param id scoped id of the resource
|
|
35
23
|
* @param scope scope in which this resource is defined
|
|
36
24
|
* @param props access application properties
|
|
37
|
-
* @see [
|
|
25
|
+
* @see [Pulumi Cloudflare Access Application]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessapplication/}
|
|
38
26
|
*/
|
|
39
|
-
createAccessApplication(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessApplicationProps): ZeroTrustAccessApplication;
|
|
27
|
+
createAccessApplication(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessApplicationProps): import("@pulumi/cloudflare/zeroTrustAccessApplication.js").ZeroTrustAccessApplication;
|
|
40
28
|
/**
|
|
41
29
|
* @summary Method to create a new Cloudflare Application Access Short Lived Certificate
|
|
42
30
|
* @param id scoped id of the resource
|
|
43
31
|
* @param scope scope in which this resource is defined
|
|
44
|
-
* @param props access short lived
|
|
45
|
-
* @see [
|
|
32
|
+
* @param props access short lived certificate properties
|
|
33
|
+
* @see [Pulumi Cloudflare Access Short Lived Certificate]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessshortlivedcertificate/}
|
|
46
34
|
*/
|
|
47
|
-
createAccessShortLivedCertificate(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessShortLivedCertificateProps): ZeroTrustAccessShortLivedCertificate;
|
|
35
|
+
createAccessShortLivedCertificate(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessShortLivedCertificateProps): import("@pulumi/cloudflare/zeroTrustAccessShortLivedCertificate.js").ZeroTrustAccessShortLivedCertificate;
|
|
48
36
|
/**
|
|
49
37
|
* @summary Method to create a new Cloudflare Application Access Custom Page
|
|
50
38
|
* @param id scoped id of the resource
|
|
51
39
|
* @param scope scope in which this resource is defined
|
|
52
40
|
* @param props access custom page properties
|
|
53
|
-
* @see [
|
|
41
|
+
* @see [Pulumi Cloudflare Access Custom Page]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccesscustompage/}
|
|
54
42
|
*/
|
|
55
|
-
createAccessCustomPage(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessCustomPageProps): ZeroTrustAccessCustomPage;
|
|
43
|
+
createAccessCustomPage(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessCustomPageProps): import("@pulumi/cloudflare/zeroTrustAccessCustomPage.js").ZeroTrustAccessCustomPage;
|
|
56
44
|
/**
|
|
57
45
|
* @summary Method to create a new Cloudflare Application Access Group
|
|
58
46
|
* @param id scoped id of the resource
|
|
59
47
|
* @param scope scope in which this resource is defined
|
|
60
48
|
* @param props access group properties
|
|
61
|
-
* @see [
|
|
49
|
+
* @see [Pulumi Cloudflare Access Group]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessgroup/}
|
|
62
50
|
*/
|
|
63
|
-
createAccessGroup(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessGroupProps): ZeroTrustAccessGroup;
|
|
51
|
+
createAccessGroup(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessGroupProps): import("@pulumi/cloudflare/zeroTrustAccessGroup.js").ZeroTrustAccessGroup;
|
|
64
52
|
/**
|
|
65
53
|
* @summary Method to create a new Cloudflare Application Access Identity Provider
|
|
66
54
|
* @param id scoped id of the resource
|
|
67
55
|
* @param scope scope in which this resource is defined
|
|
68
56
|
* @param props access identity provider properties
|
|
69
|
-
* @see [
|
|
57
|
+
* @see [Pulumi Cloudflare Access Identity Provider]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessidentityprovider/}
|
|
70
58
|
*/
|
|
71
|
-
createAccessIdentityProvider(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessIdentityProviderProps): ZeroTrustAccessIdentityProvider;
|
|
59
|
+
createAccessIdentityProvider(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessIdentityProviderProps): import("@pulumi/cloudflare/zeroTrustAccessIdentityProvider.js").ZeroTrustAccessIdentityProvider;
|
|
72
60
|
/**
|
|
73
61
|
* @summary Method to create a new Cloudflare Application Access Mutual Tls Certificate
|
|
74
62
|
* @param id scoped id of the resource
|
|
75
63
|
* @param scope scope in which this resource is defined
|
|
76
64
|
* @param props access mutual tls certificate properties
|
|
77
|
-
* @see [
|
|
65
|
+
* @see [Pulumi Cloudflare Access Mutual Tls Certificate]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessmtlscertificate/}
|
|
78
66
|
*/
|
|
79
|
-
createAccessMutualTlsCertificate(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessMtlsCertificateProps): ZeroTrustAccessMtlsCertificate;
|
|
67
|
+
createAccessMutualTlsCertificate(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessMtlsCertificateProps): import("@pulumi/cloudflare/zeroTrustAccessMtlsCertificate.js").ZeroTrustAccessMtlsCertificate;
|
|
80
68
|
/**
|
|
81
69
|
* @summary Method to create a new Cloudflare Application Access Organisation
|
|
82
70
|
* @param id scoped id of the resource
|
|
83
71
|
* @param scope scope in which this resource is defined
|
|
84
72
|
* @param props access organisation properties
|
|
85
|
-
* @see [
|
|
73
|
+
* @see [Pulumi Cloudflare Zero Trust Organization]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustorganization/}
|
|
86
74
|
*/
|
|
87
|
-
createAccessOrganization(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustOrganizationProps): ZeroTrustOrganization;
|
|
75
|
+
createAccessOrganization(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustOrganizationProps): import("@pulumi/cloudflare/zeroTrustOrganization.js").ZeroTrustOrganization;
|
|
88
76
|
/**
|
|
89
77
|
* @summary Method to create a new Cloudflare Application Access Policy
|
|
90
78
|
* @param id scoped id of the resource
|
|
91
79
|
* @param scope scope in which this resource is defined
|
|
92
80
|
* @param props access policy properties
|
|
93
|
-
* @see [
|
|
81
|
+
* @see [Pulumi Cloudflare Access Policy]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccesspolicy/}
|
|
94
82
|
*/
|
|
95
|
-
createAccessPolicy(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessPolicyProps): ZeroTrustAccessPolicy;
|
|
83
|
+
createAccessPolicy(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessPolicyProps): import("@pulumi/cloudflare/zeroTrustAccessPolicy.js").ZeroTrustAccessPolicy;
|
|
96
84
|
/**
|
|
97
85
|
* @summary Method to create a new Cloudflare Application Access Rule
|
|
98
86
|
* @param id scoped id of the resource
|
|
99
87
|
* @param scope scope in which this resource is defined
|
|
100
88
|
* @param props access rule properties
|
|
101
|
-
* @see [
|
|
89
|
+
* @see [Pulumi Cloudflare Access Rule]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/accessrule/}
|
|
102
90
|
*/
|
|
103
|
-
createAccessRule(id: string, scope: CommonCloudflareConstruct, props: AccessRuleProps): AccessRule;
|
|
91
|
+
createAccessRule(id: string, scope: CommonCloudflareConstruct, props: AccessRuleProps): import("@pulumi/cloudflare/accessRule.js").AccessRule;
|
|
104
92
|
/**
|
|
105
93
|
* @summary Method to create a new Cloudflare Application Access Service Token
|
|
106
94
|
* @param id scoped id of the resource
|
|
107
95
|
* @param scope scope in which this resource is defined
|
|
108
96
|
* @param props access service token properties
|
|
109
|
-
* @see [
|
|
97
|
+
* @see [Pulumi Cloudflare Access Service Token]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessservicetoken/}
|
|
110
98
|
*/
|
|
111
|
-
createAccessServiceToken(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessServiceTokenProps): ZeroTrustAccessServiceToken;
|
|
99
|
+
createAccessServiceToken(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessServiceTokenProps): import("@pulumi/cloudflare/zeroTrustAccessServiceToken.js").ZeroTrustAccessServiceToken;
|
|
112
100
|
/**
|
|
113
101
|
* @summary Method to create a new Cloudflare Application Access Tag
|
|
114
102
|
* @param id scoped id of the resource
|
|
115
103
|
* @param scope scope in which this resource is defined
|
|
116
104
|
* @param props access tag properties
|
|
117
|
-
* @see [
|
|
105
|
+
* @see [Pulumi Cloudflare Access Tag]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccesstag/}
|
|
118
106
|
*/
|
|
119
|
-
createAccessTag(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessTagProps): ZeroTrustAccessTag;
|
|
107
|
+
createAccessTag(id: string, scope: CommonCloudflareConstruct, props: ZeroTrustAccessTagProps): import("@pulumi/cloudflare/zeroTrustAccessTag.js").ZeroTrustAccessTag;
|
|
120
108
|
}
|
|
@@ -1,28 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ZeroTrustAccessApplication } from '@cdktf/provider-cloudflare/lib/zero-trust-access-application/index.js';
|
|
3
|
-
import { ZeroTrustAccessCustomPage } from '@cdktf/provider-cloudflare/lib/zero-trust-access-custom-page/index.js';
|
|
4
|
-
import { ZeroTrustAccessGroup } from '@cdktf/provider-cloudflare/lib/zero-trust-access-group/index.js';
|
|
5
|
-
import { ZeroTrustAccessIdentityProvider } from '@cdktf/provider-cloudflare/lib/zero-trust-access-identity-provider/index.js';
|
|
6
|
-
import { ZeroTrustAccessMtlsCertificate } from '@cdktf/provider-cloudflare/lib/zero-trust-access-mtls-certificate/index.js';
|
|
7
|
-
import { ZeroTrustAccessPolicy } from '@cdktf/provider-cloudflare/lib/zero-trust-access-policy/index.js';
|
|
8
|
-
import { ZeroTrustAccessServiceToken } from '@cdktf/provider-cloudflare/lib/zero-trust-access-service-token/index.js';
|
|
9
|
-
import { ZeroTrustAccessShortLivedCertificate } from '@cdktf/provider-cloudflare/lib/zero-trust-access-short-lived-certificate/index.js';
|
|
10
|
-
import { ZeroTrustAccessTag } from '@cdktf/provider-cloudflare/lib/zero-trust-access-tag/index.js';
|
|
11
|
-
import { ZeroTrustOrganization } from '@cdktf/provider-cloudflare/lib/zero-trust-organization/index.js';
|
|
12
|
-
import { createCloudflareTfOutput } from '../../utils/index.js';
|
|
1
|
+
import * as cloudflare from '@pulumi/cloudflare';
|
|
13
2
|
/**
|
|
14
3
|
* @classdesc Provides operations on Cloudflare Access
|
|
15
|
-
* - A new instance of this class is injected into {@link
|
|
16
|
-
* - If a custom
|
|
4
|
+
* - A new instance of this class is injected into {@link CommonCloudflareComponent} constructor.
|
|
5
|
+
* - If a custom component extends {@link CommonCloudflareComponent}, an instance is available within the context.
|
|
17
6
|
* @example
|
|
18
7
|
* ```
|
|
19
|
-
* import {
|
|
8
|
+
* import { CommonCloudflareComponent, CloudflareAccessManager } from '@gradientedge/cdk-utils'
|
|
20
9
|
*
|
|
21
|
-
* class
|
|
22
|
-
* constructor(
|
|
23
|
-
* super(
|
|
24
|
-
* this.
|
|
25
|
-
* this.accessManager.createApiShield('MyAppAccess', this, props)
|
|
10
|
+
* class CustomComponent extends CommonCloudflareComponent {
|
|
11
|
+
* constructor(name: string, args: any, opts?: pulumi.ComponentResourceOptions) {
|
|
12
|
+
* super(name, args, opts)
|
|
13
|
+
* this.accessManager.createAccessApplication('MyAppAccess', this, props)
|
|
26
14
|
* }
|
|
27
15
|
* }
|
|
28
16
|
* ```
|
|
@@ -33,232 +21,217 @@ export class CloudflareAccessManager {
|
|
|
33
21
|
* @param id scoped id of the resource
|
|
34
22
|
* @param scope scope in which this resource is defined
|
|
35
23
|
* @param props access application properties
|
|
36
|
-
* @see [
|
|
24
|
+
* @see [Pulumi Cloudflare Access Application]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessapplication/}
|
|
37
25
|
*/
|
|
38
26
|
createAccessApplication(id, scope, props) {
|
|
39
27
|
if (!props)
|
|
40
28
|
throw `Props undefined for ${id}`;
|
|
41
29
|
const zoneId = props.zoneId
|
|
42
30
|
? props.zoneId
|
|
43
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
44
|
-
|
|
31
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
32
|
+
filter: { name: scope.props.domainName },
|
|
33
|
+
})?.id;
|
|
34
|
+
return new cloudflare.ZeroTrustAccessApplication(`${id}`, {
|
|
45
35
|
...props,
|
|
46
36
|
domain: `${props.domain}-${scope.props.domainName}`,
|
|
47
37
|
name: `${props.name}-${scope.props.stage}`,
|
|
48
38
|
zoneId,
|
|
49
39
|
});
|
|
50
|
-
createCloudflareTfOutput(`${id}-accessApplicationFriendlyUniqueId`, scope, accessApplication.friendlyUniqueId);
|
|
51
|
-
createCloudflareTfOutput(`${id}-accessApplicationId`, scope, accessApplication.id);
|
|
52
|
-
return accessApplication;
|
|
53
40
|
}
|
|
54
41
|
/**
|
|
55
42
|
* @summary Method to create a new Cloudflare Application Access Short Lived Certificate
|
|
56
43
|
* @param id scoped id of the resource
|
|
57
44
|
* @param scope scope in which this resource is defined
|
|
58
|
-
* @param props access short lived
|
|
59
|
-
* @see [
|
|
45
|
+
* @param props access short lived certificate properties
|
|
46
|
+
* @see [Pulumi Cloudflare Access Short Lived Certificate]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessshortlivedcertificate/}
|
|
60
47
|
*/
|
|
61
48
|
createAccessShortLivedCertificate(id, scope, props) {
|
|
62
49
|
if (!props)
|
|
63
50
|
throw `Props undefined for ${id}`;
|
|
64
51
|
const zoneId = props.zoneId
|
|
65
52
|
? props.zoneId
|
|
66
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
67
|
-
|
|
53
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
54
|
+
filter: { name: scope.props.domainName },
|
|
55
|
+
})?.id;
|
|
56
|
+
return new cloudflare.ZeroTrustAccessShortLivedCertificate(`${id}`, {
|
|
68
57
|
...props,
|
|
69
58
|
zoneId,
|
|
70
59
|
});
|
|
71
|
-
createCloudflareTfOutput(`${id}-accessShortLivedCertificateFriendlyUniqueId`, scope, accessShortLivedCertificate.friendlyUniqueId);
|
|
72
|
-
createCloudflareTfOutput(`${id}-accessShortLivedCertificateId`, scope, accessShortLivedCertificate.id);
|
|
73
|
-
return accessShortLivedCertificate;
|
|
74
60
|
}
|
|
75
61
|
/**
|
|
76
62
|
* @summary Method to create a new Cloudflare Application Access Custom Page
|
|
77
63
|
* @param id scoped id of the resource
|
|
78
64
|
* @param scope scope in which this resource is defined
|
|
79
65
|
* @param props access custom page properties
|
|
80
|
-
* @see [
|
|
66
|
+
* @see [Pulumi Cloudflare Access Custom Page]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccesscustompage/}
|
|
81
67
|
*/
|
|
82
68
|
createAccessCustomPage(id, scope, props) {
|
|
83
69
|
if (!props)
|
|
84
70
|
throw `Props undefined for ${id}`;
|
|
85
|
-
|
|
71
|
+
return new cloudflare.ZeroTrustAccessCustomPage(`${id}`, {
|
|
86
72
|
...props,
|
|
87
73
|
accountId: props.accountId ?? scope.props.accountId,
|
|
88
74
|
name: `${props.name}-${scope.props.stage}`,
|
|
89
75
|
});
|
|
90
|
-
createCloudflareTfOutput(`${id}-accessCustomPageFriendlyUniqueId`, scope, accessCustomPage.friendlyUniqueId);
|
|
91
|
-
createCloudflareTfOutput(`${id}-accessCustomPageId`, scope, accessCustomPage.id);
|
|
92
|
-
return accessCustomPage;
|
|
93
76
|
}
|
|
94
77
|
/**
|
|
95
78
|
* @summary Method to create a new Cloudflare Application Access Group
|
|
96
79
|
* @param id scoped id of the resource
|
|
97
80
|
* @param scope scope in which this resource is defined
|
|
98
81
|
* @param props access group properties
|
|
99
|
-
* @see [
|
|
82
|
+
* @see [Pulumi Cloudflare Access Group]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessgroup/}
|
|
100
83
|
*/
|
|
101
84
|
createAccessGroup(id, scope, props) {
|
|
102
85
|
if (!props)
|
|
103
86
|
throw `Props undefined for ${id}`;
|
|
104
87
|
const zoneId = props.zoneId
|
|
105
88
|
? props.zoneId
|
|
106
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
107
|
-
|
|
89
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
90
|
+
filter: { name: scope.props.domainName },
|
|
91
|
+
})?.id;
|
|
92
|
+
return new cloudflare.ZeroTrustAccessGroup(`${id}`, {
|
|
108
93
|
...props,
|
|
109
94
|
name: `${props.name} - ${scope.props.stage.toUpperCase()}`,
|
|
110
95
|
zoneId,
|
|
111
96
|
});
|
|
112
|
-
createCloudflareTfOutput(`${id}-accessGroupFriendlyUniqueId`, scope, accessGroup.friendlyUniqueId);
|
|
113
|
-
createCloudflareTfOutput(`${id}-accessGroupId`, scope, accessGroup.id);
|
|
114
|
-
return accessGroup;
|
|
115
97
|
}
|
|
116
98
|
/**
|
|
117
99
|
* @summary Method to create a new Cloudflare Application Access Identity Provider
|
|
118
100
|
* @param id scoped id of the resource
|
|
119
101
|
* @param scope scope in which this resource is defined
|
|
120
102
|
* @param props access identity provider properties
|
|
121
|
-
* @see [
|
|
103
|
+
* @see [Pulumi Cloudflare Access Identity Provider]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessidentityprovider/}
|
|
122
104
|
*/
|
|
123
105
|
createAccessIdentityProvider(id, scope, props) {
|
|
124
106
|
if (!props)
|
|
125
107
|
throw `Props undefined for ${id}`;
|
|
126
108
|
const zoneId = props.zoneId
|
|
127
109
|
? props.zoneId
|
|
128
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
129
|
-
|
|
110
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
111
|
+
filter: { name: scope.props.domainName },
|
|
112
|
+
})?.id;
|
|
113
|
+
return new cloudflare.ZeroTrustAccessIdentityProvider(`${id}`, {
|
|
130
114
|
...props,
|
|
115
|
+
config: props.config ?? {},
|
|
131
116
|
name: `${props.name}-${scope.props.stage}`,
|
|
132
117
|
zoneId,
|
|
133
118
|
});
|
|
134
|
-
createCloudflareTfOutput(`${id}-accessIdentityProviderFriendlyUniqueId`, scope, accessIdentityProvider.friendlyUniqueId);
|
|
135
|
-
createCloudflareTfOutput(`${id}-accessIdentityProviderId`, scope, accessIdentityProvider.id);
|
|
136
|
-
return accessIdentityProvider;
|
|
137
119
|
}
|
|
138
120
|
/**
|
|
139
121
|
* @summary Method to create a new Cloudflare Application Access Mutual Tls Certificate
|
|
140
122
|
* @param id scoped id of the resource
|
|
141
123
|
* @param scope scope in which this resource is defined
|
|
142
124
|
* @param props access mutual tls certificate properties
|
|
143
|
-
* @see [
|
|
125
|
+
* @see [Pulumi Cloudflare Access Mutual Tls Certificate]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessmtlscertificate/}
|
|
144
126
|
*/
|
|
145
127
|
createAccessMutualTlsCertificate(id, scope, props) {
|
|
146
128
|
if (!props)
|
|
147
129
|
throw `Props undefined for ${id}`;
|
|
148
130
|
const zoneId = props.zoneId
|
|
149
131
|
? props.zoneId
|
|
150
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
151
|
-
|
|
132
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
133
|
+
filter: { name: scope.props.domainName },
|
|
134
|
+
})?.id;
|
|
135
|
+
return new cloudflare.ZeroTrustAccessMtlsCertificate(`${id}`, {
|
|
152
136
|
...props,
|
|
153
137
|
name: `${props.name}-${scope.props.stage}`,
|
|
154
138
|
zoneId,
|
|
155
139
|
});
|
|
156
|
-
createCloudflareTfOutput(`${id}-accessMutualTlsCertificateFriendlyUniqueId`, scope, accessMutualTlsCertificate.friendlyUniqueId);
|
|
157
|
-
createCloudflareTfOutput(`${id}-accessMutualTlsCertificateId`, scope, accessMutualTlsCertificate.id);
|
|
158
|
-
return accessMutualTlsCertificate;
|
|
159
140
|
}
|
|
160
141
|
/**
|
|
161
142
|
* @summary Method to create a new Cloudflare Application Access Organisation
|
|
162
143
|
* @param id scoped id of the resource
|
|
163
144
|
* @param scope scope in which this resource is defined
|
|
164
145
|
* @param props access organisation properties
|
|
165
|
-
* @see [
|
|
146
|
+
* @see [Pulumi Cloudflare Zero Trust Organization]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustorganization/}
|
|
166
147
|
*/
|
|
167
148
|
createAccessOrganization(id, scope, props) {
|
|
168
149
|
if (!props)
|
|
169
150
|
throw `Props undefined for ${id}`;
|
|
170
151
|
const zoneId = props.zoneId
|
|
171
152
|
? props.zoneId
|
|
172
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
173
|
-
|
|
153
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
154
|
+
filter: { name: scope.props.domainName },
|
|
155
|
+
})?.id;
|
|
156
|
+
return new cloudflare.ZeroTrustOrganization(`${id}`, {
|
|
174
157
|
...props,
|
|
175
158
|
name: `${props.name}-${scope.props.stage}`,
|
|
176
159
|
zoneId,
|
|
177
160
|
});
|
|
178
|
-
createCloudflareTfOutput(`${id}-accessOrganizationFriendlyUniqueId`, scope, accessOrganization.friendlyUniqueId);
|
|
179
|
-
return accessOrganization;
|
|
180
161
|
}
|
|
181
162
|
/**
|
|
182
163
|
* @summary Method to create a new Cloudflare Application Access Policy
|
|
183
164
|
* @param id scoped id of the resource
|
|
184
165
|
* @param scope scope in which this resource is defined
|
|
185
166
|
* @param props access policy properties
|
|
186
|
-
* @see [
|
|
167
|
+
* @see [Pulumi Cloudflare Access Policy]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccesspolicy/}
|
|
187
168
|
*/
|
|
188
169
|
createAccessPolicy(id, scope, props) {
|
|
189
170
|
if (!props)
|
|
190
171
|
throw `Props undefined for ${id}`;
|
|
191
|
-
|
|
172
|
+
return new cloudflare.ZeroTrustAccessPolicy(`${id}`, {
|
|
192
173
|
...props,
|
|
193
174
|
name: `${props.name}-${scope.props.stage}`,
|
|
194
175
|
accountId: props.accountId ?? scope.props.accountId,
|
|
195
176
|
});
|
|
196
|
-
createCloudflareTfOutput(`${id}-accessPolicyFriendlyUniqueId`, scope, accessPolicy.friendlyUniqueId);
|
|
197
|
-
createCloudflareTfOutput(`${id}-accessPolicyId`, scope, accessPolicy.id);
|
|
198
|
-
return accessPolicy;
|
|
199
177
|
}
|
|
200
178
|
/**
|
|
201
179
|
* @summary Method to create a new Cloudflare Application Access Rule
|
|
202
180
|
* @param id scoped id of the resource
|
|
203
181
|
* @param scope scope in which this resource is defined
|
|
204
182
|
* @param props access rule properties
|
|
205
|
-
* @see [
|
|
183
|
+
* @see [Pulumi Cloudflare Access Rule]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/accessrule/}
|
|
206
184
|
*/
|
|
207
185
|
createAccessRule(id, scope, props) {
|
|
208
186
|
if (!props)
|
|
209
187
|
throw `Props undefined for ${id}`;
|
|
210
188
|
const zoneId = props.zoneId
|
|
211
189
|
? props.zoneId
|
|
212
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
213
|
-
|
|
190
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
191
|
+
filter: { name: scope.props.domainName },
|
|
192
|
+
})?.id;
|
|
193
|
+
return new cloudflare.AccessRule(`${id}`, {
|
|
214
194
|
...props,
|
|
215
195
|
zoneId,
|
|
216
196
|
accountId: props.accountId ?? scope.props.accountId,
|
|
217
197
|
});
|
|
218
|
-
createCloudflareTfOutput(`${id}-accessRuleFriendlyUniqueId`, scope, accessRule.friendlyUniqueId);
|
|
219
|
-
createCloudflareTfOutput(`${id}-accessRuleId`, scope, accessRule.id);
|
|
220
|
-
return accessRule;
|
|
221
198
|
}
|
|
222
199
|
/**
|
|
223
200
|
* @summary Method to create a new Cloudflare Application Access Service Token
|
|
224
201
|
* @param id scoped id of the resource
|
|
225
202
|
* @param scope scope in which this resource is defined
|
|
226
203
|
* @param props access service token properties
|
|
227
|
-
* @see [
|
|
204
|
+
* @see [Pulumi Cloudflare Access Service Token]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccessservicetoken/}
|
|
228
205
|
*/
|
|
229
206
|
createAccessServiceToken(id, scope, props) {
|
|
230
207
|
if (!props)
|
|
231
208
|
throw `Props undefined for ${id}`;
|
|
232
209
|
const zoneId = props.zoneId
|
|
233
210
|
? props.zoneId
|
|
234
|
-
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
235
|
-
|
|
211
|
+
: scope.zoneManager.resolveZone(`${id}-data-zone`, scope, {
|
|
212
|
+
filter: { name: scope.props.domainName },
|
|
213
|
+
})?.id;
|
|
214
|
+
return new cloudflare.ZeroTrustAccessServiceToken(`${id}`, {
|
|
236
215
|
...props,
|
|
237
216
|
name: `${props.name}-${scope.props.stage}`,
|
|
238
217
|
accountId: props.accountId ?? scope.props.accountId,
|
|
239
218
|
zoneId,
|
|
240
219
|
});
|
|
241
|
-
createCloudflareTfOutput(`${id}-accessServiceTokenFriendlyUniqueId`, scope, accessServiceToken.friendlyUniqueId);
|
|
242
|
-
createCloudflareTfOutput(`${id}-accessServiceTokenId`, scope, accessServiceToken.id);
|
|
243
|
-
return accessServiceToken;
|
|
244
220
|
}
|
|
245
221
|
/**
|
|
246
222
|
* @summary Method to create a new Cloudflare Application Access Tag
|
|
247
223
|
* @param id scoped id of the resource
|
|
248
224
|
* @param scope scope in which this resource is defined
|
|
249
225
|
* @param props access tag properties
|
|
250
|
-
* @see [
|
|
226
|
+
* @see [Pulumi Cloudflare Access Tag]{@link https://www.pulumi.com/registry/packages/cloudflare/api-docs/zerotrustaccesstag/}
|
|
251
227
|
*/
|
|
252
228
|
createAccessTag(id, scope, props) {
|
|
253
229
|
if (!props)
|
|
254
230
|
throw `Props undefined for ${id}`;
|
|
255
|
-
|
|
231
|
+
return new cloudflare.ZeroTrustAccessTag(`${id}`, {
|
|
256
232
|
...props,
|
|
257
233
|
name: `${props.name}-${scope.props.stage}`,
|
|
258
234
|
accountId: props.accountId ?? scope.props.accountId,
|
|
259
235
|
});
|
|
260
|
-
createCloudflareTfOutput(`${id}-accessTagFriendlyUniqueId`, scope, accessTag.friendlyUniqueId);
|
|
261
|
-
createCloudflareTfOutput(`${id}-accessTagId`, scope, accessTag.id);
|
|
262
|
-
return accessTag;
|
|
263
236
|
}
|
|
264
237
|
}
|