@volcengine/pulumi-volcenginecc 0.0.45 → 0.0.46
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/fwcenter/getNatFireWallControlPolicies.d.ts +22 -0
- package/fwcenter/getNatFireWallControlPolicies.js +24 -0
- package/fwcenter/getNatFireWallControlPolicies.js.map +1 -0
- package/fwcenter/getNatFireWallControlPolicy.d.ts +185 -0
- package/fwcenter/getNatFireWallControlPolicy.js +28 -0
- package/fwcenter/getNatFireWallControlPolicy.js.map +1 -0
- package/fwcenter/index.d.ts +9 -0
- package/fwcenter/index.js +12 -1
- package/fwcenter/index.js.map +1 -1
- package/fwcenter/natFireWallControlPolicy.d.ts +433 -0
- package/fwcenter/natFireWallControlPolicy.js +186 -0
- package/fwcenter/natFireWallControlPolicy.js.map +1 -0
- package/id/authConfig.d.ts +142 -0
- package/id/authConfig.js +79 -0
- package/id/authConfig.js.map +1 -0
- package/id/getAuthConfig.d.ts +77 -0
- package/id/getAuthConfig.js +28 -0
- package/id/getAuthConfig.js.map +1 -0
- package/id/getAuthConfigs.d.ts +22 -0
- package/id/getAuthConfigs.js +24 -0
- package/id/getAuthConfigs.js.map +1 -0
- package/id/getPermissionNamespace.d.ts +73 -0
- package/id/getPermissionNamespace.js +28 -0
- package/id/getPermissionNamespace.js.map +1 -0
- package/id/getPermissionNamespaces.d.ts +22 -0
- package/id/getPermissionNamespaces.js +24 -0
- package/id/getPermissionNamespaces.js.map +1 -0
- package/id/getUserPool.d.ts +173 -0
- package/id/getUserPool.js +28 -0
- package/id/getUserPool.js.map +1 -0
- package/id/getUserPools.d.ts +22 -0
- package/id/getUserPools.js +24 -0
- package/id/getUserPools.js.map +1 -0
- package/id/getWorkloadPool.d.ts +81 -0
- package/id/getWorkloadPool.js +28 -0
- package/id/getWorkloadPool.js.map +1 -0
- package/id/getWorkloadPools.d.ts +22 -0
- package/id/getWorkloadPools.js +24 -0
- package/id/getWorkloadPools.js.map +1 -0
- package/id/index.d.ts +36 -0
- package/id/index.js +45 -1
- package/id/index.js.map +1 -1
- package/id/permissionNamespace.d.ts +143 -0
- package/id/permissionNamespace.js +94 -0
- package/id/permissionNamespace.js.map +1 -0
- package/id/userPool.d.ts +370 -0
- package/id/userPool.js +127 -0
- package/id/userPool.js.map +1 -0
- package/id/workloadPool.d.ts +159 -0
- package/id/workloadPool.js +98 -0
- package/id/workloadPool.js.map +1 -0
- package/kms/getKeyMaterial.d.ts +68 -0
- package/kms/getKeyMaterial.js +28 -0
- package/kms/getKeyMaterial.js.map +1 -0
- package/kms/getKeyMaterials.d.ts +22 -0
- package/kms/getKeyMaterials.js +24 -0
- package/kms/getKeyMaterials.js.map +1 -0
- package/kms/index.d.ts +9 -0
- package/kms/index.js +12 -1
- package/kms/index.js.map +1 -1
- package/kms/keyMaterial.d.ts +144 -0
- package/kms/keyMaterial.js +96 -0
- package/kms/keyMaterial.js.map +1 -0
- package/package.json +1 -1
- package/privatezone/getResolverRule.d.ts +8 -0
- package/privatezone/getResolverRule.js.map +1 -1
- package/privatezone/resolverRule.d.ts +24 -0
- package/privatezone/resolverRule.js +4 -0
- package/privatezone/resolverRule.js.map +1 -1
- package/rdsmysql/getInstanceReadonlyNode.d.ts +92 -0
- package/rdsmysql/getInstanceReadonlyNode.js +28 -0
- package/rdsmysql/getInstanceReadonlyNode.js.map +1 -0
- package/rdsmysql/getInstanceReadonlyNodes.d.ts +22 -0
- package/rdsmysql/getInstanceReadonlyNodes.js +24 -0
- package/rdsmysql/getInstanceReadonlyNodes.js.map +1 -0
- package/rdsmysql/index.d.ts +9 -0
- package/rdsmysql/index.js +12 -1
- package/rdsmysql/index.js.map +1 -1
- package/rdsmysql/instanceReadonlyNode.d.ts +192 -0
- package/rdsmysql/instanceReadonlyNode.js +105 -0
- package/rdsmysql/instanceReadonlyNode.js.map +1 -0
- package/types/input.d.ts +462 -0
- package/types/output.d.ts +936 -0
- package/veenedge/cloudServer.d.ts +329 -0
- package/veenedge/cloudServer.js +126 -0
- package/veenedge/cloudServer.js.map +1 -0
- package/veenedge/getCloudServer.d.ts +153 -0
- package/veenedge/getCloudServer.js +28 -0
- package/veenedge/getCloudServer.js.map +1 -0
- package/veenedge/getCloudServers.d.ts +22 -0
- package/veenedge/getCloudServers.js +24 -0
- package/veenedge/getCloudServers.js.map +1 -0
- package/veenedge/index.d.ts +9 -0
- package/veenedge/index.js +12 -1
- package/veenedge/index.js.map +1 -1
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "../types/input";
|
|
3
|
+
import * as outputs from "../types/output";
|
|
4
|
+
/**
|
|
5
|
+
* NAT border firewall access control policy.
|
|
6
|
+
*
|
|
7
|
+
* ## Example Usage
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as volcenginecc from "@volcengine/pulumi-volcenginecc";
|
|
12
|
+
*
|
|
13
|
+
* const example = new volcenginecc.fwcenter.NatFireWallControlPolicy("Example", {
|
|
14
|
+
* natFirewallId: "nfw-yepxxxxxxx4vvsxpfs",
|
|
15
|
+
* direction: "in",
|
|
16
|
+
* action: "accept",
|
|
17
|
+
* proto: "TCP",
|
|
18
|
+
* source: "0.0.0.0/0",
|
|
19
|
+
* sourceType: "net",
|
|
20
|
+
* destination: "0.0.0.0/0",
|
|
21
|
+
* destinationType: "net",
|
|
22
|
+
* destPort: "60000",
|
|
23
|
+
* destPortType: "port",
|
|
24
|
+
* description: "this is a test",
|
|
25
|
+
* prio: 1,
|
|
26
|
+
* repeatType: "Weekly",
|
|
27
|
+
* repeatDays: [
|
|
28
|
+
* 2,
|
|
29
|
+
* 3,
|
|
30
|
+
* ],
|
|
31
|
+
* repeatStartTime: "02:00",
|
|
32
|
+
* repeatEndTime: "04:00",
|
|
33
|
+
* startTime: 1782662400,
|
|
34
|
+
* endTime: 1782921540,
|
|
35
|
+
* status: true,
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* ## Import
|
|
40
|
+
*
|
|
41
|
+
* ```sh
|
|
42
|
+
* $ pulumi import volcenginecc:fwcenter/natFireWallControlPolicy:NatFireWallControlPolicy example "nat_firewall_id|direction|rule_id"
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare class NatFireWallControlPolicy extends pulumi.CustomResource {
|
|
46
|
+
/**
|
|
47
|
+
* Get an existing NatFireWallControlPolicy resource's state with the given name, ID, and optional extra
|
|
48
|
+
* properties used to qualify the lookup.
|
|
49
|
+
*
|
|
50
|
+
* @param name The _unique_ name of the resulting resource.
|
|
51
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
52
|
+
* @param state Any extra arguments used during the lookup.
|
|
53
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
54
|
+
*/
|
|
55
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NatFireWallControlPolicyState, opts?: pulumi.CustomResourceOptions): NatFireWallControlPolicy;
|
|
56
|
+
/**
|
|
57
|
+
* Returns true if the given object is an instance of NatFireWallControlPolicy. This is designed to work even
|
|
58
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
59
|
+
*/
|
|
60
|
+
static isInstance(obj: any): obj is NatFireWallControlPolicy;
|
|
61
|
+
/**
|
|
62
|
+
* User's unique identifier ID.
|
|
63
|
+
*/
|
|
64
|
+
readonly accountId: pulumi.Output<string>;
|
|
65
|
+
/**
|
|
66
|
+
* Policy action. accept: allow; deny: deny; monitor: observe.
|
|
67
|
+
*/
|
|
68
|
+
readonly action: pulumi.Output<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Description of the policy.
|
|
71
|
+
*/
|
|
72
|
+
readonly description: pulumi.Output<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Destination port, either a single port or a port range (e.g., 22/22, 100/200). If DestPortType is group, provide a list of port address book UUIDs, separated by commas. Leave blank if the protocol is ICMP or ANY.
|
|
75
|
+
*/
|
|
76
|
+
readonly destPort: pulumi.Output<string>;
|
|
77
|
+
/**
|
|
78
|
+
* Destination port book type.
|
|
79
|
+
*/
|
|
80
|
+
readonly destPortGroupType: pulumi.Output<string>;
|
|
81
|
+
readonly destPortListV1s: pulumi.Output<outputs.fwcenter.NatFireWallControlPolicyDestPortListV1[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Destination port list.
|
|
84
|
+
*/
|
|
85
|
+
readonly destPortLists: pulumi.Output<string[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Destination port type. port: port; group: port address book.
|
|
88
|
+
*/
|
|
89
|
+
readonly destPortType: pulumi.Output<string>;
|
|
90
|
+
/**
|
|
91
|
+
* Destination address. The value depends on DestinationType: if net, use the destination CIDR address; if group, use the destination address book UUID. Separate multiple address books with commas.
|
|
92
|
+
*/
|
|
93
|
+
readonly destination: pulumi.Output<string>;
|
|
94
|
+
readonly destinationCidrListV1s: pulumi.Output<outputs.fwcenter.NatFireWallControlPolicyDestinationCidrListV1[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Destination CIDR list.
|
|
97
|
+
*/
|
|
98
|
+
readonly destinationCidrLists: pulumi.Output<string[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Destination domain name list.
|
|
101
|
+
*/
|
|
102
|
+
readonly destinationDomainLists: pulumi.Output<string[]>;
|
|
103
|
+
/**
|
|
104
|
+
* Destination address book type.
|
|
105
|
+
*/
|
|
106
|
+
readonly destinationGroupType: pulumi.Output<string>;
|
|
107
|
+
/**
|
|
108
|
+
* Destination address type, used to specify the format and source of the destination address in the access control policy. net: destination network segment (CIDR format); group: destination address book (UUID format).
|
|
109
|
+
*/
|
|
110
|
+
readonly destinationType: pulumi.Output<string>;
|
|
111
|
+
/**
|
|
112
|
+
* Policy direction, used to specify the traffic direction for the access control policy. in: inbound; out: outbound.
|
|
113
|
+
*/
|
|
114
|
+
readonly direction: pulumi.Output<string>;
|
|
115
|
+
/**
|
|
116
|
+
* Status of the access control policy. Values: 1: Inactive; 2: Deploying; 3: Active.
|
|
117
|
+
*/
|
|
118
|
+
readonly effectStatus: pulumi.Output<number>;
|
|
119
|
+
/**
|
|
120
|
+
* Policy end timestamp. This field is not required when RepeatType is Permanent. When RepeatType is Once, Daily, Weekly, or Monthly, this field must be provided.
|
|
121
|
+
*/
|
|
122
|
+
readonly endTime: pulumi.Output<number>;
|
|
123
|
+
/**
|
|
124
|
+
* Hit count, indicating the number of times this policy has been triggered.
|
|
125
|
+
*/
|
|
126
|
+
readonly hitCnt: pulumi.Output<number>;
|
|
127
|
+
/**
|
|
128
|
+
* Whether the policy is effective.
|
|
129
|
+
*/
|
|
130
|
+
readonly isEffected: pulumi.Output<boolean>;
|
|
131
|
+
/**
|
|
132
|
+
* Last hit timestamp, indicating the last time this policy was triggered.
|
|
133
|
+
*/
|
|
134
|
+
readonly lastHitTime: pulumi.Output<number>;
|
|
135
|
+
/**
|
|
136
|
+
* NAT border firewall instance ID.
|
|
137
|
+
*/
|
|
138
|
+
readonly natFirewallId: pulumi.Output<string>;
|
|
139
|
+
/**
|
|
140
|
+
* Policy priority. A lower value indicates a higher priority. By default, the priority is set to the highest. 0: lowest priority; 1: highest priority. When modifying, the minimum value for this parameter is 1.
|
|
141
|
+
*/
|
|
142
|
+
readonly prio: pulumi.Output<number>;
|
|
143
|
+
/**
|
|
144
|
+
* Protocol type. ICMP: ICMP protocol; TCP: TCP protocol; UDP: UDP protocol; ANY: any protocol.
|
|
145
|
+
*/
|
|
146
|
+
readonly proto: pulumi.Output<string>;
|
|
147
|
+
/**
|
|
148
|
+
* Repeat cycle. This field is not required when RepeatType is Daily. When RepeatType is Weekly, the value range is [0, 6], corresponding to Sunday through Saturday. When RepeatType is Monthly, the value range is [1, 31], corresponding to the days of the month.
|
|
149
|
+
*/
|
|
150
|
+
readonly repeatDays: pulumi.Output<number[]>;
|
|
151
|
+
/**
|
|
152
|
+
* Repeat end time. This field is required when RepeatType is Daily, Weekly, or Monthly. Accurate to the minute, format: hh:mm.
|
|
153
|
+
*/
|
|
154
|
+
readonly repeatEndTime: pulumi.Output<string>;
|
|
155
|
+
/**
|
|
156
|
+
* Repeat start time. This field is required when RepeatType is Daily, Weekly, or Monthly. Accurate to the minute, format: hh:mm.
|
|
157
|
+
*/
|
|
158
|
+
readonly repeatStartTime: pulumi.Output<string>;
|
|
159
|
+
/**
|
|
160
|
+
* Policy repeat type. Permanent: always effective; Once: effective only once; Daily: effective every day; Weekly: effective every week; Monthly: effective every month.
|
|
161
|
+
*/
|
|
162
|
+
readonly repeatType: pulumi.Output<string>;
|
|
163
|
+
/**
|
|
164
|
+
* Unique ID of the access control policy.
|
|
165
|
+
*/
|
|
166
|
+
readonly ruleId: pulumi.Output<string>;
|
|
167
|
+
/**
|
|
168
|
+
* Source address. The format varies based on the value of SourceType. If SourceType is net, use a CIDR address; if SourceType is group, use the UUID of the source address book; if SourceType is location, use the region code.
|
|
169
|
+
*/
|
|
170
|
+
readonly source: pulumi.Output<string>;
|
|
171
|
+
readonly sourceCidrListV1s: pulumi.Output<outputs.fwcenter.NatFireWallControlPolicySourceCidrListV1[]>;
|
|
172
|
+
/**
|
|
173
|
+
* Source CIDR list.
|
|
174
|
+
*/
|
|
175
|
+
readonly sourceCidrLists: pulumi.Output<string[]>;
|
|
176
|
+
/**
|
|
177
|
+
* Source address book type.
|
|
178
|
+
*/
|
|
179
|
+
readonly sourceGroupType: pulumi.Output<string>;
|
|
180
|
+
/**
|
|
181
|
+
* Source address type, used to specify the format and source of the source address in the access control policy. net: source network segment (CIDR format); group: source address book (UUID format); location: source region (region code format).
|
|
182
|
+
*/
|
|
183
|
+
readonly sourceType: pulumi.Output<string>;
|
|
184
|
+
/**
|
|
185
|
+
* Policy start timestamp. This field is not required when RepeatType is Permanent. When RepeatType is Once, Daily, Weekly, or Monthly, this field must be provided.
|
|
186
|
+
*/
|
|
187
|
+
readonly startTime: pulumi.Output<number>;
|
|
188
|
+
/**
|
|
189
|
+
* Policy switch status. false: off; true: on.
|
|
190
|
+
*/
|
|
191
|
+
readonly status: pulumi.Output<boolean>;
|
|
192
|
+
/**
|
|
193
|
+
* Policy update timestamp.
|
|
194
|
+
*/
|
|
195
|
+
readonly updateTime: pulumi.Output<number>;
|
|
196
|
+
/**
|
|
197
|
+
* Number of policies occupied by this policy.
|
|
198
|
+
*/
|
|
199
|
+
readonly useCount: pulumi.Output<number>;
|
|
200
|
+
/**
|
|
201
|
+
* Create a NatFireWallControlPolicy resource with the given unique name, arguments, and options.
|
|
202
|
+
*
|
|
203
|
+
* @param name The _unique_ name of the resource.
|
|
204
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
205
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
206
|
+
*/
|
|
207
|
+
constructor(name: string, args: NatFireWallControlPolicyArgs, opts?: pulumi.CustomResourceOptions);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Input properties used for looking up and filtering NatFireWallControlPolicy resources.
|
|
211
|
+
*/
|
|
212
|
+
export interface NatFireWallControlPolicyState {
|
|
213
|
+
/**
|
|
214
|
+
* User's unique identifier ID.
|
|
215
|
+
*/
|
|
216
|
+
accountId?: pulumi.Input<string>;
|
|
217
|
+
/**
|
|
218
|
+
* Policy action. accept: allow; deny: deny; monitor: observe.
|
|
219
|
+
*/
|
|
220
|
+
action?: pulumi.Input<string>;
|
|
221
|
+
/**
|
|
222
|
+
* Description of the policy.
|
|
223
|
+
*/
|
|
224
|
+
description?: pulumi.Input<string>;
|
|
225
|
+
/**
|
|
226
|
+
* Destination port, either a single port or a port range (e.g., 22/22, 100/200). If DestPortType is group, provide a list of port address book UUIDs, separated by commas. Leave blank if the protocol is ICMP or ANY.
|
|
227
|
+
*/
|
|
228
|
+
destPort?: pulumi.Input<string>;
|
|
229
|
+
/**
|
|
230
|
+
* Destination port book type.
|
|
231
|
+
*/
|
|
232
|
+
destPortGroupType?: pulumi.Input<string>;
|
|
233
|
+
destPortListV1s?: pulumi.Input<pulumi.Input<inputs.fwcenter.NatFireWallControlPolicyDestPortListV1>[]>;
|
|
234
|
+
/**
|
|
235
|
+
* Destination port list.
|
|
236
|
+
*/
|
|
237
|
+
destPortLists?: pulumi.Input<pulumi.Input<string>[]>;
|
|
238
|
+
/**
|
|
239
|
+
* Destination port type. port: port; group: port address book.
|
|
240
|
+
*/
|
|
241
|
+
destPortType?: pulumi.Input<string>;
|
|
242
|
+
/**
|
|
243
|
+
* Destination address. The value depends on DestinationType: if net, use the destination CIDR address; if group, use the destination address book UUID. Separate multiple address books with commas.
|
|
244
|
+
*/
|
|
245
|
+
destination?: pulumi.Input<string>;
|
|
246
|
+
destinationCidrListV1s?: pulumi.Input<pulumi.Input<inputs.fwcenter.NatFireWallControlPolicyDestinationCidrListV1>[]>;
|
|
247
|
+
/**
|
|
248
|
+
* Destination CIDR list.
|
|
249
|
+
*/
|
|
250
|
+
destinationCidrLists?: pulumi.Input<pulumi.Input<string>[]>;
|
|
251
|
+
/**
|
|
252
|
+
* Destination domain name list.
|
|
253
|
+
*/
|
|
254
|
+
destinationDomainLists?: pulumi.Input<pulumi.Input<string>[]>;
|
|
255
|
+
/**
|
|
256
|
+
* Destination address book type.
|
|
257
|
+
*/
|
|
258
|
+
destinationGroupType?: pulumi.Input<string>;
|
|
259
|
+
/**
|
|
260
|
+
* Destination address type, used to specify the format and source of the destination address in the access control policy. net: destination network segment (CIDR format); group: destination address book (UUID format).
|
|
261
|
+
*/
|
|
262
|
+
destinationType?: pulumi.Input<string>;
|
|
263
|
+
/**
|
|
264
|
+
* Policy direction, used to specify the traffic direction for the access control policy. in: inbound; out: outbound.
|
|
265
|
+
*/
|
|
266
|
+
direction?: pulumi.Input<string>;
|
|
267
|
+
/**
|
|
268
|
+
* Status of the access control policy. Values: 1: Inactive; 2: Deploying; 3: Active.
|
|
269
|
+
*/
|
|
270
|
+
effectStatus?: pulumi.Input<number>;
|
|
271
|
+
/**
|
|
272
|
+
* Policy end timestamp. This field is not required when RepeatType is Permanent. When RepeatType is Once, Daily, Weekly, or Monthly, this field must be provided.
|
|
273
|
+
*/
|
|
274
|
+
endTime?: pulumi.Input<number>;
|
|
275
|
+
/**
|
|
276
|
+
* Hit count, indicating the number of times this policy has been triggered.
|
|
277
|
+
*/
|
|
278
|
+
hitCnt?: pulumi.Input<number>;
|
|
279
|
+
/**
|
|
280
|
+
* Whether the policy is effective.
|
|
281
|
+
*/
|
|
282
|
+
isEffected?: pulumi.Input<boolean>;
|
|
283
|
+
/**
|
|
284
|
+
* Last hit timestamp, indicating the last time this policy was triggered.
|
|
285
|
+
*/
|
|
286
|
+
lastHitTime?: pulumi.Input<number>;
|
|
287
|
+
/**
|
|
288
|
+
* NAT border firewall instance ID.
|
|
289
|
+
*/
|
|
290
|
+
natFirewallId?: pulumi.Input<string>;
|
|
291
|
+
/**
|
|
292
|
+
* Policy priority. A lower value indicates a higher priority. By default, the priority is set to the highest. 0: lowest priority; 1: highest priority. When modifying, the minimum value for this parameter is 1.
|
|
293
|
+
*/
|
|
294
|
+
prio?: pulumi.Input<number>;
|
|
295
|
+
/**
|
|
296
|
+
* Protocol type. ICMP: ICMP protocol; TCP: TCP protocol; UDP: UDP protocol; ANY: any protocol.
|
|
297
|
+
*/
|
|
298
|
+
proto?: pulumi.Input<string>;
|
|
299
|
+
/**
|
|
300
|
+
* Repeat cycle. This field is not required when RepeatType is Daily. When RepeatType is Weekly, the value range is [0, 6], corresponding to Sunday through Saturday. When RepeatType is Monthly, the value range is [1, 31], corresponding to the days of the month.
|
|
301
|
+
*/
|
|
302
|
+
repeatDays?: pulumi.Input<pulumi.Input<number>[]>;
|
|
303
|
+
/**
|
|
304
|
+
* Repeat end time. This field is required when RepeatType is Daily, Weekly, or Monthly. Accurate to the minute, format: hh:mm.
|
|
305
|
+
*/
|
|
306
|
+
repeatEndTime?: pulumi.Input<string>;
|
|
307
|
+
/**
|
|
308
|
+
* Repeat start time. This field is required when RepeatType is Daily, Weekly, or Monthly. Accurate to the minute, format: hh:mm.
|
|
309
|
+
*/
|
|
310
|
+
repeatStartTime?: pulumi.Input<string>;
|
|
311
|
+
/**
|
|
312
|
+
* Policy repeat type. Permanent: always effective; Once: effective only once; Daily: effective every day; Weekly: effective every week; Monthly: effective every month.
|
|
313
|
+
*/
|
|
314
|
+
repeatType?: pulumi.Input<string>;
|
|
315
|
+
/**
|
|
316
|
+
* Unique ID of the access control policy.
|
|
317
|
+
*/
|
|
318
|
+
ruleId?: pulumi.Input<string>;
|
|
319
|
+
/**
|
|
320
|
+
* Source address. The format varies based on the value of SourceType. If SourceType is net, use a CIDR address; if SourceType is group, use the UUID of the source address book; if SourceType is location, use the region code.
|
|
321
|
+
*/
|
|
322
|
+
source?: pulumi.Input<string>;
|
|
323
|
+
sourceCidrListV1s?: pulumi.Input<pulumi.Input<inputs.fwcenter.NatFireWallControlPolicySourceCidrListV1>[]>;
|
|
324
|
+
/**
|
|
325
|
+
* Source CIDR list.
|
|
326
|
+
*/
|
|
327
|
+
sourceCidrLists?: pulumi.Input<pulumi.Input<string>[]>;
|
|
328
|
+
/**
|
|
329
|
+
* Source address book type.
|
|
330
|
+
*/
|
|
331
|
+
sourceGroupType?: pulumi.Input<string>;
|
|
332
|
+
/**
|
|
333
|
+
* Source address type, used to specify the format and source of the source address in the access control policy. net: source network segment (CIDR format); group: source address book (UUID format); location: source region (region code format).
|
|
334
|
+
*/
|
|
335
|
+
sourceType?: pulumi.Input<string>;
|
|
336
|
+
/**
|
|
337
|
+
* Policy start timestamp. This field is not required when RepeatType is Permanent. When RepeatType is Once, Daily, Weekly, or Monthly, this field must be provided.
|
|
338
|
+
*/
|
|
339
|
+
startTime?: pulumi.Input<number>;
|
|
340
|
+
/**
|
|
341
|
+
* Policy switch status. false: off; true: on.
|
|
342
|
+
*/
|
|
343
|
+
status?: pulumi.Input<boolean>;
|
|
344
|
+
/**
|
|
345
|
+
* Policy update timestamp.
|
|
346
|
+
*/
|
|
347
|
+
updateTime?: pulumi.Input<number>;
|
|
348
|
+
/**
|
|
349
|
+
* Number of policies occupied by this policy.
|
|
350
|
+
*/
|
|
351
|
+
useCount?: pulumi.Input<number>;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* The set of arguments for constructing a NatFireWallControlPolicy resource.
|
|
355
|
+
*/
|
|
356
|
+
export interface NatFireWallControlPolicyArgs {
|
|
357
|
+
/**
|
|
358
|
+
* Policy action. accept: allow; deny: deny; monitor: observe.
|
|
359
|
+
*/
|
|
360
|
+
action: pulumi.Input<string>;
|
|
361
|
+
/**
|
|
362
|
+
* Description of the policy.
|
|
363
|
+
*/
|
|
364
|
+
description?: pulumi.Input<string>;
|
|
365
|
+
/**
|
|
366
|
+
* Destination port, either a single port or a port range (e.g., 22/22, 100/200). If DestPortType is group, provide a list of port address book UUIDs, separated by commas. Leave blank if the protocol is ICMP or ANY.
|
|
367
|
+
*/
|
|
368
|
+
destPort?: pulumi.Input<string>;
|
|
369
|
+
/**
|
|
370
|
+
* Destination port type. port: port; group: port address book.
|
|
371
|
+
*/
|
|
372
|
+
destPortType?: pulumi.Input<string>;
|
|
373
|
+
/**
|
|
374
|
+
* Destination address. The value depends on DestinationType: if net, use the destination CIDR address; if group, use the destination address book UUID. Separate multiple address books with commas.
|
|
375
|
+
*/
|
|
376
|
+
destination: pulumi.Input<string>;
|
|
377
|
+
/**
|
|
378
|
+
* Destination address type, used to specify the format and source of the destination address in the access control policy. net: destination network segment (CIDR format); group: destination address book (UUID format).
|
|
379
|
+
*/
|
|
380
|
+
destinationType: pulumi.Input<string>;
|
|
381
|
+
/**
|
|
382
|
+
* Policy direction, used to specify the traffic direction for the access control policy. in: inbound; out: outbound.
|
|
383
|
+
*/
|
|
384
|
+
direction: pulumi.Input<string>;
|
|
385
|
+
/**
|
|
386
|
+
* Policy end timestamp. This field is not required when RepeatType is Permanent. When RepeatType is Once, Daily, Weekly, or Monthly, this field must be provided.
|
|
387
|
+
*/
|
|
388
|
+
endTime?: pulumi.Input<number>;
|
|
389
|
+
/**
|
|
390
|
+
* NAT border firewall instance ID.
|
|
391
|
+
*/
|
|
392
|
+
natFirewallId: pulumi.Input<string>;
|
|
393
|
+
/**
|
|
394
|
+
* Policy priority. A lower value indicates a higher priority. By default, the priority is set to the highest. 0: lowest priority; 1: highest priority. When modifying, the minimum value for this parameter is 1.
|
|
395
|
+
*/
|
|
396
|
+
prio?: pulumi.Input<number>;
|
|
397
|
+
/**
|
|
398
|
+
* Protocol type. ICMP: ICMP protocol; TCP: TCP protocol; UDP: UDP protocol; ANY: any protocol.
|
|
399
|
+
*/
|
|
400
|
+
proto: pulumi.Input<string>;
|
|
401
|
+
/**
|
|
402
|
+
* Repeat cycle. This field is not required when RepeatType is Daily. When RepeatType is Weekly, the value range is [0, 6], corresponding to Sunday through Saturday. When RepeatType is Monthly, the value range is [1, 31], corresponding to the days of the month.
|
|
403
|
+
*/
|
|
404
|
+
repeatDays?: pulumi.Input<pulumi.Input<number>[]>;
|
|
405
|
+
/**
|
|
406
|
+
* Repeat end time. This field is required when RepeatType is Daily, Weekly, or Monthly. Accurate to the minute, format: hh:mm.
|
|
407
|
+
*/
|
|
408
|
+
repeatEndTime?: pulumi.Input<string>;
|
|
409
|
+
/**
|
|
410
|
+
* Repeat start time. This field is required when RepeatType is Daily, Weekly, or Monthly. Accurate to the minute, format: hh:mm.
|
|
411
|
+
*/
|
|
412
|
+
repeatStartTime?: pulumi.Input<string>;
|
|
413
|
+
/**
|
|
414
|
+
* Policy repeat type. Permanent: always effective; Once: effective only once; Daily: effective every day; Weekly: effective every week; Monthly: effective every month.
|
|
415
|
+
*/
|
|
416
|
+
repeatType?: pulumi.Input<string>;
|
|
417
|
+
/**
|
|
418
|
+
* Source address. The format varies based on the value of SourceType. If SourceType is net, use a CIDR address; if SourceType is group, use the UUID of the source address book; if SourceType is location, use the region code.
|
|
419
|
+
*/
|
|
420
|
+
source: pulumi.Input<string>;
|
|
421
|
+
/**
|
|
422
|
+
* Source address type, used to specify the format and source of the source address in the access control policy. net: source network segment (CIDR format); group: source address book (UUID format); location: source region (region code format).
|
|
423
|
+
*/
|
|
424
|
+
sourceType: pulumi.Input<string>;
|
|
425
|
+
/**
|
|
426
|
+
* Policy start timestamp. This field is not required when RepeatType is Permanent. When RepeatType is Once, Daily, Weekly, or Monthly, this field must be provided.
|
|
427
|
+
*/
|
|
428
|
+
startTime?: pulumi.Input<number>;
|
|
429
|
+
/**
|
|
430
|
+
* Policy switch status. false: off; true: on.
|
|
431
|
+
*/
|
|
432
|
+
status?: pulumi.Input<boolean>;
|
|
433
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.NatFireWallControlPolicy = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* NAT border firewall access control policy.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as volcenginecc from "@volcengine/pulumi-volcenginecc";
|
|
16
|
+
*
|
|
17
|
+
* const example = new volcenginecc.fwcenter.NatFireWallControlPolicy("Example", {
|
|
18
|
+
* natFirewallId: "nfw-yepxxxxxxx4vvsxpfs",
|
|
19
|
+
* direction: "in",
|
|
20
|
+
* action: "accept",
|
|
21
|
+
* proto: "TCP",
|
|
22
|
+
* source: "0.0.0.0/0",
|
|
23
|
+
* sourceType: "net",
|
|
24
|
+
* destination: "0.0.0.0/0",
|
|
25
|
+
* destinationType: "net",
|
|
26
|
+
* destPort: "60000",
|
|
27
|
+
* destPortType: "port",
|
|
28
|
+
* description: "this is a test",
|
|
29
|
+
* prio: 1,
|
|
30
|
+
* repeatType: "Weekly",
|
|
31
|
+
* repeatDays: [
|
|
32
|
+
* 2,
|
|
33
|
+
* 3,
|
|
34
|
+
* ],
|
|
35
|
+
* repeatStartTime: "02:00",
|
|
36
|
+
* repeatEndTime: "04:00",
|
|
37
|
+
* startTime: 1782662400,
|
|
38
|
+
* endTime: 1782921540,
|
|
39
|
+
* status: true,
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* ## Import
|
|
44
|
+
*
|
|
45
|
+
* ```sh
|
|
46
|
+
* $ pulumi import volcenginecc:fwcenter/natFireWallControlPolicy:NatFireWallControlPolicy example "nat_firewall_id|direction|rule_id"
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
class NatFireWallControlPolicy extends pulumi.CustomResource {
|
|
50
|
+
/**
|
|
51
|
+
* Get an existing NatFireWallControlPolicy resource's state with the given name, ID, and optional extra
|
|
52
|
+
* properties used to qualify the lookup.
|
|
53
|
+
*
|
|
54
|
+
* @param name The _unique_ name of the resulting resource.
|
|
55
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
56
|
+
* @param state Any extra arguments used during the lookup.
|
|
57
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
58
|
+
*/
|
|
59
|
+
static get(name, id, state, opts) {
|
|
60
|
+
return new NatFireWallControlPolicy(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Returns true if the given object is an instance of NatFireWallControlPolicy. This is designed to work even
|
|
64
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
65
|
+
*/
|
|
66
|
+
static isInstance(obj) {
|
|
67
|
+
if (obj === undefined || obj === null) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
return obj['__pulumiType'] === NatFireWallControlPolicy.__pulumiType;
|
|
71
|
+
}
|
|
72
|
+
constructor(name, argsOrState, opts) {
|
|
73
|
+
let resourceInputs = {};
|
|
74
|
+
opts = opts || {};
|
|
75
|
+
if (opts.id) {
|
|
76
|
+
const state = argsOrState;
|
|
77
|
+
resourceInputs["accountId"] = state ? state.accountId : undefined;
|
|
78
|
+
resourceInputs["action"] = state ? state.action : undefined;
|
|
79
|
+
resourceInputs["description"] = state ? state.description : undefined;
|
|
80
|
+
resourceInputs["destPort"] = state ? state.destPort : undefined;
|
|
81
|
+
resourceInputs["destPortGroupType"] = state ? state.destPortGroupType : undefined;
|
|
82
|
+
resourceInputs["destPortListV1s"] = state ? state.destPortListV1s : undefined;
|
|
83
|
+
resourceInputs["destPortLists"] = state ? state.destPortLists : undefined;
|
|
84
|
+
resourceInputs["destPortType"] = state ? state.destPortType : undefined;
|
|
85
|
+
resourceInputs["destination"] = state ? state.destination : undefined;
|
|
86
|
+
resourceInputs["destinationCidrListV1s"] = state ? state.destinationCidrListV1s : undefined;
|
|
87
|
+
resourceInputs["destinationCidrLists"] = state ? state.destinationCidrLists : undefined;
|
|
88
|
+
resourceInputs["destinationDomainLists"] = state ? state.destinationDomainLists : undefined;
|
|
89
|
+
resourceInputs["destinationGroupType"] = state ? state.destinationGroupType : undefined;
|
|
90
|
+
resourceInputs["destinationType"] = state ? state.destinationType : undefined;
|
|
91
|
+
resourceInputs["direction"] = state ? state.direction : undefined;
|
|
92
|
+
resourceInputs["effectStatus"] = state ? state.effectStatus : undefined;
|
|
93
|
+
resourceInputs["endTime"] = state ? state.endTime : undefined;
|
|
94
|
+
resourceInputs["hitCnt"] = state ? state.hitCnt : undefined;
|
|
95
|
+
resourceInputs["isEffected"] = state ? state.isEffected : undefined;
|
|
96
|
+
resourceInputs["lastHitTime"] = state ? state.lastHitTime : undefined;
|
|
97
|
+
resourceInputs["natFirewallId"] = state ? state.natFirewallId : undefined;
|
|
98
|
+
resourceInputs["prio"] = state ? state.prio : undefined;
|
|
99
|
+
resourceInputs["proto"] = state ? state.proto : undefined;
|
|
100
|
+
resourceInputs["repeatDays"] = state ? state.repeatDays : undefined;
|
|
101
|
+
resourceInputs["repeatEndTime"] = state ? state.repeatEndTime : undefined;
|
|
102
|
+
resourceInputs["repeatStartTime"] = state ? state.repeatStartTime : undefined;
|
|
103
|
+
resourceInputs["repeatType"] = state ? state.repeatType : undefined;
|
|
104
|
+
resourceInputs["ruleId"] = state ? state.ruleId : undefined;
|
|
105
|
+
resourceInputs["source"] = state ? state.source : undefined;
|
|
106
|
+
resourceInputs["sourceCidrListV1s"] = state ? state.sourceCidrListV1s : undefined;
|
|
107
|
+
resourceInputs["sourceCidrLists"] = state ? state.sourceCidrLists : undefined;
|
|
108
|
+
resourceInputs["sourceGroupType"] = state ? state.sourceGroupType : undefined;
|
|
109
|
+
resourceInputs["sourceType"] = state ? state.sourceType : undefined;
|
|
110
|
+
resourceInputs["startTime"] = state ? state.startTime : undefined;
|
|
111
|
+
resourceInputs["status"] = state ? state.status : undefined;
|
|
112
|
+
resourceInputs["updateTime"] = state ? state.updateTime : undefined;
|
|
113
|
+
resourceInputs["useCount"] = state ? state.useCount : undefined;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const args = argsOrState;
|
|
117
|
+
if ((!args || args.action === undefined) && !opts.urn) {
|
|
118
|
+
throw new Error("Missing required property 'action'");
|
|
119
|
+
}
|
|
120
|
+
if ((!args || args.destination === undefined) && !opts.urn) {
|
|
121
|
+
throw new Error("Missing required property 'destination'");
|
|
122
|
+
}
|
|
123
|
+
if ((!args || args.destinationType === undefined) && !opts.urn) {
|
|
124
|
+
throw new Error("Missing required property 'destinationType'");
|
|
125
|
+
}
|
|
126
|
+
if ((!args || args.direction === undefined) && !opts.urn) {
|
|
127
|
+
throw new Error("Missing required property 'direction'");
|
|
128
|
+
}
|
|
129
|
+
if ((!args || args.natFirewallId === undefined) && !opts.urn) {
|
|
130
|
+
throw new Error("Missing required property 'natFirewallId'");
|
|
131
|
+
}
|
|
132
|
+
if ((!args || args.proto === undefined) && !opts.urn) {
|
|
133
|
+
throw new Error("Missing required property 'proto'");
|
|
134
|
+
}
|
|
135
|
+
if ((!args || args.source === undefined) && !opts.urn) {
|
|
136
|
+
throw new Error("Missing required property 'source'");
|
|
137
|
+
}
|
|
138
|
+
if ((!args || args.sourceType === undefined) && !opts.urn) {
|
|
139
|
+
throw new Error("Missing required property 'sourceType'");
|
|
140
|
+
}
|
|
141
|
+
resourceInputs["action"] = args ? args.action : undefined;
|
|
142
|
+
resourceInputs["description"] = args ? args.description : undefined;
|
|
143
|
+
resourceInputs["destPort"] = args ? args.destPort : undefined;
|
|
144
|
+
resourceInputs["destPortType"] = args ? args.destPortType : undefined;
|
|
145
|
+
resourceInputs["destination"] = args ? args.destination : undefined;
|
|
146
|
+
resourceInputs["destinationType"] = args ? args.destinationType : undefined;
|
|
147
|
+
resourceInputs["direction"] = args ? args.direction : undefined;
|
|
148
|
+
resourceInputs["endTime"] = args ? args.endTime : undefined;
|
|
149
|
+
resourceInputs["natFirewallId"] = args ? args.natFirewallId : undefined;
|
|
150
|
+
resourceInputs["prio"] = args ? args.prio : undefined;
|
|
151
|
+
resourceInputs["proto"] = args ? args.proto : undefined;
|
|
152
|
+
resourceInputs["repeatDays"] = args ? args.repeatDays : undefined;
|
|
153
|
+
resourceInputs["repeatEndTime"] = args ? args.repeatEndTime : undefined;
|
|
154
|
+
resourceInputs["repeatStartTime"] = args ? args.repeatStartTime : undefined;
|
|
155
|
+
resourceInputs["repeatType"] = args ? args.repeatType : undefined;
|
|
156
|
+
resourceInputs["source"] = args ? args.source : undefined;
|
|
157
|
+
resourceInputs["sourceType"] = args ? args.sourceType : undefined;
|
|
158
|
+
resourceInputs["startTime"] = args ? args.startTime : undefined;
|
|
159
|
+
resourceInputs["status"] = args ? args.status : undefined;
|
|
160
|
+
resourceInputs["accountId"] = undefined /*out*/;
|
|
161
|
+
resourceInputs["destPortGroupType"] = undefined /*out*/;
|
|
162
|
+
resourceInputs["destPortListV1s"] = undefined /*out*/;
|
|
163
|
+
resourceInputs["destPortLists"] = undefined /*out*/;
|
|
164
|
+
resourceInputs["destinationCidrListV1s"] = undefined /*out*/;
|
|
165
|
+
resourceInputs["destinationCidrLists"] = undefined /*out*/;
|
|
166
|
+
resourceInputs["destinationDomainLists"] = undefined /*out*/;
|
|
167
|
+
resourceInputs["destinationGroupType"] = undefined /*out*/;
|
|
168
|
+
resourceInputs["effectStatus"] = undefined /*out*/;
|
|
169
|
+
resourceInputs["hitCnt"] = undefined /*out*/;
|
|
170
|
+
resourceInputs["isEffected"] = undefined /*out*/;
|
|
171
|
+
resourceInputs["lastHitTime"] = undefined /*out*/;
|
|
172
|
+
resourceInputs["ruleId"] = undefined /*out*/;
|
|
173
|
+
resourceInputs["sourceCidrListV1s"] = undefined /*out*/;
|
|
174
|
+
resourceInputs["sourceCidrLists"] = undefined /*out*/;
|
|
175
|
+
resourceInputs["sourceGroupType"] = undefined /*out*/;
|
|
176
|
+
resourceInputs["updateTime"] = undefined /*out*/;
|
|
177
|
+
resourceInputs["useCount"] = undefined /*out*/;
|
|
178
|
+
}
|
|
179
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
180
|
+
super(NatFireWallControlPolicy.__pulumiType, name, resourceInputs, opts);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
exports.NatFireWallControlPolicy = NatFireWallControlPolicy;
|
|
184
|
+
/** @internal */
|
|
185
|
+
NatFireWallControlPolicy.__pulumiType = 'volcenginecc:fwcenter/natFireWallControlPolicy:NatFireWallControlPolicy';
|
|
186
|
+
//# sourceMappingURL=natFireWallControlPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"natFireWallControlPolicy.js","sourceRoot":"","sources":["../../fwcenter/natFireWallControlPolicy.ts"],"names":[],"mappings":"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"}
|