alibabacloud-cloudfw20171207 3.6.1__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:
@@ -9257,7 +9452,7 @@ class DescribeNatFirewallControlPolicyRequest(TeaModel):
9257
9452
  # The recurrence type for the access control policy to take effect. Valid values:
9258
9453
  #
9259
9454
  # * **Permanent** (default): The policy always takes effect.
9260
- # * **None**: The policy takes effect for only once.
9455
+ # * **None**: The policy takes effect only once.
9261
9456
  # * **Daily**: The policy takes effect on a daily basis.
9262
9457
  # * **Weekly**: The policy takes effect on a weekly basis.
9263
9458
  # * **Monthly**: The policy takes effect on a monthly basis.
@@ -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):
@@ -9835,6 +10054,55 @@ class DescribeNatFirewallListRequest(TeaModel):
9835
10054
  return self
9836
10055
 
9837
10056
 
10057
+ class DescribeNatFirewallListResponseBodyNatFirewallListNatRouteEntryList(TeaModel):
10058
+ def __init__(
10059
+ self,
10060
+ destination_cidr: str = None,
10061
+ next_hop_id: str = None,
10062
+ next_hop_type: str = None,
10063
+ route_table_id: str = None,
10064
+ ):
10065
+ # The destination CIDR block of the default route.
10066
+ self.destination_cidr = destination_cidr
10067
+ # The next hop of the original NAT gateway.
10068
+ self.next_hop_id = next_hop_id
10069
+ # The network type of the next hop. The value is fixed as NatGateway.
10070
+ self.next_hop_type = next_hop_type
10071
+ # The route table to which the default route of the NAT gateway belongs.
10072
+ self.route_table_id = route_table_id
10073
+
10074
+ def validate(self):
10075
+ pass
10076
+
10077
+ def to_map(self):
10078
+ _map = super().to_map()
10079
+ if _map is not None:
10080
+ return _map
10081
+
10082
+ result = dict()
10083
+ if self.destination_cidr is not None:
10084
+ result['DestinationCidr'] = self.destination_cidr
10085
+ if self.next_hop_id is not None:
10086
+ result['NextHopId'] = self.next_hop_id
10087
+ if self.next_hop_type is not None:
10088
+ result['NextHopType'] = self.next_hop_type
10089
+ if self.route_table_id is not None:
10090
+ result['RouteTableId'] = self.route_table_id
10091
+ return result
10092
+
10093
+ def from_map(self, m: dict = None):
10094
+ m = m or dict()
10095
+ if m.get('DestinationCidr') is not None:
10096
+ self.destination_cidr = m.get('DestinationCidr')
10097
+ if m.get('NextHopId') is not None:
10098
+ self.next_hop_id = m.get('NextHopId')
10099
+ if m.get('NextHopType') is not None:
10100
+ self.next_hop_type = m.get('NextHopType')
10101
+ if m.get('RouteTableId') is not None:
10102
+ self.route_table_id = m.get('RouteTableId')
10103
+ return self
10104
+
10105
+
9838
10106
  class DescribeNatFirewallListResponseBodyNatFirewallList(TeaModel):
9839
10107
  def __init__(
9840
10108
  self,
@@ -9843,6 +10111,7 @@ class DescribeNatFirewallListResponseBodyNatFirewallList(TeaModel):
9843
10111
  member_uid: int = None,
9844
10112
  nat_gateway_id: str = None,
9845
10113
  nat_gateway_name: str = None,
10114
+ nat_route_entry_list: List[DescribeNatFirewallListResponseBodyNatFirewallListNatRouteEntryList] = None,
9846
10115
  proxy_id: str = None,
9847
10116
  proxy_name: str = None,
9848
10117
  proxy_status: str = None,
@@ -9851,21 +10120,50 @@ class DescribeNatFirewallListResponseBodyNatFirewallList(TeaModel):
9851
10120
  vpc_id: str = None,
9852
10121
  vpc_name: str = None,
9853
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.
9854
10126
  self.ali_uid = ali_uid
10127
+ # The cause of the error.
9855
10128
  self.error_detail = error_detail
10129
+ # The UID of the member in Cloud Firewall.
9856
10130
  self.member_uid = member_uid
10131
+ # The ID of the NAT gateway.
9857
10132
  self.nat_gateway_id = nat_gateway_id
10133
+ # The name of the NAT gateway.
9858
10134
  self.nat_gateway_name = nat_gateway_name
10135
+ # The default route entries of the NAT gateway.
10136
+ self.nat_route_entry_list = nat_route_entry_list
10137
+ # The ID of the NAT firewall.
9859
10138
  self.proxy_id = proxy_id
10139
+ # The name of the NAT firewall.
9860
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
9861
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).
9862
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.
9863
10156
  self.strict_mode = strict_mode
10157
+ # The ID of the VPC.
9864
10158
  self.vpc_id = vpc_id
10159
+ # The name of the VPC.
9865
10160
  self.vpc_name = vpc_name
9866
10161
 
9867
10162
  def validate(self):
9868
- pass
10163
+ if self.nat_route_entry_list:
10164
+ for k in self.nat_route_entry_list:
10165
+ if k:
10166
+ k.validate()
9869
10167
 
9870
10168
  def to_map(self):
9871
10169
  _map = super().to_map()
@@ -9883,6 +10181,10 @@ class DescribeNatFirewallListResponseBodyNatFirewallList(TeaModel):
9883
10181
  result['NatGatewayId'] = self.nat_gateway_id
9884
10182
  if self.nat_gateway_name is not None:
9885
10183
  result['NatGatewayName'] = self.nat_gateway_name
10184
+ result['NatRouteEntryList'] = []
10185
+ if self.nat_route_entry_list is not None:
10186
+ for k in self.nat_route_entry_list:
10187
+ result['NatRouteEntryList'].append(k.to_map() if k else None)
9886
10188
  if self.proxy_id is not None:
9887
10189
  result['ProxyId'] = self.proxy_id
9888
10190
  if self.proxy_name is not None:
@@ -9911,6 +10213,11 @@ class DescribeNatFirewallListResponseBodyNatFirewallList(TeaModel):
9911
10213
  self.nat_gateway_id = m.get('NatGatewayId')
9912
10214
  if m.get('NatGatewayName') is not None:
9913
10215
  self.nat_gateway_name = m.get('NatGatewayName')
10216
+ self.nat_route_entry_list = []
10217
+ if m.get('NatRouteEntryList') is not None:
10218
+ for k in m.get('NatRouteEntryList'):
10219
+ temp_model = DescribeNatFirewallListResponseBodyNatFirewallListNatRouteEntryList()
10220
+ self.nat_route_entry_list.append(temp_model.from_map(k))
9914
10221
  if m.get('ProxyId') is not None:
9915
10222
  self.proxy_id = m.get('ProxyId')
9916
10223
  if m.get('ProxyName') is not None:
@@ -9935,8 +10242,11 @@ class DescribeNatFirewallListResponseBody(TeaModel):
9935
10242
  request_id: str = None,
9936
10243
  total_count: int = None,
9937
10244
  ):
10245
+ # The NAT firewalls.
9938
10246
  self.nat_firewall_list = nat_firewall_list
10247
+ # The request ID.
9939
10248
  self.request_id = request_id
10249
+ # The total number of NAT firewalls.
9940
10250
  self.total_count = total_count
9941
10251
 
9942
10252
  def validate(self):
@@ -11656,7 +11966,7 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11656
11966
  ):
11657
11967
  # The page number. Default value: 1.
11658
11968
  self.current_page = current_page
11659
- # 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.
11660
11970
  #
11661
11971
  # This parameter is required.
11662
11972
  self.end_time = end_time
@@ -11674,14 +11984,15 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11674
11984
  self.page_size = page_size
11675
11985
  # The instance ID or the IP address of the asset.
11676
11986
  self.search_item = search_item
11677
- # 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.
11678
11988
  #
11679
11989
  # This parameter is required.
11680
11990
  self.start_time = start_time
11681
11991
  # The traffic type. This parameter is required. Valid values:
11682
11992
  #
11683
11993
  # * **EIP_TRAFFIC**: traffic for the Internet firewall
11684
- # * **NatGateway_TRAFFIC**: traffic for the NAT firewall
11994
+ # * **NatGateway_TRAFFIC**: traffic for NAT firewalls
11995
+ # * **VPC_TRAFFIC**: traffic for virtual private cloud (VPC) firewalls
11685
11996
  #
11686
11997
  # This parameter is required.
11687
11998
  self.traffic_type = traffic_type
@@ -11741,29 +12052,32 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11741
12052
  instance_id: str = None,
11742
12053
  instance_type: str = None,
11743
12054
  out_bytes: int = None,
12055
+ protection_duration: int = None,
11744
12056
  resource_id: str = None,
11745
12057
  total_bytes: int = None,
11746
12058
  traffic_day: str = None,
11747
12059
  traffic_type: str = None,
11748
12060
  ):
11749
- # 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.
11750
12062
  self.in_bytes = in_bytes
11751
12063
  # The instance ID of the asset.
11752
12064
  self.instance_id = instance_id
11753
- # 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.
11754
12066
  self.instance_type = instance_type
11755
12067
  # The outbound network throughput, which indicates the total number of bytes that are sent. Unit: bytes.
11756
12068
  self.out_bytes = out_bytes
12069
+ self.protection_duration = protection_duration
11757
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.
11758
12071
  self.resource_id = resource_id
11759
- # 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.
11760
12073
  self.total_bytes = total_bytes
11761
12074
  # The date on which the statistics are collected.
11762
12075
  self.traffic_day = traffic_day
11763
12076
  # The traffic type. Valid values:
11764
12077
  #
11765
12078
  # * **EIP_TRAFFIC**: traffic for the Internet firewall
11766
- # * **NatGateway_TRAFFIC**: traffic for the NAT firewall
12079
+ # * **NatGateway_TRAFFIC**: traffic for NAT firewalls
12080
+ # * **VPC_TRAFFIC**: traffic for VPC firewalls
11767
12081
  self.traffic_type = traffic_type
11768
12082
 
11769
12083
  def validate(self):
@@ -11783,6 +12097,8 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11783
12097
  result['InstanceType'] = self.instance_type
11784
12098
  if self.out_bytes is not None:
11785
12099
  result['OutBytes'] = self.out_bytes
12100
+ if self.protection_duration is not None:
12101
+ result['ProtectionDuration'] = self.protection_duration
11786
12102
  if self.resource_id is not None:
11787
12103
  result['ResourceId'] = self.resource_id
11788
12104
  if self.total_bytes is not None:
@@ -11803,6 +12119,8 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11803
12119
  self.instance_type = m.get('InstanceType')
11804
12120
  if m.get('OutBytes') is not None:
11805
12121
  self.out_bytes = m.get('OutBytes')
12122
+ if m.get('ProtectionDuration') is not None:
12123
+ self.protection_duration = m.get('ProtectionDuration')
11806
12124
  if m.get('ResourceId') is not None:
11807
12125
  self.resource_id = m.get('ResourceId')
11808
12126
  if m.get('TotalBytes') is not None:
@@ -11825,7 +12143,7 @@ class DescribePostpayTrafficDetailResponseBody(TeaModel):
11825
12143
  self.request_id = request_id
11826
12144
  # The total number of entries returned.
11827
12145
  self.total_count = total_count
11828
- # The traffic statistics.
12146
+ # The statistics on traffic.
11829
12147
  self.traffic_list = traffic_list
11830
12148
 
11831
12149
  def validate(self):
@@ -11941,20 +12259,35 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
11941
12259
  self,
11942
12260
  request_id: str = None,
11943
12261
  total_assets: int = None,
12262
+ total_bill_traffic: int = None,
12263
+ total_internet_assets: int = None,
12264
+ total_internet_traffic: int = None,
11944
12265
  total_nat_assets: int = None,
11945
12266
  total_nat_traffic: int = None,
11946
12267
  total_traffic: int = None,
12268
+ total_vpc_assets: int = None,
12269
+ total_vpc_traffic: int = None,
11947
12270
  ):
11948
12271
  # The ID of the request.
11949
12272
  self.request_id = request_id
11950
- # The total number of the assets that are protected by the Internet firewall.
12273
+ # The total number of assets protected all types of firewalls.
11951
12274
  self.total_assets = total_assets
11952
- # 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.
11953
12282
  self.total_nat_assets = total_nat_assets
11954
- # 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.
11955
12284
  self.total_nat_traffic = total_nat_traffic
11956
- # 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.
11957
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
11958
12291
 
11959
12292
  def validate(self):
11960
12293
  pass
@@ -11969,12 +12302,22 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
11969
12302
  result['RequestId'] = self.request_id
11970
12303
  if self.total_assets is not None:
11971
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
11972
12311
  if self.total_nat_assets is not None:
11973
12312
  result['TotalNatAssets'] = self.total_nat_assets
11974
12313
  if self.total_nat_traffic is not None:
11975
12314
  result['TotalNatTraffic'] = self.total_nat_traffic
11976
12315
  if self.total_traffic is not None:
11977
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
11978
12321
  return result
11979
12322
 
11980
12323
  def from_map(self, m: dict = None):
@@ -11983,12 +12326,22 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
11983
12326
  self.request_id = m.get('RequestId')
11984
12327
  if m.get('TotalAssets') is not None:
11985
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')
11986
12335
  if m.get('TotalNatAssets') is not None:
11987
12336
  self.total_nat_assets = m.get('TotalNatAssets')
11988
12337
  if m.get('TotalNatTraffic') is not None:
11989
12338
  self.total_nat_traffic = m.get('TotalNatTraffic')
11990
12339
  if m.get('TotalTraffic') is not None:
11991
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')
11992
12345
  return self
11993
12346
 
11994
12347
 
@@ -13448,7 +13801,7 @@ class DescribeTrFirewallPolicyBackUpAssociationListRequest(TeaModel):
13448
13801
  lang: str = None,
13449
13802
  tr_firewall_route_policy_id: str = None,
13450
13803
  ):
13451
- # An array that consists of the details about the traffic redirection instance.
13804
+ # The traffic redirection instances.
13452
13805
  self.candidate_list = candidate_list
13453
13806
  # The instance ID of the VPC firewall.
13454
13807
  self.firewall_id = firewall_id
@@ -13508,7 +13861,7 @@ class DescribeTrFirewallPolicyBackUpAssociationListShrinkRequest(TeaModel):
13508
13861
  lang: str = None,
13509
13862
  tr_firewall_route_policy_id: str = None,
13510
13863
  ):
13511
- # An array that consists of the details about the traffic redirection instance.
13864
+ # The traffic redirection instances.
13512
13865
  self.candidate_list_shrink = candidate_list_shrink
13513
13866
  # The instance ID of the VPC firewall.
13514
13867
  self.firewall_id = firewall_id
@@ -14366,6 +14719,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14366
14719
  self,
14367
14720
  basic_rules: int = None,
14368
14721
  enable_all_patch: int = None,
14722
+ rule_class: int = None,
14369
14723
  run_mode: int = None,
14370
14724
  ):
14371
14725
  # Indicates whether basic protection is enabled. Valid values:
@@ -14378,6 +14732,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14378
14732
  # * **1**: yes
14379
14733
  # * **0**: no
14380
14734
  self.enable_all_patch = enable_all_patch
14735
+ self.rule_class = rule_class
14381
14736
  # The mode of the IPS. Valid values:
14382
14737
  #
14383
14738
  # * **1**: block mode
@@ -14397,6 +14752,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14397
14752
  result['BasicRules'] = self.basic_rules
14398
14753
  if self.enable_all_patch is not None:
14399
14754
  result['EnableAllPatch'] = self.enable_all_patch
14755
+ if self.rule_class is not None:
14756
+ result['RuleClass'] = self.rule_class
14400
14757
  if self.run_mode is not None:
14401
14758
  result['RunMode'] = self.run_mode
14402
14759
  return result
@@ -14407,6 +14764,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14407
14764
  self.basic_rules = m.get('BasicRules')
14408
14765
  if m.get('EnableAllPatch') is not None:
14409
14766
  self.enable_all_patch = m.get('EnableAllPatch')
14767
+ if m.get('RuleClass') is not None:
14768
+ self.rule_class = m.get('RuleClass')
14410
14769
  if m.get('RunMode') is not None:
14411
14770
  self.run_mode = m.get('RunMode')
14412
14771
  return self
@@ -14781,10 +15140,18 @@ class DescribeTrFirewallsV2RouteListRequest(TeaModel):
14781
15140
  page_size: str = None,
14782
15141
  tr_firewall_route_policy_id: str = None,
14783
15142
  ):
15143
+ # The page number. Default value: 1.
14784
15144
  self.current_page = current_page
15145
+ # The instance ID of the virtual private cloud (VPC) firewall.
14785
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
14786
15151
  self.lang = lang
15152
+ # The number of entries per page. Default value: 10.
14787
15153
  self.page_size = page_size
15154
+ # The ID of the routing policy.
14788
15155
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
14789
15156
 
14790
15157
  def validate(self):
@@ -14831,9 +15198,13 @@ class DescribeTrFirewallsV2RouteListResponseBodyFirewallRouteDetailList(TeaModel
14831
15198
  tr_firewall_route_policy_id: str = None,
14832
15199
  tr_firewall_route_table_id: str = None,
14833
15200
  ):
15201
+ # The destination address of the route.
14834
15202
  self.tr_firewall_route_destination = tr_firewall_route_destination
15203
+ # The ID of the next hop for the route.
14835
15204
  self.tr_firewall_route_nexthop = tr_firewall_route_nexthop
15205
+ # The ID of the routing policy.
14836
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.
14837
15208
  self.tr_firewall_route_table_id = tr_firewall_route_table_id
14838
15209
 
14839
15210
  def validate(self):
@@ -14874,7 +15245,9 @@ class DescribeTrFirewallsV2RouteListResponseBody(TeaModel):
14874
15245
  firewall_route_detail_list: List[DescribeTrFirewallsV2RouteListResponseBodyFirewallRouteDetailList] = None,
14875
15246
  request_id: str = None,
14876
15247
  ):
15248
+ # The route tables of Cloud Firewall.
14877
15249
  self.firewall_route_detail_list = firewall_route_detail_list
15250
+ # The ID of the request.
14878
15251
  self.request_id = request_id
14879
15252
 
14880
15253
  def validate(self):
@@ -16235,6 +16608,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16235
16608
  self,
16236
16609
  basic_rules: int = None,
16237
16610
  enable_all_patch: int = None,
16611
+ rule_class: int = None,
16238
16612
  run_mode: int = None,
16239
16613
  ):
16240
16614
  # Indicates whether basic protection is enabled. Valid values:
@@ -16247,6 +16621,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16247
16621
  # * **1**: yes
16248
16622
  # * **0**: no
16249
16623
  self.enable_all_patch = enable_all_patch
16624
+ self.rule_class = rule_class
16250
16625
  # The mode of the IPS. Valid values:
16251
16626
  #
16252
16627
  # * **1**: block mode
@@ -16266,6 +16641,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16266
16641
  result['BasicRules'] = self.basic_rules
16267
16642
  if self.enable_all_patch is not None:
16268
16643
  result['EnableAllPatch'] = self.enable_all_patch
16644
+ if self.rule_class is not None:
16645
+ result['RuleClass'] = self.rule_class
16269
16646
  if self.run_mode is not None:
16270
16647
  result['RunMode'] = self.run_mode
16271
16648
  return result
@@ -16276,6 +16653,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16276
16653
  self.basic_rules = m.get('BasicRules')
16277
16654
  if m.get('EnableAllPatch') is not None:
16278
16655
  self.enable_all_patch = m.get('EnableAllPatch')
16656
+ if m.get('RuleClass') is not None:
16657
+ self.rule_class = m.get('RuleClass')
16279
16658
  if m.get('RunMode') is not None:
16280
16659
  self.run_mode = m.get('RunMode')
16281
16660
  return self
@@ -16891,6 +17270,7 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
16891
17270
  destination_group_cidrs: List[str] = None,
16892
17271
  destination_group_type: str = None,
16893
17272
  destination_type: str = None,
17273
+ domain_resolve_type: str = None,
16894
17274
  end_time: int = None,
16895
17275
  hit_last_time: int = None,
16896
17276
  hit_times: int = None,
@@ -16973,6 +17353,12 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
16973
17353
  # * **group**: address book
16974
17354
  # * **domain**: domain name
16975
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
16976
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.
16977
17363
  #
16978
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.
@@ -17088,6 +17474,8 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17088
17474
  result['DestinationGroupType'] = self.destination_group_type
17089
17475
  if self.destination_type is not None:
17090
17476
  result['DestinationType'] = self.destination_type
17477
+ if self.domain_resolve_type is not None:
17478
+ result['DomainResolveType'] = self.domain_resolve_type
17091
17479
  if self.end_time is not None:
17092
17480
  result['EndTime'] = self.end_time
17093
17481
  if self.hit_last_time is not None:
@@ -17158,6 +17546,8 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17158
17546
  self.destination_group_type = m.get('DestinationGroupType')
17159
17547
  if m.get('DestinationType') is not None:
17160
17548
  self.destination_type = m.get('DestinationType')
17549
+ if m.get('DomainResolveType') is not None:
17550
+ self.domain_resolve_type = m.get('DomainResolveType')
17161
17551
  if m.get('EndTime') is not None:
17162
17552
  self.end_time = m.get('EndTime')
17163
17553
  if m.get('HitLastTime') is not None:
@@ -17334,6 +17724,7 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17334
17724
  basic_rules: int = None,
17335
17725
  enable_all_patch: int = None,
17336
17726
  request_id: str = None,
17727
+ rule_class: int = None,
17337
17728
  run_mode: int = None,
17338
17729
  ):
17339
17730
  # Indicates whether basic policies are enabled. Valid values:
@@ -17348,6 +17739,7 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17348
17739
  self.enable_all_patch = enable_all_patch
17349
17740
  # The ID of the request.
17350
17741
  self.request_id = request_id
17742
+ self.rule_class = rule_class
17351
17743
  # The mode of the intrusion prevention system (IPS). Valid values:
17352
17744
  #
17353
17745
  # * **1**: block mode
@@ -17369,6 +17761,8 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17369
17761
  result['EnableAllPatch'] = self.enable_all_patch
17370
17762
  if self.request_id is not None:
17371
17763
  result['RequestId'] = self.request_id
17764
+ if self.rule_class is not None:
17765
+ result['RuleClass'] = self.rule_class
17372
17766
  if self.run_mode is not None:
17373
17767
  result['RunMode'] = self.run_mode
17374
17768
  return result
@@ -17381,6 +17775,8 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17381
17775
  self.enable_all_patch = m.get('EnableAllPatch')
17382
17776
  if m.get('RequestId') is not None:
17383
17777
  self.request_id = m.get('RequestId')
17778
+ if m.get('RuleClass') is not None:
17779
+ self.rule_class = m.get('RuleClass')
17384
17780
  if m.get('RunMode') is not None:
17385
17781
  self.run_mode = m.get('RunMode')
17386
17782
  return self
@@ -18247,6 +18643,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18247
18643
  self,
18248
18644
  basic_rules: int = None,
18249
18645
  enable_all_patch: int = None,
18646
+ rule_class: int = None,
18250
18647
  run_mode: int = None,
18251
18648
  ):
18252
18649
  # Indicates whether basic protection is enabled. Valid values:
@@ -18259,6 +18656,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18259
18656
  # * **1**: yes
18260
18657
  # * **0**: no
18261
18658
  self.enable_all_patch = enable_all_patch
18659
+ self.rule_class = rule_class
18262
18660
  # The mode of the IPS. Valid values:
18263
18661
  #
18264
18662
  # * **1**: block mode
@@ -18278,6 +18676,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18278
18676
  result['BasicRules'] = self.basic_rules
18279
18677
  if self.enable_all_patch is not None:
18280
18678
  result['EnableAllPatch'] = self.enable_all_patch
18679
+ if self.rule_class is not None:
18680
+ result['RuleClass'] = self.rule_class
18281
18681
  if self.run_mode is not None:
18282
18682
  result['RunMode'] = self.run_mode
18283
18683
  return result
@@ -18288,6 +18688,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18288
18688
  self.basic_rules = m.get('BasicRules')
18289
18689
  if m.get('EnableAllPatch') is not None:
18290
18690
  self.enable_all_patch = m.get('EnableAllPatch')
18691
+ if m.get('RuleClass') is not None:
18692
+ self.rule_class = m.get('RuleClass')
18291
18693
  if m.get('RunMode') is not None:
18292
18694
  self.run_mode = m.get('RunMode')
18293
18695
  return self
@@ -19947,6 +20349,7 @@ class ModifyAddressBookRequest(TeaModel):
19947
20349
  group_name: str = None,
19948
20350
  group_uuid: str = None,
19949
20351
  lang: str = None,
20352
+ modify_mode: str = None,
19950
20353
  source_ip: str = None,
19951
20354
  tag_list: List[ModifyAddressBookRequestTagList] = None,
19952
20355
  tag_relation: str = None,
@@ -19981,6 +20384,7 @@ class ModifyAddressBookRequest(TeaModel):
19981
20384
  # * **zh**: Chinese (default)
19982
20385
  # * **en**: English
19983
20386
  self.lang = lang
20387
+ self.modify_mode = modify_mode
19984
20388
  # The source IP address of the request.
19985
20389
  self.source_ip = source_ip
19986
20390
  # The ECS tags that you want to match.
@@ -20015,6 +20419,8 @@ class ModifyAddressBookRequest(TeaModel):
20015
20419
  result['GroupUuid'] = self.group_uuid
20016
20420
  if self.lang is not None:
20017
20421
  result['Lang'] = self.lang
20422
+ if self.modify_mode is not None:
20423
+ result['ModifyMode'] = self.modify_mode
20018
20424
  if self.source_ip is not None:
20019
20425
  result['SourceIp'] = self.source_ip
20020
20426
  result['TagList'] = []
@@ -20039,6 +20445,8 @@ class ModifyAddressBookRequest(TeaModel):
20039
20445
  self.group_uuid = m.get('GroupUuid')
20040
20446
  if m.get('Lang') is not None:
20041
20447
  self.lang = m.get('Lang')
20448
+ if m.get('ModifyMode') is not None:
20449
+ self.modify_mode = m.get('ModifyMode')
20042
20450
  if m.get('SourceIp') is not None:
20043
20451
  self.source_ip = m.get('SourceIp')
20044
20452
  self.tag_list = []
@@ -20134,6 +20542,7 @@ class ModifyControlPolicyRequest(TeaModel):
20134
20542
  destination: str = None,
20135
20543
  destination_type: str = None,
20136
20544
  direction: str = None,
20545
+ domain_resolve_type: str = None,
20137
20546
  end_time: int = None,
20138
20547
  lang: str = None,
20139
20548
  proto: str = None,
@@ -20177,9 +20586,13 @@ class ModifyControlPolicyRequest(TeaModel):
20177
20586
  # * **Memcache**\
20178
20587
  # * **SSL**\
20179
20588
  #
20180
- # > 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.
20181
20592
  self.application_name = application_name
20182
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.
20183
20596
  self.application_name_list = application_name_list
20184
20597
  # The description of the access control policy.
20185
20598
  #
@@ -20219,6 +20632,12 @@ class ModifyControlPolicyRequest(TeaModel):
20219
20632
  #
20220
20633
  # This parameter is required.
20221
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
20222
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.
20223
20642
  #
20224
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.
@@ -20228,14 +20647,16 @@ class ModifyControlPolicyRequest(TeaModel):
20228
20647
  # * **zh**: Chinese (default)
20229
20648
  # * **en**: English
20230
20649
  self.lang = lang
20231
- # The protocol type supported by the access control policy. Valid values:
20650
+ # The protocol type that the access control policy supports. Valid values:
20232
20651
  #
20233
20652
  # * **ANY**\
20234
20653
  # * **TCP**\
20235
20654
  # * **UDP**\
20236
20655
  # * **ICMP**\
20237
20656
  #
20238
- # > 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.
20239
20660
  #
20240
20661
  # This parameter is required.
20241
20662
  self.proto = proto
@@ -20323,6 +20744,8 @@ class ModifyControlPolicyRequest(TeaModel):
20323
20744
  result['DestinationType'] = self.destination_type
20324
20745
  if self.direction is not None:
20325
20746
  result['Direction'] = self.direction
20747
+ if self.domain_resolve_type is not None:
20748
+ result['DomainResolveType'] = self.domain_resolve_type
20326
20749
  if self.end_time is not None:
20327
20750
  result['EndTime'] = self.end_time
20328
20751
  if self.lang is not None:
@@ -20371,6 +20794,8 @@ class ModifyControlPolicyRequest(TeaModel):
20371
20794
  self.destination_type = m.get('DestinationType')
20372
20795
  if m.get('Direction') is not None:
20373
20796
  self.direction = m.get('Direction')
20797
+ if m.get('DomainResolveType') is not None:
20798
+ self.domain_resolve_type = m.get('DomainResolveType')
20374
20799
  if m.get('EndTime') is not None:
20375
20800
  self.end_time = m.get('EndTime')
20376
20801
  if m.get('Lang') is not None:
@@ -20607,30 +21032,50 @@ class ModifyControlPolicyPositionResponse(TeaModel):
20607
21032
  class ModifyDefaultIPSConfigRequest(TeaModel):
20608
21033
  def __init__(
20609
21034
  self,
20610
- ai_rules: str = None,
20611
21035
  basic_rules: str = None,
20612
21036
  cti_rules: str = None,
20613
- enable_all_patch: str = None,
20614
- enable_default: str = None,
20615
21037
  lang: str = None,
20616
21038
  patch_rules: str = None,
20617
21039
  rule_class: str = None,
20618
21040
  run_mode: str = None,
20619
- source_ip: str = None,
20620
21041
  ):
20621
- self.ai_rules = ai_rules
21042
+ # Specifies whether to enable basic protection. Valid values:
21043
+ #
21044
+ # * **1**: yes
21045
+ # * **0**: no
21046
+ #
20622
21047
  # This parameter is required.
20623
21048
  self.basic_rules = basic_rules
21049
+ # Specifies whether to enable threat intelligence. Valid values:
21050
+ #
21051
+ # * **1**: yes
21052
+ # * **0**: no
21053
+ #
20624
21054
  # This parameter is required.
20625
21055
  self.cti_rules = cti_rules
20626
- self.enable_all_patch = enable_all_patch
20627
- self.enable_default = enable_default
21056
+ # The language of the content within the request and response. Valid values:
21057
+ #
21058
+ # * **zh** (default)
21059
+ # * **en**\
20628
21060
  self.lang = lang
21061
+ # Specifies whether to enable virtual patching. Valid values:
21062
+ #
21063
+ # * **1**: yes
21064
+ # * **0**: no
20629
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
20630
21071
  self.rule_class = rule_class
21072
+ # The mode of the IPS. Valid values:
21073
+ #
21074
+ # * **1**: block mode
21075
+ # * **0**: monitor mode
21076
+ #
20631
21077
  # This parameter is required.
20632
21078
  self.run_mode = run_mode
20633
- self.source_ip = source_ip
20634
21079
 
20635
21080
  def validate(self):
20636
21081
  pass
@@ -20641,16 +21086,10 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20641
21086
  return _map
20642
21087
 
20643
21088
  result = dict()
20644
- if self.ai_rules is not None:
20645
- result['AiRules'] = self.ai_rules
20646
21089
  if self.basic_rules is not None:
20647
21090
  result['BasicRules'] = self.basic_rules
20648
21091
  if self.cti_rules is not None:
20649
21092
  result['CtiRules'] = self.cti_rules
20650
- if self.enable_all_patch is not None:
20651
- result['EnableAllPatch'] = self.enable_all_patch
20652
- if self.enable_default is not None:
20653
- result['EnableDefault'] = self.enable_default
20654
21093
  if self.lang is not None:
20655
21094
  result['Lang'] = self.lang
20656
21095
  if self.patch_rules is not None:
@@ -20659,22 +21098,14 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20659
21098
  result['RuleClass'] = self.rule_class
20660
21099
  if self.run_mode is not None:
20661
21100
  result['RunMode'] = self.run_mode
20662
- if self.source_ip is not None:
20663
- result['SourceIp'] = self.source_ip
20664
21101
  return result
20665
21102
 
20666
21103
  def from_map(self, m: dict = None):
20667
21104
  m = m or dict()
20668
- if m.get('AiRules') is not None:
20669
- self.ai_rules = m.get('AiRules')
20670
21105
  if m.get('BasicRules') is not None:
20671
21106
  self.basic_rules = m.get('BasicRules')
20672
21107
  if m.get('CtiRules') is not None:
20673
21108
  self.cti_rules = m.get('CtiRules')
20674
- if m.get('EnableAllPatch') is not None:
20675
- self.enable_all_patch = m.get('EnableAllPatch')
20676
- if m.get('EnableDefault') is not None:
20677
- self.enable_default = m.get('EnableDefault')
20678
21109
  if m.get('Lang') is not None:
20679
21110
  self.lang = m.get('Lang')
20680
21111
  if m.get('PatchRules') is not None:
@@ -20683,8 +21114,6 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20683
21114
  self.rule_class = m.get('RuleClass')
20684
21115
  if m.get('RunMode') is not None:
20685
21116
  self.run_mode = m.get('RunMode')
20686
- if m.get('SourceIp') is not None:
20687
- self.source_ip = m.get('SourceIp')
20688
21117
  return self
20689
21118
 
20690
21119
 
@@ -20693,6 +21122,7 @@ class ModifyDefaultIPSConfigResponseBody(TeaModel):
20693
21122
  self,
20694
21123
  request_id: str = None,
20695
21124
  ):
21125
+ # The request ID.
20696
21126
  self.request_id = request_id
20697
21127
 
20698
21128
  def validate(self):
@@ -21137,14 +21567,16 @@ class ModifyNatFirewallControlPolicyRequest(TeaModel):
21137
21567
  #
21138
21568
  # This parameter is required.
21139
21569
  self.nat_gateway_id = nat_gateway_id
21140
- # The protocol type supported by the access control policy. Valid values:
21570
+ # The protocol type in the access control policy. Valid values:
21141
21571
  #
21142
21572
  # * **ANY**\
21143
21573
  # * **TCP**\
21144
21574
  # * **UDP**\
21145
21575
  # * **ICMP**\
21146
21576
  #
21147
- # > 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.
21148
21580
  #
21149
21581
  # This parameter is required.
21150
21582
  self.proto = proto
@@ -21516,6 +21948,141 @@ class ModifyNatFirewallControlPolicyPositionResponse(TeaModel):
21516
21948
  return self
21517
21949
 
21518
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
+
21519
22086
  class ModifyPolicyAdvancedConfigRequest(TeaModel):
21520
22087
  def __init__(
21521
22088
  self,
@@ -21642,8 +22209,14 @@ class ModifyTrFirewallV2ConfigurationRequest(TeaModel):
21642
22209
  firewall_name: str = None,
21643
22210
  lang: str = None,
21644
22211
  ):
22212
+ # The instance ID of the VPC firewall.
21645
22213
  self.firewall_id = firewall_id
22214
+ # The instance name of the VPC firewall.
21646
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
21647
22220
  self.lang = lang
21648
22221
 
21649
22222
  def validate(self):
@@ -21679,6 +22252,7 @@ class ModifyTrFirewallV2ConfigurationResponseBody(TeaModel):
21679
22252
  self,
21680
22253
  request_id: str = None,
21681
22254
  ):
22255
+ # The ID of the request.
21682
22256
  self.request_id = request_id
21683
22257
 
21684
22258
  def validate(self):
@@ -21748,7 +22322,9 @@ class ModifyTrFirewallV2RoutePolicyScopeRequestDestCandidateList(TeaModel):
21748
22322
  candidate_id: str = None,
21749
22323
  candidate_type: str = None,
21750
22324
  ):
22325
+ # The ID of the traffic redirection instance.
21751
22326
  self.candidate_id = candidate_id
22327
+ # The type of the traffic redirection instance.
21752
22328
  self.candidate_type = candidate_type
21753
22329
 
21754
22330
  def validate(self):
@@ -21781,7 +22357,9 @@ class ModifyTrFirewallV2RoutePolicyScopeRequestSrcCandidateList(TeaModel):
21781
22357
  candidate_id: str = None,
21782
22358
  candidate_type: str = None,
21783
22359
  ):
22360
+ # The ID of the traffic redirection instance.
21784
22361
  self.candidate_id = candidate_id
22362
+ # The type of the traffic redirection instance.
21785
22363
  self.candidate_type = candidate_type
21786
22364
 
21787
22365
  def validate(self):
@@ -21818,12 +22396,26 @@ class ModifyTrFirewallV2RoutePolicyScopeRequest(TeaModel):
21818
22396
  src_candidate_list: List[ModifyTrFirewallV2RoutePolicyScopeRequestSrcCandidateList] = None,
21819
22397
  tr_firewall_route_policy_id: str = None,
21820
22398
  ):
22399
+ # The secondary traffic redirection instances.
21821
22400
  self.dest_candidate_list = dest_candidate_list
22401
+ # The instance ID of the virtual private cloud (VPC) firewall.
22402
+ #
21822
22403
  # This parameter is required.
21823
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
21824
22409
  self.lang = lang
22410
+ # Specifies whether to restore the traffic redirection configurations. Valid values:
22411
+ #
22412
+ # * true: roll back
22413
+ # * false: withdraw
21825
22414
  self.should_recover = should_recover
22415
+ # The primary traffic redirection instances.
21826
22416
  self.src_candidate_list = src_candidate_list
22417
+ # The ID of the routing policy.
22418
+ #
21827
22419
  # This parameter is required.
21828
22420
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
21829
22421
 
@@ -21894,12 +22486,26 @@ class ModifyTrFirewallV2RoutePolicyScopeShrinkRequest(TeaModel):
21894
22486
  src_candidate_list_shrink: str = None,
21895
22487
  tr_firewall_route_policy_id: str = None,
21896
22488
  ):
22489
+ # The secondary traffic redirection instances.
21897
22490
  self.dest_candidate_list_shrink = dest_candidate_list_shrink
22491
+ # The instance ID of the virtual private cloud (VPC) firewall.
22492
+ #
21898
22493
  # This parameter is required.
21899
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
21900
22499
  self.lang = lang
22500
+ # Specifies whether to restore the traffic redirection configurations. Valid values:
22501
+ #
22502
+ # * true: roll back
22503
+ # * false: withdraw
21901
22504
  self.should_recover = should_recover
22505
+ # The primary traffic redirection instances.
21902
22506
  self.src_candidate_list_shrink = src_candidate_list_shrink
22507
+ # The ID of the routing policy.
22508
+ #
21903
22509
  # This parameter is required.
21904
22510
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
21905
22511
 
@@ -21949,7 +22555,9 @@ class ModifyTrFirewallV2RoutePolicyScopeResponseBody(TeaModel):
21949
22555
  request_id: str = None,
21950
22556
  tr_firewall_route_policy_id: str = None,
21951
22557
  ):
22558
+ # The ID of the request.
21952
22559
  self.request_id = request_id
22560
+ # The ID of the routing policy.
21953
22561
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
21954
22562
 
21955
22563
  def validate(self):
@@ -22573,6 +23181,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22573
23181
  dest_port_type: str = None,
22574
23182
  destination: str = None,
22575
23183
  destination_type: str = None,
23184
+ domain_resolve_type: str = None,
22576
23185
  end_time: int = None,
22577
23186
  lang: str = None,
22578
23187
  proto: str = None,
@@ -22602,7 +23211,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22602
23211
  #
22603
23212
  # This parameter is required.
22604
23213
  self.acl_uuid = acl_uuid
22605
- # The application type used in the access control policy.
23214
+ # The type of the application that the access control policy supports.
22606
23215
  #
22607
23216
  # Valid values:
22608
23217
  #
@@ -22663,6 +23272,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22663
23272
  #
22664
23273
  # This parameter is required.
22665
23274
  self.destination_type = destination_type
23275
+ self.domain_resolve_type = domain_resolve_type
22666
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.
22667
23277
  #
22668
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.
@@ -22786,6 +23396,8 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22786
23396
  result['Destination'] = self.destination
22787
23397
  if self.destination_type is not None:
22788
23398
  result['DestinationType'] = self.destination_type
23399
+ if self.domain_resolve_type is not None:
23400
+ result['DomainResolveType'] = self.domain_resolve_type
22789
23401
  if self.end_time is not None:
22790
23402
  result['EndTime'] = self.end_time
22791
23403
  if self.lang is not None:
@@ -22834,6 +23446,8 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22834
23446
  self.destination = m.get('Destination')
22835
23447
  if m.get('DestinationType') is not None:
22836
23448
  self.destination_type = m.get('DestinationType')
23449
+ if m.get('DomainResolveType') is not None:
23450
+ self.domain_resolve_type = m.get('DomainResolveType')
22837
23451
  if m.get('EndTime') is not None:
22838
23452
  self.end_time = m.get('EndTime')
22839
23453
  if m.get('Lang') is not None:
@@ -22952,6 +23566,8 @@ class ModifyVpcFirewallControlPolicyPositionRequest(TeaModel):
22952
23566
  self.lang = lang
22953
23567
  # The new priority of the access control policy.
22954
23568
  #
23569
+ # > For more information about the valid values of the new priority, see [DescribeVpcFirewallPolicyPriorUsed](https://help.aliyun.com/document_detail/474145.html).
23570
+ #
22955
23571
  # This parameter is required.
22956
23572
  self.new_order = new_order
22957
23573
  # The original priority of the access control policy.
@@ -23085,6 +23701,7 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23085
23701
  enable_all_patch: str = None,
23086
23702
  lang: str = None,
23087
23703
  member_uid: str = None,
23704
+ rule_class: str = None,
23088
23705
  run_mode: str = None,
23089
23706
  source_ip: str = None,
23090
23707
  vpc_firewall_id: str = None,
@@ -23110,6 +23727,7 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23110
23727
  self.lang = lang
23111
23728
  # The UID of the member that is managed by your Alibaba Cloud account.
23112
23729
  self.member_uid = member_uid
23730
+ self.rule_class = rule_class
23113
23731
  # The mode of the intrusion prevention system (IPS). Valid values:
23114
23732
  #
23115
23733
  # * **1**: block mode
@@ -23144,6 +23762,8 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23144
23762
  result['Lang'] = self.lang
23145
23763
  if self.member_uid is not None:
23146
23764
  result['MemberUid'] = self.member_uid
23765
+ if self.rule_class is not None:
23766
+ result['RuleClass'] = self.rule_class
23147
23767
  if self.run_mode is not None:
23148
23768
  result['RunMode'] = self.run_mode
23149
23769
  if self.source_ip is not None:
@@ -23162,6 +23782,8 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23162
23782
  self.lang = m.get('Lang')
23163
23783
  if m.get('MemberUid') is not None:
23164
23784
  self.member_uid = m.get('MemberUid')
23785
+ if m.get('RuleClass') is not None:
23786
+ self.rule_class = m.get('RuleClass')
23165
23787
  if m.get('RunMode') is not None:
23166
23788
  self.run_mode = m.get('RunMode')
23167
23789
  if m.get('SourceIp') is not None:
@@ -23526,9 +24148,9 @@ class PutDisableAllFwSwitchRequest(TeaModel):
23526
24148
  ):
23527
24149
  # The instance ID of your Cloud Firewall.
23528
24150
  self.instance_id = instance_id
23529
- # The natural language of the request and response. Valid values:
24151
+ # The language of the content within the request and response. Valid values: Valid values:
23530
24152
  #
23531
- # * **zh**: Chinese (default)
24153
+ # * **zh** (default): Chinese
23532
24154
  # * **en**: English
23533
24155
  self.lang = lang
23534
24156
  # The source IP address of the request.
@@ -24093,6 +24715,7 @@ class ReleasePostInstanceRequest(TeaModel):
24093
24715
  self,
24094
24716
  instance_id: str = None,
24095
24717
  ):
24718
+ # The ID of the Cloud Firewall instance.
24096
24719
  self.instance_id = instance_id
24097
24720
 
24098
24721
  def validate(self):
@@ -24123,9 +24746,16 @@ class ReleasePostInstanceResponseBody(TeaModel):
24123
24746
  request_id: str = None,
24124
24747
  success: bool = None,
24125
24748
  ):
24749
+ # The HTTP status code.
24126
24750
  self.http_status_code = http_status_code
24751
+ # Indicates whether the release was successful. Valid values:
24752
+ #
24753
+ # * **true**\
24754
+ # * **false**\
24127
24755
  self.release_status = release_status
24756
+ # The request ID, which is used to locate and troubleshoot issues.
24128
24757
  self.request_id = request_id
24758
+ # Indicates whether the request was successful.
24129
24759
  self.success = success
24130
24760
 
24131
24761
  def validate(self):
@@ -24435,9 +25065,20 @@ class SwitchSecurityProxyRequest(TeaModel):
24435
25065
  proxy_id: str = None,
24436
25066
  switch: str = None,
24437
25067
  ):
25068
+ # The language of the content within the request and the response. Valid values:
25069
+ #
25070
+ # * **zh** (default)
25071
+ # * **en**\
24438
25072
  self.lang = lang
25073
+ # The ID of the NAT firewall.
25074
+ #
24439
25075
  # This parameter is required.
24440
25076
  self.proxy_id = proxy_id
25077
+ # Specifies whether to enable the NAT firewall. Valid values:
25078
+ #
25079
+ # * open: yes
25080
+ # * close: no
25081
+ #
24441
25082
  # This parameter is required.
24442
25083
  self.switch = switch
24443
25084
 
@@ -24474,6 +25115,7 @@ class SwitchSecurityProxyResponseBody(TeaModel):
24474
25115
  self,
24475
25116
  request_id: str = None,
24476
25117
  ):
25118
+ # The request ID.
24477
25119
  self.request_id = request_id
24478
25120
 
24479
25121
  def validate(self):