alibabacloud-cloudfw20171207 3.6.2__py3-none-any.whl → 4.1.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.

@@ -54,11 +54,11 @@ class AddAddressBookRequest(TeaModel):
54
54
  ):
55
55
  # The addresses that you want to add to the address book. Separate multiple addresses with commas (,).
56
56
  #
57
- # > If you set GroupType to `ip`, `port`, or `domain`, you must specify the AddressList parameter.
57
+ # > If you set GroupType to `ip`, `port` or `domain`, you must specify AddressList.
58
58
  #
59
- # * If you set GroupType to `ip`, you must add IP addresses to the address book. Example: 192.0.XX.XX/32, 192.0.XX.XX/24.
60
- # * If you set GroupType to `port`, you must add port numbers or port ranges to the address book. Example: 80, 100/200.
61
- # * If you set GroupType to `domain`, you must add domain names to the address book. Example: example.com, aliyundoc.com.
59
+ # * If you set GroupType to `ip`, you must add IP addresses to the address book. Example: 192.0.XX.XX/32,192.0.XX.XX/24.
60
+ # * If you set GroupType to `port`, you must add port numbers or port ranges to the address book. Example: 80,100/200.
61
+ # * If you set GroupType to `domain`, you must add domain names to the address book. Example: example.com,aliyundoc.com.
62
62
  self.address_list = address_list
63
63
  # Specifies whether to automatically add public IP addresses of ECS instances to the address book if the instances match the specified tags. Valid values:
64
64
  #
@@ -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:
@@ -643,9 +654,9 @@ class AddInstanceMembersRequestMembers(TeaModel):
643
654
  member_desc: str = None,
644
655
  member_uid: int = None,
645
656
  ):
646
- # The remarks of member that you want to add to Cloud Firewall. The remarks must be 1 to 256 characters in length.
657
+ # The remarks of the member. The value must be 1 to 256 characters in length.
647
658
  self.member_desc = member_desc
648
- # The UID of member that you want to add to Cloud Firewall.
659
+ # The UID of the member. You can add up to 20 members to Cloud Firewall at a time.
649
660
  #
650
661
  # This parameter is required.
651
662
  self.member_uid = member_uid
@@ -679,7 +690,7 @@ class AddInstanceMembersRequest(TeaModel):
679
690
  self,
680
691
  members: List[AddInstanceMembersRequestMembers] = None,
681
692
  ):
682
- # The members that you want to add to Cloud Firewall.
693
+ # The members.
683
694
  #
684
695
  # This parameter is required.
685
696
  self.members = members
@@ -717,7 +728,7 @@ class AddInstanceMembersResponseBody(TeaModel):
717
728
  self,
718
729
  request_id: str = None,
719
730
  ):
720
- # The ID of the request.
731
+ # The request ID.
721
732
  self.request_id = request_id
722
733
 
723
734
  def validate(self):
@@ -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
 
@@ -1261,9 +1279,9 @@ class CreateNatFirewallControlPolicyRequest(TeaModel):
1261
1279
  #
1262
1280
  # This parameter is required.
1263
1281
  self.destination_type = destination_type
1264
- # The direction of the traffic to which the access control policy applies. Valid values:
1282
+ # The direction of the traffic to which the access control policy applies. Valid value:
1265
1283
  #
1266
- # * **out**: outbound traffic
1284
+ # * **out**: outbound.
1267
1285
  #
1268
1286
  # This parameter is required.
1269
1287
  self.direction = direction
@@ -1300,11 +1318,13 @@ class CreateNatFirewallControlPolicyRequest(TeaModel):
1300
1318
  #
1301
1319
  # Valid values:
1302
1320
  #
1303
- # * ANY: all types of protocols
1321
+ # * ANY: all types of protocols.
1304
1322
  # * TCP
1305
1323
  # * UDP
1306
1324
  # * ICMP
1307
1325
  #
1326
+ # > If the destination address is a threat intelligence address book of the domain name type or a cloud service address book, you can set Proto only to TCP and set ApplicationNameList to HTTP, HTTPS, SMTP, SMTPS, or SSL.
1327
+ #
1308
1328
  # This parameter is required.
1309
1329
  self.proto = proto
1310
1330
  # Specifies whether to enable the access control policy. By default, an access control policy is enabled after it is created. Valid values:
@@ -1565,12 +1585,20 @@ class CreateSecurityProxyRequestNatRouteEntryList(TeaModel):
1565
1585
  next_hop_type: str = None,
1566
1586
  route_table_id: str = None,
1567
1587
  ):
1588
+ # The destination CIDR block of the default route.
1589
+ #
1568
1590
  # This parameter is required.
1569
1591
  self.destination_cidr = destination_cidr
1592
+ # The next hop of the original NAT gateway.
1593
+ #
1570
1594
  # This parameter is required.
1571
1595
  self.next_hop_id = next_hop_id
1596
+ # The network type of the next hop. Set the value to NatGateway.
1597
+ #
1572
1598
  # This parameter is required.
1573
1599
  self.next_hop_type = next_hop_type
1600
+ # The route table to which the default route of the NAT gateway belongs.
1601
+ #
1574
1602
  # This parameter is required.
1575
1603
  self.route_table_id = route_table_id
1576
1604
 
@@ -1621,21 +1649,51 @@ class CreateSecurityProxyRequest(TeaModel):
1621
1649
  vswitch_cidr: str = None,
1622
1650
  vswitch_id: str = None,
1623
1651
  ):
1652
+ # The status of the NAT firewall. Valid values:
1653
+ #
1654
+ # * **open**: enabled
1655
+ # * **close**: disabled
1624
1656
  self.firewall_switch = firewall_switch
1657
+ # The language of the content within the response. Valid values:
1658
+ #
1659
+ # * **zh** (default): Chinese
1660
+ # * **en**: English
1625
1661
  self.lang = lang
1662
+ # The ID of the NAT gateway.
1663
+ #
1626
1664
  # This parameter is required.
1627
1665
  self.nat_gateway_id = nat_gateway_id
1666
+ # The routes to be switched to the NAT gateway.
1667
+ #
1628
1668
  # This parameter is required.
1629
1669
  self.nat_route_entry_list = nat_route_entry_list
1670
+ # The name of the NAT firewall. The name must be 4 to 50 characters in length, and can contain letters, digits, and underscores (_). However, it cannot start with an underscore.
1671
+ #
1630
1672
  # This parameter is required.
1631
1673
  self.proxy_name = proxy_name
1674
+ # The region ID of the virtual private cloud (VPC).
1675
+ #
1676
+ # > For more information about Cloud Firewall supported regions, see [Supported regions](https://help.aliyun.com/document_detail/195657.html).
1677
+ #
1632
1678
  # This parameter is required.
1633
1679
  self.region_no = region_no
1680
+ # Specifies whether to enable the strict mode. Valid values:
1681
+ #
1682
+ # * 1: yes
1683
+ # * 0: no
1634
1684
  self.strict_mode = strict_mode
1685
+ # The ID of the VPC.
1686
+ #
1635
1687
  # This parameter is required.
1636
1688
  self.vpc_id = vpc_id
1689
+ # The mode of the vSwitch that you want to use. Valid values:
1690
+ #
1691
+ # * **true**: automatic
1692
+ # * **false**: manual
1637
1693
  self.vswitch_auto = vswitch_auto
1694
+ # The CIDR block of the vSwitch.
1638
1695
  self.vswitch_cidr = vswitch_cidr
1696
+ # The ID of the vSwitch. This parameter is required if you set the VswitchAuto parameter to true.
1639
1697
  self.vswitch_id = vswitch_id
1640
1698
 
1641
1699
  def validate(self):
@@ -1712,7 +1770,9 @@ class CreateSecurityProxyResponseBody(TeaModel):
1712
1770
  proxy_id: str = None,
1713
1771
  request_id: str = None,
1714
1772
  ):
1773
+ # The ID of the NAT firewall.
1715
1774
  self.proxy_id = proxy_id
1775
+ # The request ID.
1716
1776
  self.request_id = request_id
1717
1777
 
1718
1778
  def validate(self):
@@ -1780,6 +1840,110 @@ class CreateSecurityProxyResponse(TeaModel):
1780
1840
  return self
1781
1841
 
1782
1842
 
1843
+ class CreateSlsLogDispatchRequest(TeaModel):
1844
+ def __init__(
1845
+ self,
1846
+ sls_region_id: str = None,
1847
+ ttl: int = None,
1848
+ ):
1849
+ # The region ID of the Simple Log Service project.
1850
+ self.sls_region_id = sls_region_id
1851
+ # The log retention period. Unit: days.
1852
+ self.ttl = ttl
1853
+
1854
+ def validate(self):
1855
+ pass
1856
+
1857
+ def to_map(self):
1858
+ _map = super().to_map()
1859
+ if _map is not None:
1860
+ return _map
1861
+
1862
+ result = dict()
1863
+ if self.sls_region_id is not None:
1864
+ result['SlsRegionId'] = self.sls_region_id
1865
+ if self.ttl is not None:
1866
+ result['Ttl'] = self.ttl
1867
+ return result
1868
+
1869
+ def from_map(self, m: dict = None):
1870
+ m = m or dict()
1871
+ if m.get('SlsRegionId') is not None:
1872
+ self.sls_region_id = m.get('SlsRegionId')
1873
+ if m.get('Ttl') is not None:
1874
+ self.ttl = m.get('Ttl')
1875
+ return self
1876
+
1877
+
1878
+ class CreateSlsLogDispatchResponseBody(TeaModel):
1879
+ def __init__(
1880
+ self,
1881
+ request_id: str = None,
1882
+ ):
1883
+ # The request ID.
1884
+ self.request_id = request_id
1885
+
1886
+ def validate(self):
1887
+ pass
1888
+
1889
+ def to_map(self):
1890
+ _map = super().to_map()
1891
+ if _map is not None:
1892
+ return _map
1893
+
1894
+ result = dict()
1895
+ if self.request_id is not None:
1896
+ result['RequestId'] = self.request_id
1897
+ return result
1898
+
1899
+ def from_map(self, m: dict = None):
1900
+ m = m or dict()
1901
+ if m.get('RequestId') is not None:
1902
+ self.request_id = m.get('RequestId')
1903
+ return self
1904
+
1905
+
1906
+ class CreateSlsLogDispatchResponse(TeaModel):
1907
+ def __init__(
1908
+ self,
1909
+ headers: Dict[str, str] = None,
1910
+ status_code: int = None,
1911
+ body: CreateSlsLogDispatchResponseBody = None,
1912
+ ):
1913
+ self.headers = headers
1914
+ self.status_code = status_code
1915
+ self.body = body
1916
+
1917
+ def validate(self):
1918
+ if self.body:
1919
+ self.body.validate()
1920
+
1921
+ def to_map(self):
1922
+ _map = super().to_map()
1923
+ if _map is not None:
1924
+ return _map
1925
+
1926
+ result = dict()
1927
+ if self.headers is not None:
1928
+ result['headers'] = self.headers
1929
+ if self.status_code is not None:
1930
+ result['statusCode'] = self.status_code
1931
+ if self.body is not None:
1932
+ result['body'] = self.body.to_map()
1933
+ return result
1934
+
1935
+ def from_map(self, m: dict = None):
1936
+ m = m or dict()
1937
+ if m.get('headers') is not None:
1938
+ self.headers = m.get('headers')
1939
+ if m.get('statusCode') is not None:
1940
+ self.status_code = m.get('statusCode')
1941
+ if m.get('body') is not None:
1942
+ temp_model = CreateSlsLogDispatchResponseBody()
1943
+ self.body = temp_model.from_map(m['body'])
1944
+ return self
1945
+
1946
+
1783
1947
  class CreateTrFirewallV2Request(TeaModel):
1784
1948
  def __init__(
1785
1949
  self,
@@ -1994,7 +2158,9 @@ class CreateTrFirewallV2RoutePolicyRequestDestCandidateList(TeaModel):
1994
2158
  candidate_id: str = None,
1995
2159
  candidate_type: str = None,
1996
2160
  ):
2161
+ # The ID of the traffic redirection instance.
1997
2162
  self.candidate_id = candidate_id
2163
+ # The type of the traffic redirection instance.
1998
2164
  self.candidate_type = candidate_type
1999
2165
 
2000
2166
  def validate(self):
@@ -2027,7 +2193,9 @@ class CreateTrFirewallV2RoutePolicyRequestSrcCandidateList(TeaModel):
2027
2193
  candidate_id: str = None,
2028
2194
  candidate_type: str = None,
2029
2195
  ):
2196
+ # The ID of the traffic redirection instance.
2030
2197
  self.candidate_id = candidate_id
2198
+ # The type of the traffic redirection instance.
2031
2199
  self.candidate_type = candidate_type
2032
2200
 
2033
2201
  def validate(self):
@@ -2065,12 +2233,26 @@ class CreateTrFirewallV2RoutePolicyRequest(TeaModel):
2065
2233
  policy_type: str = None,
2066
2234
  src_candidate_list: List[CreateTrFirewallV2RoutePolicyRequestSrcCandidateList] = None,
2067
2235
  ):
2236
+ # The secondary traffic redirection instances.
2068
2237
  self.dest_candidate_list = dest_candidate_list
2238
+ # The instance ID of the VPC firewall.
2069
2239
  self.firewall_id = firewall_id
2240
+ # The language of the content within the response. Valid values:
2241
+ #
2242
+ # * **zh** (default): Chinese
2243
+ # * **en**: English
2070
2244
  self.lang = lang
2245
+ # The description of the traffic redirection instance.
2071
2246
  self.policy_description = policy_description
2247
+ # The name of the traffic redirection instance.
2072
2248
  self.policy_name = policy_name
2249
+ # The type of the traffic redirection scenario of the VPC firewall. Valid values:
2250
+ #
2251
+ # * **fullmesh**: interconnected instances
2252
+ # * **one_to_one**: instance to instance
2253
+ # * **end_to_end**: instance to instances
2073
2254
  self.policy_type = policy_type
2255
+ # The primary traffic redirection instances.
2074
2256
  self.src_candidate_list = src_candidate_list
2075
2257
 
2076
2258
  def validate(self):
@@ -2145,12 +2327,26 @@ class CreateTrFirewallV2RoutePolicyShrinkRequest(TeaModel):
2145
2327
  policy_type: str = None,
2146
2328
  src_candidate_list_shrink: str = None,
2147
2329
  ):
2330
+ # The secondary traffic redirection instances.
2148
2331
  self.dest_candidate_list_shrink = dest_candidate_list_shrink
2332
+ # The instance ID of the VPC firewall.
2149
2333
  self.firewall_id = firewall_id
2334
+ # The language of the content within the response. Valid values:
2335
+ #
2336
+ # * **zh** (default): Chinese
2337
+ # * **en**: English
2150
2338
  self.lang = lang
2339
+ # The description of the traffic redirection instance.
2151
2340
  self.policy_description = policy_description
2341
+ # The name of the traffic redirection instance.
2152
2342
  self.policy_name = policy_name
2343
+ # The type of the traffic redirection scenario of the VPC firewall. Valid values:
2344
+ #
2345
+ # * **fullmesh**: interconnected instances
2346
+ # * **one_to_one**: instance to instance
2347
+ # * **end_to_end**: instance to instances
2153
2348
  self.policy_type = policy_type
2349
+ # The primary traffic redirection instances.
2154
2350
  self.src_candidate_list_shrink = src_candidate_list_shrink
2155
2351
 
2156
2352
  def validate(self):
@@ -2203,7 +2399,9 @@ class CreateTrFirewallV2RoutePolicyResponseBody(TeaModel):
2203
2399
  request_id: str = None,
2204
2400
  tr_firewall_route_policy_id: str = None,
2205
2401
  ):
2402
+ # The ID of the request.
2206
2403
  self.request_id = request_id
2404
+ # The ID of the routing policy.
2207
2405
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
2208
2406
 
2209
2407
  def validate(self):
@@ -2686,6 +2884,7 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2686
2884
  dest_port_type: str = None,
2687
2885
  destination: str = None,
2688
2886
  destination_type: str = None,
2887
+ domain_resolve_type: str = None,
2689
2888
  end_time: int = None,
2690
2889
  lang: str = None,
2691
2890
  member_uid: str = None,
@@ -2762,6 +2961,12 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2762
2961
  #
2763
2962
  # This parameter is required.
2764
2963
  self.destination_type = destination_type
2964
+ # The domain name resolution method of the access control policy. Valid values:
2965
+ #
2966
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
2967
+ # * **DNS**: DNS-based dynamic resolution
2968
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
2969
+ self.domain_resolve_type = domain_resolve_type
2765
2970
  # 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
2971
  #
2767
2972
  # > 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 +3080,8 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2875
3080
  result['Destination'] = self.destination
2876
3081
  if self.destination_type is not None:
2877
3082
  result['DestinationType'] = self.destination_type
3083
+ if self.domain_resolve_type is not None:
3084
+ result['DomainResolveType'] = self.domain_resolve_type
2878
3085
  if self.end_time is not None:
2879
3086
  result['EndTime'] = self.end_time
2880
3087
  if self.lang is not None:
@@ -2925,6 +3132,8 @@ class CreateVpcFirewallControlPolicyRequest(TeaModel):
2925
3132
  self.destination = m.get('Destination')
2926
3133
  if m.get('DestinationType') is not None:
2927
3134
  self.destination_type = m.get('DestinationType')
3135
+ if m.get('DomainResolveType') is not None:
3136
+ self.domain_resolve_type = m.get('DomainResolveType')
2928
3137
  if m.get('EndTime') is not None:
2929
3138
  self.end_time = m.get('EndTime')
2930
3139
  if m.get('Lang') is not None:
@@ -3158,9 +3367,9 @@ class DeleteControlPolicyRequest(TeaModel):
3158
3367
  lang: str = None,
3159
3368
  source_ip: str = None,
3160
3369
  ):
3161
- # The ID of the access control policy.
3370
+ # The UUID of the access control policy.
3162
3371
  #
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.
3372
+ # 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
3373
  #
3165
3374
  # This parameter is required.
3166
3375
  self.acl_uuid = acl_uuid
@@ -3168,17 +3377,15 @@ class DeleteControlPolicyRequest(TeaModel):
3168
3377
  #
3169
3378
  # Valid values:
3170
3379
  #
3171
- # * **in**: inbound traffic
3172
- # * **out**: outbound traffic
3173
- #
3174
- # This parameter is required.
3380
+ # * **in**: inbound.
3381
+ # * **out**: outbound.
3175
3382
  self.direction = direction
3176
- # The natural language of the request and response.
3383
+ # The language of the content within the request and response.
3177
3384
  #
3178
3385
  # Valid values:
3179
3386
  #
3180
- # * **zh**: Chinese (default)
3181
- # * **en**: English
3387
+ # * **zh** (default)
3388
+ # * **en**\
3182
3389
  self.lang = lang
3183
3390
  # The source IP address of the traffic.
3184
3391
  self.source_ip = source_ip
@@ -3220,7 +3427,7 @@ class DeleteControlPolicyResponseBody(TeaModel):
3220
3427
  self,
3221
3428
  request_id: str = None,
3222
3429
  ):
3223
- # The ID of the request.
3430
+ # The request ID.
3224
3431
  self.request_id = request_id
3225
3432
 
3226
3433
  def validate(self):
@@ -3514,8 +3721,14 @@ class DeleteFirewallV2RoutePoliciesRequest(TeaModel):
3514
3721
  lang: str = None,
3515
3722
  tr_firewall_route_policy_id: str = None,
3516
3723
  ):
3724
+ # The instance ID of the VPC firewall.
3517
3725
  self.firewall_id = firewall_id
3726
+ # The language of the content within the response. Valid values:
3727
+ #
3728
+ # * **zh** (default): Chinese
3729
+ # * **en**: English
3518
3730
  self.lang = lang
3731
+ # The ID of the routing policy.
3519
3732
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
3520
3733
 
3521
3734
  def validate(self):
@@ -3551,6 +3764,7 @@ class DeleteFirewallV2RoutePoliciesResponseBody(TeaModel):
3551
3764
  self,
3552
3765
  request_id: str = None,
3553
3766
  ):
3767
+ # The ID of the request.
3554
3768
  self.request_id = request_id
3555
3769
 
3556
3770
  def validate(self):
@@ -3619,7 +3833,7 @@ class DeleteInstanceMembersRequest(TeaModel):
3619
3833
  self,
3620
3834
  member_uids: List[int] = None,
3621
3835
  ):
3622
- # The unique identifiers (UID) of members that you want to remove from Cloud Firewall.
3836
+ # The UIDs of the members.
3623
3837
  #
3624
3838
  # This parameter is required.
3625
3839
  self.member_uids = member_uids
@@ -3649,7 +3863,7 @@ class DeleteInstanceMembersResponseBody(TeaModel):
3649
3863
  self,
3650
3864
  request_id: str = None,
3651
3865
  ):
3652
- # The ID of the request.
3866
+ # The request ID.
3653
3867
  self.request_id = request_id
3654
3868
 
3655
3869
  def validate(self):
@@ -3977,7 +4191,13 @@ class DeleteSecurityProxyRequest(TeaModel):
3977
4191
  lang: str = None,
3978
4192
  proxy_id: str = None,
3979
4193
  ):
4194
+ # The language of the content within the response. Valid values:
4195
+ #
4196
+ # * **zh** (default): Chinese
4197
+ # * **en**: English
3980
4198
  self.lang = lang
4199
+ # The ID of the NAT firewall.
4200
+ #
3981
4201
  # This parameter is required.
3982
4202
  self.proxy_id = proxy_id
3983
4203
 
@@ -4010,6 +4230,7 @@ class DeleteSecurityProxyResponseBody(TeaModel):
4010
4230
  self,
4011
4231
  request_id: str = None,
4012
4232
  ):
4233
+ # The request ID.
4013
4234
  self.request_id = request_id
4014
4235
 
4015
4236
  def validate(self):
@@ -4771,7 +4992,7 @@ class DescribeAddressBookRequest(TeaModel):
4771
4992
  # * **tag**: Elastic Compute Service (ECS) tag-based address book
4772
4993
  # * **allCloud**: cloud service address book
4773
4994
  # * **threat**: threat intelligence address book
4774
- #
4995
+ # * **ipv6**: IPv6 address book
4775
4996
  # > If you do not specify a type, the domain address books and ECS tag-based address books are queried.
4776
4997
  self.group_type = group_type
4777
4998
  # The language of the content within the request. Valid values:
@@ -5552,9 +5773,9 @@ class DescribeAssetRiskListRequest(TeaModel):
5552
5773
  #
5553
5774
  # >
5554
5775
  #
5555
- # * Example of an IPv4 address: 47.97.221.164
5776
+ # * Example IPv4 address: 47.97.XX.XX.
5556
5777
  #
5557
- # * Example of an IPv6 address: 2001:db8:ffff:ffff:ffff:\\*\\*\\*\\*:ffff
5778
+ # * Example IPv6 address: 2001:db8:ffff:ffff:ffff:XXXX:ffff.
5558
5779
  self.ip_addr_list = ip_addr_list
5559
5780
  # The IP version of the asset that is protected by Cloud Firewall.
5560
5781
  #
@@ -5670,7 +5891,7 @@ class DescribeAssetRiskListResponseBody(TeaModel):
5670
5891
  request_id: str = None,
5671
5892
  total_count: int = None,
5672
5893
  ):
5673
- # The details of the asset.
5894
+ # The details of the assets.
5674
5895
  self.asset_list = asset_list
5675
5896
  # The ID of the request.
5676
5897
  self.request_id = request_id
@@ -5968,21 +6189,19 @@ class DescribeControlPolicyRequest(TeaModel):
5968
6189
  #
5969
6190
  # > If you do not specify this parameter, access control policies that have descriptions are queried.
5970
6191
  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.
6192
+ # 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
6193
  #
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.
6194
+ # * If you set DestinationType to `net`, the value of Destination is a CIDR block. Example: 10.0.3.0/24.
6195
+ # * If you set DestinationType to `domain`, the value of Destination is a domain name. Example: aliyun.
6196
+ # * If you set DestinationType to `group`, the value of Destination is the name of an address book. Example: db_group.
6197
+ # * 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
6198
  #
5978
6199
  # > If you do not specify this parameter, access control policies of all destination address types are queried.
5979
6200
  self.destination = destination
5980
- # The direction of the traffic to which the access control policy applies. Valid values:
6201
+ # The direction of the traffic to which the access control policies apply. Valid values:
5981
6202
  #
5982
- # * **in**: inbound traffic
5983
- # * **out**: outbound traffic
5984
- #
5985
- # This parameter is required.
6203
+ # * **in**: inbound.
6204
+ # * **out**: outbound.
5986
6205
  self.direction = direction
5987
6206
  # The IP version of the address in the access control policy. Valid values:
5988
6207
  #
@@ -6118,6 +6337,7 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6118
6337
  direction: str = None,
6119
6338
  dns_result: str = None,
6120
6339
  dns_result_time: int = None,
6340
+ domain_resolve_type: str = None,
6121
6341
  end_time: int = None,
6122
6342
  hit_last_time: int = None,
6123
6343
  hit_times: int = None,
@@ -6182,12 +6402,12 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6182
6402
  # * **port**: port
6183
6403
  # * **group**: port address book
6184
6404
  self.dest_port_type = dest_port_type
6185
- # The destination address in the access control policy. The value of this parameter varies based on the value of DestinationType. Valid values:
6405
+ # The destination address in the access control policy. The value of this parameter varies based on the value of DestinationType.
6186
6406
  #
6187
- # * If **DestinationType** is set to **net**, the value of Destination is a CIDR block. Example: 192.0.XX.XX/24.
6188
- # * If **DestinationType** is set to **domain**, the value of Destination is a domain name. Example: aliyuncs.com.
6189
- # * If **DestinationType** is set to **group**, the value of Destination is the name of an address book. Example: db_group.
6190
- # * If **DestinationType** is set to **location**, the value of Destination is a location. For more information about location codes, see [AddControlPolicy](https://help.aliyun.com/document_detail/138867.html). Example: ["BJ11", "ZB"].
6407
+ # * If the value of **DestinationType** is **net**, the value of Destination is a CIDR block. Example: 192.0.XX.XX/24.
6408
+ # * If the value of **DestinationType** is **domain**, the value of Destination is a domain name. Example: aliyuncs.com.
6409
+ # * If the value of **DestinationType** is **group**, the value of Destination is the name of an address book. Example: db_group.
6410
+ # * If the value of **DestinationType** is **location**, the value of Destination is the name of a location. For more information about location codes, see AddControlPolicy. Example: ["BJ11", "ZB"].
6191
6411
  self.destination = destination
6192
6412
  # The CIDR blocks in the destination address book.
6193
6413
  self.destination_group_cidrs = destination_group_cidrs
@@ -6211,10 +6431,16 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6211
6431
  # * **in**: inbound traffic
6212
6432
  # * **out**: outbound traffic
6213
6433
  self.direction = direction
6214
- # The DNS resolution result.
6434
+ # The DNS resolution results.
6215
6435
  self.dns_result = dns_result
6216
6436
  # The time when the Domain Name System (DNS) resolution was performed. The value is a timestamp. Unit: seconds.
6217
6437
  self.dns_result_time = dns_result_time
6438
+ # 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:
6439
+ #
6440
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
6441
+ # * **DNS**: DNS-based dynamic resolution
6442
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
6443
+ self.domain_resolve_type = domain_resolve_type
6218
6444
  # 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
6445
  #
6220
6446
  # > 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 +6573,8 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6347
6573
  result['DnsResult'] = self.dns_result
6348
6574
  if self.dns_result_time is not None:
6349
6575
  result['DnsResultTime'] = self.dns_result_time
6576
+ if self.domain_resolve_type is not None:
6577
+ result['DomainResolveType'] = self.domain_resolve_type
6350
6578
  if self.end_time is not None:
6351
6579
  result['EndTime'] = self.end_time
6352
6580
  if self.hit_last_time is not None:
@@ -6423,6 +6651,8 @@ class DescribeControlPolicyResponseBodyPolicys(TeaModel):
6423
6651
  self.dns_result = m.get('DnsResult')
6424
6652
  if m.get('DnsResultTime') is not None:
6425
6653
  self.dns_result_time = m.get('DnsResultTime')
6654
+ if m.get('DomainResolveType') is not None:
6655
+ self.domain_resolve_type = m.get('DomainResolveType')
6426
6656
  if m.get('EndTime') is not None:
6427
6657
  self.end_time = m.get('EndTime')
6428
6658
  if m.get('HitLastTime') is not None:
@@ -6571,10 +6801,12 @@ class DescribeDefaultIPSConfigRequest(TeaModel):
6571
6801
  def __init__(
6572
6802
  self,
6573
6803
  lang: str = None,
6574
- source_ip: str = None,
6575
6804
  ):
6805
+ # The language of the content within the response. Valid values:
6806
+ #
6807
+ # * **zh** (default)
6808
+ # * **en**\
6576
6809
  self.lang = lang
6577
- self.source_ip = source_ip
6578
6810
 
6579
6811
  def validate(self):
6580
6812
  pass
@@ -6587,40 +6819,52 @@ class DescribeDefaultIPSConfigRequest(TeaModel):
6587
6819
  result = dict()
6588
6820
  if self.lang is not None:
6589
6821
  result['Lang'] = self.lang
6590
- if self.source_ip is not None:
6591
- result['SourceIp'] = self.source_ip
6592
6822
  return result
6593
6823
 
6594
6824
  def from_map(self, m: dict = None):
6595
6825
  m = m or dict()
6596
6826
  if m.get('Lang') is not None:
6597
6827
  self.lang = m.get('Lang')
6598
- if m.get('SourceIp') is not None:
6599
- self.source_ip = m.get('SourceIp')
6600
6828
  return self
6601
6829
 
6602
6830
 
6603
6831
  class DescribeDefaultIPSConfigResponseBody(TeaModel):
6604
6832
  def __init__(
6605
6833
  self,
6606
- ai_rules: int = None,
6607
6834
  basic_rules: int = None,
6608
6835
  cti_rules: int = None,
6609
- enable_all_patch: int = None,
6610
- enable_default: int = None,
6611
6836
  patch_rules: int = None,
6612
6837
  request_id: str = None,
6613
6838
  rule_class: int = None,
6614
6839
  run_mode: int = None,
6615
6840
  ):
6616
- self.ai_rules = ai_rules
6841
+ # Indicates whether basic protection is enabled. Valid values:
6842
+ #
6843
+ # * **1**: yes
6844
+ # * **0**: no
6617
6845
  self.basic_rules = basic_rules
6846
+ # Indicates whether threat intelligence is enabled. Valid values:
6847
+ #
6848
+ # * **1**: yes
6849
+ # * **0**: no
6618
6850
  self.cti_rules = cti_rules
6619
- self.enable_all_patch = enable_all_patch
6620
- self.enable_default = enable_default
6851
+ # Indicates whether virtual patching is enabled. Valid values:
6852
+ #
6853
+ # * **1**: yes
6854
+ # * **0**: no
6621
6855
  self.patch_rules = patch_rules
6856
+ # The request ID.
6622
6857
  self.request_id = request_id
6858
+ # The level of the rule group for the IPS. Valid values:
6859
+ #
6860
+ # * **1**: loose
6861
+ # * **2**: medium
6862
+ # * **3**: strict
6623
6863
  self.rule_class = rule_class
6864
+ # The mode of the IPS. Valid values:
6865
+ #
6866
+ # * **1**: block mode
6867
+ # * **0**: monitor mode
6624
6868
  self.run_mode = run_mode
6625
6869
 
6626
6870
  def validate(self):
@@ -6632,16 +6876,10 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
6632
6876
  return _map
6633
6877
 
6634
6878
  result = dict()
6635
- if self.ai_rules is not None:
6636
- result['AiRules'] = self.ai_rules
6637
6879
  if self.basic_rules is not None:
6638
6880
  result['BasicRules'] = self.basic_rules
6639
6881
  if self.cti_rules is not None:
6640
6882
  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
6883
  if self.patch_rules is not None:
6646
6884
  result['PatchRules'] = self.patch_rules
6647
6885
  if self.request_id is not None:
@@ -6654,16 +6892,10 @@ class DescribeDefaultIPSConfigResponseBody(TeaModel):
6654
6892
 
6655
6893
  def from_map(self, m: dict = None):
6656
6894
  m = m or dict()
6657
- if m.get('AiRules') is not None:
6658
- self.ai_rules = m.get('AiRules')
6659
6895
  if m.get('BasicRules') is not None:
6660
6896
  self.basic_rules = m.get('BasicRules')
6661
6897
  if m.get('CtiRules') is not None:
6662
6898
  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
6899
  if m.get('PatchRules') is not None:
6668
6900
  self.patch_rules = m.get('PatchRules')
6669
6901
  if m.get('RequestId') is not None:
@@ -7965,6 +8197,8 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
7965
8197
  risk_level: int = None,
7966
8198
  risk_reason: str = None,
7967
8199
  service_name_list: List[str] = None,
8200
+ src_ip_cnt: int = None,
8201
+ total_reply_bytes: int = None,
7968
8202
  traffic_percent_1day: str = None,
7969
8203
  traffic_percent_30day: str = None,
7970
8204
  traffic_percent_7day: str = None,
@@ -8006,6 +8240,8 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8006
8240
  self.risk_reason = risk_reason
8007
8241
  # The list of applications.
8008
8242
  self.service_name_list = service_name_list
8243
+ self.src_ip_cnt = src_ip_cnt
8244
+ self.total_reply_bytes = total_reply_bytes
8009
8245
  # The percentage of traffic of a day. Unit: percent (%).
8010
8246
  self.traffic_percent_1day = traffic_percent_1day
8011
8247
  # The percentage of traffic of 30 days. Unit: percent (%).
@@ -8046,6 +8282,10 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8046
8282
  result['RiskReason'] = self.risk_reason
8047
8283
  if self.service_name_list is not None:
8048
8284
  result['ServiceNameList'] = self.service_name_list
8285
+ if self.src_ip_cnt is not None:
8286
+ result['SrcIpCnt'] = self.src_ip_cnt
8287
+ if self.total_reply_bytes is not None:
8288
+ result['TotalReplyBytes'] = self.total_reply_bytes
8049
8289
  if self.traffic_percent_1day is not None:
8050
8290
  result['TrafficPercent1Day'] = self.traffic_percent_1day
8051
8291
  if self.traffic_percent_30day is not None:
@@ -8080,6 +8320,10 @@ class DescribeInternetOpenIpResponseBodyDataList(TeaModel):
8080
8320
  self.risk_reason = m.get('RiskReason')
8081
8321
  if m.get('ServiceNameList') is not None:
8082
8322
  self.service_name_list = m.get('ServiceNameList')
8323
+ if m.get('SrcIpCnt') is not None:
8324
+ self.src_ip_cnt = m.get('SrcIpCnt')
8325
+ if m.get('TotalReplyBytes') is not None:
8326
+ self.total_reply_bytes = m.get('TotalReplyBytes')
8083
8327
  if m.get('TrafficPercent1Day') is not None:
8084
8328
  self.traffic_percent_1day = m.get('TrafficPercent1Day')
8085
8329
  if m.get('TrafficPercent30Day') is not None:
@@ -8348,7 +8592,7 @@ class DescribeInternetTrafficTrendResponseBodyDataList(TeaModel):
8348
8592
  self.in_pps = in_pps
8349
8593
  # The number of new connections.
8350
8594
  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.
8595
+ # The outbound network throughput, which indicates the number of bits that are sent outbound per second. Unit: bit/s.
8352
8596
  self.out_bps = out_bps
8353
8597
  # The outbound network throughput, which indicates the total number of bytes that are sent outbound. Unit: bytes.
8354
8598
  self.out_bytes = out_bytes
@@ -8357,6 +8601,8 @@ class DescribeInternetTrafficTrendResponseBodyDataList(TeaModel):
8357
8601
  # The number of requests.
8358
8602
  self.session_count = session_count
8359
8603
  # The time when traffic is generated. The value is a UNIX timestamp. Unit: seconds.
8604
+ #
8605
+ # If processing is not complete at this point in time, -1 is returned for all other fields.
8360
8606
  self.time = time
8361
8607
  # 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
8608
  self.total_bps = total_bps
@@ -8450,6 +8696,7 @@ class DescribeInternetTrafficTrendResponseBody(TeaModel):
8450
8696
  self.data_list = data_list
8451
8697
  # The timestamp generated when the bandwidth reaches the peak value. The value is a UNIX timestamp. Unit: seconds.
8452
8698
  self.max_bandwidth_time = max_bandwidth_time
8699
+ # The maximum volume of excess traffic allowed per day.
8453
8700
  self.max_day_exceed_bytes = max_day_exceed_bytes
8454
8701
  # The maximum inbound network throughput, which indicates the maximum number of bits that are sent inbound per second. Unit: bit/s.
8455
8702
  self.max_in_bps = max_in_bps
@@ -8463,6 +8710,7 @@ class DescribeInternetTrafficTrendResponseBody(TeaModel):
8463
8710
  self.request_id = request_id
8464
8711
  # The total inbound and outbound network throughput, which indicates the total number of bytes that are sent inbound and outbound. Unit: bytes.
8465
8712
  self.total_bytes = total_bytes
8713
+ # The total volume of excess traffic.
8466
8714
  self.total_exceed_bytes = total_exceed_bytes
8467
8715
  # The inbound network throughput, which indicates the total number of bytes that are sent inbound. Unit: bytes.
8468
8716
  self.total_in_bytes = total_in_bytes
@@ -9108,9 +9356,12 @@ class DescribeNatAclPageStatusRequest(TeaModel):
9108
9356
  class DescribeNatAclPageStatusResponseBody(TeaModel):
9109
9357
  def __init__(
9110
9358
  self,
9359
+ detail: str = None,
9111
9360
  nat_acl_page_enable: bool = None,
9112
9361
  request_id: str = None,
9113
9362
  ):
9363
+ # Extra error information.
9364
+ self.detail = detail
9114
9365
  # Indicates whether pagination for access control policies for NAT firewalls is supported.
9115
9366
  self.nat_acl_page_enable = nat_acl_page_enable
9116
9367
  # The ID of the request.
@@ -9125,6 +9376,8 @@ class DescribeNatAclPageStatusResponseBody(TeaModel):
9125
9376
  return _map
9126
9377
 
9127
9378
  result = dict()
9379
+ if self.detail is not None:
9380
+ result['Detail'] = self.detail
9128
9381
  if self.nat_acl_page_enable is not None:
9129
9382
  result['NatAclPageEnable'] = self.nat_acl_page_enable
9130
9383
  if self.request_id is not None:
@@ -9133,6 +9386,8 @@ class DescribeNatAclPageStatusResponseBody(TeaModel):
9133
9386
 
9134
9387
  def from_map(self, m: dict = None):
9135
9388
  m = m or dict()
9389
+ if m.get('Detail') is not None:
9390
+ self.detail = m.get('Detail')
9136
9391
  if m.get('NatAclPageEnable') is not None:
9137
9392
  self.nat_acl_page_enable = m.get('NatAclPageEnable')
9138
9393
  if m.get('RequestId') is not None:
@@ -9768,15 +10023,39 @@ class DescribeNatFirewallListRequest(TeaModel):
9768
10023
  status: str = None,
9769
10024
  vpc_id: str = None,
9770
10025
  ):
10026
+ # The language of the content within the response. Valid values:
10027
+ # * **zh** (default)
10028
+ # * **en**\
9771
10029
  self.lang = lang
10030
+ # The UID of the member that is managed by your Alibaba Cloud account.
9772
10031
  self.member_uid = member_uid
10032
+ # The ID of the NAT gateway.
9773
10033
  self.nat_gateway_id = nat_gateway_id
10034
+ # The page number.
9774
10035
  self.page_no = page_no
10036
+ # The number of entries per page.
10037
+ #
10038
+ # Default value: 10.
10039
+ #
10040
+ # Maximum value: 50.
9775
10041
  self.page_size = page_size
10042
+ # The ID of the NAT firewall.
9776
10043
  self.proxy_id = proxy_id
10044
+ # 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
10045
  self.proxy_name = proxy_name
10046
+ # The region ID of the virtual private cloud (VPC).
9778
10047
  self.region_no = region_no
10048
+ # The status of the NAT firewall. Valid values:
10049
+ #
10050
+ # * configuring
10051
+ # * deleting
10052
+ # * normal
10053
+ # * abnormal
10054
+ # * opening
10055
+ # * closing
10056
+ # * closed
9779
10057
  self.status = status
10058
+ # The ID of the VPC.
9780
10059
  self.vpc_id = vpc_id
9781
10060
 
9782
10061
  def validate(self):
@@ -9843,9 +10122,13 @@ class DescribeNatFirewallListResponseBodyNatFirewallListNatRouteEntryList(TeaMod
9843
10122
  next_hop_type: str = None,
9844
10123
  route_table_id: str = None,
9845
10124
  ):
10125
+ # The destination CIDR block of the default route.
9846
10126
  self.destination_cidr = destination_cidr
10127
+ # The next hop of the original NAT gateway.
9847
10128
  self.next_hop_id = next_hop_id
10129
+ # The network type of the next hop. The value is fixed as NatGateway.
9848
10130
  self.next_hop_type = next_hop_type
10131
+ # The route table to which the default route of the NAT gateway belongs.
9849
10132
  self.route_table_id = route_table_id
9850
10133
 
9851
10134
  def validate(self):
@@ -9897,18 +10180,43 @@ class DescribeNatFirewallListResponseBodyNatFirewallList(TeaModel):
9897
10180
  vpc_id: str = None,
9898
10181
  vpc_name: str = None,
9899
10182
  ):
10183
+ # The UID of the Alibaba Cloud account.
10184
+ #
10185
+ # > The value of this parameter indicates the management account to which the member is added.
9900
10186
  self.ali_uid = ali_uid
10187
+ # The cause of the error.
9901
10188
  self.error_detail = error_detail
10189
+ # The UID of the member in Cloud Firewall.
9902
10190
  self.member_uid = member_uid
10191
+ # The ID of the NAT gateway.
9903
10192
  self.nat_gateway_id = nat_gateway_id
10193
+ # The name of the NAT gateway.
9904
10194
  self.nat_gateway_name = nat_gateway_name
10195
+ # The default route entries of the NAT gateway.
9905
10196
  self.nat_route_entry_list = nat_route_entry_list
10197
+ # The ID of the NAT firewall.
9906
10198
  self.proxy_id = proxy_id
10199
+ # The name of the NAT firewall.
9907
10200
  self.proxy_name = proxy_name
10201
+ # The status of the NAT firewall. Valid values:
10202
+ #
10203
+ # * configuring
10204
+ # * deleting
10205
+ # * normal
10206
+ # * abnormal
10207
+ # * opening
10208
+ # * closing
10209
+ # * closed
9908
10210
  self.proxy_status = proxy_status
10211
+ # The region ID of your Cloud Firewall.
10212
+ #
10213
+ # > For more information about the supported regions of Cloud Firewall, see [Supported regions](https://help.aliyun.com/document_detail/195657.html).
9909
10214
  self.region_id = region_id
10215
+ # Indicates whether the strict mode is enabled. Valid values: 1, which specifies yes, and 0, which specifies no.
9910
10216
  self.strict_mode = strict_mode
10217
+ # The ID of the VPC.
9911
10218
  self.vpc_id = vpc_id
10219
+ # The name of the VPC.
9912
10220
  self.vpc_name = vpc_name
9913
10221
 
9914
10222
  def validate(self):
@@ -9994,8 +10302,11 @@ class DescribeNatFirewallListResponseBody(TeaModel):
9994
10302
  request_id: str = None,
9995
10303
  total_count: int = None,
9996
10304
  ):
10305
+ # The NAT firewalls.
9997
10306
  self.nat_firewall_list = nat_firewall_list
10307
+ # The request ID.
9998
10308
  self.request_id = request_id
10309
+ # The total number of NAT firewalls.
9999
10310
  self.total_count = total_count
10000
10311
 
10001
10312
  def validate(self):
@@ -11560,8 +11871,8 @@ class DescribePolicyPriorUsedRequest(TeaModel):
11560
11871
  #
11561
11872
  # Valid values:
11562
11873
  #
11563
- # * **in**: inbound traffic
11564
- # * **out**: outbound traffic
11874
+ # * **in**: inbound.
11875
+ # * **out**: outbound.
11565
11876
  #
11566
11877
  # This parameter is required.
11567
11878
  self.direction = direction
@@ -11569,15 +11880,15 @@ class DescribePolicyPriorUsedRequest(TeaModel):
11569
11880
  #
11570
11881
  # Valid values:
11571
11882
  #
11572
- # * **4**: IPv4 (default)
11573
- # * **6**: IPv6
11883
+ # * **4** (default): IPv4.
11884
+ # * **6**: IPv6.
11574
11885
  self.ip_version = ip_version
11575
- # The natural language of the request and response.
11886
+ # The language of the content within the request and response.
11576
11887
  #
11577
11888
  # Valid values:
11578
11889
  #
11579
- # * **zh**: Chinese (default)
11580
- # * **en**: English
11890
+ # * **zh** (default)
11891
+ # * **en**\
11581
11892
  self.lang = lang
11582
11893
  # The source IP address of the request.
11583
11894
  self.source_ip = source_ip
@@ -11625,7 +11936,7 @@ class DescribePolicyPriorUsedResponseBody(TeaModel):
11625
11936
  #
11626
11937
  # > The value -1 indicates the lowest priority.
11627
11938
  self.end = end
11628
- # The ID of the request.
11939
+ # The request ID.
11629
11940
  self.request_id = request_id
11630
11941
  # The highest priority of existing access control policies.
11631
11942
  #
@@ -11709,13 +12020,14 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11709
12020
  lang: str = None,
11710
12021
  order: str = None,
11711
12022
  page_size: int = None,
12023
+ region_no: str = None,
11712
12024
  search_item: str = None,
11713
12025
  start_time: str = None,
11714
12026
  traffic_type: str = None,
11715
12027
  ):
11716
12028
  # The page number. Default value: 1.
11717
12029
  self.current_page = current_page
11718
- # The end of the time range to query. The value is a UNIX timestamp. Unit: seconds.
12030
+ # The end of the time range to query. Specify a value in the YYYYMMDD format.
11719
12031
  #
11720
12032
  # This parameter is required.
11721
12033
  self.end_time = end_time
@@ -11731,16 +12043,18 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11731
12043
  self.order = order
11732
12044
  # The number of entries per page. Default value: 10. Maximum value: 50.
11733
12045
  self.page_size = page_size
12046
+ self.region_no = region_no
11734
12047
  # The instance ID or the IP address of the asset.
11735
12048
  self.search_item = search_item
11736
- # The beginning of the time range to query. The value is a UNIX timestamp. Unit: seconds.
12049
+ # The beginning of the time range to query. Specify a value in the YYYYMMDD format.
11737
12050
  #
11738
12051
  # This parameter is required.
11739
12052
  self.start_time = start_time
11740
12053
  # The traffic type. This parameter is required. Valid values:
11741
12054
  #
11742
- # * **EIP_TRAFFIC**: traffic for the Internet firewall
11743
- # * **NatGateway_TRAFFIC**: traffic for the NAT firewall
12055
+ # * **EIP_TRAFFIC**: traffic for the Internet firewall.
12056
+ # * **NatGateway_TRAFFIC**: traffic for NAT firewalls.
12057
+ # * **VPC_TRAFFIC**: traffic for virtual private cloud (VPC) firewalls.
11744
12058
  #
11745
12059
  # This parameter is required.
11746
12060
  self.traffic_type = traffic_type
@@ -11764,6 +12078,8 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11764
12078
  result['Order'] = self.order
11765
12079
  if self.page_size is not None:
11766
12080
  result['PageSize'] = self.page_size
12081
+ if self.region_no is not None:
12082
+ result['RegionNo'] = self.region_no
11767
12083
  if self.search_item is not None:
11768
12084
  result['SearchItem'] = self.search_item
11769
12085
  if self.start_time is not None:
@@ -11784,6 +12100,8 @@ class DescribePostpayTrafficDetailRequest(TeaModel):
11784
12100
  self.order = m.get('Order')
11785
12101
  if m.get('PageSize') is not None:
11786
12102
  self.page_size = m.get('PageSize')
12103
+ if m.get('RegionNo') is not None:
12104
+ self.region_no = m.get('RegionNo')
11787
12105
  if m.get('SearchItem') is not None:
11788
12106
  self.search_item = m.get('SearchItem')
11789
12107
  if m.get('StartTime') is not None:
@@ -11800,29 +12118,34 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11800
12118
  instance_id: str = None,
11801
12119
  instance_type: str = None,
11802
12120
  out_bytes: int = None,
12121
+ protection_duration: int = None,
12122
+ region_no: str = None,
11803
12123
  resource_id: str = None,
11804
12124
  total_bytes: int = None,
11805
12125
  traffic_day: str = None,
11806
12126
  traffic_type: str = None,
11807
12127
  ):
11808
- # The inbound network throughput, which indicates the total number of bytes that are received. Unit: bytes.
12128
+ # The inbound network throughput, which indicates the total number of bytes that are received Unit: bytes.
11809
12129
  self.in_bytes = in_bytes
11810
12130
  # The instance ID of the asset.
11811
12131
  self.instance_id = instance_id
11812
- # The type of the asset. This value takes effect only for the Internet firewall.
12132
+ # The asset type. This value takes effect only for the Internet firewall.
11813
12133
  self.instance_type = instance_type
11814
12134
  # The outbound network throughput, which indicates the total number of bytes that are sent. Unit: bytes.
11815
12135
  self.out_bytes = out_bytes
12136
+ self.protection_duration = protection_duration
12137
+ self.region_no = region_no
11816
12138
  # 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
12139
  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.
12140
+ # The total inbound and outbound network throughput, which indicates the total number of bytes that are received and sent. Unit: bytes.
11819
12141
  self.total_bytes = total_bytes
11820
12142
  # The date on which the statistics are collected.
11821
12143
  self.traffic_day = traffic_day
11822
12144
  # The traffic type. Valid values:
11823
12145
  #
11824
12146
  # * **EIP_TRAFFIC**: traffic for the Internet firewall
11825
- # * **NatGateway_TRAFFIC**: traffic for the NAT firewall
12147
+ # * **NatGateway_TRAFFIC**: traffic for NAT firewalls
12148
+ # * **VPC_TRAFFIC**: traffic for VPC firewalls
11826
12149
  self.traffic_type = traffic_type
11827
12150
 
11828
12151
  def validate(self):
@@ -11842,6 +12165,10 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11842
12165
  result['InstanceType'] = self.instance_type
11843
12166
  if self.out_bytes is not None:
11844
12167
  result['OutBytes'] = self.out_bytes
12168
+ if self.protection_duration is not None:
12169
+ result['ProtectionDuration'] = self.protection_duration
12170
+ if self.region_no is not None:
12171
+ result['RegionNo'] = self.region_no
11845
12172
  if self.resource_id is not None:
11846
12173
  result['ResourceId'] = self.resource_id
11847
12174
  if self.total_bytes is not None:
@@ -11862,6 +12189,10 @@ class DescribePostpayTrafficDetailResponseBodyTrafficList(TeaModel):
11862
12189
  self.instance_type = m.get('InstanceType')
11863
12190
  if m.get('OutBytes') is not None:
11864
12191
  self.out_bytes = m.get('OutBytes')
12192
+ if m.get('ProtectionDuration') is not None:
12193
+ self.protection_duration = m.get('ProtectionDuration')
12194
+ if m.get('RegionNo') is not None:
12195
+ self.region_no = m.get('RegionNo')
11865
12196
  if m.get('ResourceId') is not None:
11866
12197
  self.resource_id = m.get('ResourceId')
11867
12198
  if m.get('TotalBytes') is not None:
@@ -11884,7 +12215,7 @@ class DescribePostpayTrafficDetailResponseBody(TeaModel):
11884
12215
  self.request_id = request_id
11885
12216
  # The total number of entries returned.
11886
12217
  self.total_count = total_count
11887
- # The traffic statistics.
12218
+ # The statistics on traffic.
11888
12219
  self.traffic_list = traffic_list
11889
12220
 
11890
12221
  def validate(self):
@@ -12000,20 +12331,35 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
12000
12331
  self,
12001
12332
  request_id: str = None,
12002
12333
  total_assets: int = None,
12334
+ total_bill_traffic: int = None,
12335
+ total_internet_assets: int = None,
12336
+ total_internet_traffic: int = None,
12003
12337
  total_nat_assets: int = None,
12004
12338
  total_nat_traffic: int = None,
12005
12339
  total_traffic: int = None,
12340
+ total_vpc_assets: int = None,
12341
+ total_vpc_traffic: int = None,
12006
12342
  ):
12007
12343
  # The ID of the request.
12008
12344
  self.request_id = request_id
12009
- # The total number of the assets that are protected by the Internet firewall.
12345
+ # The total number of assets protected all types of firewalls.
12010
12346
  self.total_assets = total_assets
12011
- # The total number of the assets that are protected by the NAT firewall.
12347
+ # The volume of burstable protected traffic for which fees are generated. Unit: bytes.
12348
+ self.total_bill_traffic = total_bill_traffic
12349
+ # The total number of assets protected by the Internet firewall.
12350
+ self.total_internet_assets = total_internet_assets
12351
+ # 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.
12352
+ self.total_internet_traffic = total_internet_traffic
12353
+ # The total number of assets protected by NAT firewalls.
12012
12354
  self.total_nat_assets = total_nat_assets
12013
- # The total traffic for the NAT firewall. Unit: bytes.
12355
+ # 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
12356
  self.total_nat_traffic = total_nat_traffic
12015
- # The total traffic for the Internet firewall. Unit: bytes.
12357
+ # 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
12358
  self.total_traffic = total_traffic
12359
+ # The total number of assets protected by virtual private cloud (VPC) firewalls.
12360
+ self.total_vpc_assets = total_vpc_assets
12361
+ # 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.
12362
+ self.total_vpc_traffic = total_vpc_traffic
12017
12363
 
12018
12364
  def validate(self):
12019
12365
  pass
@@ -12028,12 +12374,22 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
12028
12374
  result['RequestId'] = self.request_id
12029
12375
  if self.total_assets is not None:
12030
12376
  result['TotalAssets'] = self.total_assets
12377
+ if self.total_bill_traffic is not None:
12378
+ result['TotalBillTraffic'] = self.total_bill_traffic
12379
+ if self.total_internet_assets is not None:
12380
+ result['TotalInternetAssets'] = self.total_internet_assets
12381
+ if self.total_internet_traffic is not None:
12382
+ result['TotalInternetTraffic'] = self.total_internet_traffic
12031
12383
  if self.total_nat_assets is not None:
12032
12384
  result['TotalNatAssets'] = self.total_nat_assets
12033
12385
  if self.total_nat_traffic is not None:
12034
12386
  result['TotalNatTraffic'] = self.total_nat_traffic
12035
12387
  if self.total_traffic is not None:
12036
12388
  result['TotalTraffic'] = self.total_traffic
12389
+ if self.total_vpc_assets is not None:
12390
+ result['TotalVpcAssets'] = self.total_vpc_assets
12391
+ if self.total_vpc_traffic is not None:
12392
+ result['TotalVpcTraffic'] = self.total_vpc_traffic
12037
12393
  return result
12038
12394
 
12039
12395
  def from_map(self, m: dict = None):
@@ -12042,12 +12398,22 @@ class DescribePostpayTrafficTotalResponseBody(TeaModel):
12042
12398
  self.request_id = m.get('RequestId')
12043
12399
  if m.get('TotalAssets') is not None:
12044
12400
  self.total_assets = m.get('TotalAssets')
12401
+ if m.get('TotalBillTraffic') is not None:
12402
+ self.total_bill_traffic = m.get('TotalBillTraffic')
12403
+ if m.get('TotalInternetAssets') is not None:
12404
+ self.total_internet_assets = m.get('TotalInternetAssets')
12405
+ if m.get('TotalInternetTraffic') is not None:
12406
+ self.total_internet_traffic = m.get('TotalInternetTraffic')
12045
12407
  if m.get('TotalNatAssets') is not None:
12046
12408
  self.total_nat_assets = m.get('TotalNatAssets')
12047
12409
  if m.get('TotalNatTraffic') is not None:
12048
12410
  self.total_nat_traffic = m.get('TotalNatTraffic')
12049
12411
  if m.get('TotalTraffic') is not None:
12050
12412
  self.total_traffic = m.get('TotalTraffic')
12413
+ if m.get('TotalVpcAssets') is not None:
12414
+ self.total_vpc_assets = m.get('TotalVpcAssets')
12415
+ if m.get('TotalVpcTraffic') is not None:
12416
+ self.total_vpc_traffic = m.get('TotalVpcTraffic')
12051
12417
  return self
12052
12418
 
12053
12419
 
@@ -13507,7 +13873,7 @@ class DescribeTrFirewallPolicyBackUpAssociationListRequest(TeaModel):
13507
13873
  lang: str = None,
13508
13874
  tr_firewall_route_policy_id: str = None,
13509
13875
  ):
13510
- # An array that consists of the details about the traffic redirection instance.
13876
+ # The traffic redirection instances.
13511
13877
  self.candidate_list = candidate_list
13512
13878
  # The instance ID of the VPC firewall.
13513
13879
  self.firewall_id = firewall_id
@@ -13567,7 +13933,7 @@ class DescribeTrFirewallPolicyBackUpAssociationListShrinkRequest(TeaModel):
13567
13933
  lang: str = None,
13568
13934
  tr_firewall_route_policy_id: str = None,
13569
13935
  ):
13570
- # An array that consists of the details about the traffic redirection instance.
13936
+ # The traffic redirection instances.
13571
13937
  self.candidate_list_shrink = candidate_list_shrink
13572
13938
  # The instance ID of the VPC firewall.
13573
13939
  self.firewall_id = firewall_id
@@ -14425,6 +14791,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14425
14791
  self,
14426
14792
  basic_rules: int = None,
14427
14793
  enable_all_patch: int = None,
14794
+ rule_class: int = None,
14428
14795
  run_mode: int = None,
14429
14796
  ):
14430
14797
  # Indicates whether basic protection is enabled. Valid values:
@@ -14437,6 +14804,7 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14437
14804
  # * **1**: yes
14438
14805
  # * **0**: no
14439
14806
  self.enable_all_patch = enable_all_patch
14807
+ self.rule_class = rule_class
14440
14808
  # The mode of the IPS. Valid values:
14441
14809
  #
14442
14810
  # * **1**: block mode
@@ -14456,6 +14824,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14456
14824
  result['BasicRules'] = self.basic_rules
14457
14825
  if self.enable_all_patch is not None:
14458
14826
  result['EnableAllPatch'] = self.enable_all_patch
14827
+ if self.rule_class is not None:
14828
+ result['RuleClass'] = self.rule_class
14459
14829
  if self.run_mode is not None:
14460
14830
  result['RunMode'] = self.run_mode
14461
14831
  return result
@@ -14466,6 +14836,8 @@ class DescribeTrFirewallsV2ListResponseBodyVpcTrFirewallsIpsConfig(TeaModel):
14466
14836
  self.basic_rules = m.get('BasicRules')
14467
14837
  if m.get('EnableAllPatch') is not None:
14468
14838
  self.enable_all_patch = m.get('EnableAllPatch')
14839
+ if m.get('RuleClass') is not None:
14840
+ self.rule_class = m.get('RuleClass')
14469
14841
  if m.get('RunMode') is not None:
14470
14842
  self.run_mode = m.get('RunMode')
14471
14843
  return self
@@ -14840,10 +15212,18 @@ class DescribeTrFirewallsV2RouteListRequest(TeaModel):
14840
15212
  page_size: str = None,
14841
15213
  tr_firewall_route_policy_id: str = None,
14842
15214
  ):
15215
+ # The page number. Default value: 1.
14843
15216
  self.current_page = current_page
15217
+ # The instance ID of the virtual private cloud (VPC) firewall.
14844
15218
  self.firewall_id = firewall_id
15219
+ # The language of the content within the response. Valid values:
15220
+ #
15221
+ # * **zh** (default): Chinese
15222
+ # * **en**: English
14845
15223
  self.lang = lang
15224
+ # The number of entries per page. Default value: 10.
14846
15225
  self.page_size = page_size
15226
+ # The ID of the routing policy.
14847
15227
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
14848
15228
 
14849
15229
  def validate(self):
@@ -14890,9 +15270,13 @@ class DescribeTrFirewallsV2RouteListResponseBodyFirewallRouteDetailList(TeaModel
14890
15270
  tr_firewall_route_policy_id: str = None,
14891
15271
  tr_firewall_route_table_id: str = None,
14892
15272
  ):
15273
+ # The destination address of the route.
14893
15274
  self.tr_firewall_route_destination = tr_firewall_route_destination
15275
+ # The ID of the next hop for the route.
14894
15276
  self.tr_firewall_route_nexthop = tr_firewall_route_nexthop
15277
+ # The ID of the routing policy.
14895
15278
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
15279
+ # The ID of the route table to which the route entry belongs.
14896
15280
  self.tr_firewall_route_table_id = tr_firewall_route_table_id
14897
15281
 
14898
15282
  def validate(self):
@@ -14933,7 +15317,9 @@ class DescribeTrFirewallsV2RouteListResponseBody(TeaModel):
14933
15317
  firewall_route_detail_list: List[DescribeTrFirewallsV2RouteListResponseBodyFirewallRouteDetailList] = None,
14934
15318
  request_id: str = None,
14935
15319
  ):
15320
+ # The route tables of Cloud Firewall.
14936
15321
  self.firewall_route_detail_list = firewall_route_detail_list
15322
+ # The ID of the request.
14937
15323
  self.request_id = request_id
14938
15324
 
14939
15325
  def validate(self):
@@ -15183,6 +15569,173 @@ class DescribeUserAssetIPTrafficInfoResponse(TeaModel):
15183
15569
  return self
15184
15570
 
15185
15571
 
15572
+ class DescribeUserBuyVersionRequest(TeaModel):
15573
+ def __init__(
15574
+ self,
15575
+ instance_id: str = None,
15576
+ ):
15577
+ self.instance_id = instance_id
15578
+
15579
+ def validate(self):
15580
+ pass
15581
+
15582
+ def to_map(self):
15583
+ _map = super().to_map()
15584
+ if _map is not None:
15585
+ return _map
15586
+
15587
+ result = dict()
15588
+ if self.instance_id is not None:
15589
+ result['InstanceId'] = self.instance_id
15590
+ return result
15591
+
15592
+ def from_map(self, m: dict = None):
15593
+ m = m or dict()
15594
+ if m.get('InstanceId') is not None:
15595
+ self.instance_id = m.get('InstanceId')
15596
+ return self
15597
+
15598
+
15599
+ class DescribeUserBuyVersionResponseBody(TeaModel):
15600
+ def __init__(
15601
+ self,
15602
+ ali_uid: int = None,
15603
+ expire: int = None,
15604
+ instance_id: str = None,
15605
+ instance_status: str = None,
15606
+ ip_number: int = None,
15607
+ log_status: bool = None,
15608
+ log_storage: int = None,
15609
+ max_overflow: int = None,
15610
+ request_id: str = None,
15611
+ start_time: int = None,
15612
+ user_status: bool = None,
15613
+ version: int = None,
15614
+ vpc_number: int = None,
15615
+ ):
15616
+ self.ali_uid = ali_uid
15617
+ self.expire = expire
15618
+ self.instance_id = instance_id
15619
+ self.instance_status = instance_status
15620
+ self.ip_number = ip_number
15621
+ self.log_status = log_status
15622
+ self.log_storage = log_storage
15623
+ self.max_overflow = max_overflow
15624
+ self.request_id = request_id
15625
+ self.start_time = start_time
15626
+ self.user_status = user_status
15627
+ self.version = version
15628
+ self.vpc_number = vpc_number
15629
+
15630
+ def validate(self):
15631
+ pass
15632
+
15633
+ def to_map(self):
15634
+ _map = super().to_map()
15635
+ if _map is not None:
15636
+ return _map
15637
+
15638
+ result = dict()
15639
+ if self.ali_uid is not None:
15640
+ result['AliUid'] = self.ali_uid
15641
+ if self.expire is not None:
15642
+ result['Expire'] = self.expire
15643
+ if self.instance_id is not None:
15644
+ result['InstanceId'] = self.instance_id
15645
+ if self.instance_status is not None:
15646
+ result['InstanceStatus'] = self.instance_status
15647
+ if self.ip_number is not None:
15648
+ result['IpNumber'] = self.ip_number
15649
+ if self.log_status is not None:
15650
+ result['LogStatus'] = self.log_status
15651
+ if self.log_storage is not None:
15652
+ result['LogStorage'] = self.log_storage
15653
+ if self.max_overflow is not None:
15654
+ result['MaxOverflow'] = self.max_overflow
15655
+ if self.request_id is not None:
15656
+ result['RequestId'] = self.request_id
15657
+ if self.start_time is not None:
15658
+ result['StartTime'] = self.start_time
15659
+ if self.user_status is not None:
15660
+ result['UserStatus'] = self.user_status
15661
+ if self.version is not None:
15662
+ result['Version'] = self.version
15663
+ if self.vpc_number is not None:
15664
+ result['VpcNumber'] = self.vpc_number
15665
+ return result
15666
+
15667
+ def from_map(self, m: dict = None):
15668
+ m = m or dict()
15669
+ if m.get('AliUid') is not None:
15670
+ self.ali_uid = m.get('AliUid')
15671
+ if m.get('Expire') is not None:
15672
+ self.expire = m.get('Expire')
15673
+ if m.get('InstanceId') is not None:
15674
+ self.instance_id = m.get('InstanceId')
15675
+ if m.get('InstanceStatus') is not None:
15676
+ self.instance_status = m.get('InstanceStatus')
15677
+ if m.get('IpNumber') is not None:
15678
+ self.ip_number = m.get('IpNumber')
15679
+ if m.get('LogStatus') is not None:
15680
+ self.log_status = m.get('LogStatus')
15681
+ if m.get('LogStorage') is not None:
15682
+ self.log_storage = m.get('LogStorage')
15683
+ if m.get('MaxOverflow') is not None:
15684
+ self.max_overflow = m.get('MaxOverflow')
15685
+ if m.get('RequestId') is not None:
15686
+ self.request_id = m.get('RequestId')
15687
+ if m.get('StartTime') is not None:
15688
+ self.start_time = m.get('StartTime')
15689
+ if m.get('UserStatus') is not None:
15690
+ self.user_status = m.get('UserStatus')
15691
+ if m.get('Version') is not None:
15692
+ self.version = m.get('Version')
15693
+ if m.get('VpcNumber') is not None:
15694
+ self.vpc_number = m.get('VpcNumber')
15695
+ return self
15696
+
15697
+
15698
+ class DescribeUserBuyVersionResponse(TeaModel):
15699
+ def __init__(
15700
+ self,
15701
+ headers: Dict[str, str] = None,
15702
+ status_code: int = None,
15703
+ body: DescribeUserBuyVersionResponseBody = None,
15704
+ ):
15705
+ self.headers = headers
15706
+ self.status_code = status_code
15707
+ self.body = body
15708
+
15709
+ def validate(self):
15710
+ if self.body:
15711
+ self.body.validate()
15712
+
15713
+ def to_map(self):
15714
+ _map = super().to_map()
15715
+ if _map is not None:
15716
+ return _map
15717
+
15718
+ result = dict()
15719
+ if self.headers is not None:
15720
+ result['headers'] = self.headers
15721
+ if self.status_code is not None:
15722
+ result['statusCode'] = self.status_code
15723
+ if self.body is not None:
15724
+ result['body'] = self.body.to_map()
15725
+ return result
15726
+
15727
+ def from_map(self, m: dict = None):
15728
+ m = m or dict()
15729
+ if m.get('headers') is not None:
15730
+ self.headers = m.get('headers')
15731
+ if m.get('statusCode') is not None:
15732
+ self.status_code = m.get('statusCode')
15733
+ if m.get('body') is not None:
15734
+ temp_model = DescribeUserBuyVersionResponseBody()
15735
+ self.body = temp_model.from_map(m['body'])
15736
+ return self
15737
+
15738
+
15186
15739
  class DescribeUserIPSWhitelistRequest(TeaModel):
15187
15740
  def __init__(
15188
15741
  self,
@@ -16294,6 +16847,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16294
16847
  self,
16295
16848
  basic_rules: int = None,
16296
16849
  enable_all_patch: int = None,
16850
+ rule_class: int = None,
16297
16851
  run_mode: int = None,
16298
16852
  ):
16299
16853
  # Indicates whether basic protection is enabled. Valid values:
@@ -16306,6 +16860,7 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16306
16860
  # * **1**: yes
16307
16861
  # * **0**: no
16308
16862
  self.enable_all_patch = enable_all_patch
16863
+ self.rule_class = rule_class
16309
16864
  # The mode of the IPS. Valid values:
16310
16865
  #
16311
16866
  # * **1**: block mode
@@ -16325,6 +16880,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16325
16880
  result['BasicRules'] = self.basic_rules
16326
16881
  if self.enable_all_patch is not None:
16327
16882
  result['EnableAllPatch'] = self.enable_all_patch
16883
+ if self.rule_class is not None:
16884
+ result['RuleClass'] = self.rule_class
16328
16885
  if self.run_mode is not None:
16329
16886
  result['RunMode'] = self.run_mode
16330
16887
  return result
@@ -16335,6 +16892,8 @@ class DescribeVpcFirewallCenListResponseBodyVpcFirewallsIpsConfig(TeaModel):
16335
16892
  self.basic_rules = m.get('BasicRules')
16336
16893
  if m.get('EnableAllPatch') is not None:
16337
16894
  self.enable_all_patch = m.get('EnableAllPatch')
16895
+ if m.get('RuleClass') is not None:
16896
+ self.rule_class = m.get('RuleClass')
16338
16897
  if m.get('RunMode') is not None:
16339
16898
  self.run_mode = m.get('RunMode')
16340
16899
  return self
@@ -16950,6 +17509,7 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
16950
17509
  destination_group_cidrs: List[str] = None,
16951
17510
  destination_group_type: str = None,
16952
17511
  destination_type: str = None,
17512
+ domain_resolve_type: str = None,
16953
17513
  end_time: int = None,
16954
17514
  hit_last_time: int = None,
16955
17515
  hit_times: int = None,
@@ -17032,6 +17592,12 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17032
17592
  # * **group**: address book
17033
17593
  # * **domain**: domain name
17034
17594
  self.destination_type = destination_type
17595
+ # 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:
17596
+ #
17597
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
17598
+ # * **DNS**: DNS-based dynamic resolution
17599
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
17600
+ self.domain_resolve_type = domain_resolve_type
17035
17601
  # 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
17602
  #
17037
17603
  # > 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 +17713,8 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17147
17713
  result['DestinationGroupType'] = self.destination_group_type
17148
17714
  if self.destination_type is not None:
17149
17715
  result['DestinationType'] = self.destination_type
17716
+ if self.domain_resolve_type is not None:
17717
+ result['DomainResolveType'] = self.domain_resolve_type
17150
17718
  if self.end_time is not None:
17151
17719
  result['EndTime'] = self.end_time
17152
17720
  if self.hit_last_time is not None:
@@ -17217,6 +17785,8 @@ class DescribeVpcFirewallControlPolicyResponseBodyPolicys(TeaModel):
17217
17785
  self.destination_group_type = m.get('DestinationGroupType')
17218
17786
  if m.get('DestinationType') is not None:
17219
17787
  self.destination_type = m.get('DestinationType')
17788
+ if m.get('DomainResolveType') is not None:
17789
+ self.domain_resolve_type = m.get('DomainResolveType')
17220
17790
  if m.get('EndTime') is not None:
17221
17791
  self.end_time = m.get('EndTime')
17222
17792
  if m.get('HitLastTime') is not None:
@@ -17263,7 +17833,7 @@ class DescribeVpcFirewallControlPolicyResponseBody(TeaModel):
17263
17833
  request_id: str = None,
17264
17834
  total_count: str = None,
17265
17835
  ):
17266
- # The access control policies.
17836
+ # The details of the access control policies.
17267
17837
  self.policys = policys
17268
17838
  # The ID of the request.
17269
17839
  self.request_id = request_id
@@ -17393,6 +17963,7 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17393
17963
  basic_rules: int = None,
17394
17964
  enable_all_patch: int = None,
17395
17965
  request_id: str = None,
17966
+ rule_class: int = None,
17396
17967
  run_mode: int = None,
17397
17968
  ):
17398
17969
  # Indicates whether basic policies are enabled. Valid values:
@@ -17407,6 +17978,7 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17407
17978
  self.enable_all_patch = enable_all_patch
17408
17979
  # The ID of the request.
17409
17980
  self.request_id = request_id
17981
+ self.rule_class = rule_class
17410
17982
  # The mode of the intrusion prevention system (IPS). Valid values:
17411
17983
  #
17412
17984
  # * **1**: block mode
@@ -17428,6 +18000,8 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17428
18000
  result['EnableAllPatch'] = self.enable_all_patch
17429
18001
  if self.request_id is not None:
17430
18002
  result['RequestId'] = self.request_id
18003
+ if self.rule_class is not None:
18004
+ result['RuleClass'] = self.rule_class
17431
18005
  if self.run_mode is not None:
17432
18006
  result['RunMode'] = self.run_mode
17433
18007
  return result
@@ -17440,6 +18014,8 @@ class DescribeVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
17440
18014
  self.enable_all_patch = m.get('EnableAllPatch')
17441
18015
  if m.get('RequestId') is not None:
17442
18016
  self.request_id = m.get('RequestId')
18017
+ if m.get('RuleClass') is not None:
18018
+ self.rule_class = m.get('RuleClass')
17443
18019
  if m.get('RunMode') is not None:
17444
18020
  self.run_mode = m.get('RunMode')
17445
18021
  return self
@@ -18306,6 +18882,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18306
18882
  self,
18307
18883
  basic_rules: int = None,
18308
18884
  enable_all_patch: int = None,
18885
+ rule_class: int = None,
18309
18886
  run_mode: int = None,
18310
18887
  ):
18311
18888
  # Indicates whether basic protection is enabled. Valid values:
@@ -18318,6 +18895,12 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18318
18895
  # * **1**: yes
18319
18896
  # * **0**: no
18320
18897
  self.enable_all_patch = enable_all_patch
18898
+ # The level of the rule group for the IPS. Valid values:
18899
+ #
18900
+ # * **1**: loose
18901
+ # * **2**: medium
18902
+ # * **3**: strict
18903
+ self.rule_class = rule_class
18321
18904
  # The mode of the IPS. Valid values:
18322
18905
  #
18323
18906
  # * **1**: block mode
@@ -18337,6 +18920,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18337
18920
  result['BasicRules'] = self.basic_rules
18338
18921
  if self.enable_all_patch is not None:
18339
18922
  result['EnableAllPatch'] = self.enable_all_patch
18923
+ if self.rule_class is not None:
18924
+ result['RuleClass'] = self.rule_class
18340
18925
  if self.run_mode is not None:
18341
18926
  result['RunMode'] = self.run_mode
18342
18927
  return result
@@ -18347,6 +18932,8 @@ class DescribeVpcFirewallListResponseBodyVpcFirewallsIpsConfig(TeaModel):
18347
18932
  self.basic_rules = m.get('BasicRules')
18348
18933
  if m.get('EnableAllPatch') is not None:
18349
18934
  self.enable_all_patch = m.get('EnableAllPatch')
18935
+ if m.get('RuleClass') is not None:
18936
+ self.rule_class = m.get('RuleClass')
18350
18937
  if m.get('RunMode') is not None:
18351
18938
  self.run_mode = m.get('RunMode')
18352
18939
  return self
@@ -18681,7 +19268,7 @@ class DescribeVpcFirewallListResponseBodyVpcFirewalls(TeaModel):
18681
19268
  # * **closed**: The VPC firewall is disabled.
18682
19269
  # * **notconfigured**: The VPC firewall is not configured.
18683
19270
  self.firewall_switch_status = firewall_switch_status
18684
- # The information about the intrusion prevention system (IPS) configuration.
19271
+ # The intrusion prevention system (IPS) configurations.
18685
19272
  self.ips_config = ips_config
18686
19273
  # The details about the local VPC.
18687
19274
  self.local_vpc = local_vpc
@@ -18788,7 +19375,7 @@ class DescribeVpcFirewallListResponseBody(TeaModel):
18788
19375
  self.request_id = request_id
18789
19376
  # The total number of VPC firewalls.
18790
19377
  self.total_count = total_count
18791
- # An array that consists of the details about the VPC firewall.
19378
+ # The information about the VPC firewalls.
18792
19379
  self.vpc_firewalls = vpc_firewalls
18793
19380
 
18794
19381
  def validate(self):
@@ -18874,23 +19461,22 @@ class DescribeVpcFirewallPolicyPriorUsedRequest(TeaModel):
18874
19461
  lang: str = None,
18875
19462
  vpc_firewall_id: str = None,
18876
19463
  ):
18877
- # The natural language of the request and response.
19464
+ # The language of the content within the request and response.
18878
19465
  #
18879
19466
  # Valid values:
18880
19467
  #
18881
- # - **zh**: Chinese (default)
18882
- # - **en**: English
19468
+ # * **zh** (default)
19469
+ # * **en**\
18883
19470
  self.lang = lang
18884
- # The ID of the policy group to which the access control policy belongs. You can call the DescribeVpcFirewallAclGroupList operation to query the ID.
19471
+ # The ID of the access control policy group. You can call the [DescribeVpcFirewallAclGroupList](https://help.aliyun.com/document_detail/159760.html) operation to query the ID.
18885
19472
  #
18886
- # Valid values:
19473
+ # * If the VPC firewall is used to protect a Cloud Enterprise Network (CEN) instance, the value of this parameter is the ID of the CEN instance.
18887
19474
  #
18888
- # - If the VPC firewall is used to protect a Cloud Enterprise Network (CEN) instance, the value of this parameter is the ID of the CEN instance.
19475
+ # Example: cen-ervw0g12b5jbw\\*\\*\\*\\*.
18889
19476
  #
18890
- # Example: cen-ervw0g12b5jbw****\
18891
- # - If the VPC firewall is used to protect an Express Connect circuit, the value of this parameter is the ID of the VPC firewall instance.
19477
+ # * If the VPC firewall is used to protect an Express Connect circuit, the value of this parameter is the ID of the VPC firewall.
18892
19478
  #
18893
- # Example: vfw-a42bbb7b887148c9****\
19479
+ # Example: vfw-a42bbb7b887148c9\\*\\*\\*\\*.
18894
19480
  #
18895
19481
  # This parameter is required.
18896
19482
  self.vpc_firewall_id = vpc_firewall_id
@@ -18926,11 +19512,11 @@ class DescribeVpcFirewallPolicyPriorUsedResponseBody(TeaModel):
18926
19512
  request_id: str = None,
18927
19513
  start: int = None,
18928
19514
  ):
18929
- # The lowest priority for the access control policy.
19515
+ # The lowest priority for the access control policies.
18930
19516
  self.end = end
18931
- # The ID of the request.
19517
+ # The request ID.
18932
19518
  self.request_id = request_id
18933
- # The highest priority for the access control policy.
19519
+ # The highest priority for the access control policies.
18934
19520
  self.start = start
18935
19521
 
18936
19522
  def validate(self):
@@ -20006,6 +20592,7 @@ class ModifyAddressBookRequest(TeaModel):
20006
20592
  group_name: str = None,
20007
20593
  group_uuid: str = None,
20008
20594
  lang: str = None,
20595
+ modify_mode: str = None,
20009
20596
  source_ip: str = None,
20010
20597
  tag_list: List[ModifyAddressBookRequestTagList] = None,
20011
20598
  tag_relation: str = None,
@@ -20040,6 +20627,15 @@ class ModifyAddressBookRequest(TeaModel):
20040
20627
  # * **zh**: Chinese (default)
20041
20628
  # * **en**: English
20042
20629
  self.lang = lang
20630
+ # Modification mode with the following values:
20631
+ #
20632
+ # - **Cover**: Use the value of the AddressList parameter to overwrite the original address book.
20633
+ # - **Append**: After the original address book, append addresses using the value of the AddressList parameter.
20634
+ # - **Delete**: Delete addresses using the value of the AddressList parameter from the address book.
20635
+ #
20636
+ # >When GroupType is **ip**, **ipv6**, **port**, or **domain**, if this parameter is not configured, the default is to use the **Cover** method to modify the address book.
20637
+ # >Notice: When GroupType is **tag**, this parameter must be empty.</notice>
20638
+ self.modify_mode = modify_mode
20043
20639
  # The source IP address of the request.
20044
20640
  self.source_ip = source_ip
20045
20641
  # The ECS tags that you want to match.
@@ -20074,6 +20670,8 @@ class ModifyAddressBookRequest(TeaModel):
20074
20670
  result['GroupUuid'] = self.group_uuid
20075
20671
  if self.lang is not None:
20076
20672
  result['Lang'] = self.lang
20673
+ if self.modify_mode is not None:
20674
+ result['ModifyMode'] = self.modify_mode
20077
20675
  if self.source_ip is not None:
20078
20676
  result['SourceIp'] = self.source_ip
20079
20677
  result['TagList'] = []
@@ -20098,6 +20696,8 @@ class ModifyAddressBookRequest(TeaModel):
20098
20696
  self.group_uuid = m.get('GroupUuid')
20099
20697
  if m.get('Lang') is not None:
20100
20698
  self.lang = m.get('Lang')
20699
+ if m.get('ModifyMode') is not None:
20700
+ self.modify_mode = m.get('ModifyMode')
20101
20701
  if m.get('SourceIp') is not None:
20102
20702
  self.source_ip = m.get('SourceIp')
20103
20703
  self.tag_list = []
@@ -20193,6 +20793,7 @@ class ModifyControlPolicyRequest(TeaModel):
20193
20793
  destination: str = None,
20194
20794
  destination_type: str = None,
20195
20795
  direction: str = None,
20796
+ domain_resolve_type: str = None,
20196
20797
  end_time: int = None,
20197
20798
  lang: str = None,
20198
20799
  proto: str = None,
@@ -20236,9 +20837,13 @@ class ModifyControlPolicyRequest(TeaModel):
20236
20837
  # * **Memcache**\
20237
20838
  # * **SSL**\
20238
20839
  #
20239
- # > The value *ANY* indicates all types of applications.
20840
+ # > The value **ANY** indicates all types of applications.
20841
+ #
20842
+ # > 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
20843
  self.application_name = application_name
20241
20844
  # The application names.
20845
+ #
20846
+ # > 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
20847
  self.application_name_list = application_name_list
20243
20848
  # The description of the access control policy.
20244
20849
  #
@@ -20278,6 +20883,12 @@ class ModifyControlPolicyRequest(TeaModel):
20278
20883
  #
20279
20884
  # This parameter is required.
20280
20885
  self.direction = direction
20886
+ # 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:
20887
+ #
20888
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
20889
+ # * **DNS**: DNS-based dynamic resolution
20890
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
20891
+ self.domain_resolve_type = domain_resolve_type
20281
20892
  # 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
20893
  #
20283
20894
  # > 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 +20898,16 @@ class ModifyControlPolicyRequest(TeaModel):
20287
20898
  # * **zh**: Chinese (default)
20288
20899
  # * **en**: English
20289
20900
  self.lang = lang
20290
- # The protocol type supported by the access control policy. Valid values:
20901
+ # The protocol type that the access control policy supports. Valid values:
20291
20902
  #
20292
20903
  # * **ANY**\
20293
20904
  # * **TCP**\
20294
20905
  # * **UDP**\
20295
20906
  # * **ICMP**\
20296
20907
  #
20297
- # > The value *ANY* indicates all types of applications.
20908
+ # > The value **ANY** indicates all types of applications.
20909
+ #
20910
+ # > 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
20911
  #
20299
20912
  # This parameter is required.
20300
20913
  self.proto = proto
@@ -20382,6 +20995,8 @@ class ModifyControlPolicyRequest(TeaModel):
20382
20995
  result['DestinationType'] = self.destination_type
20383
20996
  if self.direction is not None:
20384
20997
  result['Direction'] = self.direction
20998
+ if self.domain_resolve_type is not None:
20999
+ result['DomainResolveType'] = self.domain_resolve_type
20385
21000
  if self.end_time is not None:
20386
21001
  result['EndTime'] = self.end_time
20387
21002
  if self.lang is not None:
@@ -20430,6 +21045,8 @@ class ModifyControlPolicyRequest(TeaModel):
20430
21045
  self.destination_type = m.get('DestinationType')
20431
21046
  if m.get('Direction') is not None:
20432
21047
  self.direction = m.get('Direction')
21048
+ if m.get('DomainResolveType') is not None:
21049
+ self.domain_resolve_type = m.get('DomainResolveType')
20433
21050
  if m.get('EndTime') is not None:
20434
21051
  self.end_time = m.get('EndTime')
20435
21052
  if m.get('Lang') is not None:
@@ -20666,30 +21283,50 @@ class ModifyControlPolicyPositionResponse(TeaModel):
20666
21283
  class ModifyDefaultIPSConfigRequest(TeaModel):
20667
21284
  def __init__(
20668
21285
  self,
20669
- ai_rules: str = None,
20670
21286
  basic_rules: str = None,
20671
21287
  cti_rules: str = None,
20672
- enable_all_patch: str = None,
20673
- enable_default: str = None,
20674
21288
  lang: str = None,
20675
21289
  patch_rules: str = None,
20676
21290
  rule_class: str = None,
20677
21291
  run_mode: str = None,
20678
- source_ip: str = None,
20679
21292
  ):
20680
- self.ai_rules = ai_rules
21293
+ # Specifies whether to enable basic protection. Valid values:
21294
+ #
21295
+ # * **1**: yes
21296
+ # * **0**: no
21297
+ #
20681
21298
  # This parameter is required.
20682
21299
  self.basic_rules = basic_rules
21300
+ # Specifies whether to enable threat intelligence. Valid values:
21301
+ #
21302
+ # * **1**: yes
21303
+ # * **0**: no
21304
+ #
20683
21305
  # This parameter is required.
20684
21306
  self.cti_rules = cti_rules
20685
- self.enable_all_patch = enable_all_patch
20686
- self.enable_default = enable_default
21307
+ # The language of the content within the request and response. Valid values:
21308
+ #
21309
+ # * **zh** (default)
21310
+ # * **en**\
20687
21311
  self.lang = lang
21312
+ # Specifies whether to enable virtual patching. Valid values:
21313
+ #
21314
+ # * **1**: yes
21315
+ # * **0**: no
20688
21316
  self.patch_rules = patch_rules
21317
+ # The level of the rule group for the IPS. Valid values:
21318
+ #
21319
+ # * **1**: loose
21320
+ # * **2**: medium
21321
+ # * **3**: strict
20689
21322
  self.rule_class = rule_class
21323
+ # The mode of the IPS. Valid values:
21324
+ #
21325
+ # * **1**: block mode
21326
+ # * **0**: monitor mode
21327
+ #
20690
21328
  # This parameter is required.
20691
21329
  self.run_mode = run_mode
20692
- self.source_ip = source_ip
20693
21330
 
20694
21331
  def validate(self):
20695
21332
  pass
@@ -20700,16 +21337,10 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20700
21337
  return _map
20701
21338
 
20702
21339
  result = dict()
20703
- if self.ai_rules is not None:
20704
- result['AiRules'] = self.ai_rules
20705
21340
  if self.basic_rules is not None:
20706
21341
  result['BasicRules'] = self.basic_rules
20707
21342
  if self.cti_rules is not None:
20708
21343
  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
21344
  if self.lang is not None:
20714
21345
  result['Lang'] = self.lang
20715
21346
  if self.patch_rules is not None:
@@ -20718,22 +21349,14 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20718
21349
  result['RuleClass'] = self.rule_class
20719
21350
  if self.run_mode is not None:
20720
21351
  result['RunMode'] = self.run_mode
20721
- if self.source_ip is not None:
20722
- result['SourceIp'] = self.source_ip
20723
21352
  return result
20724
21353
 
20725
21354
  def from_map(self, m: dict = None):
20726
21355
  m = m or dict()
20727
- if m.get('AiRules') is not None:
20728
- self.ai_rules = m.get('AiRules')
20729
21356
  if m.get('BasicRules') is not None:
20730
21357
  self.basic_rules = m.get('BasicRules')
20731
21358
  if m.get('CtiRules') is not None:
20732
21359
  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
21360
  if m.get('Lang') is not None:
20738
21361
  self.lang = m.get('Lang')
20739
21362
  if m.get('PatchRules') is not None:
@@ -20742,8 +21365,6 @@ class ModifyDefaultIPSConfigRequest(TeaModel):
20742
21365
  self.rule_class = m.get('RuleClass')
20743
21366
  if m.get('RunMode') is not None:
20744
21367
  self.run_mode = m.get('RunMode')
20745
- if m.get('SourceIp') is not None:
20746
- self.source_ip = m.get('SourceIp')
20747
21368
  return self
20748
21369
 
20749
21370
 
@@ -20752,6 +21373,7 @@ class ModifyDefaultIPSConfigResponseBody(TeaModel):
20752
21373
  self,
20753
21374
  request_id: str = None,
20754
21375
  ):
21376
+ # The request ID.
20755
21377
  self.request_id = request_id
20756
21378
 
20757
21379
  def validate(self):
@@ -21173,9 +21795,9 @@ class ModifyNatFirewallControlPolicyRequest(TeaModel):
21173
21795
  #
21174
21796
  # This parameter is required.
21175
21797
  self.destination_type = destination_type
21176
- # The direction of the traffic to which the access control policy applies.
21798
+ # The direction of the traffic to which the access control policy applies. Valid value:
21177
21799
  #
21178
- # * Set the value to **out**.
21800
+ # * **out**: outbound.
21179
21801
  self.direction = direction
21180
21802
  # The domain name resolution method of the access control policy. Valid values:
21181
21803
  #
@@ -21196,14 +21818,16 @@ class ModifyNatFirewallControlPolicyRequest(TeaModel):
21196
21818
  #
21197
21819
  # This parameter is required.
21198
21820
  self.nat_gateway_id = nat_gateway_id
21199
- # The protocol type supported by the access control policy. Valid values:
21821
+ # The protocol type in the access control policy. Valid values:
21200
21822
  #
21201
21823
  # * **ANY**\
21202
21824
  # * **TCP**\
21203
21825
  # * **UDP**\
21204
21826
  # * **ICMP**\
21205
21827
  #
21206
- # > The value **ANY** indicates all types of protocols.
21828
+ # > The value **ANY** indicates all types of applications.
21829
+ #
21830
+ # > 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
21831
  #
21208
21832
  # This parameter is required.
21209
21833
  self.proto = proto
@@ -21575,6 +22199,173 @@ class ModifyNatFirewallControlPolicyPositionResponse(TeaModel):
21575
22199
  return self
21576
22200
 
21577
22201
 
22202
+ class ModifyObjectGroupOperationRequest(TeaModel):
22203
+ def __init__(
22204
+ self,
22205
+ comment: str = None,
22206
+ direction: str = None,
22207
+ lang: str = None,
22208
+ object_list: List[str] = None,
22209
+ object_operation: str = None,
22210
+ object_type: str = None,
22211
+ source_ip: str = None,
22212
+ ):
22213
+ # The remarks of the operation.
22214
+ self.comment = comment
22215
+ # The direction of the traffic to which the access control policy applies.
22216
+ #
22217
+ # Valid values:
22218
+ #
22219
+ # * **in**: inbound.
22220
+ # * **out**: outbound.
22221
+ #
22222
+ # This parameter is required.
22223
+ self.direction = direction
22224
+ # The language of the content within the response. Valid values:
22225
+ #
22226
+ # * **zh** (default)
22227
+ # * **en**\
22228
+ self.lang = lang
22229
+ # The operation objects.
22230
+ #
22231
+ # This parameter is required.
22232
+ self.object_list = object_list
22233
+ # The operation. Valid values:
22234
+ #
22235
+ # * **ignore**: adds the operation object to the whitelist.
22236
+ # * **cancelIgnore**: removes the operation object from the whitelist.
22237
+ # * **subscribe**: follows the operation object.
22238
+ # * **unsubscribe**: unfollows the operation object.
22239
+ #
22240
+ # This parameter is required.
22241
+ self.object_operation = object_operation
22242
+ # The type of the operation object.
22243
+ #
22244
+ # Valid values:
22245
+ #
22246
+ # * **assetsIp**: the asset IP address.
22247
+ # * **destinationIp**: the destination IP address.
22248
+ # * **destinationPort**: the destination port.
22249
+ # * **destinationDomain**: the destination domain name.
22250
+ #
22251
+ # This parameter is required.
22252
+ self.object_type = object_type
22253
+ # The source IP address of the request.
22254
+ self.source_ip = source_ip
22255
+
22256
+ def validate(self):
22257
+ pass
22258
+
22259
+ def to_map(self):
22260
+ _map = super().to_map()
22261
+ if _map is not None:
22262
+ return _map
22263
+
22264
+ result = dict()
22265
+ if self.comment is not None:
22266
+ result['Comment'] = self.comment
22267
+ if self.direction is not None:
22268
+ result['Direction'] = self.direction
22269
+ if self.lang is not None:
22270
+ result['Lang'] = self.lang
22271
+ if self.object_list is not None:
22272
+ result['ObjectList'] = self.object_list
22273
+ if self.object_operation is not None:
22274
+ result['ObjectOperation'] = self.object_operation
22275
+ if self.object_type is not None:
22276
+ result['ObjectType'] = self.object_type
22277
+ if self.source_ip is not None:
22278
+ result['SourceIp'] = self.source_ip
22279
+ return result
22280
+
22281
+ def from_map(self, m: dict = None):
22282
+ m = m or dict()
22283
+ if m.get('Comment') is not None:
22284
+ self.comment = m.get('Comment')
22285
+ if m.get('Direction') is not None:
22286
+ self.direction = m.get('Direction')
22287
+ if m.get('Lang') is not None:
22288
+ self.lang = m.get('Lang')
22289
+ if m.get('ObjectList') is not None:
22290
+ self.object_list = m.get('ObjectList')
22291
+ if m.get('ObjectOperation') is not None:
22292
+ self.object_operation = m.get('ObjectOperation')
22293
+ if m.get('ObjectType') is not None:
22294
+ self.object_type = m.get('ObjectType')
22295
+ if m.get('SourceIp') is not None:
22296
+ self.source_ip = m.get('SourceIp')
22297
+ return self
22298
+
22299
+
22300
+ class ModifyObjectGroupOperationResponseBody(TeaModel):
22301
+ def __init__(
22302
+ self,
22303
+ request_id: str = None,
22304
+ ):
22305
+ # The request ID.
22306
+ self.request_id = request_id
22307
+
22308
+ def validate(self):
22309
+ pass
22310
+
22311
+ def to_map(self):
22312
+ _map = super().to_map()
22313
+ if _map is not None:
22314
+ return _map
22315
+
22316
+ result = dict()
22317
+ if self.request_id is not None:
22318
+ result['RequestId'] = self.request_id
22319
+ return result
22320
+
22321
+ def from_map(self, m: dict = None):
22322
+ m = m or dict()
22323
+ if m.get('RequestId') is not None:
22324
+ self.request_id = m.get('RequestId')
22325
+ return self
22326
+
22327
+
22328
+ class ModifyObjectGroupOperationResponse(TeaModel):
22329
+ def __init__(
22330
+ self,
22331
+ headers: Dict[str, str] = None,
22332
+ status_code: int = None,
22333
+ body: ModifyObjectGroupOperationResponseBody = None,
22334
+ ):
22335
+ self.headers = headers
22336
+ self.status_code = status_code
22337
+ self.body = body
22338
+
22339
+ def validate(self):
22340
+ if self.body:
22341
+ self.body.validate()
22342
+
22343
+ def to_map(self):
22344
+ _map = super().to_map()
22345
+ if _map is not None:
22346
+ return _map
22347
+
22348
+ result = dict()
22349
+ if self.headers is not None:
22350
+ result['headers'] = self.headers
22351
+ if self.status_code is not None:
22352
+ result['statusCode'] = self.status_code
22353
+ if self.body is not None:
22354
+ result['body'] = self.body.to_map()
22355
+ return result
22356
+
22357
+ def from_map(self, m: dict = None):
22358
+ m = m or dict()
22359
+ if m.get('headers') is not None:
22360
+ self.headers = m.get('headers')
22361
+ if m.get('statusCode') is not None:
22362
+ self.status_code = m.get('statusCode')
22363
+ if m.get('body') is not None:
22364
+ temp_model = ModifyObjectGroupOperationResponseBody()
22365
+ self.body = temp_model.from_map(m['body'])
22366
+ return self
22367
+
22368
+
21578
22369
  class ModifyPolicyAdvancedConfigRequest(TeaModel):
21579
22370
  def __init__(
21580
22371
  self,
@@ -21701,8 +22492,14 @@ class ModifyTrFirewallV2ConfigurationRequest(TeaModel):
21701
22492
  firewall_name: str = None,
21702
22493
  lang: str = None,
21703
22494
  ):
22495
+ # The instance ID of the VPC firewall.
21704
22496
  self.firewall_id = firewall_id
22497
+ # The instance name of the VPC firewall.
21705
22498
  self.firewall_name = firewall_name
22499
+ # The language of the content within the response. Valid values:
22500
+ #
22501
+ # * **zh** (default): Chinese
22502
+ # * **en**: English
21706
22503
  self.lang = lang
21707
22504
 
21708
22505
  def validate(self):
@@ -21738,6 +22535,7 @@ class ModifyTrFirewallV2ConfigurationResponseBody(TeaModel):
21738
22535
  self,
21739
22536
  request_id: str = None,
21740
22537
  ):
22538
+ # The ID of the request.
21741
22539
  self.request_id = request_id
21742
22540
 
21743
22541
  def validate(self):
@@ -21807,7 +22605,9 @@ class ModifyTrFirewallV2RoutePolicyScopeRequestDestCandidateList(TeaModel):
21807
22605
  candidate_id: str = None,
21808
22606
  candidate_type: str = None,
21809
22607
  ):
22608
+ # The ID of the traffic redirection instance.
21810
22609
  self.candidate_id = candidate_id
22610
+ # The type of the traffic redirection instance.
21811
22611
  self.candidate_type = candidate_type
21812
22612
 
21813
22613
  def validate(self):
@@ -21840,7 +22640,9 @@ class ModifyTrFirewallV2RoutePolicyScopeRequestSrcCandidateList(TeaModel):
21840
22640
  candidate_id: str = None,
21841
22641
  candidate_type: str = None,
21842
22642
  ):
22643
+ # The ID of the traffic redirection instance.
21843
22644
  self.candidate_id = candidate_id
22645
+ # The type of the traffic redirection instance.
21844
22646
  self.candidate_type = candidate_type
21845
22647
 
21846
22648
  def validate(self):
@@ -21877,12 +22679,26 @@ class ModifyTrFirewallV2RoutePolicyScopeRequest(TeaModel):
21877
22679
  src_candidate_list: List[ModifyTrFirewallV2RoutePolicyScopeRequestSrcCandidateList] = None,
21878
22680
  tr_firewall_route_policy_id: str = None,
21879
22681
  ):
22682
+ # The secondary traffic redirection instances.
21880
22683
  self.dest_candidate_list = dest_candidate_list
22684
+ # The instance ID of the virtual private cloud (VPC) firewall.
22685
+ #
21881
22686
  # This parameter is required.
21882
22687
  self.firewall_id = firewall_id
22688
+ # The language of the content within the response. Valid values:
22689
+ #
22690
+ # * **zh** (default): Chinese
22691
+ # * **en**: English
21883
22692
  self.lang = lang
22693
+ # Specifies whether to restore the traffic redirection configurations. Valid values:
22694
+ #
22695
+ # * true: roll back
22696
+ # * false: withdraw
21884
22697
  self.should_recover = should_recover
22698
+ # The primary traffic redirection instances.
21885
22699
  self.src_candidate_list = src_candidate_list
22700
+ # The ID of the routing policy.
22701
+ #
21886
22702
  # This parameter is required.
21887
22703
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
21888
22704
 
@@ -21953,12 +22769,26 @@ class ModifyTrFirewallV2RoutePolicyScopeShrinkRequest(TeaModel):
21953
22769
  src_candidate_list_shrink: str = None,
21954
22770
  tr_firewall_route_policy_id: str = None,
21955
22771
  ):
22772
+ # The secondary traffic redirection instances.
21956
22773
  self.dest_candidate_list_shrink = dest_candidate_list_shrink
22774
+ # The instance ID of the virtual private cloud (VPC) firewall.
22775
+ #
21957
22776
  # This parameter is required.
21958
22777
  self.firewall_id = firewall_id
22778
+ # The language of the content within the response. Valid values:
22779
+ #
22780
+ # * **zh** (default): Chinese
22781
+ # * **en**: English
21959
22782
  self.lang = lang
22783
+ # Specifies whether to restore the traffic redirection configurations. Valid values:
22784
+ #
22785
+ # * true: roll back
22786
+ # * false: withdraw
21960
22787
  self.should_recover = should_recover
22788
+ # The primary traffic redirection instances.
21961
22789
  self.src_candidate_list_shrink = src_candidate_list_shrink
22790
+ # The ID of the routing policy.
22791
+ #
21962
22792
  # This parameter is required.
21963
22793
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
21964
22794
 
@@ -22008,7 +22838,9 @@ class ModifyTrFirewallV2RoutePolicyScopeResponseBody(TeaModel):
22008
22838
  request_id: str = None,
22009
22839
  tr_firewall_route_policy_id: str = None,
22010
22840
  ):
22841
+ # The ID of the request.
22011
22842
  self.request_id = request_id
22843
+ # The ID of the routing policy.
22012
22844
  self.tr_firewall_route_policy_id = tr_firewall_route_policy_id
22013
22845
 
22014
22846
  def validate(self):
@@ -22632,6 +23464,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22632
23464
  dest_port_type: str = None,
22633
23465
  destination: str = None,
22634
23466
  destination_type: str = None,
23467
+ domain_resolve_type: str = None,
22635
23468
  end_time: int = None,
22636
23469
  lang: str = None,
22637
23470
  proto: str = None,
@@ -22661,7 +23494,7 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22661
23494
  #
22662
23495
  # This parameter is required.
22663
23496
  self.acl_uuid = acl_uuid
22664
- # The application type used in the access control policy.
23497
+ # The type of the application that the access control policy supports.
22665
23498
  #
22666
23499
  # Valid values:
22667
23500
  #
@@ -22722,6 +23555,12 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22722
23555
  #
22723
23556
  # This parameter is required.
22724
23557
  self.destination_type = destination_type
23558
+ # 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:
23559
+ #
23560
+ # * **FQDN**: fully qualified domain name (FQDN)-based resolution
23561
+ # * **DNS**: DNS-based dynamic resolution
23562
+ # * **FQDN_AND_DNS**: FQDN and DNS-based dynamic resolution
23563
+ self.domain_resolve_type = domain_resolve_type
22725
23564
  # 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
23565
  #
22727
23566
  # > 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 +23684,8 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22845
23684
  result['Destination'] = self.destination
22846
23685
  if self.destination_type is not None:
22847
23686
  result['DestinationType'] = self.destination_type
23687
+ if self.domain_resolve_type is not None:
23688
+ result['DomainResolveType'] = self.domain_resolve_type
22848
23689
  if self.end_time is not None:
22849
23690
  result['EndTime'] = self.end_time
22850
23691
  if self.lang is not None:
@@ -22893,6 +23734,8 @@ class ModifyVpcFirewallControlPolicyRequest(TeaModel):
22893
23734
  self.destination = m.get('Destination')
22894
23735
  if m.get('DestinationType') is not None:
22895
23736
  self.destination_type = m.get('DestinationType')
23737
+ if m.get('DomainResolveType') is not None:
23738
+ self.domain_resolve_type = m.get('DomainResolveType')
22896
23739
  if m.get('EndTime') is not None:
22897
23740
  self.end_time = m.get('EndTime')
22898
23741
  if m.get('Lang') is not None:
@@ -23011,6 +23854,8 @@ class ModifyVpcFirewallControlPolicyPositionRequest(TeaModel):
23011
23854
  self.lang = lang
23012
23855
  # The new priority of the access control policy.
23013
23856
  #
23857
+ # > For more information about the valid values of the new priority, see [DescribeVpcFirewallPolicyPriorUsed](https://help.aliyun.com/document_detail/474145.html).
23858
+ #
23014
23859
  # This parameter is required.
23015
23860
  self.new_order = new_order
23016
23861
  # The original priority of the access control policy.
@@ -23144,44 +23989,51 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23144
23989
  enable_all_patch: str = None,
23145
23990
  lang: str = None,
23146
23991
  member_uid: str = None,
23992
+ rule_class: str = None,
23147
23993
  run_mode: str = None,
23148
23994
  source_ip: str = None,
23149
23995
  vpc_firewall_id: str = None,
23150
23996
  ):
23151
23997
  # Specifies whether to enable basic protection. Valid values:
23152
23998
  #
23153
- # * **1**: yes
23154
- # * **0**: no
23999
+ # * **1**: yes.
24000
+ # * **0**: no.
23155
24001
  #
23156
24002
  # This parameter is required.
23157
24003
  self.basic_rules = basic_rules
23158
24004
  # Specifies whether to enable virtual patching. Valid values:
23159
24005
  #
23160
- # * **1**: yes
23161
- # * **0**: no
24006
+ # * **1**: yes.
24007
+ # * **0**: no.
23162
24008
  #
23163
24009
  # This parameter is required.
23164
24010
  self.enable_all_patch = enable_all_patch
23165
24011
  # The language of the content within the request and response. Valid values:
23166
24012
  #
23167
- # * **zh**: Chinese (default)
23168
- # * **en**: English
24013
+ # * **zh** (default)
24014
+ # * **en**\
23169
24015
  self.lang = lang
23170
24016
  # The UID of the member that is managed by your Alibaba Cloud account.
23171
24017
  self.member_uid = member_uid
24018
+ # The level of the rule group for the IPS. Valid values:
24019
+ #
24020
+ # * **1**: loose
24021
+ # * **2**: medium
24022
+ # * **3**: strict
24023
+ self.rule_class = rule_class
23172
24024
  # The mode of the intrusion prevention system (IPS). Valid values:
23173
24025
  #
23174
- # * **1**: block mode
23175
- # * **0**: monitor mode
24026
+ # * **1**: block mode.
24027
+ # * **0**: monitor mode.
23176
24028
  #
23177
24029
  # This parameter is required.
23178
24030
  self.run_mode = run_mode
23179
24031
  # The source IP address of the request.
23180
24032
  self.source_ip = source_ip
23181
- # The instance ID of the VPC firewall. Valid values:
24033
+ # The instance ID of the VPC firewall.
23182
24034
  #
23183
- # * If the VPC firewall protects mutual access traffic between a VPC and a specified network instance that is attached to a Cloud Enterprise Network (CEN) instance, the value of this parameter is the ID of the CEN instance. The network instance can be a VPC, a virtual border router (VBR), or a Cloud Connect Network (CCN) instance. You can call the [DescribeVpcFirewallCenList](https://help.aliyun.com/document_detail/345777.html) operation to query the IDs of CEN instances.
23184
- # * If the VPC firewall protects mutual access traffic between two VPCs that are connected by using an Express Connect circuit, the value of this parameter is the ID of the VPC firewall. You can call the [DescribeVpcFirewallList](https://help.aliyun.com/document_detail/342932.html) operation to query the instance IDs of VPC firewalls.
24035
+ # * If the VPC firewall protects traffic between a VPC and a network instance that is attached to a Cloud Enterprise Network (CEN) instance, the value of this parameter is the ID of the CEN instance. The network instance can be a VPC, a virtual border router (VBR), or a Cloud Connect Network (CCN) instance. You can call the [DescribeVpcFirewallCenList](https://help.aliyun.com/document_detail/345777.html) operation to query the IDs of CEN instances.
24036
+ # * If the VPC firewall protects traffic between two VPCs that are connected by using an Express Connect circuit, the value of this parameter is the instance ID of the VPC firewall. You can call the [DescribeVpcFirewallList](https://help.aliyun.com/document_detail/342932.html) operation to query the instance IDs of VPC firewalls.
23185
24037
  #
23186
24038
  # This parameter is required.
23187
24039
  self.vpc_firewall_id = vpc_firewall_id
@@ -23203,6 +24055,8 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23203
24055
  result['Lang'] = self.lang
23204
24056
  if self.member_uid is not None:
23205
24057
  result['MemberUid'] = self.member_uid
24058
+ if self.rule_class is not None:
24059
+ result['RuleClass'] = self.rule_class
23206
24060
  if self.run_mode is not None:
23207
24061
  result['RunMode'] = self.run_mode
23208
24062
  if self.source_ip is not None:
@@ -23221,6 +24075,8 @@ class ModifyVpcFirewallDefaultIPSConfigRequest(TeaModel):
23221
24075
  self.lang = m.get('Lang')
23222
24076
  if m.get('MemberUid') is not None:
23223
24077
  self.member_uid = m.get('MemberUid')
24078
+ if m.get('RuleClass') is not None:
24079
+ self.rule_class = m.get('RuleClass')
23224
24080
  if m.get('RunMode') is not None:
23225
24081
  self.run_mode = m.get('RunMode')
23226
24082
  if m.get('SourceIp') is not None:
@@ -23235,7 +24091,7 @@ class ModifyVpcFirewallDefaultIPSConfigResponseBody(TeaModel):
23235
24091
  self,
23236
24092
  request_id: str = None,
23237
24093
  ):
23238
- # The ID of the request.
24094
+ # The request ID.
23239
24095
  self.request_id = request_id
23240
24096
 
23241
24097
  def validate(self):
@@ -24152,6 +25008,7 @@ class ReleasePostInstanceRequest(TeaModel):
24152
25008
  self,
24153
25009
  instance_id: str = None,
24154
25010
  ):
25011
+ # The ID of the Cloud Firewall instance.
24155
25012
  self.instance_id = instance_id
24156
25013
 
24157
25014
  def validate(self):
@@ -24182,9 +25039,16 @@ class ReleasePostInstanceResponseBody(TeaModel):
24182
25039
  request_id: str = None,
24183
25040
  success: bool = None,
24184
25041
  ):
25042
+ # The HTTP status code.
24185
25043
  self.http_status_code = http_status_code
25044
+ # Indicates whether the release was successful. Valid values:
25045
+ #
25046
+ # * **true**\
25047
+ # * **false**\
24186
25048
  self.release_status = release_status
25049
+ # The request ID, which is used to locate and troubleshoot issues.
24187
25050
  self.request_id = request_id
25051
+ # Indicates whether the request was successful.
24188
25052
  self.success = success
24189
25053
 
24190
25054
  def validate(self):
@@ -24494,9 +25358,20 @@ class SwitchSecurityProxyRequest(TeaModel):
24494
25358
  proxy_id: str = None,
24495
25359
  switch: str = None,
24496
25360
  ):
25361
+ # The language of the content within the request and the response. Valid values:
25362
+ #
25363
+ # * **zh** (default)
25364
+ # * **en**\
24497
25365
  self.lang = lang
25366
+ # The ID of the NAT firewall.
25367
+ #
24498
25368
  # This parameter is required.
24499
25369
  self.proxy_id = proxy_id
25370
+ # Specifies whether to enable the NAT firewall. Valid values:
25371
+ #
25372
+ # * open: yes
25373
+ # * close: no
25374
+ #
24500
25375
  # This parameter is required.
24501
25376
  self.switch = switch
24502
25377
 
@@ -24533,6 +25408,7 @@ class SwitchSecurityProxyResponseBody(TeaModel):
24533
25408
  self,
24534
25409
  request_id: str = None,
24535
25410
  ):
25411
+ # The request ID.
24536
25412
  self.request_id = request_id
24537
25413
 
24538
25414
  def validate(self):