pulumi-alicloud 3.63.1__py3-none-any.whl → 3.64.0__py3-none-any.whl

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.

Potentially problematic release.


This version of pulumi-alicloud might be problematic. Click here for more details.

Files changed (76) hide show
  1. pulumi_alicloud/__init__.py +16 -0
  2. pulumi_alicloud/amqp/instance.py +8 -8
  3. pulumi_alicloud/bss/get_open_api_pricing_modules.py +4 -4
  4. pulumi_alicloud/bss/get_open_api_products.py +4 -4
  5. pulumi_alicloud/cas/get_certificates.py +17 -1
  6. pulumi_alicloud/cas/get_service_certificates.py +153 -17
  7. pulumi_alicloud/cas/outputs.py +40 -36
  8. pulumi_alicloud/cen/instance.py +108 -53
  9. pulumi_alicloud/cloudfirewall/control_policy.py +524 -23
  10. pulumi_alicloud/cloudfirewall/instance.py +64 -36
  11. pulumi_alicloud/cs/_inputs.py +390 -26
  12. pulumi_alicloud/cs/get_serverless_kubernetes_clusters.py +2 -0
  13. pulumi_alicloud/cs/kubernetes.py +48 -35
  14. pulumi_alicloud/cs/managed_kubernetes.py +91 -35
  15. pulumi_alicloud/cs/node_pool.py +68 -14
  16. pulumi_alicloud/cs/outputs.py +293 -16
  17. pulumi_alicloud/cs/serverless_kubernetes.py +157 -63
  18. pulumi_alicloud/databasefilesystem/_inputs.py +0 -6
  19. pulumi_alicloud/databasefilesystem/instance.py +31 -0
  20. pulumi_alicloud/databasefilesystem/outputs.py +0 -4
  21. pulumi_alicloud/dns/get_alidns_records.py +26 -4
  22. pulumi_alicloud/dns/outputs.py +2 -2
  23. pulumi_alicloud/eais/instance.py +55 -57
  24. pulumi_alicloud/ecp/instance.py +177 -219
  25. pulumi_alicloud/ecs/disk.py +2 -2
  26. pulumi_alicloud/ecs/ecs_disk.py +142 -58
  27. pulumi_alicloud/ecs/ecs_key_pair.py +1 -1
  28. pulumi_alicloud/ecs/ecs_launch_template.py +169 -0
  29. pulumi_alicloud/ecs/get_ecs_launch_templates.py +172 -6
  30. pulumi_alicloud/ecs/instance.py +131 -98
  31. pulumi_alicloud/ecs/key_pair.py +1 -1
  32. pulumi_alicloud/ecs/launch_template.py +102 -0
  33. pulumi_alicloud/ecs/outputs.py +57 -24
  34. pulumi_alicloud/ens/disk.py +2 -2
  35. pulumi_alicloud/ens/disk_instance_attachment.py +2 -2
  36. pulumi_alicloud/ess/_inputs.py +342 -2
  37. pulumi_alicloud/ess/eci_scaling_configuration.py +202 -0
  38. pulumi_alicloud/ess/outputs.py +226 -2
  39. pulumi_alicloud/ess/scaling_configuration.py +376 -0
  40. pulumi_alicloud/ga/_inputs.py +57 -22
  41. pulumi_alicloud/ga/outputs.py +39 -15
  42. pulumi_alicloud/gpdb/__init__.py +1 -0
  43. pulumi_alicloud/gpdb/database.py +545 -0
  44. pulumi_alicloud/gpdb/instance.py +1 -1
  45. pulumi_alicloud/kvstore/instance.py +24 -5
  46. pulumi_alicloud/mse/cluster.py +149 -51
  47. pulumi_alicloud/mse/engine_namespace.py +176 -74
  48. pulumi_alicloud/mse/get_clusters.py +70 -10
  49. pulumi_alicloud/mse/get_engine_namespaces.py +93 -15
  50. pulumi_alicloud/mse/outputs.py +36 -8
  51. pulumi_alicloud/nas/data_flow.py +6 -6
  52. pulumi_alicloud/nas/fileset.py +6 -6
  53. pulumi_alicloud/nas/lifecycle_policy.py +6 -6
  54. pulumi_alicloud/nas/recycle_bin.py +6 -6
  55. pulumi_alicloud/nas/snapshot.py +6 -6
  56. pulumi_alicloud/polardb/cluster.py +162 -0
  57. pulumi_alicloud/privatelink/get_vpc_endpoint_services.py +51 -7
  58. pulumi_alicloud/privatelink/outputs.py +17 -6
  59. pulumi_alicloud/privatelink/vpc_endpoint_service_user.py +54 -17
  60. pulumi_alicloud/privatelink/vpc_endpoint_zone.py +7 -21
  61. pulumi_alicloud/pulumi-plugin.json +1 -1
  62. pulumi_alicloud/rds/instance.py +50 -3
  63. pulumi_alicloud/resourcemanager/get_folders.py +35 -28
  64. pulumi_alicloud/resourcemanager/outputs.py +8 -8
  65. pulumi_alicloud/servicemesh/_inputs.py +656 -174
  66. pulumi_alicloud/servicemesh/outputs.py +507 -117
  67. pulumi_alicloud/servicemesh/service_mesh.py +120 -78
  68. pulumi_alicloud/sls/__init__.py +1 -0
  69. pulumi_alicloud/sls/_inputs.py +307 -0
  70. pulumi_alicloud/sls/collection_policy.py +561 -0
  71. pulumi_alicloud/sls/outputs.py +263 -0
  72. pulumi_alicloud/threatdetection/instance.py +331 -43
  73. {pulumi_alicloud-3.63.1.dist-info → pulumi_alicloud-3.64.0.dist-info}/METADATA +1 -1
  74. {pulumi_alicloud-3.63.1.dist-info → pulumi_alicloud-3.64.0.dist-info}/RECORD +76 -74
  75. {pulumi_alicloud-3.63.1.dist-info → pulumi_alicloud-3.64.0.dist-info}/WHEEL +0 -0
  76. {pulumi_alicloud-3.63.1.dist-info → pulumi_alicloud-3.64.0.dist-info}/top_level.txt +0 -0
@@ -20,7 +20,6 @@ __all__ = ['ControlPolicyArgs', 'ControlPolicy']
20
20
  class ControlPolicyArgs:
21
21
  def __init__(__self__, *,
22
22
  acl_action: pulumi.Input[str],
23
- application_name: pulumi.Input[str],
24
23
  description: pulumi.Input[str],
25
24
  destination: pulumi.Input[str],
26
25
  destination_type: pulumi.Input[str],
@@ -28,18 +27,25 @@ class ControlPolicyArgs:
28
27
  proto: pulumi.Input[str],
29
28
  source: pulumi.Input[str],
30
29
  source_type: pulumi.Input[str],
30
+ application_name: Optional[pulumi.Input[str]] = None,
31
+ application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
31
32
  dest_port: Optional[pulumi.Input[str]] = None,
32
33
  dest_port_group: Optional[pulumi.Input[str]] = None,
33
34
  dest_port_type: Optional[pulumi.Input[str]] = None,
35
+ domain_resolve_type: Optional[pulumi.Input[str]] = None,
36
+ end_time: Optional[pulumi.Input[int]] = None,
34
37
  ip_version: Optional[pulumi.Input[str]] = None,
35
38
  lang: Optional[pulumi.Input[str]] = None,
36
39
  release: Optional[pulumi.Input[str]] = None,
37
- source_ip: Optional[pulumi.Input[str]] = None):
40
+ repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
41
+ repeat_end_time: Optional[pulumi.Input[str]] = None,
42
+ repeat_start_time: Optional[pulumi.Input[str]] = None,
43
+ repeat_type: Optional[pulumi.Input[str]] = None,
44
+ source_ip: Optional[pulumi.Input[str]] = None,
45
+ start_time: Optional[pulumi.Input[int]] = None):
38
46
  """
39
47
  The set of arguments for constructing a ControlPolicy resource.
40
48
  :param pulumi.Input[str] acl_action: The action that Cloud Firewall performs on the traffic. Valid values: `accept`, `drop`, `log`.
41
- :param pulumi.Input[str] application_name: The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
42
- > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
43
49
  :param pulumi.Input[str] description: The description of the access control policy.
44
50
  :param pulumi.Input[str] destination: The destination address in the access control policy.
45
51
  :param pulumi.Input[str] destination_type: The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`, `location`.
@@ -47,16 +53,39 @@ class ControlPolicyArgs:
47
53
  :param pulumi.Input[str] proto: The protocol type supported by the access control policy. Valid values: `ANY`, ` TCP`, `UDP`, `ICMP`.
48
54
  :param pulumi.Input[str] source: The source address in the access control policy.
49
55
  :param pulumi.Input[str] source_type: The type of the source address in the access control policy. Valid values: `net`, `group`, `location`.
56
+ :param pulumi.Input[str] application_name: The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
57
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
58
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_name_lists: The application types supported by the access control policy.
59
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.232.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect.
50
60
  :param pulumi.Input[str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify `dest_port`.
51
61
  :param pulumi.Input[str] dest_port_group: The name of the destination port address book in the access control policy. **Note:** If `dest_port_type` is set to `group`, you must specify `dest_port_group`.
52
62
  :param pulumi.Input[str] dest_port_type: The type of the destination port in the access control policy. Valid values: `port`, `group`.
63
+ :param pulumi.Input[str] domain_resolve_type: The domain name resolution method of the access control policy. Valid values:
64
+ - `FQDN`: Fully qualified domain name (FQDN)-based resolution.
65
+ - `DNS`: DNS-based dynamic resolution.
66
+ - `FQDN_AND_DNS`: FQDN and DNS-based dynamic resolution.
67
+ :param pulumi.Input[int] end_time: The time when the access control policy stops taking effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes later than the start time.
68
+ > **NOTE:** If `repeat_type` is set to `None`, `Daily`, `Weekly`, or `Monthly`, `start_time` and `end_time` must be set.
53
69
  :param pulumi.Input[str] ip_version: The IP version supported by the access control policy. Default value: `4`. Valid values:
54
70
  :param pulumi.Input[str] lang: The language of the content within the request and response. Valid values: `zh`, `en`.
55
71
  :param pulumi.Input[str] release: The status of the access control policy. Valid values: `true`, `false`.
72
+ :param pulumi.Input[Sequence[pulumi.Input[int]]] repeat_days: The days of a week or of a month on which the access control policy takes effect. Valid values:
73
+ - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`.
74
+ - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`.
75
+ > **NOTE:** If `repeat_type` is set to `Weekly`, or `Monthly`, `repeat_days` must be set.
76
+ :param pulumi.Input[str] repeat_end_time: The point in time when the recurrence ends. Example: `23:30`. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
77
+ > **NOTE:** If `repeat_type` is set to `Daily`, `Weekly`, or `Monthly`, `repeat_start_time` and `repeat_end_time` must be set.
78
+ :param pulumi.Input[str] repeat_start_time: The point in time when the recurrence starts. Example: `08:00`. The start time must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
79
+ :param pulumi.Input[str] repeat_type: The recurrence type for the access control policy to take effect. Default value: `Permanent`. Valid values:
80
+ - `Permanent`: The policy always takes effect.
81
+ - `None`: The policy takes effect for only once.
82
+ - `Daily`: The policy takes effect on a daily basis.
83
+ - `Weekly`: The policy takes effect on a weekly basis.
84
+ - `Monthly`: The policy takes effect on a monthly basis.
56
85
  :param pulumi.Input[str] source_ip: The source IP address of the request.
86
+ :param pulumi.Input[int] start_time: The time when the access control policy starts to take effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
57
87
  """
58
88
  pulumi.set(__self__, "acl_action", acl_action)
59
- pulumi.set(__self__, "application_name", application_name)
60
89
  pulumi.set(__self__, "description", description)
61
90
  pulumi.set(__self__, "destination", destination)
62
91
  pulumi.set(__self__, "destination_type", destination_type)
@@ -64,20 +93,38 @@ class ControlPolicyArgs:
64
93
  pulumi.set(__self__, "proto", proto)
65
94
  pulumi.set(__self__, "source", source)
66
95
  pulumi.set(__self__, "source_type", source_type)
96
+ if application_name is not None:
97
+ pulumi.set(__self__, "application_name", application_name)
98
+ if application_name_lists is not None:
99
+ pulumi.set(__self__, "application_name_lists", application_name_lists)
67
100
  if dest_port is not None:
68
101
  pulumi.set(__self__, "dest_port", dest_port)
69
102
  if dest_port_group is not None:
70
103
  pulumi.set(__self__, "dest_port_group", dest_port_group)
71
104
  if dest_port_type is not None:
72
105
  pulumi.set(__self__, "dest_port_type", dest_port_type)
106
+ if domain_resolve_type is not None:
107
+ pulumi.set(__self__, "domain_resolve_type", domain_resolve_type)
108
+ if end_time is not None:
109
+ pulumi.set(__self__, "end_time", end_time)
73
110
  if ip_version is not None:
74
111
  pulumi.set(__self__, "ip_version", ip_version)
75
112
  if lang is not None:
76
113
  pulumi.set(__self__, "lang", lang)
77
114
  if release is not None:
78
115
  pulumi.set(__self__, "release", release)
116
+ if repeat_days is not None:
117
+ pulumi.set(__self__, "repeat_days", repeat_days)
118
+ if repeat_end_time is not None:
119
+ pulumi.set(__self__, "repeat_end_time", repeat_end_time)
120
+ if repeat_start_time is not None:
121
+ pulumi.set(__self__, "repeat_start_time", repeat_start_time)
122
+ if repeat_type is not None:
123
+ pulumi.set(__self__, "repeat_type", repeat_type)
79
124
  if source_ip is not None:
80
125
  pulumi.set(__self__, "source_ip", source_ip)
126
+ if start_time is not None:
127
+ pulumi.set(__self__, "start_time", start_time)
81
128
 
82
129
  @property
83
130
  @pulumi.getter(name="aclAction")
@@ -91,19 +138,6 @@ class ControlPolicyArgs:
91
138
  def acl_action(self, value: pulumi.Input[str]):
92
139
  pulumi.set(self, "acl_action", value)
93
140
 
94
- @property
95
- @pulumi.getter(name="applicationName")
96
- def application_name(self) -> pulumi.Input[str]:
97
- """
98
- The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
99
- > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
100
- """
101
- return pulumi.get(self, "application_name")
102
-
103
- @application_name.setter
104
- def application_name(self, value: pulumi.Input[str]):
105
- pulumi.set(self, "application_name", value)
106
-
107
141
  @property
108
142
  @pulumi.getter
109
143
  def description(self) -> pulumi.Input[str]:
@@ -188,6 +222,32 @@ class ControlPolicyArgs:
188
222
  def source_type(self, value: pulumi.Input[str]):
189
223
  pulumi.set(self, "source_type", value)
190
224
 
225
+ @property
226
+ @pulumi.getter(name="applicationName")
227
+ def application_name(self) -> Optional[pulumi.Input[str]]:
228
+ """
229
+ The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
230
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
231
+ """
232
+ return pulumi.get(self, "application_name")
233
+
234
+ @application_name.setter
235
+ def application_name(self, value: Optional[pulumi.Input[str]]):
236
+ pulumi.set(self, "application_name", value)
237
+
238
+ @property
239
+ @pulumi.getter(name="applicationNameLists")
240
+ def application_name_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
241
+ """
242
+ The application types supported by the access control policy.
243
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.232.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect.
244
+ """
245
+ return pulumi.get(self, "application_name_lists")
246
+
247
+ @application_name_lists.setter
248
+ def application_name_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
249
+ pulumi.set(self, "application_name_lists", value)
250
+
191
251
  @property
192
252
  @pulumi.getter(name="destPort")
193
253
  def dest_port(self) -> Optional[pulumi.Input[str]]:
@@ -224,6 +284,34 @@ class ControlPolicyArgs:
224
284
  def dest_port_type(self, value: Optional[pulumi.Input[str]]):
225
285
  pulumi.set(self, "dest_port_type", value)
226
286
 
287
+ @property
288
+ @pulumi.getter(name="domainResolveType")
289
+ def domain_resolve_type(self) -> Optional[pulumi.Input[str]]:
290
+ """
291
+ The domain name resolution method of the access control policy. Valid values:
292
+ - `FQDN`: Fully qualified domain name (FQDN)-based resolution.
293
+ - `DNS`: DNS-based dynamic resolution.
294
+ - `FQDN_AND_DNS`: FQDN and DNS-based dynamic resolution.
295
+ """
296
+ return pulumi.get(self, "domain_resolve_type")
297
+
298
+ @domain_resolve_type.setter
299
+ def domain_resolve_type(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "domain_resolve_type", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="endTime")
304
+ def end_time(self) -> Optional[pulumi.Input[int]]:
305
+ """
306
+ The time when the access control policy stops taking effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes later than the start time.
307
+ > **NOTE:** If `repeat_type` is set to `None`, `Daily`, `Weekly`, or `Monthly`, `start_time` and `end_time` must be set.
308
+ """
309
+ return pulumi.get(self, "end_time")
310
+
311
+ @end_time.setter
312
+ def end_time(self, value: Optional[pulumi.Input[int]]):
313
+ pulumi.set(self, "end_time", value)
314
+
227
315
  @property
228
316
  @pulumi.getter(name="ipVersion")
229
317
  def ip_version(self) -> Optional[pulumi.Input[str]]:
@@ -260,6 +348,63 @@ class ControlPolicyArgs:
260
348
  def release(self, value: Optional[pulumi.Input[str]]):
261
349
  pulumi.set(self, "release", value)
262
350
 
351
+ @property
352
+ @pulumi.getter(name="repeatDays")
353
+ def repeat_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
354
+ """
355
+ The days of a week or of a month on which the access control policy takes effect. Valid values:
356
+ - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`.
357
+ - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`.
358
+ > **NOTE:** If `repeat_type` is set to `Weekly`, or `Monthly`, `repeat_days` must be set.
359
+ """
360
+ return pulumi.get(self, "repeat_days")
361
+
362
+ @repeat_days.setter
363
+ def repeat_days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]):
364
+ pulumi.set(self, "repeat_days", value)
365
+
366
+ @property
367
+ @pulumi.getter(name="repeatEndTime")
368
+ def repeat_end_time(self) -> Optional[pulumi.Input[str]]:
369
+ """
370
+ The point in time when the recurrence ends. Example: `23:30`. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
371
+ > **NOTE:** If `repeat_type` is set to `Daily`, `Weekly`, or `Monthly`, `repeat_start_time` and `repeat_end_time` must be set.
372
+ """
373
+ return pulumi.get(self, "repeat_end_time")
374
+
375
+ @repeat_end_time.setter
376
+ def repeat_end_time(self, value: Optional[pulumi.Input[str]]):
377
+ pulumi.set(self, "repeat_end_time", value)
378
+
379
+ @property
380
+ @pulumi.getter(name="repeatStartTime")
381
+ def repeat_start_time(self) -> Optional[pulumi.Input[str]]:
382
+ """
383
+ The point in time when the recurrence starts. Example: `08:00`. The start time must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
384
+ """
385
+ return pulumi.get(self, "repeat_start_time")
386
+
387
+ @repeat_start_time.setter
388
+ def repeat_start_time(self, value: Optional[pulumi.Input[str]]):
389
+ pulumi.set(self, "repeat_start_time", value)
390
+
391
+ @property
392
+ @pulumi.getter(name="repeatType")
393
+ def repeat_type(self) -> Optional[pulumi.Input[str]]:
394
+ """
395
+ The recurrence type for the access control policy to take effect. Default value: `Permanent`. Valid values:
396
+ - `Permanent`: The policy always takes effect.
397
+ - `None`: The policy takes effect for only once.
398
+ - `Daily`: The policy takes effect on a daily basis.
399
+ - `Weekly`: The policy takes effect on a weekly basis.
400
+ - `Monthly`: The policy takes effect on a monthly basis.
401
+ """
402
+ return pulumi.get(self, "repeat_type")
403
+
404
+ @repeat_type.setter
405
+ def repeat_type(self, value: Optional[pulumi.Input[str]]):
406
+ pulumi.set(self, "repeat_type", value)
407
+
263
408
  @property
264
409
  @pulumi.getter(name="sourceIp")
265
410
  def source_ip(self) -> Optional[pulumi.Input[str]]:
@@ -272,6 +417,18 @@ class ControlPolicyArgs:
272
417
  def source_ip(self, value: Optional[pulumi.Input[str]]):
273
418
  pulumi.set(self, "source_ip", value)
274
419
 
420
+ @property
421
+ @pulumi.getter(name="startTime")
422
+ def start_time(self) -> Optional[pulumi.Input[int]]:
423
+ """
424
+ The time when the access control policy starts to take effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
425
+ """
426
+ return pulumi.get(self, "start_time")
427
+
428
+ @start_time.setter
429
+ def start_time(self, value: Optional[pulumi.Input[int]]):
430
+ pulumi.set(self, "start_time", value)
431
+
275
432
 
276
433
  @pulumi.input_type
277
434
  class _ControlPolicyState:
@@ -279,6 +436,8 @@ class _ControlPolicyState:
279
436
  acl_action: Optional[pulumi.Input[str]] = None,
280
437
  acl_uuid: Optional[pulumi.Input[str]] = None,
281
438
  application_name: Optional[pulumi.Input[str]] = None,
439
+ application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
440
+ create_time: Optional[pulumi.Input[str]] = None,
282
441
  description: Optional[pulumi.Input[str]] = None,
283
442
  dest_port: Optional[pulumi.Input[str]] = None,
284
443
  dest_port_group: Optional[pulumi.Input[str]] = None,
@@ -286,19 +445,29 @@ class _ControlPolicyState:
286
445
  destination: Optional[pulumi.Input[str]] = None,
287
446
  destination_type: Optional[pulumi.Input[str]] = None,
288
447
  direction: Optional[pulumi.Input[str]] = None,
448
+ domain_resolve_type: Optional[pulumi.Input[str]] = None,
449
+ end_time: Optional[pulumi.Input[int]] = None,
289
450
  ip_version: Optional[pulumi.Input[str]] = None,
290
451
  lang: Optional[pulumi.Input[str]] = None,
291
452
  proto: Optional[pulumi.Input[str]] = None,
292
453
  release: Optional[pulumi.Input[str]] = None,
454
+ repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
455
+ repeat_end_time: Optional[pulumi.Input[str]] = None,
456
+ repeat_start_time: Optional[pulumi.Input[str]] = None,
457
+ repeat_type: Optional[pulumi.Input[str]] = None,
293
458
  source: Optional[pulumi.Input[str]] = None,
294
459
  source_ip: Optional[pulumi.Input[str]] = None,
295
- source_type: Optional[pulumi.Input[str]] = None):
460
+ source_type: Optional[pulumi.Input[str]] = None,
461
+ start_time: Optional[pulumi.Input[int]] = None):
296
462
  """
297
463
  Input properties used for looking up and filtering ControlPolicy resources.
298
464
  :param pulumi.Input[str] acl_action: The action that Cloud Firewall performs on the traffic. Valid values: `accept`, `drop`, `log`.
299
465
  :param pulumi.Input[str] acl_uuid: (Available since v1.148.0) The unique ID of the access control policy.
300
466
  :param pulumi.Input[str] application_name: The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
301
467
  > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
468
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_name_lists: The application types supported by the access control policy.
469
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.232.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect.
470
+ :param pulumi.Input[str] create_time: (Available since v1.232.0) The time when the access control policy was created.
302
471
  :param pulumi.Input[str] description: The description of the access control policy.
303
472
  :param pulumi.Input[str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify `dest_port`.
304
473
  :param pulumi.Input[str] dest_port_group: The name of the destination port address book in the access control policy. **Note:** If `dest_port_type` is set to `group`, you must specify `dest_port_group`.
@@ -306,13 +475,33 @@ class _ControlPolicyState:
306
475
  :param pulumi.Input[str] destination: The destination address in the access control policy.
307
476
  :param pulumi.Input[str] destination_type: The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`, `location`.
308
477
  :param pulumi.Input[str] direction: The direction of the traffic to which the access control policy applies. Valid values: `in`, `out`.
478
+ :param pulumi.Input[str] domain_resolve_type: The domain name resolution method of the access control policy. Valid values:
479
+ - `FQDN`: Fully qualified domain name (FQDN)-based resolution.
480
+ - `DNS`: DNS-based dynamic resolution.
481
+ - `FQDN_AND_DNS`: FQDN and DNS-based dynamic resolution.
482
+ :param pulumi.Input[int] end_time: The time when the access control policy stops taking effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes later than the start time.
483
+ > **NOTE:** If `repeat_type` is set to `None`, `Daily`, `Weekly`, or `Monthly`, `start_time` and `end_time` must be set.
309
484
  :param pulumi.Input[str] ip_version: The IP version supported by the access control policy. Default value: `4`. Valid values:
310
485
  :param pulumi.Input[str] lang: The language of the content within the request and response. Valid values: `zh`, `en`.
311
486
  :param pulumi.Input[str] proto: The protocol type supported by the access control policy. Valid values: `ANY`, ` TCP`, `UDP`, `ICMP`.
312
487
  :param pulumi.Input[str] release: The status of the access control policy. Valid values: `true`, `false`.
488
+ :param pulumi.Input[Sequence[pulumi.Input[int]]] repeat_days: The days of a week or of a month on which the access control policy takes effect. Valid values:
489
+ - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`.
490
+ - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`.
491
+ > **NOTE:** If `repeat_type` is set to `Weekly`, or `Monthly`, `repeat_days` must be set.
492
+ :param pulumi.Input[str] repeat_end_time: The point in time when the recurrence ends. Example: `23:30`. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
493
+ > **NOTE:** If `repeat_type` is set to `Daily`, `Weekly`, or `Monthly`, `repeat_start_time` and `repeat_end_time` must be set.
494
+ :param pulumi.Input[str] repeat_start_time: The point in time when the recurrence starts. Example: `08:00`. The start time must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
495
+ :param pulumi.Input[str] repeat_type: The recurrence type for the access control policy to take effect. Default value: `Permanent`. Valid values:
496
+ - `Permanent`: The policy always takes effect.
497
+ - `None`: The policy takes effect for only once.
498
+ - `Daily`: The policy takes effect on a daily basis.
499
+ - `Weekly`: The policy takes effect on a weekly basis.
500
+ - `Monthly`: The policy takes effect on a monthly basis.
313
501
  :param pulumi.Input[str] source: The source address in the access control policy.
314
502
  :param pulumi.Input[str] source_ip: The source IP address of the request.
315
503
  :param pulumi.Input[str] source_type: The type of the source address in the access control policy. Valid values: `net`, `group`, `location`.
504
+ :param pulumi.Input[int] start_time: The time when the access control policy starts to take effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
316
505
  """
317
506
  if acl_action is not None:
318
507
  pulumi.set(__self__, "acl_action", acl_action)
@@ -320,6 +509,10 @@ class _ControlPolicyState:
320
509
  pulumi.set(__self__, "acl_uuid", acl_uuid)
321
510
  if application_name is not None:
322
511
  pulumi.set(__self__, "application_name", application_name)
512
+ if application_name_lists is not None:
513
+ pulumi.set(__self__, "application_name_lists", application_name_lists)
514
+ if create_time is not None:
515
+ pulumi.set(__self__, "create_time", create_time)
323
516
  if description is not None:
324
517
  pulumi.set(__self__, "description", description)
325
518
  if dest_port is not None:
@@ -334,6 +527,10 @@ class _ControlPolicyState:
334
527
  pulumi.set(__self__, "destination_type", destination_type)
335
528
  if direction is not None:
336
529
  pulumi.set(__self__, "direction", direction)
530
+ if domain_resolve_type is not None:
531
+ pulumi.set(__self__, "domain_resolve_type", domain_resolve_type)
532
+ if end_time is not None:
533
+ pulumi.set(__self__, "end_time", end_time)
337
534
  if ip_version is not None:
338
535
  pulumi.set(__self__, "ip_version", ip_version)
339
536
  if lang is not None:
@@ -342,12 +539,22 @@ class _ControlPolicyState:
342
539
  pulumi.set(__self__, "proto", proto)
343
540
  if release is not None:
344
541
  pulumi.set(__self__, "release", release)
542
+ if repeat_days is not None:
543
+ pulumi.set(__self__, "repeat_days", repeat_days)
544
+ if repeat_end_time is not None:
545
+ pulumi.set(__self__, "repeat_end_time", repeat_end_time)
546
+ if repeat_start_time is not None:
547
+ pulumi.set(__self__, "repeat_start_time", repeat_start_time)
548
+ if repeat_type is not None:
549
+ pulumi.set(__self__, "repeat_type", repeat_type)
345
550
  if source is not None:
346
551
  pulumi.set(__self__, "source", source)
347
552
  if source_ip is not None:
348
553
  pulumi.set(__self__, "source_ip", source_ip)
349
554
  if source_type is not None:
350
555
  pulumi.set(__self__, "source_type", source_type)
556
+ if start_time is not None:
557
+ pulumi.set(__self__, "start_time", start_time)
351
558
 
352
559
  @property
353
560
  @pulumi.getter(name="aclAction")
@@ -386,6 +593,31 @@ class _ControlPolicyState:
386
593
  def application_name(self, value: Optional[pulumi.Input[str]]):
387
594
  pulumi.set(self, "application_name", value)
388
595
 
596
+ @property
597
+ @pulumi.getter(name="applicationNameLists")
598
+ def application_name_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
599
+ """
600
+ The application types supported by the access control policy.
601
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.232.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect.
602
+ """
603
+ return pulumi.get(self, "application_name_lists")
604
+
605
+ @application_name_lists.setter
606
+ def application_name_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
607
+ pulumi.set(self, "application_name_lists", value)
608
+
609
+ @property
610
+ @pulumi.getter(name="createTime")
611
+ def create_time(self) -> Optional[pulumi.Input[str]]:
612
+ """
613
+ (Available since v1.232.0) The time when the access control policy was created.
614
+ """
615
+ return pulumi.get(self, "create_time")
616
+
617
+ @create_time.setter
618
+ def create_time(self, value: Optional[pulumi.Input[str]]):
619
+ pulumi.set(self, "create_time", value)
620
+
389
621
  @property
390
622
  @pulumi.getter
391
623
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -470,6 +702,34 @@ class _ControlPolicyState:
470
702
  def direction(self, value: Optional[pulumi.Input[str]]):
471
703
  pulumi.set(self, "direction", value)
472
704
 
705
+ @property
706
+ @pulumi.getter(name="domainResolveType")
707
+ def domain_resolve_type(self) -> Optional[pulumi.Input[str]]:
708
+ """
709
+ The domain name resolution method of the access control policy. Valid values:
710
+ - `FQDN`: Fully qualified domain name (FQDN)-based resolution.
711
+ - `DNS`: DNS-based dynamic resolution.
712
+ - `FQDN_AND_DNS`: FQDN and DNS-based dynamic resolution.
713
+ """
714
+ return pulumi.get(self, "domain_resolve_type")
715
+
716
+ @domain_resolve_type.setter
717
+ def domain_resolve_type(self, value: Optional[pulumi.Input[str]]):
718
+ pulumi.set(self, "domain_resolve_type", value)
719
+
720
+ @property
721
+ @pulumi.getter(name="endTime")
722
+ def end_time(self) -> Optional[pulumi.Input[int]]:
723
+ """
724
+ The time when the access control policy stops taking effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes later than the start time.
725
+ > **NOTE:** If `repeat_type` is set to `None`, `Daily`, `Weekly`, or `Monthly`, `start_time` and `end_time` must be set.
726
+ """
727
+ return pulumi.get(self, "end_time")
728
+
729
+ @end_time.setter
730
+ def end_time(self, value: Optional[pulumi.Input[int]]):
731
+ pulumi.set(self, "end_time", value)
732
+
473
733
  @property
474
734
  @pulumi.getter(name="ipVersion")
475
735
  def ip_version(self) -> Optional[pulumi.Input[str]]:
@@ -518,6 +778,63 @@ class _ControlPolicyState:
518
778
  def release(self, value: Optional[pulumi.Input[str]]):
519
779
  pulumi.set(self, "release", value)
520
780
 
781
+ @property
782
+ @pulumi.getter(name="repeatDays")
783
+ def repeat_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
784
+ """
785
+ The days of a week or of a month on which the access control policy takes effect. Valid values:
786
+ - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`.
787
+ - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`.
788
+ > **NOTE:** If `repeat_type` is set to `Weekly`, or `Monthly`, `repeat_days` must be set.
789
+ """
790
+ return pulumi.get(self, "repeat_days")
791
+
792
+ @repeat_days.setter
793
+ def repeat_days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]):
794
+ pulumi.set(self, "repeat_days", value)
795
+
796
+ @property
797
+ @pulumi.getter(name="repeatEndTime")
798
+ def repeat_end_time(self) -> Optional[pulumi.Input[str]]:
799
+ """
800
+ The point in time when the recurrence ends. Example: `23:30`. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
801
+ > **NOTE:** If `repeat_type` is set to `Daily`, `Weekly`, or `Monthly`, `repeat_start_time` and `repeat_end_time` must be set.
802
+ """
803
+ return pulumi.get(self, "repeat_end_time")
804
+
805
+ @repeat_end_time.setter
806
+ def repeat_end_time(self, value: Optional[pulumi.Input[str]]):
807
+ pulumi.set(self, "repeat_end_time", value)
808
+
809
+ @property
810
+ @pulumi.getter(name="repeatStartTime")
811
+ def repeat_start_time(self) -> Optional[pulumi.Input[str]]:
812
+ """
813
+ The point in time when the recurrence starts. Example: `08:00`. The start time must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
814
+ """
815
+ return pulumi.get(self, "repeat_start_time")
816
+
817
+ @repeat_start_time.setter
818
+ def repeat_start_time(self, value: Optional[pulumi.Input[str]]):
819
+ pulumi.set(self, "repeat_start_time", value)
820
+
821
+ @property
822
+ @pulumi.getter(name="repeatType")
823
+ def repeat_type(self) -> Optional[pulumi.Input[str]]:
824
+ """
825
+ The recurrence type for the access control policy to take effect. Default value: `Permanent`. Valid values:
826
+ - `Permanent`: The policy always takes effect.
827
+ - `None`: The policy takes effect for only once.
828
+ - `Daily`: The policy takes effect on a daily basis.
829
+ - `Weekly`: The policy takes effect on a weekly basis.
830
+ - `Monthly`: The policy takes effect on a monthly basis.
831
+ """
832
+ return pulumi.get(self, "repeat_type")
833
+
834
+ @repeat_type.setter
835
+ def repeat_type(self, value: Optional[pulumi.Input[str]]):
836
+ pulumi.set(self, "repeat_type", value)
837
+
521
838
  @property
522
839
  @pulumi.getter
523
840
  def source(self) -> Optional[pulumi.Input[str]]:
@@ -554,6 +871,18 @@ class _ControlPolicyState:
554
871
  def source_type(self, value: Optional[pulumi.Input[str]]):
555
872
  pulumi.set(self, "source_type", value)
556
873
 
874
+ @property
875
+ @pulumi.getter(name="startTime")
876
+ def start_time(self) -> Optional[pulumi.Input[int]]:
877
+ """
878
+ The time when the access control policy starts to take effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
879
+ """
880
+ return pulumi.get(self, "start_time")
881
+
882
+ @start_time.setter
883
+ def start_time(self, value: Optional[pulumi.Input[int]]):
884
+ pulumi.set(self, "start_time", value)
885
+
557
886
 
558
887
  class ControlPolicy(pulumi.CustomResource):
559
888
  @overload
@@ -562,6 +891,7 @@ class ControlPolicy(pulumi.CustomResource):
562
891
  opts: Optional[pulumi.ResourceOptions] = None,
563
892
  acl_action: Optional[pulumi.Input[str]] = None,
564
893
  application_name: Optional[pulumi.Input[str]] = None,
894
+ application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
565
895
  description: Optional[pulumi.Input[str]] = None,
566
896
  dest_port: Optional[pulumi.Input[str]] = None,
567
897
  dest_port_group: Optional[pulumi.Input[str]] = None,
@@ -569,13 +899,20 @@ class ControlPolicy(pulumi.CustomResource):
569
899
  destination: Optional[pulumi.Input[str]] = None,
570
900
  destination_type: Optional[pulumi.Input[str]] = None,
571
901
  direction: Optional[pulumi.Input[str]] = None,
902
+ domain_resolve_type: Optional[pulumi.Input[str]] = None,
903
+ end_time: Optional[pulumi.Input[int]] = None,
572
904
  ip_version: Optional[pulumi.Input[str]] = None,
573
905
  lang: Optional[pulumi.Input[str]] = None,
574
906
  proto: Optional[pulumi.Input[str]] = None,
575
907
  release: Optional[pulumi.Input[str]] = None,
908
+ repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
909
+ repeat_end_time: Optional[pulumi.Input[str]] = None,
910
+ repeat_start_time: Optional[pulumi.Input[str]] = None,
911
+ repeat_type: Optional[pulumi.Input[str]] = None,
576
912
  source: Optional[pulumi.Input[str]] = None,
577
913
  source_ip: Optional[pulumi.Input[str]] = None,
578
914
  source_type: Optional[pulumi.Input[str]] = None,
915
+ start_time: Optional[pulumi.Input[int]] = None,
579
916
  __props__=None):
580
917
  """
581
918
  Provides a Cloud Firewall Control Policy resource.
@@ -621,6 +958,8 @@ class ControlPolicy(pulumi.CustomResource):
621
958
  :param pulumi.Input[str] acl_action: The action that Cloud Firewall performs on the traffic. Valid values: `accept`, `drop`, `log`.
622
959
  :param pulumi.Input[str] application_name: The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
623
960
  > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
961
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_name_lists: The application types supported by the access control policy.
962
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.232.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect.
624
963
  :param pulumi.Input[str] description: The description of the access control policy.
625
964
  :param pulumi.Input[str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify `dest_port`.
626
965
  :param pulumi.Input[str] dest_port_group: The name of the destination port address book in the access control policy. **Note:** If `dest_port_type` is set to `group`, you must specify `dest_port_group`.
@@ -628,13 +967,33 @@ class ControlPolicy(pulumi.CustomResource):
628
967
  :param pulumi.Input[str] destination: The destination address in the access control policy.
629
968
  :param pulumi.Input[str] destination_type: The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`, `location`.
630
969
  :param pulumi.Input[str] direction: The direction of the traffic to which the access control policy applies. Valid values: `in`, `out`.
970
+ :param pulumi.Input[str] domain_resolve_type: The domain name resolution method of the access control policy. Valid values:
971
+ - `FQDN`: Fully qualified domain name (FQDN)-based resolution.
972
+ - `DNS`: DNS-based dynamic resolution.
973
+ - `FQDN_AND_DNS`: FQDN and DNS-based dynamic resolution.
974
+ :param pulumi.Input[int] end_time: The time when the access control policy stops taking effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes later than the start time.
975
+ > **NOTE:** If `repeat_type` is set to `None`, `Daily`, `Weekly`, or `Monthly`, `start_time` and `end_time` must be set.
631
976
  :param pulumi.Input[str] ip_version: The IP version supported by the access control policy. Default value: `4`. Valid values:
632
977
  :param pulumi.Input[str] lang: The language of the content within the request and response. Valid values: `zh`, `en`.
633
978
  :param pulumi.Input[str] proto: The protocol type supported by the access control policy. Valid values: `ANY`, ` TCP`, `UDP`, `ICMP`.
634
979
  :param pulumi.Input[str] release: The status of the access control policy. Valid values: `true`, `false`.
980
+ :param pulumi.Input[Sequence[pulumi.Input[int]]] repeat_days: The days of a week or of a month on which the access control policy takes effect. Valid values:
981
+ - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`.
982
+ - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`.
983
+ > **NOTE:** If `repeat_type` is set to `Weekly`, or `Monthly`, `repeat_days` must be set.
984
+ :param pulumi.Input[str] repeat_end_time: The point in time when the recurrence ends. Example: `23:30`. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
985
+ > **NOTE:** If `repeat_type` is set to `Daily`, `Weekly`, or `Monthly`, `repeat_start_time` and `repeat_end_time` must be set.
986
+ :param pulumi.Input[str] repeat_start_time: The point in time when the recurrence starts. Example: `08:00`. The start time must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
987
+ :param pulumi.Input[str] repeat_type: The recurrence type for the access control policy to take effect. Default value: `Permanent`. Valid values:
988
+ - `Permanent`: The policy always takes effect.
989
+ - `None`: The policy takes effect for only once.
990
+ - `Daily`: The policy takes effect on a daily basis.
991
+ - `Weekly`: The policy takes effect on a weekly basis.
992
+ - `Monthly`: The policy takes effect on a monthly basis.
635
993
  :param pulumi.Input[str] source: The source address in the access control policy.
636
994
  :param pulumi.Input[str] source_ip: The source IP address of the request.
637
995
  :param pulumi.Input[str] source_type: The type of the source address in the access control policy. Valid values: `net`, `group`, `location`.
996
+ :param pulumi.Input[int] start_time: The time when the access control policy starts to take effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
638
997
  """
639
998
  ...
640
999
  @overload
@@ -698,6 +1057,7 @@ class ControlPolicy(pulumi.CustomResource):
698
1057
  opts: Optional[pulumi.ResourceOptions] = None,
699
1058
  acl_action: Optional[pulumi.Input[str]] = None,
700
1059
  application_name: Optional[pulumi.Input[str]] = None,
1060
+ application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
701
1061
  description: Optional[pulumi.Input[str]] = None,
702
1062
  dest_port: Optional[pulumi.Input[str]] = None,
703
1063
  dest_port_group: Optional[pulumi.Input[str]] = None,
@@ -705,13 +1065,20 @@ class ControlPolicy(pulumi.CustomResource):
705
1065
  destination: Optional[pulumi.Input[str]] = None,
706
1066
  destination_type: Optional[pulumi.Input[str]] = None,
707
1067
  direction: Optional[pulumi.Input[str]] = None,
1068
+ domain_resolve_type: Optional[pulumi.Input[str]] = None,
1069
+ end_time: Optional[pulumi.Input[int]] = None,
708
1070
  ip_version: Optional[pulumi.Input[str]] = None,
709
1071
  lang: Optional[pulumi.Input[str]] = None,
710
1072
  proto: Optional[pulumi.Input[str]] = None,
711
1073
  release: Optional[pulumi.Input[str]] = None,
1074
+ repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
1075
+ repeat_end_time: Optional[pulumi.Input[str]] = None,
1076
+ repeat_start_time: Optional[pulumi.Input[str]] = None,
1077
+ repeat_type: Optional[pulumi.Input[str]] = None,
712
1078
  source: Optional[pulumi.Input[str]] = None,
713
1079
  source_ip: Optional[pulumi.Input[str]] = None,
714
1080
  source_type: Optional[pulumi.Input[str]] = None,
1081
+ start_time: Optional[pulumi.Input[int]] = None,
715
1082
  __props__=None):
716
1083
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
717
1084
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -724,9 +1091,8 @@ class ControlPolicy(pulumi.CustomResource):
724
1091
  if acl_action is None and not opts.urn:
725
1092
  raise TypeError("Missing required property 'acl_action'")
726
1093
  __props__.__dict__["acl_action"] = acl_action
727
- if application_name is None and not opts.urn:
728
- raise TypeError("Missing required property 'application_name'")
729
1094
  __props__.__dict__["application_name"] = application_name
1095
+ __props__.__dict__["application_name_lists"] = application_name_lists
730
1096
  if description is None and not opts.urn:
731
1097
  raise TypeError("Missing required property 'description'")
732
1098
  __props__.__dict__["description"] = description
@@ -742,12 +1108,18 @@ class ControlPolicy(pulumi.CustomResource):
742
1108
  if direction is None and not opts.urn:
743
1109
  raise TypeError("Missing required property 'direction'")
744
1110
  __props__.__dict__["direction"] = direction
1111
+ __props__.__dict__["domain_resolve_type"] = domain_resolve_type
1112
+ __props__.__dict__["end_time"] = end_time
745
1113
  __props__.__dict__["ip_version"] = ip_version
746
1114
  __props__.__dict__["lang"] = lang
747
1115
  if proto is None and not opts.urn:
748
1116
  raise TypeError("Missing required property 'proto'")
749
1117
  __props__.__dict__["proto"] = proto
750
1118
  __props__.__dict__["release"] = release
1119
+ __props__.__dict__["repeat_days"] = repeat_days
1120
+ __props__.__dict__["repeat_end_time"] = repeat_end_time
1121
+ __props__.__dict__["repeat_start_time"] = repeat_start_time
1122
+ __props__.__dict__["repeat_type"] = repeat_type
751
1123
  if source is None and not opts.urn:
752
1124
  raise TypeError("Missing required property 'source'")
753
1125
  __props__.__dict__["source"] = source
@@ -755,7 +1127,9 @@ class ControlPolicy(pulumi.CustomResource):
755
1127
  if source_type is None and not opts.urn:
756
1128
  raise TypeError("Missing required property 'source_type'")
757
1129
  __props__.__dict__["source_type"] = source_type
1130
+ __props__.__dict__["start_time"] = start_time
758
1131
  __props__.__dict__["acl_uuid"] = None
1132
+ __props__.__dict__["create_time"] = None
759
1133
  super(ControlPolicy, __self__).__init__(
760
1134
  'alicloud:cloudfirewall/controlPolicy:ControlPolicy',
761
1135
  resource_name,
@@ -769,6 +1143,8 @@ class ControlPolicy(pulumi.CustomResource):
769
1143
  acl_action: Optional[pulumi.Input[str]] = None,
770
1144
  acl_uuid: Optional[pulumi.Input[str]] = None,
771
1145
  application_name: Optional[pulumi.Input[str]] = None,
1146
+ application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1147
+ create_time: Optional[pulumi.Input[str]] = None,
772
1148
  description: Optional[pulumi.Input[str]] = None,
773
1149
  dest_port: Optional[pulumi.Input[str]] = None,
774
1150
  dest_port_group: Optional[pulumi.Input[str]] = None,
@@ -776,13 +1152,20 @@ class ControlPolicy(pulumi.CustomResource):
776
1152
  destination: Optional[pulumi.Input[str]] = None,
777
1153
  destination_type: Optional[pulumi.Input[str]] = None,
778
1154
  direction: Optional[pulumi.Input[str]] = None,
1155
+ domain_resolve_type: Optional[pulumi.Input[str]] = None,
1156
+ end_time: Optional[pulumi.Input[int]] = None,
779
1157
  ip_version: Optional[pulumi.Input[str]] = None,
780
1158
  lang: Optional[pulumi.Input[str]] = None,
781
1159
  proto: Optional[pulumi.Input[str]] = None,
782
1160
  release: Optional[pulumi.Input[str]] = None,
1161
+ repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
1162
+ repeat_end_time: Optional[pulumi.Input[str]] = None,
1163
+ repeat_start_time: Optional[pulumi.Input[str]] = None,
1164
+ repeat_type: Optional[pulumi.Input[str]] = None,
783
1165
  source: Optional[pulumi.Input[str]] = None,
784
1166
  source_ip: Optional[pulumi.Input[str]] = None,
785
- source_type: Optional[pulumi.Input[str]] = None) -> 'ControlPolicy':
1167
+ source_type: Optional[pulumi.Input[str]] = None,
1168
+ start_time: Optional[pulumi.Input[int]] = None) -> 'ControlPolicy':
786
1169
  """
787
1170
  Get an existing ControlPolicy resource's state with the given name, id, and optional extra
788
1171
  properties used to qualify the lookup.
@@ -794,6 +1177,9 @@ class ControlPolicy(pulumi.CustomResource):
794
1177
  :param pulumi.Input[str] acl_uuid: (Available since v1.148.0) The unique ID of the access control policy.
795
1178
  :param pulumi.Input[str] application_name: The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
796
1179
  > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
1180
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_name_lists: The application types supported by the access control policy.
1181
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.232.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect.
1182
+ :param pulumi.Input[str] create_time: (Available since v1.232.0) The time when the access control policy was created.
797
1183
  :param pulumi.Input[str] description: The description of the access control policy.
798
1184
  :param pulumi.Input[str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify `dest_port`.
799
1185
  :param pulumi.Input[str] dest_port_group: The name of the destination port address book in the access control policy. **Note:** If `dest_port_type` is set to `group`, you must specify `dest_port_group`.
@@ -801,13 +1187,33 @@ class ControlPolicy(pulumi.CustomResource):
801
1187
  :param pulumi.Input[str] destination: The destination address in the access control policy.
802
1188
  :param pulumi.Input[str] destination_type: The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`, `location`.
803
1189
  :param pulumi.Input[str] direction: The direction of the traffic to which the access control policy applies. Valid values: `in`, `out`.
1190
+ :param pulumi.Input[str] domain_resolve_type: The domain name resolution method of the access control policy. Valid values:
1191
+ - `FQDN`: Fully qualified domain name (FQDN)-based resolution.
1192
+ - `DNS`: DNS-based dynamic resolution.
1193
+ - `FQDN_AND_DNS`: FQDN and DNS-based dynamic resolution.
1194
+ :param pulumi.Input[int] end_time: The time when the access control policy stops taking effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes later than the start time.
1195
+ > **NOTE:** If `repeat_type` is set to `None`, `Daily`, `Weekly`, or `Monthly`, `start_time` and `end_time` must be set.
804
1196
  :param pulumi.Input[str] ip_version: The IP version supported by the access control policy. Default value: `4`. Valid values:
805
1197
  :param pulumi.Input[str] lang: The language of the content within the request and response. Valid values: `zh`, `en`.
806
1198
  :param pulumi.Input[str] proto: The protocol type supported by the access control policy. Valid values: `ANY`, ` TCP`, `UDP`, `ICMP`.
807
1199
  :param pulumi.Input[str] release: The status of the access control policy. Valid values: `true`, `false`.
1200
+ :param pulumi.Input[Sequence[pulumi.Input[int]]] repeat_days: The days of a week or of a month on which the access control policy takes effect. Valid values:
1201
+ - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`.
1202
+ - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`.
1203
+ > **NOTE:** If `repeat_type` is set to `Weekly`, or `Monthly`, `repeat_days` must be set.
1204
+ :param pulumi.Input[str] repeat_end_time: The point in time when the recurrence ends. Example: `23:30`. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
1205
+ > **NOTE:** If `repeat_type` is set to `Daily`, `Weekly`, or `Monthly`, `repeat_start_time` and `repeat_end_time` must be set.
1206
+ :param pulumi.Input[str] repeat_start_time: The point in time when the recurrence starts. Example: `08:00`. The start time must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
1207
+ :param pulumi.Input[str] repeat_type: The recurrence type for the access control policy to take effect. Default value: `Permanent`. Valid values:
1208
+ - `Permanent`: The policy always takes effect.
1209
+ - `None`: The policy takes effect for only once.
1210
+ - `Daily`: The policy takes effect on a daily basis.
1211
+ - `Weekly`: The policy takes effect on a weekly basis.
1212
+ - `Monthly`: The policy takes effect on a monthly basis.
808
1213
  :param pulumi.Input[str] source: The source address in the access control policy.
809
1214
  :param pulumi.Input[str] source_ip: The source IP address of the request.
810
1215
  :param pulumi.Input[str] source_type: The type of the source address in the access control policy. Valid values: `net`, `group`, `location`.
1216
+ :param pulumi.Input[int] start_time: The time when the access control policy starts to take effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
811
1217
  """
812
1218
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
813
1219
 
@@ -816,6 +1222,8 @@ class ControlPolicy(pulumi.CustomResource):
816
1222
  __props__.__dict__["acl_action"] = acl_action
817
1223
  __props__.__dict__["acl_uuid"] = acl_uuid
818
1224
  __props__.__dict__["application_name"] = application_name
1225
+ __props__.__dict__["application_name_lists"] = application_name_lists
1226
+ __props__.__dict__["create_time"] = create_time
819
1227
  __props__.__dict__["description"] = description
820
1228
  __props__.__dict__["dest_port"] = dest_port
821
1229
  __props__.__dict__["dest_port_group"] = dest_port_group
@@ -823,13 +1231,20 @@ class ControlPolicy(pulumi.CustomResource):
823
1231
  __props__.__dict__["destination"] = destination
824
1232
  __props__.__dict__["destination_type"] = destination_type
825
1233
  __props__.__dict__["direction"] = direction
1234
+ __props__.__dict__["domain_resolve_type"] = domain_resolve_type
1235
+ __props__.__dict__["end_time"] = end_time
826
1236
  __props__.__dict__["ip_version"] = ip_version
827
1237
  __props__.__dict__["lang"] = lang
828
1238
  __props__.__dict__["proto"] = proto
829
1239
  __props__.__dict__["release"] = release
1240
+ __props__.__dict__["repeat_days"] = repeat_days
1241
+ __props__.__dict__["repeat_end_time"] = repeat_end_time
1242
+ __props__.__dict__["repeat_start_time"] = repeat_start_time
1243
+ __props__.__dict__["repeat_type"] = repeat_type
830
1244
  __props__.__dict__["source"] = source
831
1245
  __props__.__dict__["source_ip"] = source_ip
832
1246
  __props__.__dict__["source_type"] = source_type
1247
+ __props__.__dict__["start_time"] = start_time
833
1248
  return ControlPolicy(resource_name, opts=opts, __props__=__props__)
834
1249
 
835
1250
  @property
@@ -850,13 +1265,30 @@ class ControlPolicy(pulumi.CustomResource):
850
1265
 
851
1266
  @property
852
1267
  @pulumi.getter(name="applicationName")
853
- def application_name(self) -> pulumi.Output[str]:
1268
+ def application_name(self) -> pulumi.Output[Optional[str]]:
854
1269
  """
855
1270
  The application type supported by the access control policy. Valid values: `ANY`, `HTTP`, `HTTPS`, `MQTT`, `Memcache`, `MongoDB`, `MySQL`, `RDP`, `Redis`, `SMTP`, `SMTPS`, `SSH`, `SSL`, `VNC`.
856
1271
  > **NOTE:** If `proto` is set to `TCP`, you can set `application_name` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name` to `ANY`.
857
1272
  """
858
1273
  return pulumi.get(self, "application_name")
859
1274
 
1275
+ @property
1276
+ @pulumi.getter(name="applicationNameLists")
1277
+ def application_name_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
1278
+ """
1279
+ The application types supported by the access control policy.
1280
+ > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.232.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect.
1281
+ """
1282
+ return pulumi.get(self, "application_name_lists")
1283
+
1284
+ @property
1285
+ @pulumi.getter(name="createTime")
1286
+ def create_time(self) -> pulumi.Output[str]:
1287
+ """
1288
+ (Available since v1.232.0) The time when the access control policy was created.
1289
+ """
1290
+ return pulumi.get(self, "create_time")
1291
+
860
1292
  @property
861
1293
  @pulumi.getter
862
1294
  def description(self) -> pulumi.Output[str]:
@@ -913,6 +1345,26 @@ class ControlPolicy(pulumi.CustomResource):
913
1345
  """
914
1346
  return pulumi.get(self, "direction")
915
1347
 
1348
+ @property
1349
+ @pulumi.getter(name="domainResolveType")
1350
+ def domain_resolve_type(self) -> pulumi.Output[Optional[str]]:
1351
+ """
1352
+ The domain name resolution method of the access control policy. Valid values:
1353
+ - `FQDN`: Fully qualified domain name (FQDN)-based resolution.
1354
+ - `DNS`: DNS-based dynamic resolution.
1355
+ - `FQDN_AND_DNS`: FQDN and DNS-based dynamic resolution.
1356
+ """
1357
+ return pulumi.get(self, "domain_resolve_type")
1358
+
1359
+ @property
1360
+ @pulumi.getter(name="endTime")
1361
+ def end_time(self) -> pulumi.Output[Optional[int]]:
1362
+ """
1363
+ The time when the access control policy stops taking effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes later than the start time.
1364
+ > **NOTE:** If `repeat_type` is set to `None`, `Daily`, `Weekly`, or `Monthly`, `start_time` and `end_time` must be set.
1365
+ """
1366
+ return pulumi.get(self, "end_time")
1367
+
916
1368
  @property
917
1369
  @pulumi.getter(name="ipVersion")
918
1370
  def ip_version(self) -> pulumi.Output[str]:
@@ -945,6 +1397,47 @@ class ControlPolicy(pulumi.CustomResource):
945
1397
  """
946
1398
  return pulumi.get(self, "release")
947
1399
 
1400
+ @property
1401
+ @pulumi.getter(name="repeatDays")
1402
+ def repeat_days(self) -> pulumi.Output[Optional[Sequence[int]]]:
1403
+ """
1404
+ The days of a week or of a month on which the access control policy takes effect. Valid values:
1405
+ - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`.
1406
+ - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`.
1407
+ > **NOTE:** If `repeat_type` is set to `Weekly`, or `Monthly`, `repeat_days` must be set.
1408
+ """
1409
+ return pulumi.get(self, "repeat_days")
1410
+
1411
+ @property
1412
+ @pulumi.getter(name="repeatEndTime")
1413
+ def repeat_end_time(self) -> pulumi.Output[Optional[str]]:
1414
+ """
1415
+ The point in time when the recurrence ends. Example: `23:30`. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
1416
+ > **NOTE:** If `repeat_type` is set to `Daily`, `Weekly`, or `Monthly`, `repeat_start_time` and `repeat_end_time` must be set.
1417
+ """
1418
+ return pulumi.get(self, "repeat_end_time")
1419
+
1420
+ @property
1421
+ @pulumi.getter(name="repeatStartTime")
1422
+ def repeat_start_time(self) -> pulumi.Output[Optional[str]]:
1423
+ """
1424
+ The point in time when the recurrence starts. Example: `08:00`. The start time must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
1425
+ """
1426
+ return pulumi.get(self, "repeat_start_time")
1427
+
1428
+ @property
1429
+ @pulumi.getter(name="repeatType")
1430
+ def repeat_type(self) -> pulumi.Output[str]:
1431
+ """
1432
+ The recurrence type for the access control policy to take effect. Default value: `Permanent`. Valid values:
1433
+ - `Permanent`: The policy always takes effect.
1434
+ - `None`: The policy takes effect for only once.
1435
+ - `Daily`: The policy takes effect on a daily basis.
1436
+ - `Weekly`: The policy takes effect on a weekly basis.
1437
+ - `Monthly`: The policy takes effect on a monthly basis.
1438
+ """
1439
+ return pulumi.get(self, "repeat_type")
1440
+
948
1441
  @property
949
1442
  @pulumi.getter
950
1443
  def source(self) -> pulumi.Output[str]:
@@ -969,3 +1462,11 @@ class ControlPolicy(pulumi.CustomResource):
969
1462
  """
970
1463
  return pulumi.get(self, "source_type")
971
1464
 
1465
+ @property
1466
+ @pulumi.getter(name="startTime")
1467
+ def start_time(self) -> pulumi.Output[Optional[int]]:
1468
+ """
1469
+ The time when the access control policy starts to take effect. The value is a UNIX timestamp. Unit: seconds. The value must be on the hour or on the half hour, and at least 30 minutes earlier than the end time.
1470
+ """
1471
+ return pulumi.get(self, "start_time")
1472
+