alibabacloud-cloudfw20171207 3.6.2__py3-none-any.whl → 4.0.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 alibabacloud-cloudfw20171207 might be problematic. Click here for more details.

@@ -246,6 +246,7 @@ class AddControlPolicyRequest(TeaModel):
246
246
  destination: str = None,
247
247
  destination_type: str = None,
248
248
  direction: str = None,
249
+ domain_resolve_type: str = None,
249
250
  end_time: int = None,
250
251
  ip_version: str = None,
251
252
  lang: str = None,
@@ -357,6 +358,12 @@ class AddControlPolicyRequest(TeaModel):
357
358
  #
358
359
  # This parameter is required.
359
360
  self.direction = direction
361
+ # The domain name resolution method of the access control policy. Valid values:
362
+ #
363
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
364
+ # * **DNS**: DNS-based dynamic resolution
365
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
366
+ self.domain_resolve_type = domain_resolve_type
360
367
  # 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.
361
368
  #
362
369
  # > If you set RepeatType to Permanent, leave this parameter empty. If you set RepeatType to None, Daily, Weekly, or Monthly, you must specify this parameter.
@@ -478,6 +485,8 @@ class AddControlPolicyRequest(TeaModel):
478
485
  result['DestinationType'] = self.destination_type
479
486
  if self.direction is not None:
480
487
  result['Direction'] = self.direction
488
+ if self.domain_resolve_type is not None:
489
+ result['DomainResolveType'] = self.domain_resolve_type
481
490
  if self.end_time is not None:
482
491
  result['EndTime'] = self.end_time
483
492
  if self.ip_version is not None:
@@ -530,6 +539,8 @@ class AddControlPolicyRequest(TeaModel):
530
539
  self.destination_type = m.get('DestinationType')
531
540
  if m.get('Direction') is not None:
532
541
  self.direction = m.get('Direction')
542
+ if m.get('DomainResolveType') is not None:
543
+ self.domain_resolve_type = m.get('DomainResolveType')
533
544
  if m.get('EndTime') is not None:
534
545
  self.end_time = m.get('EndTime')
535
546
  if m.get('IpVersion') is not None:
@@ -1029,6 +1040,7 @@ class CreateDownloadTaskRequest(TeaModel):
1029
1040
  self,
1030
1041
  lang: str = None,
1031
1042
  task_data: str = None,
1043
+ time_zone: str = None,
1032
1044
  ):
1033
1045
  # The language of the content within the response.
1034
1046
  #
@@ -1039,6 +1051,8 @@ class CreateDownloadTaskRequest(TeaModel):
1039
1051
  self.lang = lang
1040
1052
  # The query condition of the download task.
1041
1053
  self.task_data = task_data
1054
+ # The time zone of the time information in the downloaded file. The value must be an identifier of a time zone in the Internet Assigned Numbers Authority (IANA) database. The default value is Asia/Shanghai, which indicates UTC+8.
1055
+ self.time_zone = time_zone
1042
1056
 
1043
1057
  def validate(self):
1044
1058
  pass
@@ -1053,6 +1067,8 @@ class CreateDownloadTaskRequest(TeaModel):
1053
1067
  result['Lang'] = self.lang
1054
1068
  if self.task_data is not None:
1055
1069
  result['TaskData'] = self.task_data
1070
+ if self.time_zone is not None:
1071
+ result['TimeZone'] = self.time_zone
1056
1072
  return result
1057
1073
 
1058
1074
  def from_map(self, m: dict = None):
@@ -1061,6 +1077,8 @@ class CreateDownloadTaskRequest(TeaModel):
1061
1077
  self.lang = m.get('Lang')
1062
1078
  if m.get('TaskData') is not None:
1063
1079
  self.task_data = m.get('TaskData')
1080
+ if m.get('TimeZone') is not None:
1081
+ self.time_zone = m.get('TimeZone')
1064
1082
  return self
1065
1083
 
1066
1084
 
@@ -1780,6 +1798,110 @@ class CreateSecurityProxyResponse(TeaModel):
1780
1798
  return self
1781
1799
 
1782
1800
 
1801
+ class CreateSlsLogDispatchRequest(TeaModel):
1802
+ def __init__(
1803
+ self,
1804
+ sls_region_id: str = None,
1805
+ ttl: int = None,
1806
+ ):
1807
+ # The region ID of the Simple Log Service project.
1808
+ self.sls_region_id = sls_region_id
1809
+ # The log retention period. Unit: days.
1810
+ self.ttl = ttl
1811
+
1812
+ def validate(self):
1813
+ pass
1814
+
1815
+ def to_map(self):
1816
+ _map = super().to_map()
1817
+ if _map is not None:
1818
+ return _map
1819
+
1820
+ result = dict()
1821
+ if self.sls_region_id is not None:
1822
+ result['SlsRegionId'] = self.sls_region_id
1823
+ if self.ttl is not None:
1824
+ result['Ttl'] = self.ttl
1825
+ return result
1826
+
1827
+ def from_map(self, m: dict = None):
1828
+ m = m or dict()
1829
+ if m.get('SlsRegionId') is not None:
1830
+ self.sls_region_id = m.get('SlsRegionId')
1831
+ if m.get('Ttl') is not None:
1832
+ self.ttl = m.get('Ttl')
1833
+ return self
1834
+
1835
+
1836
+ class CreateSlsLogDispatchResponseBody(TeaModel):
1837
+ def __init__(
1838
+ self,
1839
+ request_id: str = None,
1840
+ ):
1841
+ # The request ID.
1842
+ self.request_id = request_id
1843
+
1844
+ def validate(self):
1845
+ pass
1846
+
1847
+ def to_map(self):
1848
+ _map = super().to_map()
1849
+ if _map is not None:
1850
+ return _map
1851
+
1852
+ result = dict()
1853
+ if self.request_id is not None:
1854
+ result['RequestId'] = self.request_id
1855
+ return result
1856
+
1857
+ def from_map(self, m: dict = None):
1858
+ m = m or dict()
1859
+ if m.get('RequestId') is not None:
1860
+ self.request_id = m.get('RequestId')
1861
+ return self
1862
+
1863
+
1864
+ class CreateSlsLogDispatchResponse(TeaModel):
1865
+ def __init__(
1866
+ self,
1867
+ headers: Dict[str, str] = None,
1868
+ status_code: int = None,
1869
+ body: CreateSlsLogDispatchResponseBody = None,
1870
+ ):
1871
+ self.headers = headers
1872
+ self.status_code = status_code
1873
+ self.body = body
1874
+
1875
+ def validate(self):
1876
+ if self.body:
1877
+ self.body.validate()
1878
+
1879
+ def to_map(self):
1880
+ _map = super().to_map()
1881
+ if _map is not None:
1882
+ return _map
1883
+
1884
+ result = dict()
1885
+ if self.headers is not None:
1886
+ result['headers'] = self.headers
1887
+ if self.status_code is not None:
1888
+ result['statusCode'] = self.status_code
1889
+ if self.body is not None:
1890
+ result['body'] = self.body.to_map()
1891
+ return result
1892
+
1893
+ def from_map(self, m: dict = None):
1894
+ m = m or dict()
1895
+ if m.get('headers') is not None:
1896
+ self.headers = m.get('headers')
1897
+ if m.get('statusCode') is not None:
1898
+ self.status_code = m.get('statusCode')
1899
+ if m.get('body') is not None:
1900
+ temp_model = CreateSlsLogDispatchResponseBody()
1901
+ self.body = temp_model.from_map(m['body'])
1902
+ return self
1903
+
1904
+
1783
1905
  class CreateTrFirewallV2Request(TeaModel):
1784
1906
  def __init__(
1785
1907
  self,
@@ -1994,7 +2116,9 @@ class CreateTrFirewallV2RoutePolicyRequestDestCandidateList(TeaModel):
1994
2116
  candidate_id: str = None,
1995
2117
  candidate_type: str = None,
1996
2118
  ):
2119
+ # The ID of the traffic redirection instance.
1997
2120
  self.candidate_id = candidate_id
2121
+ # The type of the traffic redirection instance.
1998
2122
  self.candidate_type = candidate_type
1999
2123
 
2000
2124
  def validate(self):
@@ -2027,7 +2151,9 @@ class CreateTrFirewallV2RoutePolicyRequestSrcCandidateList(TeaModel):
2027
2151
  candidate_id: str = None,
2028
2152
  candidate_type: str = None,
2029
2153
  ):
2154
+ # The ID of the traffic redirection instance.
2030
2155
  self.candidate_id = candidate_id
2156
+ # The type of the traffic redirection instance.
2031
2157
  self.candidate_type = candidate_type
2032
2158
 
2033
2159
  def validate(self):
@@ -2065,12 +2191,26 @@ class CreateTrFirewallV2RoutePolicyRequest(TeaModel):
2065
2191
  policy_type: str = None,
2066
2192
  src_candidate_list: List[CreateTrFirewallV2RoutePolicyRequestSrcCandidateList] = None,
2067
2193
  ):
2194
+ # The secondary traffic redirection instances.
2068
2195
  self.dest_candidate_list = dest_candidate_list
2196
+ # The instance ID of the VPC firewall.
2069
2197
  self.firewall_id = firewall_id
2198
+ # The language of the content within the response. Valid values:
2199
+ #
2200
+ # * **zh** (default): Chinese
2201
+ # * **en**: English
2070
2202
  self.lang = lang
2203
+ # The description of the traffic redirection instance.
2071
2204
  self.policy_description = policy_description
2205
+ # The name of the traffic redirection instance.
2072
2206
  self.policy_name = policy_name
2207
+ # The type of the traffic redirection scenario of the VPC firewall. Valid values:
2208
+ #
2209
+ # * **fullmesh**: interconnected instances
2210
+ # * **one_to_one**: instance to instance
2211
+ # * **end_to_end**: instance to instances
2073
2212
  self.policy_type = policy_type
2213
+ # The primary traffic redirection instances.
2074
2214
  self.src_candidate_list = src_candidate_list
2075
2215
 
2076
2216
  def validate(self):
@@ -2145,12 +2285,26 @@ class CreateTrFirewallV2RoutePolicyShrinkRequest(TeaModel):
2145
2285
  policy_type: str = None,
2146
2286
  src_candidate_list_shrink: str = None,
2147
2287
  ):
2288
+ # The secondary traffic redirection instances.
2148
2289
  self.dest_candidate_list_shrink = dest_candidate_list_shrink
2290
+ # The instance ID of the VPC firewall.
2149
2291
  self.firewall_id = firewall_id
2292
+ # The language of the content within the response. Valid values:
2293
+ #
2294
+ # * **zh** (default): Chinese
2295
+ # * **en**: English
2150
2296
  self.lang = lang
2297
+ # The description of the traffic redirection instance.
2151
2298
  self.policy_description = policy_description
2299
+ # The name of the traffic redirection instance.
2152
2300
  self.policy_name = policy_name
2301
+ # The type of the traffic redirection scenario of the VPC firewall. Valid values:
2302
+ #
2303
+ # * **fullmesh**: interconnected instances
2304
+ # * **one_to_one**: instance to instance
2305
+ # * **end_to_end**: instance to instances
2153
2306
  self.policy_type = policy_type
2307
+ # The primary traffic redirection instances.
2154
2308
  self.src_candidate_list_shrink = src_candidate_list_shrink
2155
2309
 
2156
2310
  def validate(self):
@@ -2203,7 +2357,9 @@ class CreateTrFirewallV2RoutePolicyResponseBody(TeaModel):
2203
2357
  request_id: str = None,
2204
2358
  tr_firewall_route_policy_id: str = None,
2205
2359
  ):
2360
+ # The ID of the request.
2206
2361
  self.request_id = request_id
2362
+ # The ID of the routing policy.
2207
2363
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
2208
2364
 
2209
2365
  def validate(self):
@@ -2686,6 +2842,7 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2686
2842
  dest_port_type: str = None,
2687
2843
  destination: str = None,
2688
2844
  destination_type: str = None,
2845
+ domain_resolve_type: str = None,
2689
2846
  end_time: int = None,
2690
2847
  lang: str = None,
2691
2848
  member_uid: str = None,
@@ -2762,6 +2919,7 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2762
2919
  #
2763
2920
  # This parameter is required.
2764
2921
  self.destination_type = destination_type
2922
+ self.domain_resolve_type = domain_resolve_type
2765
2923
  # 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.
2766
2924
  #
2767
2925
  # > If you set RepeatType to Permanent, leave this parameter empty. If you set RepeatType to None, Daily, Weekly, or Monthly, you must specify this parameter.
@@ -2875,6 +3033,8 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2875
3033
  result['Destination'] = self.destination
2876
3034
  if self.destination_type is not None:
2877
3035
  result['DestinationType'] = self.destination_type
3036
+ if self.domain_resolve_type is not None:
3037
+ result['DomainResolveType'] = self.domain_resolve_type
2878
3038
  if self.end_time is not None:
2879
3039
  result['EndTime'] = self.end_time
2880
3040
  if self.lang is not None:
@@ -2925,6 +3085,8 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2925
3085
  self.destination = m.get('Destination')
2926
3086
  if m.get('DestinationType') is not None:
2927
3087
  self.destination_type = m.get('DestinationType')
3088
+ if m.get('DomainResolveType') is not None:
3089
+ self.domain_resolve_type = m.get('DomainResolveType')
2928
3090
  if m.get('EndTime') is not None:
2929
3091
  self.end_time = m.get('EndTime')
2930
3092
  if m.get('Lang') is not None:
@@ -3158,9 +3320,9 @@ class DeleteControlPolicyRequest(TeaModel):
3158
3320
  lang: str = None,
3159
3321
  source_ip: str = None,
3160
3322
  ):
3161
- # The ID of the access control policy.
3323
+ # The UUID of the access control policy.
3162
3324
  #
3163
- # To delete an access control policy, you must provide the ID of the policy. You can call the [DescribeControlPolicy](https://help.aliyun.com/document_detail/138866.html) operation to query the ID.
3325
+ # To delete an access control policy, you must specify the UUID of the policy. You can call the [DescribeControlPolicy](https://help.aliyun.com/document_detail/138866.html) operation to query the UUID.
3164
3326
  #
3165
3327
  # This parameter is required.
3166
3328
  self.acl_uuid = acl_uuid
@@ -3170,15 +3332,13 @@ class DeleteControlPolicyRequest(TeaModel):
3170
3332
  #
3171
3333
  # * **in**: inbound traffic
3172
3334
  # * **out**: outbound traffic
3173
- #
3174
- # This parameter is required.
3175
3335
  self.direction = direction
3176
- # The natural language of the request and response.
3336
+ # The language of the content within the request and response.
3177
3337
  #
3178
3338
  # Valid values:
3179
3339
  #
3180
- # * **zh**: Chinese (default)
3181
- # * **en**: English
3340
+ # * **zh** (default)
3341
+ # * **en**\
3182
3342
  self.lang = lang
3183
3343
  # The source IP address of the traffic.
3184
3344
  self.source_ip = source_ip
@@ -3220,7 +3380,7 @@ class DeleteControlPolicyResponseBody(TeaModel):
3220
3380
  self,
3221
3381
  request_id: str = None,
3222
3382
  ):
3223
- # The ID of the request.
3383
+ # The request ID.
3224
3384
  self.request_id = request_id
3225
3385
 
3226
3386
  def validate(self):
@@ -3514,8 +3674,14 @@ class DeleteFirewallV2RoutePoliciesRequest(TeaModel):
3514
3674
  lang: str = None,
3515
3675
  tr_firewall_route_policy_id: str = None,
3516
3676
  ):
3677
+ # The instance ID of the VPC firewall.
3517
3678
  self.firewall_id = firewall_id
3679
+ # The language of the content within the response. Valid values:
3680
+ #
3681
+ # * **zh** (default): Chinese
3682
+ # * **en**: English
3518
3683
  self.lang = lang
3684
+ # The ID of the routing policy.
3519
3685
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
3520
3686
 
3521
3687
  def validate(self):
@@ -3551,6 +3717,7 @@ class DeleteFirewallV2RoutePoliciesResponseBody(TeaModel):
3551
3717
  self,
3552
3718
  request_id: str = None,
3553
3719
  ):
3720
+ # The ID of the request.
3554
3721
  self.request_id = request_id
3555
3722
 
3556
3723
  def validate(self):
@@ -3977,7 +4144,13 @@ class DeleteSecurityProxyRequest(TeaModel):
3977
4144
  lang: str = None,
3978
4145
  proxy_id: str = None,
3979
4146
  ):
4147
+ # The language of the content within the response. Valid values:
4148
+ #
4149
+ # * **zh** (default): Chinese
4150
+ # * **en**: English
3980
4151
  self.lang = lang
4152
+ # The ID of the NAT firewall.
4153
+ #
3981
4154
  # This parameter is required.
3982
4155
  self.proxy_id = proxy_id
3983
4156
 
@@ -4010,6 +4183,7 @@ class DeleteSecurityProxyResponseBody(TeaModel):
4010
4183
  self,
4011
4184
  request_id: str = None,
4012
4185
  ):
4186
+ # The request ID.
4013
4187
  self.request_id = request_id
4014
4188
 
4015
4189
  def validate(self):
@@ -5552,9 +5726,9 @@ class DescribeAssetRiskListRequest(TeaModel):
5552
5726
  #
5553
5727
  # >
5554
5728
  #
5555
- # * Example of an IPv4 address: 47.97.221.164
5729
+ # * Example of an IPv4 address: 47.97.XX.XX
5556
5730
  #
5557
- # * Example of an IPv6 address: 2001:db8:ffff:ffff:ffff:\\*\\*\\*\\*:ffff
5731
+ # * Example of an IPv6 address: 2001:db8:ffff:ffff:ffff:XXXX:ffff
5558
5732
  self.ip_addr_list = ip_addr_list
5559
5733
  # The IP version of the asset that is protected by Cloud Firewall.
5560
5734
  #
@@ -5968,12 +6142,12 @@ class DescribeControlPolicyRequest(TeaModel):
5968
6142
  #
5969
6143
  # > If you do not specify this parameter, access control policies that have descriptions are queried.
5970
6144
  self.description = description
5971
- # The destination address in the access control policy. Fuzzy match is supported. The value of this parameter depends on the value of the DestinationType parameter.
6145
+ # The destination address in the access control policy. Fuzzy match is supported. The value of this parameter varies based on the value of the DestinationType parameter.
5972
6146
  #
5973
- # * If DestinationType is set to `net`, the value of Destination must be a CIDR block. Example: 10.0.3.0/24.
5974
- # * If DestinationType is set to `domain`, the value of Destination must be a domain name. Example: aliyun.
5975
- # * If DestinationType is set to `group`, the value of Destination must be the name of an address book. Example: db_group.
5976
- # * If DestinationType is set to `location`, the value of Destination must be a location. Example: beijing.
6147
+ # * If you set DestinationType to `net`, the value of Destination is a CIDR block. Example: 10.0.3.0/24.
6148
+ # * If you set DestinationType to `domain`, the value of Destination is a domain name. Example: aliyun.
6149
+ # * If you set DestinationType to `group`, the value of Destination is the name of an address book. Example: db_group.
6150
+ # * If you set DestinationType to `location`, the value of Destination is the name of a location. For more information about location codes, see AddControlPolicy. Example: ["BJ11", "ZB"].
5977
6151
  #
5978
6152
  # > If you do not specify this parameter, access control policies of all destination address types are queried.
5979
6153
  self.destination = destination
@@ -5981,8 +6155,6 @@ class DescribeControlPolicyRequest(TeaModel):
5981
6155
  #
5982
6156
  # * **in**: inbound traffic
5983
6157
  # * **out**: outbound traffic
5984
- #
5985
- # This parameter is required.
5986
6158
  self.direction = direction
5987
6159
  # The IP version of the address in the access control policy. Valid values:
5988
6160
  #
@@ -6118,6 +6290,7 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6118
6290
  direction: str = None,
6119
6291
  dns_result: str = None,
6120
6292
  dns_result_time: int = None,
6293
+ domain_resolve_type: str = None,
6121
6294
  end_time: int = None,
6122
6295
  hit_last_time: int = None,
6123
6296
  hit_times: int = None,
@@ -6215,6 +6388,12 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6215
6388
  self.dns_result = dns_result
6216
6389
  # The time when the Domain Name System (DNS) resolution was performed. The value is a timestamp. Unit: seconds.
6217
6390
  self.dns_result_time = dns_result_time
6391
+ # The domain name resolution method of the access control policy. By default, an access control policy is enabled after the policy is created. Valid values:
6392
+ #
6393
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
6394
+ # * **DNS**: DNS-based dynamic resolution
6395
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
6396
+ self.domain_resolve_type = domain_resolve_type
6218
6397
  # The time when the access control policy stops taking effect. The value is a timestamp. Unit: seconds. The end time must be on the hour or on the half hour, and at least 30 minutes later than the start time.
6219
6398
  #
6220
6399
  # > If RepeatType is set to Permanent, this parameter is left empty. If RepeatType is set to None, Daily, Weekly, or Monthly, this parameter must be specified.
@@ -6347,6 +6526,8 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6347
6526
  result['DnsResult'] = self.dns_result
6348
6527
  if self.dns_result_time is not None:
6349
6528
  result['DnsResultTime'] = self.dns_result_time
6529
+ if self.domain_resolve_type is not None:
6530
+ result['DomainResolveType'] = self.domain_resolve_type
6350
6531
  if self.end_time is not None:
6351
6532
  result['EndTime'] = self.end_time
6352
6533
  if self.hit_last_time is not None:
@@ -6423,6 +6604,8 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6423
6604
  self.dns_result = m.get('DnsResult')
6424
6605
  if m.get('DnsResultTime') is not None:
6425
6606
  self.dns_result_time = m.get('DnsResultTime')
6607
+ if m.get('DomainResolveType') is not None:
6608
+ self.domain_resolve_type = m.get('DomainResolveType')
6426
6609
  if m.get('EndTime') is not None:
6427
6610
  self.end_time = m.get('EndTime')
6428
6611
  if m.get('HitLastTime') is not None:
@@ -6571,10 +6754,12 @@ class DescribeDefaultIPSConfigRequest(TeaModel):
6571
6754
  def __init__(
6572
6755
  self,
6573
6756
  lang: str = None,
6574
- source_ip: str = None,
6575
6757
  ):
6758
+ # The language of the content within the response. Valid values:
6759
+ #
6760
+ # * **zh** (default)
6761
+ # * **en**\
6576
6762
  self.lang = lang
6577
- self.source_ip = source_ip
6578
6763
 
6579
6764
  def validate(self):
6580
6765
  pass
@@ -6587,40 +6772,52 @@ class DescribeDefaultIPSConfigRequest(TeaModel):
6587
6772
  result = dict()
6588
6773
  if self.lang is not None:
6589
6774
  result['Lang'] = self.lang
6590
- if self.source_ip is not None:
6591
- result['SourceIp'] = self.source_ip
6592
6775
  return result
6593
6776
 
6594
6777
  def from_map(self, m: dict = None):
6595
6778
  m = m or dict()
6596
6779
  if m.get('Lang') is not None:
6597
6780
  self.lang = m.get('Lang')
6598
- if m.get('SourceIp') is not None:
6599
- self.source_ip = m.get('SourceIp')
6600
6781
  return self
6601
6782
 
6602
6783
 
6603
6784
  class DescribeDefaultIPSConfigResponseBody(TeaModel):
6604
6785
  def __init__(
6605
6786
  self,
6606
- ai_rules: int = None,
6607
6787
  basic_rules: int = None,
6608
6788
  cti_rules: int = None,
6609
- enable_all_patch: int = None,
6610
- enable_default: int = None,
6611
6789
  patch_rules: int = None,
6612
6790
  request_id: str = None,
6613
6791
  rule_class: int = None,
6614
6792
  run_mode: int = None,
6615
6793
  ):
6616
- self.ai_rules = ai_rules
6794
+ # Indicates whether basic protection is enabled. Valid values:
6795
+ #
6796
+ # * **1**: yes
6797
+ # * **0**: no
6617
6798
  self.basic_rules = basic_rules
6799
+ # Indicates whether threat intelligence is enabled. Valid values:
6800
+ #
6801
+ # * **1**: yes
6802
+ # * **0**: no
6618
6803
  self.cti_rules = cti_rules
6619
- self.enable_all_patch = enable_all_patch
6620
- self.enable_default = enable_default
6804
+ # Indicates whether virtual patching is enabled. Valid values:
6805
+ #
6806
+ # * **1**: yes
6807
+ # * **0**: no
6621
6808
  self.patch_rules = patch_rules
6809
+ # The request ID.
6622
6810
  self.request_id = request_id
6811
+ # The level of the rule group for the IPS. Valid values:
6812
+ #
6813
+ # * **1**: loose
6814
+ # * **2**: medium
6815
+ # * **3**: strict
6623
6816
  self.rule_class = rule_class
6817
+ # The mode of the IPS. Valid values:
6818
+ #
6819
+ # * **1**: block mode
6820
+ # * **0**: monitor mode
6624
6821
  self.run_mode = run_mode
6625
6822
 
6626
6823
  def validate(self):
@@ -6632,16 +6829,10 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
6632
6829
  return _map
6633
6830
 
6634
6831
  result = dict()
6635
- if self.ai_rules is not None:
6636
- result['AiRules'] = self.ai_rules
6637
6832
  if self.basic_rules is not None:
6638
6833
  result['BasicRules'] = self.basic_rules
6639
6834
  if self.cti_rules is not None:
6640
6835
  result['CtiRules'] = self.cti_rules
6641
- if self.enable_all_patch is not None:
6642
- result['EnableAllPatch'] = self.enable_all_patch
6643
- if self.enable_default is not None:
6644
- result['EnableDefault'] = self.enable_default
6645
6836
  if self.patch_rules is not None:
6646
6837
  result['PatchRules'] = self.patch_rules
6647
6838
  if self.request_id is not None:
@@ -6654,16 +6845,10 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
6654
6845
 
6655
6846
  def from_map(self, m: dict = None):
6656
6847
  m = m or dict()
6657
- if m.get('AiRules') is not None:
6658
- self.ai_rules = m.get('AiRules')
6659
6848
  if m.get('BasicRules') is not None:
6660
6849
  self.basic_rules = m.get('BasicRules')
6661
6850
  if m.get('CtiRules') is not None:
6662
6851
  self.cti_rules = m.get('CtiRules')
6663
- if m.get('EnableAllPatch') is not None:
6664
- self.enable_all_patch = m.get('EnableAllPatch')
6665
- if m.get('EnableDefault') is not None:
6666
- self.enable_default = m.get('EnableDefault')
6667
6852
  if m.get('PatchRules') is not None:
6668
6853
  self.patch_rules = m.get('PatchRules')
6669
6854
  if m.get('RequestId') is not None:
@@ -8348,7 +8533,7 @@ class DescribeInternetTrafficTrendResponseBodyDataList(TeaModel):
8348
8533
  self.in_pps = in_pps
8349
8534
  # The number of new connections.
8350
8535
  self.new_conn = new_conn
8351
- # The outbound network throughput, which indicates the number of bits that are sent inbound per second. Unit: bit/s.
8536
+ # The outbound network throughput, which indicates the number of bits that are sent outbound per second. Unit: bit/s.
8352
8537
  self.out_bps = out_bps
8353
8538
  # The outbound network throughput, which indicates the total number of bytes that are sent outbound. Unit: bytes.
8354
8539
  self.out_bytes = out_bytes
@@ -8357,6 +8542,8 @@ class DescribeInternetTrafficTrendResponseBodyDataList(TeaModel):
8357
8542
  # The number of requests.
8358
8543
  self.session_count = session_count
8359
8544
  # The time when traffic is generated. The value is a UNIX timestamp. Unit: seconds.
8545
+ #
8546
+ # If processing is not complete at this point in time, -1 is returned for all other fields.
8360
8547
  self.time = time
8361
8548
  # The total outbound and inbound network throughput, which indicates the total number of bits that are sent inbound and outbound per second. Unit: bit/s.
8362
8549
  self.total_bps = total_bps
@@ -8450,6 +8637,7 @@ class DescribeInternetTrafficTrendResponseBody(TeaModel):
8450
8637
  self.data_list = data_list
8451
8638
  # The timestamp generated when the bandwidth reaches the peak value. The value is a UNIX timestamp. Unit: seconds.
8452
8639
  self.max_bandwidth_time = max_bandwidth_time
8640
+ # The maximum volume of excess traffic allowed per day.
8453
8641
  self.max_day_exceed_bytes = max_day_exceed_bytes
8454
8642
  # The maximum inbound network throughput, which indicates the maximum number of bits that are sent inbound per second. Unit: bit/s.
8455
8643
  self.max_in_bps = max_in_bps
@@ -8463,6 +8651,7 @@ class DescribeInternetTrafficTrendResponseBody(TeaModel):
8463
8651
  self.request_id = request_id
8464
8652
  # The total inbound and outbound network throughput, which indicates the total number of bytes that are sent inbound and outbound. Unit: bytes.
8465
8653
  self.total_bytes = total_bytes
8654
+ # The total volume of excess traffic.
8466
8655
  self.total_exceed_bytes = total_exceed_bytes
8467
8656
  # The inbound network throughput, which indicates the total number of bytes that are sent inbound. Unit: bytes.
8468
8657
  self.total_in_bytes = total_in_bytes
@@ -9108,9 +9297,11 @@ class DescribeNatAclPageStatusRequest(TeaModel):
9108
9297
  class DescribeNatAclPageStatusResponseBody(TeaModel):
9109
9298
  def __init__(
9110
9299
  self,
9300
+ detail: str = None,
9111
9301
  nat_acl_page_enable: bool = None,
9112
9302
  request_id: str = None,
9113
9303
  ):
9304
+ self.detail = detail
9114
9305
  # Indicates whether pagination for access control policies for NAT firewalls is supported.
9115
9306
  self.nat_acl_page_enable = nat_acl_page_enable
9116
9307
  # The ID of the request.
@@ -9125,6 +9316,8 @@ class DescribeNatAclPageStatusResponseBody(TeaModel):
9125
9316
  return _map
9126
9317
 
9127
9318
  result = dict()
9319
+ if self.detail is not None:
9320
+ result['Detail'] = self.detail
9128
9321
  if self.nat_acl_page_enable is not None:
9129
9322
  result['NatAclPageEnable'] = self.nat_acl_page_enable
9130
9323
  if self.request_id is not None:
@@ -9133,6 +9326,8 @@ class DescribeNatAclPageStatusResponseBody(TeaModel):
9133
9326
 
9134
9327
  def from_map(self, m: dict = None):
9135
9328
  m = m or dict()
9329
+ if m.get('Detail') is not None:
9330
+ self.detail = m.get('Detail')
9136
9331
  if m.get('NatAclPageEnable') is not None:
9137
9332
  self.nat_acl_page_enable = m.get('NatAclPageEnable')
9138
9333
  if m.get('RequestId') is not None:
@@ -9768,15 +9963,39 @@ class DescribeNatFirewallListRequest(TeaModel):
9768
9963
  status: str = None,
9769
9964
  vpc_id: str = None,
9770
9965
  ):
9966
+ # The language of the content within the response. Valid values:
9967
+ # * **zh** (default)
9968
+ # * **en**\
9771
9969
  self.lang = lang
9970
+ # The UID of the member that is managed by your Alibaba Cloud account.
9772
9971
  self.member_uid = member_uid
9972
+ # The ID of the NAT gateway.
9773
9973
  self.nat_gateway_id = nat_gateway_id
9974
+ # The page number.
9774
9975
  self.page_no = page_no
9976
+ # The number of entries per page.
9977
+ #
9978
+ # Default value: 10.
9979
+ #
9980
+ # Maximum value: 50.
9775
9981
  self.page_size = page_size
9982
+ # The ID of the NAT firewall.
9776
9983
  self.proxy_id = proxy_id
9984
+ # The name of the NAT firewall. The name must be 4 to 50 characters in length, and can contain letters, digits, and underscores (_). The name cannot start with an underscore.
9777
9985
  self.proxy_name = proxy_name
9986
+ # The region ID of the virtual private cloud (VPC).
9778
9987
  self.region_no = region_no
9988
+ # The status of the NAT firewall. Valid values:
9989
+ #
9990
+ # * configuring
9991
+ # * deleting
9992
+ # * normal
9993
+ # * abnormal
9994
+ # * opening
9995
+ # * closing
9996
+ # * closed
9779
9997
  self.status = status
9998
+ # The ID of the VPC.
9780
9999
  self.vpc_id = vpc_id
9781
10000
 
9782
10001
  def validate(self):
@@ -9843,9 +10062,13 @@ class DescribeNatFirewallListResponseBodyNatFirewallListNatRouteEntryList(TeaMod
9843
10062
  next_hop_type: str = None,
9844
10063
  route_table_id: str = None,
9845
10064
  ):
10065
+ # The destination CIDR block of the default route.
9846
10066
  self.destination_cidr = destination_cidr
10067
+ # The next hop of the original NAT gateway.
9847
10068
  self.next_hop_id = next_hop_id
10069
+ # The network type of the next hop. The value is fixed as NatGateway.
9848
10070
  self.next_hop_type = next_hop_type
10071
+ # The route table to which the default route of the NAT gateway belongs.
9849
10072
  self.route_table_id = route_table_id
9850
10073
 
9851
10074
  def validate(self):
@@ -9897,18 +10120,43 @@ class DescribeNatFirewallListResponseBodyNatFirewallList(TeaModel):
9897
10120
  vpc_id: str = None,
9898
10121
  vpc_name: str = None,
9899
10122
  ):
10123
+ # The UID of the Alibaba Cloud account.
10124
+ #
10125
+ # > The value of this parameter indicates the management account to which the member is added.
9900
10126
  self.ali_uid = ali_uid
10127
+ # The cause of the error.
9901
10128
  self.error_detail = error_detail
10129
+ # The UID of the member in Cloud Firewall.
9902
10130
  self.member_uid = member_uid
10131
+ # The ID of the NAT gateway.
9903
10132
  self.nat_gateway_id = nat_gateway_id
10133
+ # The name of the NAT gateway.
9904
10134
  self.nat_gateway_name = nat_gateway_name
10135
+ # The default route entries of the NAT gateway.
9905
10136
  self.nat_route_entry_list = nat_route_entry_list
10137
+ # The ID of the NAT firewall.
9906
10138
  self.proxy_id = proxy_id
10139
+ # The name of the NAT firewall.
9907
10140
  self.proxy_name = proxy_name
10141
+ # The status of the NAT firewall. Valid values:
10142
+ #
10143
+ # * configuring
10144
+ # * deleting
10145
+ # * normal
10146
+ # * abnormal
10147
+ # * opening
10148
+ # * closing
10149
+ # * closed
9908
10150
  self.proxy_status = proxy_status
10151
+ # The region ID of your Cloud Firewall.
10152
+ #
10153
+ # > For more information about the supported regions of Cloud Firewall, see [Supported regions](https://help.aliyun.com/document_detail/195657.html).
9909
10154
  self.region_id = region_id
10155
+ # Indicates whether the strict mode is enabled. Valid values: 1, which specifies yes, and 0, which specifies no.
9910
10156
  self.strict_mode = strict_mode
10157
+ # The ID of the VPC.
9911
10158
  self.vpc_id = vpc_id
10159
+ # The name of the VPC.
9912
10160
  self.vpc_name = vpc_name
9913
10161
 
9914
10162
  def validate(self):
@@ -9994,8 +10242,11 @@ class DescribeNatFirewallListResponseBody(TeaModel):
9994
10242
  request_id: str = None,
9995
10243
  total_count: int = None,
9996
10244
  ):
10245
+ # The NAT firewalls.
9997
10246
  self.nat_firewall_list = nat_firewall_list
10247
+ # The request ID.
9998
10248
  self.request_id = request_id
10249
+ # The total number of NAT firewalls.
9999
10250
  self.total_count = total_count
10000
10251
 
10001
10252
  def validate(self):
@@ -11715,7 +11966,7 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11715
11966
  ):
11716
11967
  # The page number. Default value: 1.
11717
11968
  self.current_page = current_page
11718
- # The end of the time range to query. The value is a UNIX timestamp. Unit: seconds.
11969
+ # The end of the time range to query. Specify a value in the YYYYMMDD format.
11719
11970
  #
11720
11971
  # This parameter is required.
11721
11972
  self.end_time = end_time
@@ -11733,14 +11984,15 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11733
11984
  self.page_size = page_size
11734
11985
  # The instance ID or the IP address of the asset.
11735
11986
  self.search_item = search_item
11736
- # The beginning of the time range to query. The value is a UNIX timestamp. Unit: seconds.
11987
+ # The beginning of the time range to query. Specify a value in the YYYYMMDD format.
11737
11988
  #
11738
11989
  # This parameter is required.
11739
11990
  self.start_time = start_time
11740
11991
  # The traffic type. This parameter is required. Valid values:
11741
11992
  #
11742
11993
  # * **EIP_TRAFFIC**: traffic for the Internet firewall
11743
- # * **NatGateway_TRAFFIC**: traffic for the NAT firewall
11994
+ # * **NatGateway_TRAFFIC**: traffic for NAT firewalls
11995
+ # * **VPC_TRAFFIC**: traffic for virtual private cloud (VPC) firewalls
11744
11996
  #
11745
11997
  # This parameter is required.
11746
11998
  self.traffic_type = traffic_type
@@ -11800,29 +12052,32 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11800
12052
  instance_id: str = None,
11801
12053
  instance_type: str = None,
11802
12054
  out_bytes: int = None,
12055
+ protection_duration: int = None,
11803
12056
  resource_id: str = None,
11804
12057
  total_bytes: int = None,
11805
12058
  traffic_day: str = None,
11806
12059
  traffic_type: str = None,
11807
12060
  ):
11808
- # The inbound network throughput, which indicates the total number of bytes that are received. Unit: bytes.
12061
+ # The inbound network throughput, which indicates the total number of bytes that are received Unit: bytes.
11809
12062
  self.in_bytes = in_bytes
11810
12063
  # The instance ID of the asset.
11811
12064
  self.instance_id = instance_id
11812
- # The type of the asset. This value takes effect only for the Internet firewall.
12065
+ # The asset type. This value takes effect only for the Internet firewall.
11813
12066
  self.instance_type = instance_type
11814
12067
  # The outbound network throughput, which indicates the total number of bytes that are sent. Unit: bytes.
11815
12068
  self.out_bytes = out_bytes
12069
+ self.protection_duration = protection_duration
11816
12070
  # The resource ID. The resource ID for the Internet firewall is the public IP address that is protected the Internet firewall, and the resource ID for a NAT firewall is the instance ID of the NAT firewall.
11817
12071
  self.resource_id = resource_id
11818
- # The total inbound and outbound network throughput, which indicates the total number of bytes that are sent and received. Unit: bytes.
12072
+ # The total inbound and outbound network throughput, which indicates the total number of bytes that are received and sent. Unit: bytes.
11819
12073
  self.total_bytes = total_bytes
11820
12074
  # The date on which the statistics are collected.
11821
12075
  self.traffic_day = traffic_day
11822
12076
  # The traffic type. Valid values:
11823
12077
  #
11824
12078
  # * **EIP_TRAFFIC**: traffic for the Internet firewall
11825
- # * **NatGateway_TRAFFIC**: traffic for the NAT firewall
12079
+ # * **NatGateway_TRAFFIC**: traffic for NAT firewalls
12080
+ # * **VPC_TRAFFIC**: traffic for VPC firewalls
11826
12081
  self.traffic_type = traffic_type
11827
12082
 
11828
12083
  def validate(self):
@@ -11842,6 +12097,8 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11842
12097
  result['InstanceType'] = self.instance_type
11843
12098
  if self.out_bytes is not None:
11844
12099
  result['OutBytes'] = self.out_bytes
12100
+ if self.protection_duration is not None:
12101
+ result['ProtectionDuration'] = self.protection_duration
11845
12102
  if self.resource_id is not None:
11846
12103
  result['ResourceId'] = self.resource_id
11847
12104
  if self.total_bytes is not None:
@@ -11862,6 +12119,8 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11862
12119
  self.instance_type = m.get('InstanceType')
11863
12120
  if m.get('OutBytes') is not None:
11864
12121
  self.out_bytes = m.get('OutBytes')
12122
+ if m.get('ProtectionDuration') is not None:
12123
+ self.protection_duration = m.get('ProtectionDuration')
11865
12124
  if m.get('ResourceId') is not None:
11866
12125
  self.resource_id = m.get('ResourceId')
11867
12126
  if m.get('TotalBytes') is not None:
@@ -11884,7 +12143,7 @@ class DescribePostpayTrafficDetailResponseBody(TeaModel):
11884
12143
  self.request_id = request_id
11885
12144
  # The total number of entries returned.
11886
12145
  self.total_count = total_count
11887
- # The traffic statistics.
12146
+ # The statistics on traffic.
11888
12147
  self.traffic_list = traffic_list
11889
12148
 
11890
12149
  def validate(self):
@@ -12000,20 +12259,35 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
12000
12259
  self,
12001
12260
  request_id: str = None,
12002
12261
  total_assets: int = None,
12262
+ total_bill_traffic: int = None,
12263
+ total_internet_assets: int = None,
12264
+ total_internet_traffic: int = None,
12003
12265
  total_nat_assets: int = None,
12004
12266
  total_nat_traffic: int = None,
12005
12267
  total_traffic: int = None,
12268
+ total_vpc_assets: int = None,
12269
+ total_vpc_traffic: int = None,
12006
12270
  ):
12007
12271
  # The ID of the request.
12008
12272
  self.request_id = request_id
12009
- # The total number of the assets that are protected by the Internet firewall.
12273
+ # The total number of assets protected all types of firewalls.
12010
12274
  self.total_assets = total_assets
12011
- # The total number of the assets that are protected by the NAT firewall.
12275
+ # The volume of burstable protected traffic for which fees are generated. Unit: bytes.
12276
+ self.total_bill_traffic = total_bill_traffic
12277
+ # The total number of assets protected by the Internet firewall.
12278
+ self.total_internet_assets = total_internet_assets
12279
+ # The total traffic for the Internet firewall. If you use Cloud Firewall that uses the subscription billing method, this parameter indicates the total volume of burstable protected traffic on the Internet boundary. Unit: bytes.
12280
+ self.total_internet_traffic = total_internet_traffic
12281
+ # The total number of assets protected by NAT firewalls.
12012
12282
  self.total_nat_assets = total_nat_assets
12013
- # The total traffic for the NAT firewall. Unit: bytes.
12283
+ # The total traffic for NAT firewalls. If you use Cloud Firewall that uses the subscription billing method, this parameter indicates the total volume of burstable protected traffic on the NAT boundary. Unit: bytes.
12014
12284
  self.total_nat_traffic = total_nat_traffic
12015
- # The total traffic for the Internet firewall. Unit: bytes.
12285
+ # The total volume of traffic. If you use Cloud Firewall that uses the subscription billing method, this parameter indicates the total volume of burstable protected traffic. Unit: bytes.
12016
12286
  self.total_traffic = total_traffic
12287
+ # The total number of assets protected by virtual private cloud (VPC) firewalls.
12288
+ self.total_vpc_assets = total_vpc_assets
12289
+ # The total traffic for VPC firewalls. If you use Cloud Firewall that uses the subscription billing method, this parameter indicates the total volume of burstable protected traffic on the VPC boundary. Unit: bytes.
12290
+ self.total_vpc_traffic = total_vpc_traffic
12017
12291
 
12018
12292
  def validate(self):
12019
12293
  pass
@@ -12028,12 +12302,22 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
12028
12302
  result['RequestId'] = self.request_id
12029
12303
  if self.total_assets is not None:
12030
12304
  result['TotalAssets'] = self.total_assets
12305
+ if self.total_bill_traffic is not None:
12306
+ result['TotalBillTraffic'] = self.total_bill_traffic
12307
+ if self.total_internet_assets is not None:
12308
+ result['TotalInternetAssets'] = self.total_internet_assets
12309
+ if self.total_internet_traffic is not None:
12310
+ result['TotalInternetTraffic'] = self.total_internet_traffic
12031
12311
  if self.total_nat_assets is not None:
12032
12312
  result['TotalNatAssets'] = self.total_nat_assets
12033
12313
  if self.total_nat_traffic is not None:
12034
12314
  result['TotalNatTraffic'] = self.total_nat_traffic
12035
12315
  if self.total_traffic is not None:
12036
12316
  result['TotalTraffic'] = self.total_traffic
12317
+ if self.total_vpc_assets is not None:
12318
+ result['TotalVpcAssets'] = self.total_vpc_assets
12319
+ if self.total_vpc_traffic is not None:
12320
+ result['TotalVpcTraffic'] = self.total_vpc_traffic
12037
12321
  return result
12038
12322
 
12039
12323
  def from_map(self, m: dict = None):
@@ -12042,12 +12326,22 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
12042
12326
  self.request_id = m.get('RequestId')
12043
12327
  if m.get('TotalAssets') is not None:
12044
12328
  self.total_assets = m.get('TotalAssets')
12329
+ if m.get('TotalBillTraffic') is not None:
12330
+ self.total_bill_traffic = m.get('TotalBillTraffic')
12331
+ if m.get('TotalInternetAssets') is not None:
12332
+ self.total_internet_assets = m.get('TotalInternetAssets')
12333
+ if m.get('TotalInternetTraffic') is not None:
12334
+ self.total_internet_traffic = m.get('TotalInternetTraffic')
12045
12335
  if m.get('TotalNatAssets') is not None:
12046
12336
  self.total_nat_assets = m.get('TotalNatAssets')
12047
12337
  if m.get('TotalNatTraffic') is not None:
12048
12338
  self.total_nat_traffic = m.get('TotalNatTraffic')
12049
12339
  if m.get('TotalTraffic') is not None:
12050
12340
  self.total_traffic = m.get('TotalTraffic')
12341
+ if m.get('TotalVpcAssets') is not None:
12342
+ self.total_vpc_assets = m.get('TotalVpcAssets')
12343
+ if m.get('TotalVpcTraffic') is not None:
12344
+ self.total_vpc_traffic = m.get('TotalVpcTraffic')
12051
12345
  return self
12052
12346
 
12053
12347
 
@@ -13507,7 +13801,7 @@ class DescribeTrFirewallPolicyBackUpAssociationListRequest(TeaModel):
13507
13801
  lang: str = None,
13508
13802
  tr_firewall_route_policy_id: str = None,
13509
13803
  ):
13510
- # An array that consists of the details about the traffic redirection instance.
13804
+ # The traffic redirection instances.
13511
13805
  self.candidate_list = candidate_list
13512
13806
  # The instance ID of the VPC firewall.
13513
13807
  self.firewall_id = firewall_id
@@ -13567,7 +13861,7 @@ class DescribeTrFirewallPolicyBackUpAssociationListShrinkRequest(TeaModel):
13567
13861
  lang: str = None,
13568
13862
  tr_firewall_route_policy_id: str = None,
13569
13863
  ):
13570
- # An array that consists of the details about the traffic redirection instance.
13864
+ # The traffic redirection instances.
13571
13865
  self.candidate_list_shrink = candidate_list_shrink
13572
13866
  # The instance ID of the VPC firewall.
13573
13867
  self.firewall_id = firewall_id
@@ -14425,6 +14719,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14425
14719
  self,
14426
14720
  basic_rules: int = None,
14427
14721
  enable_all_patch: int = None,
14722
+ rule_class: int = None,
14428
14723
  run_mode: int = None,
14429
14724
  ):
14430
14725
  # Indicates whether basic protection is enabled. Valid values:
@@ -14437,6 +14732,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14437
14732
  # * **1**: yes
14438
14733
  # * **0**: no
14439
14734
  self.enable_all_patch = enable_all_patch
14735
+ self.rule_class = rule_class
14440
14736
  # The mode of the IPS. Valid values:
14441
14737
  #
14442
14738
  # * **1**: block mode
@@ -14456,6 +14752,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14456
14752
  result['BasicRules'] = self.basic_rules
14457
14753
  if self.enable_all_patch is not None:
14458
14754
  result['EnableAllPatch'] = self.enable_all_patch
14755
+ if self.rule_class is not None:
14756
+ result['RuleClass'] = self.rule_class
14459
14757
  if self.run_mode is not None:
14460
14758
  result['RunMode'] = self.run_mode
14461
14759
  return result
@@ -14466,6 +14764,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14466
14764
  self.basic_rules = m.get('BasicRules')
14467
14765
  if m.get('EnableAllPatch') is not None:
14468
14766
  self.enable_all_patch = m.get('EnableAllPatch')
14767
+ if m.get('RuleClass') is not None:
14768
+ self.rule_class = m.get('RuleClass')
14469
14769
  if m.get('RunMode') is not None:
14470
14770
  self.run_mode = m.get('RunMode')
14471
14771
  return self
@@ -14840,10 +15140,18 @@ class DescribeTrFirewallsV2RouteListRequest(TeaModel):
14840
15140
  page_size: str = None,
14841
15141
  tr_firewall_route_policy_id: str = None,
14842
15142
  ):
15143
+ # The page number. Default value: 1.
14843
15144
  self.current_page = current_page
15145
+ # The instance ID of the virtual private cloud (VPC) firewall.
14844
15146
  self.firewall_id = firewall_id
15147
+ # The language of the content within the response. Valid values:
15148
+ #
15149
+ # * **zh** (default): Chinese
15150
+ # * **en**: English
14845
15151
  self.lang = lang
15152
+ # The number of entries per page. Default value: 10.
14846
15153
  self.page_size = page_size
15154
+ # The ID of the routing policy.
14847
15155
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
14848
15156
 
14849
15157
  def validate(self):
@@ -14890,9 +15198,13 @@ class DescribeTrFirewallsV2RouteListResponseBodyFirewallRouteDetailList(TeaModel
14890
15198
  tr_firewall_route_policy_id: str = None,
14891
15199
  tr_firewall_route_table_id: str = None,
14892
15200
  ):
15201
+ # The destination address of the route.
14893
15202
  self.tr_firewall_route_destination = tr_firewall_route_destination
15203
+ # The ID of the next hop for the route.
14894
15204
  self.tr_firewall_route_nexthop = tr_firewall_route_nexthop
15205
+ # The ID of the routing policy.
14895
15206
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
15207
+ # The ID of the route table to which the route entry belongs.
14896
15208
  self.tr_firewall_route_table_id = tr_firewall_route_table_id
14897
15209
 
14898
15210
  def validate(self):
@@ -14933,7 +15245,9 @@ class DescribeTrFirewallsV2RouteListResponseBody(TeaModel):
14933
15245
  firewall_route_detail_list: List[DescribeTrFirewallsV2RouteListResponseBodyFirewallRouteDetailList] = None,
14934
15246
  request_id: str = None,
14935
15247
  ):
15248
+ # The route tables of Cloud Firewall.
14936
15249
  self.firewall_route_detail_list = firewall_route_detail_list
15250
+ # The ID of the request.
14937
15251
  self.request_id = request_id
14938
15252
 
14939
15253
  def validate(self):
@@ -16294,6 +16608,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16294
16608
  self,
16295
16609
  basic_rules: int = None,
16296
16610
  enable_all_patch: int = None,
16611
+ rule_class: int = None,
16297
16612
  run_mode: int = None,
16298
16613
  ):
16299
16614
  # Indicates whether basic protection is enabled. Valid values:
@@ -16306,6 +16621,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16306
16621
  # * **1**: yes
16307
16622
  # * **0**: no
16308
16623
  self.enable_all_patch = enable_all_patch
16624
+ self.rule_class = rule_class
16309
16625
  # The mode of the IPS. Valid values:
16310
16626
  #
16311
16627
  # * **1**: block mode
@@ -16325,6 +16641,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16325
16641
  result['BasicRules'] = self.basic_rules
16326
16642
  if self.enable_all_patch is not None:
16327
16643
  result['EnableAllPatch'] = self.enable_all_patch
16644
+ if self.rule_class is not None:
16645
+ result['RuleClass'] = self.rule_class
16328
16646
  if self.run_mode is not None:
16329
16647
  result['RunMode'] = self.run_mode
16330
16648
  return result
@@ -16335,6 +16653,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16335
16653
  self.basic_rules = m.get('BasicRules')
16336
16654
  if m.get('EnableAllPatch') is not None:
16337
16655
  self.enable_all_patch = m.get('EnableAllPatch')
16656
+ if m.get('RuleClass') is not None:
16657
+ self.rule_class = m.get('RuleClass')
16338
16658
  if m.get('RunMode') is not None:
16339
16659
  self.run_mode = m.get('RunMode')
16340
16660
  return self
@@ -16950,6 +17270,7 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
16950
17270
  destination_group_cidrs: List[str] = None,
16951
17271
  destination_group_type: str = None,
16952
17272
  destination_type: str = None,
17273
+ domain_resolve_type: str = None,
16953
17274
  end_time: int = None,
16954
17275
  hit_last_time: int = None,
16955
17276
  hit_times: int = None,
@@ -17032,6 +17353,12 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17032
17353
  # * **group**: address book
17033
17354
  # * **domain**: domain name
17034
17355
  self.destination_type = destination_type
17356
+ # The domain name resolution method of the access control policy. By default, an access control policy is enabled after the policy is created. Valid values:
17357
+ #
17358
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
17359
+ # * **DNS**: DNS-based dynamic resolution
17360
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
17361
+ self.domain_resolve_type = domain_resolve_type
17035
17362
  # 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 value of StartTime.
17036
17363
  #
17037
17364
  # > If RepeatType is set to Permanent, EndTime is left empty. If RepeatType is set to None, Daily, Weekly, or Monthly, EndTime must be specified.
@@ -17147,6 +17474,8 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17147
17474
  result['DestinationGroupType'] = self.destination_group_type
17148
17475
  if self.destination_type is not None:
17149
17476
  result['DestinationType'] = self.destination_type
17477
+ if self.domain_resolve_type is not None:
17478
+ result['DomainResolveType'] = self.domain_resolve_type
17150
17479
  if self.end_time is not None:
17151
17480
  result['EndTime'] = self.end_time
17152
17481
  if self.hit_last_time is not None:
@@ -17217,6 +17546,8 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17217
17546
  self.destination_group_type = m.get('DestinationGroupType')
17218
17547
  if m.get('DestinationType') is not None:
17219
17548
  self.destination_type = m.get('DestinationType')
17549
+ if m.get('DomainResolveType') is not None:
17550
+ self.domain_resolve_type = m.get('DomainResolveType')
17220
17551
  if m.get('EndTime') is not None:
17221
17552
  self.end_time = m.get('EndTime')
17222
17553
  if m.get('HitLastTime') is not None:
@@ -17393,6 +17724,7 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17393
17724
  basic_rules: int = None,
17394
17725
  enable_all_patch: int = None,
17395
17726
  request_id: str = None,
17727
+ rule_class: int = None,
17396
17728
  run_mode: int = None,
17397
17729
  ):
17398
17730
  # Indicates whether basic policies are enabled. Valid values:
@@ -17407,6 +17739,7 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17407
17739
  self.enable_all_patch = enable_all_patch
17408
17740
  # The ID of the request.
17409
17741
  self.request_id = request_id
17742
+ self.rule_class = rule_class
17410
17743
  # The mode of the intrusion prevention system (IPS). Valid values:
17411
17744
  #
17412
17745
  # * **1**: block mode
@@ -17428,6 +17761,8 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17428
17761
  result['EnableAllPatch'] = self.enable_all_patch
17429
17762
  if self.request_id is not None:
17430
17763
  result['RequestId'] = self.request_id
17764
+ if self.rule_class is not None:
17765
+ result['RuleClass'] = self.rule_class
17431
17766
  if self.run_mode is not None:
17432
17767
  result['RunMode'] = self.run_mode
17433
17768
  return result
@@ -17440,6 +17775,8 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17440
17775
  self.enable_all_patch = m.get('EnableAllPatch')
17441
17776
  if m.get('RequestId') is not None:
17442
17777
  self.request_id = m.get('RequestId')
17778
+ if m.get('RuleClass') is not None:
17779
+ self.rule_class = m.get('RuleClass')
17443
17780
  if m.get('RunMode') is not None:
17444
17781
  self.run_mode = m.get('RunMode')
17445
17782
  return self
@@ -18306,6 +18643,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18306
18643
  self,
18307
18644
  basic_rules: int = None,
18308
18645
  enable_all_patch: int = None,
18646
+ rule_class: int = None,
18309
18647
  run_mode: int = None,
18310
18648
  ):
18311
18649
  # Indicates whether basic protection is enabled. Valid values:
@@ -18318,6 +18656,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18318
18656
  # * **1**: yes
18319
18657
  # * **0**: no
18320
18658
  self.enable_all_patch = enable_all_patch
18659
+ self.rule_class = rule_class
18321
18660
  # The mode of the IPS. Valid values:
18322
18661
  #
18323
18662
  # * **1**: block mode
@@ -18337,6 +18676,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18337
18676
  result['BasicRules'] = self.basic_rules
18338
18677
  if self.enable_all_patch is not None:
18339
18678
  result['EnableAllPatch'] = self.enable_all_patch
18679
+ if self.rule_class is not None:
18680
+ result['RuleClass'] = self.rule_class
18340
18681
  if self.run_mode is not None:
18341
18682
  result['RunMode'] = self.run_mode
18342
18683
  return result
@@ -18347,6 +18688,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18347
18688
  self.basic_rules = m.get('BasicRules')
18348
18689
  if m.get('EnableAllPatch') is not None:
18349
18690
  self.enable_all_patch = m.get('EnableAllPatch')
18691
+ if m.get('RuleClass') is not None:
18692
+ self.rule_class = m.get('RuleClass')
18350
18693
  if m.get('RunMode') is not None:
18351
18694
  self.run_mode = m.get('RunMode')
18352
18695
  return self
@@ -20006,6 +20349,7 @@ class ModifyAddressBookRequest(TeaModel):
20006
20349
  group_name: str = None,
20007
20350
  group_uuid: str = None,
20008
20351
  lang: str = None,
20352
+ modify_mode: str = None,
20009
20353
  source_ip: str = None,
20010
20354
  tag_list: List[ModifyAddressBookRequestTagList] = None,
20011
20355
  tag_relation: str = None,
@@ -20040,6 +20384,7 @@ class ModifyAddressBookRequest(TeaModel):
20040
20384
  # * **zh**: Chinese (default)
20041
20385
  # * **en**: English
20042
20386
  self.lang = lang
20387
+ self.modify_mode = modify_mode
20043
20388
  # The source IP address of the request.
20044
20389
  self.source_ip = source_ip
20045
20390
  # The ECS tags that you want to match.
@@ -20074,6 +20419,8 @@ class ModifyAddressBookRequest(TeaModel):
20074
20419
  result['GroupUuid'] = self.group_uuid
20075
20420
  if self.lang is not None:
20076
20421
  result['Lang'] = self.lang
20422
+ if self.modify_mode is not None:
20423
+ result['ModifyMode'] = self.modify_mode
20077
20424
  if self.source_ip is not None:
20078
20425
  result['SourceIp'] = self.source_ip
20079
20426
  result['TagList'] = []
@@ -20098,6 +20445,8 @@ class ModifyAddressBookRequest(TeaModel):
20098
20445
  self.group_uuid = m.get('GroupUuid')
20099
20446
  if m.get('Lang') is not None:
20100
20447
  self.lang = m.get('Lang')
20448
+ if m.get('ModifyMode') is not None:
20449
+ self.modify_mode = m.get('ModifyMode')
20101
20450
  if m.get('SourceIp') is not None:
20102
20451
  self.source_ip = m.get('SourceIp')
20103
20452
  self.tag_list = []
@@ -20193,6 +20542,7 @@ class ModifyControlPolicyRequest(TeaModel):
20193
20542
  destination: str = None,
20194
20543
  destination_type: str = None,
20195
20544
  direction: str = None,
20545
+ domain_resolve_type: str = None,
20196
20546
  end_time: int = None,
20197
20547
  lang: str = None,
20198
20548
  proto: str = None,
@@ -20236,9 +20586,13 @@ class ModifyControlPolicyRequest(TeaModel):
20236
20586
  # * **Memcache**\
20237
20587
  # * **SSL**\
20238
20588
  #
20239
- # > The value *ANY* indicates all types of applications.
20589
+ # > The value **ANY** indicates all types of applications.
20590
+ #
20591
+ # > You must specify one of the ApplicationNameList and ApplicationName parameters. If you configure both ApplicationNameList and ApplicationName, only the value of ApplicationNameList is used.
20240
20592
  self.application_name = application_name
20241
20593
  # The application names.
20594
+ #
20595
+ # > You must specify one of the ApplicationNameList and ApplicationName parameters. If you configure both ApplicationNameList and ApplicationName, only the value of ApplicationNameList is used.
20242
20596
  self.application_name_list = application_name_list
20243
20597
  # The description of the access control policy.
20244
20598
  #
@@ -20278,6 +20632,12 @@ class ModifyControlPolicyRequest(TeaModel):
20278
20632
  #
20279
20633
  # This parameter is required.
20280
20634
  self.direction = direction
20635
+ # The domain name resolution method of the access control policy. By default, an access control policy is enabled after the policy is created. Valid values:
20636
+ #
20637
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
20638
+ # * **DNS**: DNS-based dynamic resolution
20639
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
20640
+ self.domain_resolve_type = domain_resolve_type
20281
20641
  # 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 value of StartTime.
20282
20642
  #
20283
20643
  # > If you set RepeatType to Permanent, leave this parameter empty. If you set RepeatType to None, Daily, Weekly, or Monthly, you must specify this parameter.
@@ -20287,14 +20647,16 @@ class ModifyControlPolicyRequest(TeaModel):
20287
20647
  # * **zh**: Chinese (default)
20288
20648
  # * **en**: English
20289
20649
  self.lang = lang
20290
- # The protocol type supported by the access control policy. Valid values:
20650
+ # The protocol type that the access control policy supports. Valid values:
20291
20651
  #
20292
20652
  # * **ANY**\
20293
20653
  # * **TCP**\
20294
20654
  # * **UDP**\
20295
20655
  # * **ICMP**\
20296
20656
  #
20297
- # > The value *ANY* indicates all types of applications.
20657
+ # > The value **ANY** indicates all types of applications.
20658
+ #
20659
+ # > If the traffic direction is outbound and the destination address is a threat intelligence address book of the domain name type or a cloud service address book, you can set Proto to TCP or ANY. If you set Proto to TCP, you can set ApplicationName to HTTP, HTTPS, SMTP, SMTPS, and SSL. If you set Proto to ANY, you can set ApplicationName to ANY.
20298
20660
  #
20299
20661
  # This parameter is required.
20300
20662
  self.proto = proto
@@ -20382,6 +20744,8 @@ class ModifyControlPolicyRequest(TeaModel):
20382
20744
  result['DestinationType'] = self.destination_type
20383
20745
  if self.direction is not None:
20384
20746
  result['Direction'] = self.direction
20747
+ if self.domain_resolve_type is not None:
20748
+ result['DomainResolveType'] = self.domain_resolve_type
20385
20749
  if self.end_time is not None:
20386
20750
  result['EndTime'] = self.end_time
20387
20751
  if self.lang is not None:
@@ -20430,6 +20794,8 @@ class ModifyControlPolicyRequest(TeaModel):
20430
20794
  self.destination_type = m.get('DestinationType')
20431
20795
  if m.get('Direction') is not None:
20432
20796
  self.direction = m.get('Direction')
20797
+ if m.get('DomainResolveType') is not None:
20798
+ self.domain_resolve_type = m.get('DomainResolveType')
20433
20799
  if m.get('EndTime') is not None:
20434
20800
  self.end_time = m.get('EndTime')
20435
20801
  if m.get('Lang') is not None:
@@ -20666,30 +21032,50 @@ class ModifyControlPolicyPositionResponse(TeaModel):
20666
21032
  class ModifyDefaultIPSConfigRequest(TeaModel):
20667
21033
  def __init__(
20668
21034
  self,
20669
- ai_rules: str = None,
20670
21035
  basic_rules: str = None,
20671
21036
  cti_rules: str = None,
20672
- enable_all_patch: str = None,
20673
- enable_default: str = None,
20674
21037
  lang: str = None,
20675
21038
  patch_rules: str = None,
20676
21039
  rule_class: str = None,
20677
21040
  run_mode: str = None,
20678
- source_ip: str = None,
20679
21041
  ):
20680
- self.ai_rules = ai_rules
21042
+ # Specifies whether to enable basic protection. Valid values:
21043
+ #
21044
+ # * **1**: yes
21045
+ # * **0**: no
21046
+ #
20681
21047
  # This parameter is required.
20682
21048
  self.basic_rules = basic_rules
21049
+ # Specifies whether to enable threat intelligence. Valid values:
21050
+ #
21051
+ # * **1**: yes
21052
+ # * **0**: no
21053
+ #
20683
21054
  # This parameter is required.
20684
21055
  self.cti_rules = cti_rules
20685
- self.enable_all_patch = enable_all_patch
20686
- self.enable_default = enable_default
21056
+ # The language of the content within the request and response. Valid values:
21057
+ #
21058
+ # * **zh** (default)
21059
+ # * **en**\
20687
21060
  self.lang = lang
21061
+ # Specifies whether to enable virtual patching. Valid values:
21062
+ #
21063
+ # * **1**: yes
21064
+ # * **0**: no
20688
21065
  self.patch_rules = patch_rules
21066
+ # The level of the rule group for the IPS. Valid values:
21067
+ #
21068
+ # * **1**: loose
21069
+ # * **2**: medium
21070
+ # * **3**: strict
20689
21071
  self.rule_class = rule_class
21072
+ # The mode of the IPS. Valid values:
21073
+ #
21074
+ # * **1**: block mode
21075
+ # * **0**: monitor mode
21076
+ #
20690
21077
  # This parameter is required.
20691
21078
  self.run_mode = run_mode
20692
- self.source_ip = source_ip
20693
21079
 
20694
21080
  def validate(self):
20695
21081
  pass
@@ -20700,16 +21086,10 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20700
21086
  return _map
20701
21087
 
20702
21088
  result = dict()
20703
- if self.ai_rules is not None:
20704
- result['AiRules'] = self.ai_rules
20705
21089
  if self.basic_rules is not None:
20706
21090
  result['BasicRules'] = self.basic_rules
20707
21091
  if self.cti_rules is not None:
20708
21092
  result['CtiRules'] = self.cti_rules
20709
- if self.enable_all_patch is not None:
20710
- result['EnableAllPatch'] = self.enable_all_patch
20711
- if self.enable_default is not None:
20712
- result['EnableDefault'] = self.enable_default
20713
21093
  if self.lang is not None:
20714
21094
  result['Lang'] = self.lang
20715
21095
  if self.patch_rules is not None:
@@ -20718,22 +21098,14 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20718
21098
  result['RuleClass'] = self.rule_class
20719
21099
  if self.run_mode is not None:
20720
21100
  result['RunMode'] = self.run_mode
20721
- if self.source_ip is not None:
20722
- result['SourceIp'] = self.source_ip
20723
21101
  return result
20724
21102
 
20725
21103
  def from_map(self, m: dict = None):
20726
21104
  m = m or dict()
20727
- if m.get('AiRules') is not None:
20728
- self.ai_rules = m.get('AiRules')
20729
21105
  if m.get('BasicRules') is not None:
20730
21106
  self.basic_rules = m.get('BasicRules')
20731
21107
  if m.get('CtiRules') is not None:
20732
21108
  self.cti_rules = m.get('CtiRules')
20733
- if m.get('EnableAllPatch') is not None:
20734
- self.enable_all_patch = m.get('EnableAllPatch')
20735
- if m.get('EnableDefault') is not None:
20736
- self.enable_default = m.get('EnableDefault')
20737
21109
  if m.get('Lang') is not None:
20738
21110
  self.lang = m.get('Lang')
20739
21111
  if m.get('PatchRules') is not None:
@@ -20742,8 +21114,6 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20742
21114
  self.rule_class = m.get('RuleClass')
20743
21115
  if m.get('RunMode') is not None:
20744
21116
  self.run_mode = m.get('RunMode')
20745
- if m.get('SourceIp') is not None:
20746
- self.source_ip = m.get('SourceIp')
20747
21117
  return self
20748
21118
 
20749
21119
 
@@ -20752,6 +21122,7 @@ class ModifyDefaultIPSConfigResponseBody(TeaModel):
20752
21122
  self,
20753
21123
  request_id: str = None,
20754
21124
  ):
21125
+ # The request ID.
20755
21126
  self.request_id = request_id
20756
21127
 
20757
21128
  def validate(self):
@@ -21196,14 +21567,16 @@ class ModifyNatFirewallControlPolicyRequest(TeaModel):
21196
21567
  #
21197
21568
  # This parameter is required.
21198
21569
  self.nat_gateway_id = nat_gateway_id
21199
- # The protocol type supported by the access control policy. Valid values:
21570
+ # The protocol type in the access control policy. Valid values:
21200
21571
  #
21201
21572
  # * **ANY**\
21202
21573
  # * **TCP**\
21203
21574
  # * **UDP**\
21204
21575
  # * **ICMP**\
21205
21576
  #
21206
- # > The value **ANY** indicates all types of protocols.
21577
+ # > The value **ANY** indicates all types of applications.
21578
+ #
21579
+ # > If the destination address type is a threat intelligence address book of the domain name type or a cloud service address book, you can set Proto to TCP. If you set Proto to TCP, you can set application types to HTTP, HTTPS, SMTP, SMTPS, and SSL.
21207
21580
  #
21208
21581
  # This parameter is required.
21209
21582
  self.proto = proto
@@ -21575,6 +21948,141 @@ class ModifyNatFirewallControlPolicyPositionResponse(TeaModel):
21575
21948
  return self
21576
21949
 
21577
21950
 
21951
+ class ModifyObjectGroupOperationRequest(TeaModel):
21952
+ def __init__(
21953
+ self,
21954
+ comment: str = None,
21955
+ direction: str = None,
21956
+ lang: str = None,
21957
+ object_list: List[str] = None,
21958
+ object_operation: str = None,
21959
+ object_type: str = None,
21960
+ source_ip: str = None,
21961
+ ):
21962
+ self.comment = comment
21963
+ # This parameter is required.
21964
+ self.direction = direction
21965
+ self.lang = lang
21966
+ # This parameter is required.
21967
+ self.object_list = object_list
21968
+ # This parameter is required.
21969
+ self.object_operation = object_operation
21970
+ # This parameter is required.
21971
+ self.object_type = object_type
21972
+ self.source_ip = source_ip
21973
+
21974
+ def validate(self):
21975
+ pass
21976
+
21977
+ def to_map(self):
21978
+ _map = super().to_map()
21979
+ if _map is not None:
21980
+ return _map
21981
+
21982
+ result = dict()
21983
+ if self.comment is not None:
21984
+ result['Comment'] = self.comment
21985
+ if self.direction is not None:
21986
+ result['Direction'] = self.direction
21987
+ if self.lang is not None:
21988
+ result['Lang'] = self.lang
21989
+ if self.object_list is not None:
21990
+ result['ObjectList'] = self.object_list
21991
+ if self.object_operation is not None:
21992
+ result['ObjectOperation'] = self.object_operation
21993
+ if self.object_type is not None:
21994
+ result['ObjectType'] = self.object_type
21995
+ if self.source_ip is not None:
21996
+ result['SourceIp'] = self.source_ip
21997
+ return result
21998
+
21999
+ def from_map(self, m: dict = None):
22000
+ m = m or dict()
22001
+ if m.get('Comment') is not None:
22002
+ self.comment = m.get('Comment')
22003
+ if m.get('Direction') is not None:
22004
+ self.direction = m.get('Direction')
22005
+ if m.get('Lang') is not None:
22006
+ self.lang = m.get('Lang')
22007
+ if m.get('ObjectList') is not None:
22008
+ self.object_list = m.get('ObjectList')
22009
+ if m.get('ObjectOperation') is not None:
22010
+ self.object_operation = m.get('ObjectOperation')
22011
+ if m.get('ObjectType') is not None:
22012
+ self.object_type = m.get('ObjectType')
22013
+ if m.get('SourceIp') is not None:
22014
+ self.source_ip = m.get('SourceIp')
22015
+ return self
22016
+
22017
+
22018
+ class ModifyObjectGroupOperationResponseBody(TeaModel):
22019
+ def __init__(
22020
+ self,
22021
+ request_id: str = None,
22022
+ ):
22023
+ self.request_id = request_id
22024
+
22025
+ def validate(self):
22026
+ pass
22027
+
22028
+ def to_map(self):
22029
+ _map = super().to_map()
22030
+ if _map is not None:
22031
+ return _map
22032
+
22033
+ result = dict()
22034
+ if self.request_id is not None:
22035
+ result['RequestId'] = self.request_id
22036
+ return result
22037
+
22038
+ def from_map(self, m: dict = None):
22039
+ m = m or dict()
22040
+ if m.get('RequestId') is not None:
22041
+ self.request_id = m.get('RequestId')
22042
+ return self
22043
+
22044
+
22045
+ class ModifyObjectGroupOperationResponse(TeaModel):
22046
+ def __init__(
22047
+ self,
22048
+ headers: Dict[str, str] = None,
22049
+ status_code: int = None,
22050
+ body: ModifyObjectGroupOperationResponseBody = None,
22051
+ ):
22052
+ self.headers = headers
22053
+ self.status_code = status_code
22054
+ self.body = body
22055
+
22056
+ def validate(self):
22057
+ if self.body:
22058
+ self.body.validate()
22059
+
22060
+ def to_map(self):
22061
+ _map = super().to_map()
22062
+ if _map is not None:
22063
+ return _map
22064
+
22065
+ result = dict()
22066
+ if self.headers is not None:
22067
+ result['headers'] = self.headers
22068
+ if self.status_code is not None:
22069
+ result['statusCode'] = self.status_code
22070
+ if self.body is not None:
22071
+ result['body'] = self.body.to_map()
22072
+ return result
22073
+
22074
+ def from_map(self, m: dict = None):
22075
+ m = m or dict()
22076
+ if m.get('headers') is not None:
22077
+ self.headers = m.get('headers')
22078
+ if m.get('statusCode') is not None:
22079
+ self.status_code = m.get('statusCode')
22080
+ if m.get('body') is not None:
22081
+ temp_model = ModifyObjectGroupOperationResponseBody()
22082
+ self.body = temp_model.from_map(m['body'])
22083
+ return self
22084
+
22085
+
21578
22086
  class ModifyPolicyAdvancedConfigRequest(TeaModel):
21579
22087
  def __init__(
21580
22088
  self,
@@ -21701,8 +22209,14 @@ class ModifyTrFirewallV2ConfigurationRequest(TeaModel):
21701
22209
  firewall_name: str = None,
21702
22210
  lang: str = None,
21703
22211
  ):
22212
+ # The instance ID of the VPC firewall.
21704
22213
  self.firewall_id = firewall_id
22214
+ # The instance name of the VPC firewall.
21705
22215
  self.firewall_name = firewall_name
22216
+ # The language of the content within the response. Valid values:
22217
+ #
22218
+ # * **zh** (default): Chinese
22219
+ # * **en**: English
21706
22220
  self.lang = lang
21707
22221
 
21708
22222
  def validate(self):
@@ -21738,6 +22252,7 @@ class ModifyTrFirewallV2ConfigurationResponseBody(TeaModel):
21738
22252
  self,
21739
22253
  request_id: str = None,
21740
22254
  ):
22255
+ # The ID of the request.
21741
22256
  self.request_id = request_id
21742
22257
 
21743
22258
  def validate(self):
@@ -21807,7 +22322,9 @@ class ModifyTrFirewallV2RoutePolicyScopeRequestDestCandidateList(TeaModel):
21807
22322
  candidate_id: str = None,
21808
22323
  candidate_type: str = None,
21809
22324
  ):
22325
+ # The ID of the traffic redirection instance.
21810
22326
  self.candidate_id = candidate_id
22327
+ # The type of the traffic redirection instance.
21811
22328
  self.candidate_type = candidate_type
21812
22329
 
21813
22330
  def validate(self):
@@ -21840,7 +22357,9 @@ class ModifyTrFirewallV2RoutePolicyScopeRequestSrcCandidateList(TeaModel):
21840
22357
  candidate_id: str = None,
21841
22358
  candidate_type: str = None,
21842
22359
  ):
22360
+ # The ID of the traffic redirection instance.
21843
22361
  self.candidate_id = candidate_id
22362
+ # The type of the traffic redirection instance.
21844
22363
  self.candidate_type = candidate_type
21845
22364
 
21846
22365
  def validate(self):
@@ -21877,12 +22396,26 @@ class ModifyTrFirewallV2RoutePolicyScopeRequest(TeaModel):
21877
22396
  src_candidate_list: List[ModifyTrFirewallV2RoutePolicyScopeRequestSrcCandidateList] = None,
21878
22397
  tr_firewall_route_policy_id: str = None,
21879
22398
  ):
22399
+ # The secondary traffic redirection instances.
21880
22400
  self.dest_candidate_list = dest_candidate_list
22401
+ # The instance ID of the virtual private cloud (VPC) firewall.
22402
+ #
21881
22403
  # This parameter is required.
21882
22404
  self.firewall_id = firewall_id
22405
+ # The language of the content within the response. Valid values:
22406
+ #
22407
+ # * **zh** (default): Chinese
22408
+ # * **en**: English
21883
22409
  self.lang = lang
22410
+ # Specifies whether to restore the traffic redirection configurations. Valid values:
22411
+ #
22412
+ # * true: roll back
22413
+ # * false: withdraw
21884
22414
  self.should_recover = should_recover
22415
+ # The primary traffic redirection instances.
21885
22416
  self.src_candidate_list = src_candidate_list
22417
+ # The ID of the routing policy.
22418
+ #
21886
22419
  # This parameter is required.
21887
22420
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
21888
22421
 
@@ -21953,12 +22486,26 @@ class ModifyTrFirewallV2RoutePolicyScopeShrinkRequest(TeaModel):
21953
22486
  src_candidate_list_shrink: str = None,
21954
22487
  tr_firewall_route_policy_id: str = None,
21955
22488
  ):
22489
+ # The secondary traffic redirection instances.
21956
22490
  self.dest_candidate_list_shrink = dest_candidate_list_shrink
22491
+ # The instance ID of the virtual private cloud (VPC) firewall.
22492
+ #
21957
22493
  # This parameter is required.
21958
22494
  self.firewall_id = firewall_id
22495
+ # The language of the content within the response. Valid values:
22496
+ #
22497
+ # * **zh** (default): Chinese
22498
+ # * **en**: English
21959
22499
  self.lang = lang
22500
+ # Specifies whether to restore the traffic redirection configurations. Valid values:
22501
+ #
22502
+ # * true: roll back
22503
+ # * false: withdraw
21960
22504
  self.should_recover = should_recover
22505
+ # The primary traffic redirection instances.
21961
22506
  self.src_candidate_list_shrink = src_candidate_list_shrink
22507
+ # The ID of the routing policy.
22508
+ #
21962
22509
  # This parameter is required.
21963
22510
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
21964
22511
 
@@ -22008,7 +22555,9 @@ class ModifyTrFirewallV2RoutePolicyScopeResponseBody(TeaModel):
22008
22555
  request_id: str = None,
22009
22556
  tr_firewall_route_policy_id: str = None,
22010
22557
  ):
22558
+ # The ID of the request.
22011
22559
  self.request_id = request_id
22560
+ # The ID of the routing policy.
22012
22561
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
22013
22562
 
22014
22563
  def validate(self):
@@ -22632,6 +23181,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22632
23181
  dest_port_type: str = None,
22633
23182
  destination: str = None,
22634
23183
  destination_type: str = None,
23184
+ domain_resolve_type: str = None,
22635
23185
  end_time: int = None,
22636
23186
  lang: str = None,
22637
23187
  proto: str = None,
@@ -22661,7 +23211,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22661
23211
  #
22662
23212
  # This parameter is required.
22663
23213
  self.acl_uuid = acl_uuid
22664
- # The application type used in the access control policy.
23214
+ # The type of the application that the access control policy supports.
22665
23215
  #
22666
23216
  # Valid values:
22667
23217
  #
@@ -22722,6 +23272,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22722
23272
  #
22723
23273
  # This parameter is required.
22724
23274
  self.destination_type = destination_type
23275
+ self.domain_resolve_type = domain_resolve_type
22725
23276
  # 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 value of StartTime.
22726
23277
  #
22727
23278
  # > If you set RepeatType to Permanent, leave this parameter empty. If you set RepeatType to None, Daily, Weekly, or Monthly, you must specify this parameter.
@@ -22845,6 +23396,8 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22845
23396
  result['Destination'] = self.destination
22846
23397
  if self.destination_type is not None:
22847
23398
  result['DestinationType'] = self.destination_type
23399
+ if self.domain_resolve_type is not None:
23400
+ result['DomainResolveType'] = self.domain_resolve_type
22848
23401
  if self.end_time is not None:
22849
23402
  result['EndTime'] = self.end_time
22850
23403
  if self.lang is not None:
@@ -22893,6 +23446,8 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22893
23446
  self.destination = m.get('Destination')
22894
23447
  if m.get('DestinationType') is not None:
22895
23448
  self.destination_type = m.get('DestinationType')
23449
+ if m.get('DomainResolveType') is not None:
23450
+ self.domain_resolve_type = m.get('DomainResolveType')
22896
23451
  if m.get('EndTime') is not None:
22897
23452
  self.end_time = m.get('EndTime')
22898
23453
  if m.get('Lang') is not None:
@@ -23011,6 +23566,8 @@ class ModifyVpcFirewallControlPolicyPositionRequest(TeaModel):
23011
23566
  self.lang = lang
23012
23567
  # The new priority of the access control policy.
23013
23568
  #
23569
+ # > For more information about the valid values of the new priority, see [DescribeVpcFirewallPolicyPriorUsed](https://help.aliyun.com/document_detail/474145.html).
23570
+ #
23014
23571
  # This parameter is required.
23015
23572
  self.new_order = new_order
23016
23573
  # The original priority of the access control policy.
@@ -23144,6 +23701,7 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23144
23701
  enable_all_patch: str = None,
23145
23702
  lang: str = None,
23146
23703
  member_uid: str = None,
23704
+ rule_class: str = None,
23147
23705
  run_mode: str = None,
23148
23706
  source_ip: str = None,
23149
23707
  vpc_firewall_id: str = None,
@@ -23169,6 +23727,7 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23169
23727
  self.lang = lang
23170
23728
  # The UID of the member that is managed by your Alibaba Cloud account.
23171
23729
  self.member_uid = member_uid
23730
+ self.rule_class = rule_class
23172
23731
  # The mode of the intrusion prevention system (IPS). Valid values:
23173
23732
  #
23174
23733
  # * **1**: block mode
@@ -23203,6 +23762,8 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23203
23762
  result['Lang'] = self.lang
23204
23763
  if self.member_uid is not None:
23205
23764
  result['MemberUid'] = self.member_uid
23765
+ if self.rule_class is not None:
23766
+ result['RuleClass'] = self.rule_class
23206
23767
  if self.run_mode is not None:
23207
23768
  result['RunMode'] = self.run_mode
23208
23769
  if self.source_ip is not None:
@@ -23221,6 +23782,8 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23221
23782
  self.lang = m.get('Lang')
23222
23783
  if m.get('MemberUid') is not None:
23223
23784
  self.member_uid = m.get('MemberUid')
23785
+ if m.get('RuleClass') is not None:
23786
+ self.rule_class = m.get('RuleClass')
23224
23787
  if m.get('RunMode') is not None:
23225
23788
  self.run_mode = m.get('RunMode')
23226
23789
  if m.get('SourceIp') is not None:
@@ -24152,6 +24715,7 @@ class ReleasePostInstanceRequest(TeaModel):
24152
24715
  self,
24153
24716
  instance_id: str = None,
24154
24717
  ):
24718
+ # The ID of the Cloud Firewall instance.
24155
24719
  self.instance_id = instance_id
24156
24720
 
24157
24721
  def validate(self):
@@ -24182,9 +24746,16 @@ class ReleasePostInstanceResponseBody(TeaModel):
24182
24746
  request_id: str = None,
24183
24747
  success: bool = None,
24184
24748
  ):
24749
+ # The HTTP status code.
24185
24750
  self.http_status_code = http_status_code
24751
+ # Indicates whether the release was successful. Valid values:
24752
+ #
24753
+ # * **true**\
24754
+ # * **false**\
24186
24755
  self.release_status = release_status
24756
+ # The request ID, which is used to locate and troubleshoot issues.
24187
24757
  self.request_id = request_id
24758
+ # Indicates whether the request was successful.
24188
24759
  self.success = success
24189
24760
 
24190
24761
  def validate(self):
@@ -24494,9 +25065,20 @@ class SwitchSecurityProxyRequest(TeaModel):
24494
25065
  proxy_id: str = None,
24495
25066
  switch: str = None,
24496
25067
  ):
25068
+ # The language of the content within the request and the response. Valid values:
25069
+ #
25070
+ # * **zh** (default)
25071
+ # * **en**\
24497
25072
  self.lang = lang
25073
+ # The ID of the NAT firewall.
25074
+ #
24498
25075
  # This parameter is required.
24499
25076
  self.proxy_id = proxy_id
25077
+ # Specifies whether to enable the NAT firewall. Valid values:
25078
+ #
25079
+ # * open: yes
25080
+ # * close: no
25081
+ #
24500
25082
  # This parameter is required.
24501
25083
  self.switch = switch
24502
25084
 
@@ -24533,6 +25115,7 @@ class SwitchSecurityProxyResponseBody(TeaModel):
24533
25115
  self,
24534
25116
  request_id: str = None,
24535
25117
  ):
25118
+ # The request ID.
24536
25119
  self.request_id = request_id
24537
25120
 
24538
25121
  def validate(self):