@volcengine/pulumi-volcenginecc 0.0.44 → 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.
Files changed (248) hide show
  1. package/alb/acl.d.ts +20 -20
  2. package/alb/acl.js +1 -1
  3. package/alb/certificate.d.ts +19 -3
  4. package/alb/certificate.js +3 -4
  5. package/alb/certificate.js.map +1 -1
  6. package/alb/getAcl.d.ts +11 -11
  7. package/alb/getCertificate.d.ts +5 -1
  8. package/alb/getCertificate.js.map +1 -1
  9. package/alb/getListener.d.ts +20 -20
  10. package/alb/getServerGroup.d.ts +9 -9
  11. package/alb/listener.d.ts +52 -52
  12. package/alb/listener.js +1 -1
  13. package/alb/serverGroup.d.ts +24 -24
  14. package/alb/serverGroup.js +1 -1
  15. package/cbr/backupPolicy.d.ts +2 -2
  16. package/cbr/backupPolicy.js +2 -2
  17. package/cloudidentity/userProvisioning.d.ts +2 -2
  18. package/cloudidentity/userProvisioning.js +2 -2
  19. package/cloudmonitor/getRule.d.ts +11 -11
  20. package/cloudmonitor/rule.d.ts +33 -33
  21. package/cr/getRegistry.d.ts +11 -11
  22. package/cr/registry.d.ts +28 -28
  23. package/cr/registry.js +1 -1
  24. package/directconnect/connection.d.ts +332 -0
  25. package/directconnect/connection.js +163 -0
  26. package/directconnect/connection.js.map +1 -0
  27. package/directconnect/getConnection.d.ts +145 -0
  28. package/directconnect/getConnection.js +28 -0
  29. package/directconnect/getConnection.js.map +1 -0
  30. package/directconnect/getConnections.d.ts +22 -0
  31. package/directconnect/getConnections.js +24 -0
  32. package/directconnect/getConnections.js.map +1 -0
  33. package/directconnect/index.d.ts +9 -0
  34. package/directconnect/index.js +12 -1
  35. package/directconnect/index.js.map +1 -1
  36. package/fwcenter/addressBook.d.ts +210 -0
  37. package/fwcenter/addressBook.js +115 -0
  38. package/fwcenter/addressBook.js.map +1 -0
  39. package/fwcenter/controlPolicy.d.ts +437 -0
  40. package/fwcenter/controlPolicy.js +183 -0
  41. package/fwcenter/controlPolicy.js.map +1 -0
  42. package/fwcenter/getAddressBook.d.ts +93 -0
  43. package/fwcenter/getAddressBook.js +28 -0
  44. package/fwcenter/getAddressBook.js.map +1 -0
  45. package/fwcenter/getAddressBooks.d.ts +22 -0
  46. package/fwcenter/getAddressBooks.js +24 -0
  47. package/fwcenter/getAddressBooks.js.map +1 -0
  48. package/fwcenter/getControlPolicies.d.ts +22 -0
  49. package/fwcenter/getControlPolicies.js +24 -0
  50. package/fwcenter/getControlPolicies.js.map +1 -0
  51. package/fwcenter/getControlPolicy.d.ts +185 -0
  52. package/fwcenter/getControlPolicy.js +28 -0
  53. package/fwcenter/getControlPolicy.js.map +1 -0
  54. package/fwcenter/getNatFireWallControlPolicies.d.ts +22 -0
  55. package/fwcenter/getNatFireWallControlPolicies.js +24 -0
  56. package/fwcenter/getNatFireWallControlPolicies.js.map +1 -0
  57. package/fwcenter/getNatFireWallControlPolicy.d.ts +185 -0
  58. package/fwcenter/getNatFireWallControlPolicy.js +28 -0
  59. package/fwcenter/getNatFireWallControlPolicy.js.map +1 -0
  60. package/fwcenter/getVpcFireWallAclRule.d.ts +189 -0
  61. package/fwcenter/getVpcFireWallAclRule.js +28 -0
  62. package/fwcenter/getVpcFireWallAclRule.js.map +1 -0
  63. package/fwcenter/getVpcFireWallAclRules.d.ts +22 -0
  64. package/fwcenter/getVpcFireWallAclRules.js +24 -0
  65. package/fwcenter/getVpcFireWallAclRules.js.map +1 -0
  66. package/fwcenter/index.d.ts +36 -0
  67. package/fwcenter/index.js +45 -1
  68. package/fwcenter/index.js.map +1 -1
  69. package/fwcenter/natFireWallControlPolicy.d.ts +433 -0
  70. package/fwcenter/natFireWallControlPolicy.js +186 -0
  71. package/fwcenter/natFireWallControlPolicy.js.map +1 -0
  72. package/fwcenter/vpcFireWallAclRule.d.ts +446 -0
  73. package/fwcenter/vpcFireWallAclRule.js +186 -0
  74. package/fwcenter/vpcFireWallAclRule.js.map +1 -0
  75. package/gtm/getGtm.d.ts +9 -0
  76. package/gtm/getGtm.js.map +1 -1
  77. package/gtm/gtm.d.ts +18 -0
  78. package/gtm/gtm.js +4 -0
  79. package/gtm/gtm.js.map +1 -1
  80. package/id/authConfig.d.ts +142 -0
  81. package/id/authConfig.js +79 -0
  82. package/id/authConfig.js.map +1 -0
  83. package/id/getAuthConfig.d.ts +77 -0
  84. package/id/getAuthConfig.js +28 -0
  85. package/id/getAuthConfig.js.map +1 -0
  86. package/id/getAuthConfigs.d.ts +22 -0
  87. package/id/getAuthConfigs.js +24 -0
  88. package/id/getAuthConfigs.js.map +1 -0
  89. package/id/getPermissionNamespace.d.ts +73 -0
  90. package/id/getPermissionNamespace.js +28 -0
  91. package/id/getPermissionNamespace.js.map +1 -0
  92. package/id/getPermissionNamespaces.d.ts +22 -0
  93. package/id/getPermissionNamespaces.js +24 -0
  94. package/id/getPermissionNamespaces.js.map +1 -0
  95. package/id/getUserPool.d.ts +173 -0
  96. package/id/getUserPool.js +28 -0
  97. package/id/getUserPool.js.map +1 -0
  98. package/id/getUserPools.d.ts +22 -0
  99. package/id/getUserPools.js +24 -0
  100. package/id/getUserPools.js.map +1 -0
  101. package/id/getWorkloadPool.d.ts +81 -0
  102. package/id/getWorkloadPool.js +28 -0
  103. package/id/getWorkloadPool.js.map +1 -0
  104. package/id/getWorkloadPools.d.ts +22 -0
  105. package/id/getWorkloadPools.js +24 -0
  106. package/id/getWorkloadPools.js.map +1 -0
  107. package/id/index.d.ts +36 -0
  108. package/id/index.js +45 -1
  109. package/id/index.js.map +1 -1
  110. package/id/permissionNamespace.d.ts +143 -0
  111. package/id/permissionNamespace.js +94 -0
  112. package/id/permissionNamespace.js.map +1 -0
  113. package/id/userPool.d.ts +370 -0
  114. package/id/userPool.js +127 -0
  115. package/id/userPool.js.map +1 -0
  116. package/id/workloadPool.d.ts +159 -0
  117. package/id/workloadPool.js +98 -0
  118. package/id/workloadPool.js.map +1 -0
  119. package/index.d.ts +2 -1
  120. package/index.js +4 -2
  121. package/index.js.map +1 -1
  122. package/kafka/allowList.d.ts +0 -22
  123. package/kafka/allowList.js +0 -22
  124. package/kafka/allowList.js.map +1 -1
  125. package/kms/getKeyMaterial.d.ts +68 -0
  126. package/kms/getKeyMaterial.js +28 -0
  127. package/kms/getKeyMaterial.js.map +1 -0
  128. package/kms/getKeyMaterials.d.ts +22 -0
  129. package/kms/getKeyMaterials.js +24 -0
  130. package/kms/getKeyMaterials.js.map +1 -0
  131. package/kms/index.d.ts +9 -0
  132. package/kms/index.js +12 -1
  133. package/kms/index.js.map +1 -1
  134. package/kms/keyMaterial.d.ts +144 -0
  135. package/kms/keyMaterial.js +96 -0
  136. package/kms/keyMaterial.js.map +1 -0
  137. package/organization/getServiceControlPolicyEnabler.d.ts +48 -0
  138. package/organization/getServiceControlPolicyEnabler.js +28 -0
  139. package/organization/getServiceControlPolicyEnabler.js.map +1 -0
  140. package/organization/getServiceControlPolicyEnablers.d.ts +22 -0
  141. package/organization/getServiceControlPolicyEnablers.js +24 -0
  142. package/organization/getServiceControlPolicyEnablers.js.map +1 -0
  143. package/organization/index.d.ts +9 -0
  144. package/organization/index.js +12 -1
  145. package/organization/index.js.map +1 -1
  146. package/organization/serviceControlPolicyEnabler.d.ts +78 -0
  147. package/organization/serviceControlPolicyEnabler.js +71 -0
  148. package/organization/serviceControlPolicyEnabler.js.map +1 -0
  149. package/package.json +1 -1
  150. package/privatezone/getResolverRule.d.ts +8 -0
  151. package/privatezone/getResolverRule.js.map +1 -1
  152. package/privatezone/resolverRule.d.ts +24 -0
  153. package/privatezone/resolverRule.js +4 -0
  154. package/privatezone/resolverRule.js.map +1 -1
  155. package/rabbitmq/allowList.d.ts +0 -17
  156. package/rabbitmq/allowList.js +0 -17
  157. package/rabbitmq/allowList.js.map +1 -1
  158. package/rdsmysql/getInstance.d.ts +16 -0
  159. package/rdsmysql/getInstance.js.map +1 -1
  160. package/rdsmysql/getInstanceReadonlyNode.d.ts +92 -0
  161. package/rdsmysql/getInstanceReadonlyNode.js +28 -0
  162. package/rdsmysql/getInstanceReadonlyNode.js.map +1 -0
  163. package/rdsmysql/getInstanceReadonlyNodes.d.ts +22 -0
  164. package/rdsmysql/getInstanceReadonlyNodes.js +24 -0
  165. package/rdsmysql/getInstanceReadonlyNodes.js.map +1 -0
  166. package/rdsmysql/index.d.ts +9 -0
  167. package/rdsmysql/index.js +12 -1
  168. package/rdsmysql/index.js.map +1 -1
  169. package/rdsmysql/instance.d.ts +48 -0
  170. package/rdsmysql/instance.js +8 -0
  171. package/rdsmysql/instance.js.map +1 -1
  172. package/rdsmysql/instanceReadonlyNode.d.ts +192 -0
  173. package/rdsmysql/instanceReadonlyNode.js +105 -0
  174. package/rdsmysql/instanceReadonlyNode.js.map +1 -0
  175. package/redis/getInstance.d.ts +4 -0
  176. package/redis/getInstance.js.map +1 -1
  177. package/redis/instance.d.ts +3 -0
  178. package/redis/instance.js +3 -0
  179. package/redis/instance.js.map +1 -1
  180. package/redis/parameterGroup.d.ts +2 -2
  181. package/redis/parameterGroup.js +2 -2
  182. package/tls/alarmWebhookIntegrationType.d.ts +159 -0
  183. package/tls/alarmWebhookIntegrationType.js +108 -0
  184. package/tls/alarmWebhookIntegrationType.js.map +1 -0
  185. package/tls/getAlarmWebhookIntegrationType.d.ts +73 -0
  186. package/tls/getAlarmWebhookIntegrationType.js +28 -0
  187. package/tls/getAlarmWebhookIntegrationType.js.map +1 -0
  188. package/tls/getAlarmWebhookIntegrationTypes.d.ts +22 -0
  189. package/tls/getAlarmWebhookIntegrationTypes.js +24 -0
  190. package/tls/getAlarmWebhookIntegrationTypes.js.map +1 -0
  191. package/tls/index.d.ts +9 -0
  192. package/tls/index.js +13 -2
  193. package/tls/index.js.map +1 -1
  194. package/tos/bucketWebsite.d.ts +98 -0
  195. package/tos/bucketWebsite.js +69 -0
  196. package/tos/bucketWebsite.js.map +1 -0
  197. package/tos/getBucketWebsite.d.ts +57 -0
  198. package/tos/getBucketWebsite.js +28 -0
  199. package/tos/getBucketWebsite.js.map +1 -0
  200. package/tos/getBucketWebsites.d.ts +22 -0
  201. package/tos/getBucketWebsites.js +24 -0
  202. package/tos/getBucketWebsites.js.map +1 -0
  203. package/tos/index.d.ts +9 -0
  204. package/tos/index.js +12 -1
  205. package/tos/index.js.map +1 -1
  206. package/types/input.d.ts +1115 -55
  207. package/types/output.d.ts +2500 -330
  208. package/veenedge/cloudServer.d.ts +329 -0
  209. package/veenedge/cloudServer.js +126 -0
  210. package/veenedge/cloudServer.js.map +1 -0
  211. package/veenedge/getCloudServer.d.ts +153 -0
  212. package/veenedge/getCloudServer.js +28 -0
  213. package/veenedge/getCloudServer.js.map +1 -0
  214. package/veenedge/getCloudServers.d.ts +22 -0
  215. package/veenedge/getCloudServers.js +24 -0
  216. package/veenedge/getCloudServers.js.map +1 -0
  217. package/veenedge/getVpc.d.ts +101 -0
  218. package/veenedge/getVpc.js +28 -0
  219. package/veenedge/getVpc.js.map +1 -0
  220. package/veenedge/getVpcs.d.ts +22 -0
  221. package/veenedge/getVpcs.js +24 -0
  222. package/veenedge/getVpcs.js.map +1 -0
  223. package/veenedge/index.d.ts +18 -0
  224. package/veenedge/index.js +39 -0
  225. package/veenedge/index.js.map +1 -0
  226. package/veenedge/vpc.d.ts +216 -0
  227. package/veenedge/vpc.js +131 -0
  228. package/veenedge/vpc.js.map +1 -0
  229. package/vke/node.d.ts +1 -1
  230. package/vke/node.js +0 -3
  231. package/vke/node.js.map +1 -1
  232. package/vmp/ruleFile.d.ts +2 -2
  233. package/vmp/ruleFile.js +2 -2
  234. package/vpc/vpc.d.ts +4 -0
  235. package/vpc/vpc.js +1 -1
  236. package/vpc/vpc.js.map +1 -1
  237. package/waf/getHostGroup.d.ts +69 -0
  238. package/waf/getHostGroup.js +28 -0
  239. package/waf/getHostGroup.js.map +1 -0
  240. package/waf/getHostGroups.d.ts +22 -0
  241. package/waf/getHostGroups.js +24 -0
  242. package/waf/getHostGroups.js.map +1 -0
  243. package/waf/hostGroup.d.ts +135 -0
  244. package/waf/hostGroup.js +92 -0
  245. package/waf/hostGroup.js.map +1 -0
  246. package/waf/index.d.ts +9 -0
  247. package/waf/index.js +12 -1
  248. package/waf/index.js.map +1 -1
@@ -0,0 +1,437 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Internet boundary 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.ControlPolicy("Example", {
14
+ * direction: "in",
15
+ * action: "accept",
16
+ * source: "0.0.0.0/0",
17
+ * sourceType: "net",
18
+ * destination: "0.0.0.0/0",
19
+ * destinationType: "net",
20
+ * proto: "TCP",
21
+ * destPort: "60000",
22
+ * destPortType: "port",
23
+ * description: "this is a test",
24
+ * ipType: "v4",
25
+ * prio: 1,
26
+ * status: true,
27
+ * repeatType: "Weekly",
28
+ * repeatDays: [
29
+ * 2,
30
+ * 3,
31
+ * ],
32
+ * repeatStartTime: "02:00",
33
+ * repeatEndTime: "04:00",
34
+ * startTime: 1782230400,
35
+ * endTime: 1782489540,
36
+ * });
37
+ * ```
38
+ *
39
+ * ## Import
40
+ *
41
+ * ```sh
42
+ * $ pulumi import volcenginecc:fwcenter/controlPolicy:ControlPolicy example "rule_id|direction"
43
+ * ```
44
+ */
45
+ export declare class ControlPolicy extends pulumi.CustomResource {
46
+ /**
47
+ * Get an existing ControlPolicy 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?: ControlPolicyState, opts?: pulumi.CustomResourceOptions): ControlPolicy;
56
+ /**
57
+ * Returns true if the given object is an instance of ControlPolicy. 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 ControlPolicy;
61
+ /**
62
+ * Unique user ID.
63
+ */
64
+ readonly accountId: pulumi.Output<string>;
65
+ /**
66
+ * Action of the access control policy. accept: allow; deny: block; monitor: observe.
67
+ */
68
+ readonly action: pulumi.Output<string>;
69
+ /**
70
+ * Policy description.
71
+ */
72
+ readonly description: pulumi.Output<string>;
73
+ /**
74
+ * Destination port. Format is a single port or port range. If protocol type is ICMP/ALL, value is empty; if DestPortType is group, use port address book UUID list; if DestPortType is port, use port range.
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.ControlPolicyDestPortListV1[]>;
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 of the access control policy. When DestinationType is net, use CIDR; when group, use address book UUID list; when location, use region code; when domain, use domain name.
92
+ */
93
+ readonly destination: pulumi.Output<string>;
94
+ readonly destinationCidrListV1s: pulumi.Output<outputs.fwcenter.ControlPolicyDestinationCidrListV1[]>;
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. net: destination subnet (CIDR); group: destination address book; location: destination region; domain: destination domain name
109
+ */
110
+ readonly destinationType: pulumi.Output<string>;
111
+ /**
112
+ * Direction of the access control policy, indicating the direction of traffic transmission. in: inbound direction; out: outbound direction.
113
+ */
114
+ readonly direction: pulumi.Output<string>;
115
+ /**
116
+ * Access control policy status. 1: Inactive; 2: Deploying; 3: Active
117
+ */
118
+ readonly effectStatus: pulumi.Output<number>;
119
+ /**
120
+ * Policy expiration date, Unix timestamp. If RepeatType is Permanent (always active), this field is not required. If RepeatType is Once (active for a single period) or Daily, Weekly, Monthly (repeatedly active), this field must be filled in.
121
+ */
122
+ readonly endTime: pulumi.Output<number>;
123
+ /**
124
+ * Number of matches.
125
+ */
126
+ readonly hitCnt: pulumi.Output<number>;
127
+ /**
128
+ * Internet border firewall instance ID.
129
+ */
130
+ readonly internetFirewallId: pulumi.Output<string>;
131
+ /**
132
+ * IP version. v4: IPv4; v6: IPv6
133
+ */
134
+ readonly ipType: pulumi.Output<string>;
135
+ /**
136
+ * Whether the access control policy is active. true: active; false: inactive.
137
+ */
138
+ readonly isEffected: pulumi.Output<boolean>;
139
+ /**
140
+ * Policy priority. The lower the value, the higher the priority. 0: lowest priority; 1: highest priority; other values: other priorities. Default value is 0 (lowest priority). When modifying, this parameter represents the policy's position in the policy list (cannot be set to 0).
141
+ */
142
+ readonly prio: pulumi.Output<number>;
143
+ /**
144
+ * Protocol type. ICMP, TCP, UDP, ANY (any protocol). When DestinationType is domain, protocol type must be TCP.
145
+ */
146
+ readonly proto: pulumi.Output<string>;
147
+ /**
148
+ * Recurring effective period. Required when RepeatType is Weekly or Monthly. Weekly value range: [0,6]; Monthly value range: [1,31]
149
+ */
150
+ readonly repeatDays: pulumi.Output<number[]>;
151
+ /**
152
+ * Repeat expiration time. Accurate to the minute, format is hh:mm.
153
+ */
154
+ readonly repeatEndTime: pulumi.Output<string>;
155
+ /**
156
+ * Repeat start time. Accurate to the minute, format is hh:mm. Required when RepeatType is Daily, Weekly, or Monthly (repeatedly active).
157
+ */
158
+ readonly repeatStartTime: pulumi.Output<string>;
159
+ /**
160
+ * Repeat type. Permanent: always active; Once: active once; Daily: repeats daily; Weekly: repeats weekly; Monthly: repeats monthly.
161
+ */
162
+ readonly repeatType: pulumi.Output<string>;
163
+ /**
164
+ * Unique ID of the access control policy, used to uniquely identify an access control policy.
165
+ */
166
+ readonly ruleId: pulumi.Output<string>;
167
+ /**
168
+ * Source address. When SourceType is net, use CIDR; when group, use address book UUID list; when location, use region code.
169
+ */
170
+ readonly source: pulumi.Output<string>;
171
+ readonly sourceCidrListV1s: pulumi.Output<outputs.fwcenter.ControlPolicySourceCidrListV1[]>;
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. net: subnet (CIDR); group: address book; location: region
182
+ */
183
+ readonly sourceType: pulumi.Output<string>;
184
+ /**
185
+ * Policy effective start date, Unix timestamp. Not required when RepeatType is Permanent (always effective). Required when RepeatType is Once (single period effective) or Daily, Weekly, Monthly (recurring effective)
186
+ */
187
+ readonly startTime: pulumi.Output<number>;
188
+ /**
189
+ * Policy enable status. true: Enabled; false: Disabled
190
+ */
191
+ readonly status: pulumi.Output<boolean>;
192
+ /**
193
+ * Last update time of the access control policy, Unix timestamp.
194
+ */
195
+ readonly updateTime: pulumi.Output<number>;
196
+ /**
197
+ * Number of policies in use.
198
+ */
199
+ readonly useCount: pulumi.Output<number>;
200
+ /**
201
+ * Create a ControlPolicy 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: ControlPolicyArgs, opts?: pulumi.CustomResourceOptions);
208
+ }
209
+ /**
210
+ * Input properties used for looking up and filtering ControlPolicy resources.
211
+ */
212
+ export interface ControlPolicyState {
213
+ /**
214
+ * Unique user ID.
215
+ */
216
+ accountId?: pulumi.Input<string>;
217
+ /**
218
+ * Action of the access control policy. accept: allow; deny: block; monitor: observe.
219
+ */
220
+ action?: pulumi.Input<string>;
221
+ /**
222
+ * Policy description.
223
+ */
224
+ description?: pulumi.Input<string>;
225
+ /**
226
+ * Destination port. Format is a single port or port range. If protocol type is ICMP/ALL, value is empty; if DestPortType is group, use port address book UUID list; if DestPortType is port, use port range.
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.ControlPolicyDestPortListV1>[]>;
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 of the access control policy. When DestinationType is net, use CIDR; when group, use address book UUID list; when location, use region code; when domain, use domain name.
244
+ */
245
+ destination?: pulumi.Input<string>;
246
+ destinationCidrListV1s?: pulumi.Input<pulumi.Input<inputs.fwcenter.ControlPolicyDestinationCidrListV1>[]>;
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. net: destination subnet (CIDR); group: destination address book; location: destination region; domain: destination domain name
261
+ */
262
+ destinationType?: pulumi.Input<string>;
263
+ /**
264
+ * Direction of the access control policy, indicating the direction of traffic transmission. in: inbound direction; out: outbound direction.
265
+ */
266
+ direction?: pulumi.Input<string>;
267
+ /**
268
+ * Access control policy status. 1: Inactive; 2: Deploying; 3: Active
269
+ */
270
+ effectStatus?: pulumi.Input<number>;
271
+ /**
272
+ * Policy expiration date, Unix timestamp. If RepeatType is Permanent (always active), this field is not required. If RepeatType is Once (active for a single period) or Daily, Weekly, Monthly (repeatedly active), this field must be filled in.
273
+ */
274
+ endTime?: pulumi.Input<number>;
275
+ /**
276
+ * Number of matches.
277
+ */
278
+ hitCnt?: pulumi.Input<number>;
279
+ /**
280
+ * Internet border firewall instance ID.
281
+ */
282
+ internetFirewallId?: pulumi.Input<string>;
283
+ /**
284
+ * IP version. v4: IPv4; v6: IPv6
285
+ */
286
+ ipType?: pulumi.Input<string>;
287
+ /**
288
+ * Whether the access control policy is active. true: active; false: inactive.
289
+ */
290
+ isEffected?: pulumi.Input<boolean>;
291
+ /**
292
+ * Policy priority. The lower the value, the higher the priority. 0: lowest priority; 1: highest priority; other values: other priorities. Default value is 0 (lowest priority). When modifying, this parameter represents the policy's position in the policy list (cannot be set to 0).
293
+ */
294
+ prio?: pulumi.Input<number>;
295
+ /**
296
+ * Protocol type. ICMP, TCP, UDP, ANY (any protocol). When DestinationType is domain, protocol type must be TCP.
297
+ */
298
+ proto?: pulumi.Input<string>;
299
+ /**
300
+ * Recurring effective period. Required when RepeatType is Weekly or Monthly. Weekly value range: [0,6]; Monthly value range: [1,31]
301
+ */
302
+ repeatDays?: pulumi.Input<pulumi.Input<number>[]>;
303
+ /**
304
+ * Repeat expiration time. Accurate to the minute, format is hh:mm.
305
+ */
306
+ repeatEndTime?: pulumi.Input<string>;
307
+ /**
308
+ * Repeat start time. Accurate to the minute, format is hh:mm. Required when RepeatType is Daily, Weekly, or Monthly (repeatedly active).
309
+ */
310
+ repeatStartTime?: pulumi.Input<string>;
311
+ /**
312
+ * Repeat type. Permanent: always active; Once: active once; Daily: repeats daily; Weekly: repeats weekly; Monthly: repeats monthly.
313
+ */
314
+ repeatType?: pulumi.Input<string>;
315
+ /**
316
+ * Unique ID of the access control policy, used to uniquely identify an access control policy.
317
+ */
318
+ ruleId?: pulumi.Input<string>;
319
+ /**
320
+ * Source address. When SourceType is net, use CIDR; when group, use address book UUID list; when location, use region code.
321
+ */
322
+ source?: pulumi.Input<string>;
323
+ sourceCidrListV1s?: pulumi.Input<pulumi.Input<inputs.fwcenter.ControlPolicySourceCidrListV1>[]>;
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. net: subnet (CIDR); group: address book; location: region
334
+ */
335
+ sourceType?: pulumi.Input<string>;
336
+ /**
337
+ * Policy effective start date, Unix timestamp. Not required when RepeatType is Permanent (always effective). Required when RepeatType is Once (single period effective) or Daily, Weekly, Monthly (recurring effective)
338
+ */
339
+ startTime?: pulumi.Input<number>;
340
+ /**
341
+ * Policy enable status. true: Enabled; false: Disabled
342
+ */
343
+ status?: pulumi.Input<boolean>;
344
+ /**
345
+ * Last update time of the access control policy, Unix timestamp.
346
+ */
347
+ updateTime?: pulumi.Input<number>;
348
+ /**
349
+ * Number of policies in use.
350
+ */
351
+ useCount?: pulumi.Input<number>;
352
+ }
353
+ /**
354
+ * The set of arguments for constructing a ControlPolicy resource.
355
+ */
356
+ export interface ControlPolicyArgs {
357
+ /**
358
+ * Action of the access control policy. accept: allow; deny: block; monitor: observe.
359
+ */
360
+ action: pulumi.Input<string>;
361
+ /**
362
+ * Policy description.
363
+ */
364
+ description?: pulumi.Input<string>;
365
+ /**
366
+ * Destination port. Format is a single port or port range. If protocol type is ICMP/ALL, value is empty; if DestPortType is group, use port address book UUID list; if DestPortType is port, use port range.
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 of the access control policy. When DestinationType is net, use CIDR; when group, use address book UUID list; when location, use region code; when domain, use domain name.
375
+ */
376
+ destination: pulumi.Input<string>;
377
+ /**
378
+ * Destination address type. net: destination subnet (CIDR); group: destination address book; location: destination region; domain: destination domain name
379
+ */
380
+ destinationType: pulumi.Input<string>;
381
+ /**
382
+ * Direction of the access control policy, indicating the direction of traffic transmission. in: inbound direction; out: outbound direction.
383
+ */
384
+ direction: pulumi.Input<string>;
385
+ /**
386
+ * Policy expiration date, Unix timestamp. If RepeatType is Permanent (always active), this field is not required. If RepeatType is Once (active for a single period) or Daily, Weekly, Monthly (repeatedly active), this field must be filled in.
387
+ */
388
+ endTime?: pulumi.Input<number>;
389
+ /**
390
+ * Internet border firewall instance ID.
391
+ */
392
+ internetFirewallId?: pulumi.Input<string>;
393
+ /**
394
+ * IP version. v4: IPv4; v6: IPv6
395
+ */
396
+ ipType?: pulumi.Input<string>;
397
+ /**
398
+ * Policy priority. The lower the value, the higher the priority. 0: lowest priority; 1: highest priority; other values: other priorities. Default value is 0 (lowest priority). When modifying, this parameter represents the policy's position in the policy list (cannot be set to 0).
399
+ */
400
+ prio?: pulumi.Input<number>;
401
+ /**
402
+ * Protocol type. ICMP, TCP, UDP, ANY (any protocol). When DestinationType is domain, protocol type must be TCP.
403
+ */
404
+ proto: pulumi.Input<string>;
405
+ /**
406
+ * Recurring effective period. Required when RepeatType is Weekly or Monthly. Weekly value range: [0,6]; Monthly value range: [1,31]
407
+ */
408
+ repeatDays?: pulumi.Input<pulumi.Input<number>[]>;
409
+ /**
410
+ * Repeat expiration time. Accurate to the minute, format is hh:mm.
411
+ */
412
+ repeatEndTime?: pulumi.Input<string>;
413
+ /**
414
+ * Repeat start time. Accurate to the minute, format is hh:mm. Required when RepeatType is Daily, Weekly, or Monthly (repeatedly active).
415
+ */
416
+ repeatStartTime?: pulumi.Input<string>;
417
+ /**
418
+ * Repeat type. Permanent: always active; Once: active once; Daily: repeats daily; Weekly: repeats weekly; Monthly: repeats monthly.
419
+ */
420
+ repeatType?: pulumi.Input<string>;
421
+ /**
422
+ * Source address. When SourceType is net, use CIDR; when group, use address book UUID list; when location, use region code.
423
+ */
424
+ source: pulumi.Input<string>;
425
+ /**
426
+ * Source address type. net: subnet (CIDR); group: address book; location: region
427
+ */
428
+ sourceType: pulumi.Input<string>;
429
+ /**
430
+ * Policy effective start date, Unix timestamp. Not required when RepeatType is Permanent (always effective). Required when RepeatType is Once (single period effective) or Daily, Weekly, Monthly (recurring effective)
431
+ */
432
+ startTime?: pulumi.Input<number>;
433
+ /**
434
+ * Policy enable status. true: Enabled; false: Disabled
435
+ */
436
+ status?: pulumi.Input<boolean>;
437
+ }
@@ -0,0 +1,183 @@
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.ControlPolicy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Internet boundary 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.ControlPolicy("Example", {
18
+ * direction: "in",
19
+ * action: "accept",
20
+ * source: "0.0.0.0/0",
21
+ * sourceType: "net",
22
+ * destination: "0.0.0.0/0",
23
+ * destinationType: "net",
24
+ * proto: "TCP",
25
+ * destPort: "60000",
26
+ * destPortType: "port",
27
+ * description: "this is a test",
28
+ * ipType: "v4",
29
+ * prio: 1,
30
+ * status: true,
31
+ * repeatType: "Weekly",
32
+ * repeatDays: [
33
+ * 2,
34
+ * 3,
35
+ * ],
36
+ * repeatStartTime: "02:00",
37
+ * repeatEndTime: "04:00",
38
+ * startTime: 1782230400,
39
+ * endTime: 1782489540,
40
+ * });
41
+ * ```
42
+ *
43
+ * ## Import
44
+ *
45
+ * ```sh
46
+ * $ pulumi import volcenginecc:fwcenter/controlPolicy:ControlPolicy example "rule_id|direction"
47
+ * ```
48
+ */
49
+ class ControlPolicy extends pulumi.CustomResource {
50
+ /**
51
+ * Get an existing ControlPolicy 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 ControlPolicy(name, state, Object.assign(Object.assign({}, opts), { id: id }));
61
+ }
62
+ /**
63
+ * Returns true if the given object is an instance of ControlPolicy. 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'] === ControlPolicy.__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["internetFirewallId"] = state ? state.internetFirewallId : undefined;
96
+ resourceInputs["ipType"] = state ? state.ipType : undefined;
97
+ resourceInputs["isEffected"] = state ? state.isEffected : 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.proto === undefined) && !opts.urn) {
130
+ throw new Error("Missing required property 'proto'");
131
+ }
132
+ if ((!args || args.source === undefined) && !opts.urn) {
133
+ throw new Error("Missing required property 'source'");
134
+ }
135
+ if ((!args || args.sourceType === undefined) && !opts.urn) {
136
+ throw new Error("Missing required property 'sourceType'");
137
+ }
138
+ resourceInputs["action"] = args ? args.action : undefined;
139
+ resourceInputs["description"] = args ? args.description : undefined;
140
+ resourceInputs["destPort"] = args ? args.destPort : undefined;
141
+ resourceInputs["destPortType"] = args ? args.destPortType : undefined;
142
+ resourceInputs["destination"] = args ? args.destination : undefined;
143
+ resourceInputs["destinationType"] = args ? args.destinationType : undefined;
144
+ resourceInputs["direction"] = args ? args.direction : undefined;
145
+ resourceInputs["endTime"] = args ? args.endTime : undefined;
146
+ resourceInputs["internetFirewallId"] = args ? args.internetFirewallId : undefined;
147
+ resourceInputs["ipType"] = args ? args.ipType : undefined;
148
+ resourceInputs["prio"] = args ? args.prio : undefined;
149
+ resourceInputs["proto"] = args ? args.proto : undefined;
150
+ resourceInputs["repeatDays"] = args ? args.repeatDays : undefined;
151
+ resourceInputs["repeatEndTime"] = args ? args.repeatEndTime : undefined;
152
+ resourceInputs["repeatStartTime"] = args ? args.repeatStartTime : undefined;
153
+ resourceInputs["repeatType"] = args ? args.repeatType : undefined;
154
+ resourceInputs["source"] = args ? args.source : undefined;
155
+ resourceInputs["sourceType"] = args ? args.sourceType : undefined;
156
+ resourceInputs["startTime"] = args ? args.startTime : undefined;
157
+ resourceInputs["status"] = args ? args.status : undefined;
158
+ resourceInputs["accountId"] = undefined /*out*/;
159
+ resourceInputs["destPortGroupType"] = undefined /*out*/;
160
+ resourceInputs["destPortListV1s"] = undefined /*out*/;
161
+ resourceInputs["destPortLists"] = undefined /*out*/;
162
+ resourceInputs["destinationCidrListV1s"] = undefined /*out*/;
163
+ resourceInputs["destinationCidrLists"] = undefined /*out*/;
164
+ resourceInputs["destinationDomainLists"] = undefined /*out*/;
165
+ resourceInputs["destinationGroupType"] = undefined /*out*/;
166
+ resourceInputs["effectStatus"] = undefined /*out*/;
167
+ resourceInputs["hitCnt"] = undefined /*out*/;
168
+ resourceInputs["isEffected"] = undefined /*out*/;
169
+ resourceInputs["ruleId"] = undefined /*out*/;
170
+ resourceInputs["sourceCidrListV1s"] = undefined /*out*/;
171
+ resourceInputs["sourceCidrLists"] = undefined /*out*/;
172
+ resourceInputs["sourceGroupType"] = undefined /*out*/;
173
+ resourceInputs["updateTime"] = undefined /*out*/;
174
+ resourceInputs["useCount"] = undefined /*out*/;
175
+ }
176
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
177
+ super(ControlPolicy.__pulumiType, name, resourceInputs, opts);
178
+ }
179
+ }
180
+ exports.ControlPolicy = ControlPolicy;
181
+ /** @internal */
182
+ ControlPolicy.__pulumiType = 'volcenginecc:fwcenter/controlPolicy:ControlPolicy';
183
+ //# sourceMappingURL=controlPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controlPolicy.js","sourceRoot":"","sources":["../../fwcenter/controlPolicy.ts"],"names":[],"mappings":"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"}